This is an auth gate (Step C). Data sync comes in Step D.
Radiology logger (registreringsmall) - v2.1.1
Local-only. No patient identifiers. Autosaves after each entry. Built: 2026-01-23 19:23:16. Status: loading...
Placement
Current placement context: -
Tip: use “Set current placement” whenever you reopen the app (no count impact). Use “Log start of placement time” only when you want a placement-block start marker.
Data recording
Discrete events
These log a timestamped event instantly (no timer) and can be used while an exam is running.
Exams
Quick pick (this placement)
Quick picks will appear here based on your Settings.
Select a placement (and/or set current placement) to see quick picks.
Tip: add multiple exams here, then Stop & Save — total time will be split evenly.
Start: - | Elapsed: 00:00 | Idle
Default tag list is built in. You can optionally upload a custom list (TXT/CSV) to override.
Custom lists (optional)
Upload custom tag list (TXT/CSV)
Upload custom category/exam list (TXT/CSV)
Note: on iPad/Safari, file uploads work, but the app still stores its database locally. Export regularly for backup.
Data recording (minimalistic)
High-speed button UI. Uses the same underlying state and save logic as the normal Data recording page.
Placement
Category
Exam
Contrast phase
Timer / details
Start: - | Elapsed: 00:00 | Idle
Dubbelgranskning
Tags are shared with the normal Data recording page.
Tip: save CSV regularly for backup. Clearing Safari website data removes local logs.
Summary (ranked by frequency)
Summary is computed from the currently filtered date + show selection. Counts include all entries; time/averages are computed only from entries with a recorded duration (manual entries without times do not dilute averages).
Exams
Category
Exam
Count
Timed
Total min
Avg min
Placements
Placement
Count
Exams
Total min
Events
Event
Count
Calendar heatmap (Months × modality)
Timed exams only (duration > 0s). Colors are normalized within each modality row after placement filtering.
Placements (filter)
LessMore
No timed exam data available for the selected placements.
Reading time histogram
Timed exams only (duration_sec > 0) within the current date/show filter. Select a modality and (optionally) an exam.
No timed exams found for this selection.
Efficiency over time
Timed exams only (duration_sec > 0). Expected time = median per modality, or median per exam when n ≥ 15. Efficiency = sum(expected) / sum(actual). Uses the same placement filter as the heatmap.
No timed exams found for this selection.
PDF / report export
Generates a print-friendly report in a new tab. Use your browser Print → Save as PDF. Filters here do not change your stored data.
Placements
Modalities / categories
Manual
This app is designed for fast, offline logging of clinical radiology work. Everything is stored locally in your browser. Use CSV export/import to move or merge data between computers.
Step-by-step workflow
Open the app in a browser (works offline after load). If you are on a shared computer, use a private profile.
Choose a recording design: in Settings → Data recording design, select Original (dropdowns) or Minimalistic (button columns). Both save the same data.
Set placement context: choose Placement (e.g., Sluss, Jour, Rond) and press Set current placement at the start of your block/shift. Optional: press Log placement start to create a placement marker (useful for counting how many times you worked a placement).
Log an exam:
Original design: select a Category and an Exam, then press Add exam (you can queue multiple exams; time splits evenly on save). For CT/MR, optionally set a contrast phase before saving.
Minimalistic design: click buttons in columns. Use Filter exams to narrow the exam list. For CT/MR, click an exam (it becomes pending), then click a contrast phase to add that specific exam+contrast to the queue. For modalities without contrast, clicking an exam adds it immediately. After adding, the selection resets so you can quickly add another exam (even from a different modality).
Press Start to begin timing. Use Pause/Resume for interruptions.
Press Stop & Save to log the queued exam(s).
Log discrete events anytime (even while a timer is running): Personalkontakt, Telefon, Kaffekoppar.
Review and fix in Log overview: filter by date and use Edit/Delete when needed.
Backup / move data: use Save As CSV regularly. On a second computer, use Import CSV to merge. Import is append-only and deduplicates by unique ID.
Results page
Summary: ranked tables for exams, placements, and events. Counts include all entries; time stats use timed exams only (duration > 0).
Calendar heatmap: months (columns) by modality (rows), row-normalized after placement filtering. Timed exams only.
Histogram: reading time distribution for a selected modality/exam (timed exams only).
Efficiency: case-mix adjusted speed over time: sum(expected)/sum(actual). Expected comes from your own data (medians).
Glossary
Term
Meaning
Placement
Where/what context you are working in (e.g., Sluss, Jour, Rond). Used for filtering and summaries.
Category
Modality or task group (e.g., CT, MR, Ultraljud, Slätröntgen, Rond).
Exam
Specific exam/body part (e.g., CT Buk, MR Knä).
Timed exam
An exam logged via Start → Stop & Save with a duration. Used in time stats, histogram, heatmap, efficiency.
Discrete event
Instant timestamped button press (Personalkontakt/Telefon/Kaffekoppar). Does not affect exam duration.
Tags
Free text labels (pathology/prioritization). Press Enter to add. Tap a tag to remove.
Notes
Optional free text. Never include identifiers.
Deduplication
On CSV import, entries with the same unique ID are skipped (prevents duplicates when importing the same CSV multiple times).
Tips & best practices
Use Pause when you are interrupted (phone, teaching, interruptions) to keep exam durations meaningful.
Set current placement at the start of each shift/block so all entries inherit the right context.
Backup often: browsers can clear site storage (especially Safari). Save CSV regularly.
Merging across computers: import CSV on each device to merge. Avoid editing the same entry on two devices.
Keep naming consistent: try not to rename categories/exams casually — changes split aggregates in Results.
Troubleshooting
My data is gone: local storage may have been cleared. Restore by importing your last saved CSV.
Import did nothing: if you imported the same file before, IDs may already exist (dedupe). Try a newer CSV export.
Charts are empty: most charts use timed exams only. If durations are 0, start using Start/Stop & Save.
Points/hour looks wrong: points/hour uses timed exams only. Untimed entries are kept for counts but do not affect points/hour.
Settings
Settings are stored locally in this browser (localStorage). They are independent from the CSV log data.
Workflow defaults
Controls what opens when you click "Data recording".
If set, this will be preselected for new sessions (future behavior).
Quick pick
Choose how "Quick pick" buttons are generated on the Data recording page.
Shows the N most frequently logged exams for the selected placement within the chosen time horizon.
When enabled, a "Pin favorite" button appears next to "Add exam". Favorites are stored per placement.
Keyboard shortcuts (planned)
Shortcuts will be implemented in the next step. For now you can configure them here so they are ready.
Action
Shortcut
Start/Stop timer
Pause/Resume timer
Stop & Save
Focus tags input
Go to Results
Tip: prefer modifier keys (Alt/Ctrl/Shift) to avoid collisions while writing reports.
Rotation / period tags
Define named date ranges (e.g., "Neuroradiology rotation"). These will later be selectable filters for PDF exports.
Label
Start
End
Color
Actions
Standardized productivity weights
Weights are "XR equivalents" used for a modality-independent points metric (future). Defaults are your current presets.
Report defaults (planned)
These defaults will be used by the upcoming PDF export feature.
Data quality nudges
When you click Stop & Save, the timer freezes immediately so no extra seconds are recorded while you handle prompts/administration. (The prompts use OK/Cancel because the browser only supports two buttons.)
Settings backup
Export/import settings separately from your log CSV. Useful when setting up a new computer or standardizing across users.
Server sync (Step D)
When enabled and signed in, entries are copied to Supabase after each save (offline-first ready). No patient identifiers are sent.