Skip to content

Tests and benchmarks

The EDFlow test catalogue: EHR code mappings, patient-visible names and steps, sensitive and hidden tests, result thresholds per imaging modality, service hours, default benchmarks, estimate settings and historical import.

The test catalogue turns EHR order codes into the plain-language tests patients see, and sets the defaults estimates use until the site has enough history.

Test catalogue: tests with the steps patients see, sensitive tests, and default benchmarks by hour.
WebCaptured from build 7c7f41f on September 27, 2026

Catalogue entries

FieldNotes
EHR codesThe order codes that map to this test
Name and descriptionEnglish and French, plain language ("Blood count"), abbreviation ("CBC")
GroupBlood, urine, scans and X-rays, heart, other
FlagsSensitive (shown as "Additional test"), hidden from patients, counts toward all back, results later, needs consent, contrast, serial expected with a hold time
EducationLinked education sheets
Default benchmarksp50, p75 and p90 minutes by priority

Consult services

Each service has plain names and a sensitive flag: sensitive services show as "A specialist" to patients.

Imaging

  • Result threshold per modality: preliminary report by default, or "performed" for X-ray where ED physicians read their own films.
  • Service hours and downtime per modality: outside hours, patients see when the service opens instead of an estimate, and those intervals are excluded from benchmarks.
SettingDefaultAllowed valuesWhat it does
imaging.serviceHours[]arrayModality service hours; empty means 24/7 (D-28).
imaging.downtime[]arrayCurrent imaging downtime per modality (set from W-S06).

Estimates

SettingDefaultAllowed valuesWhat it does
estimates.hideBeforePiaForCtas[1,2]arrayCTAS levels whose estimate is hidden before the patient is seen (SR-07).
estimates.showBoardingEstimatefalsebooleanShow the boarding estimate (D-32).
estimates.streamDimensiontruebooleanUse the stream in triage-to-seen buckets (D-33).
estimates.windowWeeks124–26 weeksSample window for estimates (F-05.3).
estimates.minSamples2010–100 countMinimum samples per ladder level.
estimates.flowDefaults[{"dimension":"","metricKey":"flow.arrival_to_triage","p50":10,"p75":15,"p90":30},{"dimension":"1","metricKey":"flow.triage_to_seen","p50":0,"p75":0,"p90":5},{"dimension":"2","metricKey":"flow.triage_to_seen","p50":15,"p75":25,"p90":45},{"dimension":"3","metricKey":"flow.triage_to_seen","p50":60,"p75":90,"p90":180},{"dimension":"4","metricKey":"flow.triage_to_seen","p50":90,"p75":120,"p90":240},{"dimension":"5","metricKey":"flow.triage_to_seen","p50":90,"p75":135,"p90":240},{"dimension":"1","metricKey":"flow.triage_to_pia","p50":0,"p75":0,"p90":5},{"dimension":"2","metricKey":"flow.triage_to_pia","p50":15,"p75":25,"p90":45},{"dimension":"3","metricKey":"flow.triage_to_pia","p50":60,"p75":90,"p90":180},{"dimension":"4","metricKey":"flow.triage_to_pia","p50":90,"p75":120,"p90":240},{"dimension":"5","metricKey":"flow.triage_to_pia","p50":90,"p75":135,"p90":240},{"dimension":"","metricKey":"flow.seen_to_first_order","p50":15,"p75":25,"p90":45},{"dimension":"","metricKey":"flow.seen_to_decision_no_tests","p50":30,"p75":45,"p90":90},{"dimension":"","metricKey":"flow.testing","p50":120,"p75":160,"p90":240},{"dimension":"","metricKey":"flow.results_to_reassessment","p50":30,"p75":45,"p90":90},{"dimension":"","metricKey":"flow.boarding","p50":360,"p75":720,"p90":1440},{"dimension":"","metricKey":"flow.discharge_to_cleared","p50":20,"p75":30,"p90":60},{"dimension":"","metricKey":"flow.cleared_to_departure","p50":5,"p75":10,"p90":20}]arrayDefault flow benchmarks (Appendix B.4).

Estimates use the last few weeks of the site's history (window), and need a minimum number of samples per weekday and hour bucket before using it; otherwise they fall back step by step to wider buckets and finally to the catalogue defaults. See Estimate quality.

SettingDefaultAllowed valuesWhat it does
results.displayDelayMinutes00–30 minutesDelay before a completed result shows as "Back" to the patient.
results.holdAllowedtruebooleanClinicians may hold results (D-29).

Import and export

Import or export the catalogue as CSV. Every row is validated; if any row fails, nothing is applied. Historical, de-identified intervals can be imported to calibrate estimates before go-live (from Estimate quality).

Flow settings

SettingDefaultAllowed valuesWhat it does
flow.piaSourceattending_assignedattending_assigned, explicitWhich event counts as the physician initial assessment (NACRS PIA only when explicit).
flow.piaRoles["attending","resident","nurse_practitioner"]arrayClinician types whose assignment counts as the PIA.
flow.assignmentNotifyHoldMinutes105–15 minutesHow long a provider assignment is held before the patient is told (D-25).
flow.seenInference.firstOrderByAssignedtruebooleanThe assigned clinician's first order infers "seen".
flow.seenInference.consultRequesttruebooleanA consult request infers "seen".
flow.seenInference.dispositiontruebooleanA disposition infers "seen".
flow.reassessmentInference.newOrderAfterAllBacktruebooleanA new order after all results are back infers reassessment (D-26).
flow.reassessmentInference.consultRequesttruebooleanA consult request infers reassessment.
flow.reassessmentInference.noteSignedtruebooleanA signed note infers reassessment.
flow.reassessmentInference.procedureAreatruebooleanA move to a procedure area infers reassessment.
flow.resultComplete.labresultedin_lab, in_progress, performed, preliminary, resultedLab status that counts as "Back".
flow.resultComplete.imagingpreliminaryin_lab, in_progress, performed, preliminary, resultedImaging status that counts as "Back" (D-28).
flow.resultComplete.cardiologyperformedin_lab, in_progress, performed, preliminary, resultedCardiology status that counts as "Back".
flow.resultComplete.imagingByModality[]arrayPer-modality imaging thresholds, e.g. X-ray at performed where ED physicians read their own films.
flow.resultsReviewedCountsForImagingtruebooleanAn imaging order with results reviewed counts as "Back".
flow.manualProfilelitelite, fullManual-mode depth at sites without a feed (D-46).
flow.manualStaleMinutes9030–240 minutesManual-lite prompt after this long without an update.
flow.noUpdateAlertHours124–24 hours"No updates" alert for the charge nurse (D-50).
flow.observationIsCdufalsebooleanObservation happens in a clinical decision unit.

Last updated on

Was this page helpful?

On this page