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.


Catalogue entries
| Field | Notes |
|---|---|
| EHR codes | The order codes that map to this test |
| Name and description | English and French, plain language ("Blood count"), abbreviation ("CBC") |
| Group | Blood, urine, scans and X-rays, heart, other |
| Flags | Sensitive (shown as "Additional test"), hidden from patients, counts toward all back, results later, needs consent, contrast, serial expected with a hold time |
| Education | Linked education sheets |
| Default benchmarks | p50, 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.
| Paramètre | Par défaut | Valeurs permises | Effet |
|---|---|---|---|
imaging.serviceHours | [] | array | Modality service hours; empty means 24/7 (D-28). |
imaging.downtime | [] | array | Current imaging downtime per modality (set from W-S06). |
Estimates
| Paramètre | Par défaut | Valeurs permises | Effet |
|---|---|---|---|
estimates.hideBeforePiaForCtas | [1,2] | array | CTAS levels whose estimate is hidden before the patient is seen (SR-07). |
estimates.showBoardingEstimate | false | boolean | Show the boarding estimate (D-32). |
estimates.streamDimension | true | boolean | Use the stream in triage-to-seen buckets (D-33). |
estimates.windowWeeks | 12 | 4–26 weeks | Sample window for estimates (F-05.3). |
estimates.minSamples | 20 | 10–100 count | Minimum 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}] | array | Default 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.
| Paramètre | Par défaut | Valeurs permises | Effet |
|---|---|---|---|
results.displayDelayMinutes | 0 | 0–30 minutes | Delay before a completed result shows as "Back" to the patient. |
results.holdAllowed | true | boolean | Clinicians 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
| Paramètre | Par défaut | Valeurs permises | Effet |
|---|---|---|---|
flow.piaSource | attending_assigned | attending_assigned, explicit | Which event counts as the physician initial assessment (NACRS PIA only when explicit). |
flow.piaRoles | ["attending","resident","nurse_practitioner"] | array | Clinician types whose assignment counts as the PIA. |
flow.assignmentNotifyHoldMinutes | 10 | 5–15 minutes | How long a provider assignment is held before the patient is told (D-25). |
flow.seenInference.firstOrderByAssigned | true | boolean | The assigned clinician's first order infers "seen". |
flow.seenInference.consultRequest | true | boolean | A consult request infers "seen". |
flow.seenInference.disposition | true | boolean | A disposition infers "seen". |
flow.reassessmentInference.newOrderAfterAllBack | true | boolean | A new order after all results are back infers reassessment (D-26). |
flow.reassessmentInference.consultRequest | true | boolean | A consult request infers reassessment. |
flow.reassessmentInference.noteSigned | true | boolean | A signed note infers reassessment. |
flow.reassessmentInference.procedureArea | true | boolean | A move to a procedure area infers reassessment. |
flow.resultComplete.lab | resulted | in_lab, in_progress, performed, preliminary, resulted | Lab status that counts as "Back". |
flow.resultComplete.imaging | preliminary | in_lab, in_progress, performed, preliminary, resulted | Imaging status that counts as "Back" (D-28). |
flow.resultComplete.cardiology | performed | in_lab, in_progress, performed, preliminary, resulted | Cardiology status that counts as "Back". |
flow.resultComplete.imagingByModality | [] | array | Per-modality imaging thresholds, e.g. X-ray at performed where ED physicians read their own films. |
flow.resultsReviewedCountsForImaging | true | boolean | An imaging order with results reviewed counts as "Back". |
flow.manualProfile | lite | lite, full | Manual-mode depth at sites without a feed (D-46). |
flow.manualStaleMinutes | 90 | 30–240 minutes | Manual-lite prompt after this long without an update. |
flow.noUpdateAlertHours | 12 | 4–24 hours | "No updates" alert for the charge nurse (D-50). |
flow.observationIsCdu | false | boolean | Observation happens in a clinical decision unit. |
Dernière mise à jour le
Cette page vous a-t-elle été utile?
Code types
Configure the EDFlow code-type catalogue: Ontario colour-code defaults, categories and patient notification rules, notice stages and scope, durations, optional templates and paging location filters.
Patient content
Govern patient-facing content in EDFlow: education sheets, going-home templates, task templates, FAQ and glossary; the draft, clinical review, approval and publish workflow; and AI drafting help.