Account

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.
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.
Log overview
Entries: 0
Type Timestamp Placement Category Exam Duration (min) Tags Notes Actions
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)
Less More
Reading time histogram
Timed exams only (duration_sec > 0) within the current date/show filter. Select a modality and (optionally) an exam.
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.
PDF / report export
Generates a print-friendly report in a new tab. Use your browser PrintSave 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
  1. Open the app in a browser (works offline after load). If you are on a shared computer, use a private profile.
  2. Choose a recording design: in Settings → Data recording design, select Original (dropdowns) or Minimalistic (button columns). Both save the same data.
  3. 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).
  4. 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).
  5. Log discrete events anytime (even while a timer is running): Personalkontakt, Telefon, Kaffekoppar.
  6. Review and fix in Log overview: filter by date and use Edit/Delete when needed.
  7. 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
TermMeaning
PlacementWhere/what context you are working in (e.g., Sluss, Jour, Rond). Used for filtering and summaries.
CategoryModality or task group (e.g., CT, MR, Ultraljud, Slätröntgen, Rond).
ExamSpecific exam/body part (e.g., CT Buk, MR Knä).
Timed examAn exam logged via Start → Stop & Save with a duration. Used in time stats, histogram, heatmap, efficiency.
Discrete eventInstant timestamped button press (Personalkontakt/Telefon/Kaffekoppar). Does not affect exam duration.
TagsFree text labels (pathology/prioritization). Press Enter to add. Tap a tag to remove.
NotesOptional free text. Never include identifiers.
DeduplicationOn 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.
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.
aria-hidden="true">

Help