-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Is your feature request related to a problem? Please describe.
Current CLIF mCIDE can identify emergency department intervals using adt.location_category = ed, but it cannot represent an ED encounter as a first-class entity or encode key ED workflow concepts in a standardized way. For the chest pain ED project, the highest-priority missing concepts are final ED disposition, destination after ED, observation pathway status, arrival mode, triage acuity, and chief complaint. These concepts are not reliably recoverable from adt alone and cannot be substituted with hospitalization.discharge_name or hospitalization.discharge_category, which reflect hospital-level discharge semantics rather than the terminal ED outcome. This gap affects ED-to-inpatient and ED-to-ICU use cases within CLIF, including throughput, boarding, triage severity, and early care pathway analyses.
Describe the solution you'd like
For CLIF 3.0, add a new core table named ed_encounter with one row per ED encounter linked to a hospitalization. This table should follow existing CLIF conventions by pairing raw source fields with standardized category fields.
Proposed table: ed_encounter
Grain: one row per ED encounter linked to a hospitalization
hospitalization_id (VARCHAR, required): foreign key to hospitalization
ed_encounter_id (VARCHAR, required): site-generated unique ED encounter identifier
ed_arrival_dttm (DATETIME, required): ED arrival datetime in UTC
ed_departure_dttm (DATETIME, required): ED departure datetime in UTC
arrival_mode_name (VARCHAR, optional): raw arrival mode string from source data
arrival_mode_category (VARCHAR, optional): standardized arrival mode
triage_system_name (VARCHAR, optional): raw triage system name
triage_system_category (VARCHAR, optional): standardized triage system class
triage_acuity_name (VARCHAR, optional): raw triage score or level
triage_acuity_category (VARCHAR, optional): standardized 5-level acuity class
triage_dttm (DATETIME, optional): time of initial ED triage assessment in UTC
chief_complaint_name (VARCHAR, optional): raw chief complaint text
chief_complaint_category (VARCHAR, optional): standardized chief complaint grouping
ed_disposition_name (VARCHAR, optional): raw ED disposition string/code
ed_disposition_category (VARCHAR, optional): standardized final ED disposition
ed_disposition_dttm (DATETIME, optional): time of final ED disposition decision in UTC
ed_destination_name (VARCHAR, optional): raw destination text/code after ED
ed_destination_category (VARCHAR, optional): standardized destination after ED
ed_observation_status (INT, optional): observation pathway indicator (0/1)
We also request new ED-specific mCIDE vocabularies for:
arrival_mode_category
triage_system_category
triage_acuity_category
ed_disposition_category
ed_destination_category
Recommended initial categories:
arrival_mode_category: ems_ground, ems_air, transfer_ambulance, transfer_private_vehicle, private_vehicle, walk_in, law_enforcement, other, unknown
triage_system_category: esi, ctas, other_5_level, other, unknown
triage_acuity_category: level_1, level_2, level_3, level_4, level_5, other, unknown
ed_disposition_category: discharge_home, discharge_facility, observation, inpatient_admit, transfer_acute_care, transfer_non_acute, left_against_medical_advice, eloped_or_left_without_being_seen, expired_in_ed, other_or_unknown
ed_destination_category: home, skilled_nursing_or_rehab, inpatient_floor_or_stepdown, icu, outside_hospital, hospice, other_or_unknown
Design preferences:
adt should remain the source of location movement intervals
ed_encounter should capture ED workflow concepts that are not expressible in adt alone
derived metrics such as boarding duration should be calculated downstream from timestamps rather than stored as core CLIF fields
if CLIF wants a narrower initial scope, chief_complaint_name could be included now and chief_complaint_category deferred
Describe alternatives you've considered
We considered the simpler collaborator-facing proposal that used esi_category only, a single ed_disposition field, and a stored boarding_minutes variable. For CLIF core, we think a more generalizable design is better: separate triage_system_category from triage_acuity_category to support non-ESI sites, separate ed_disposition_category from ed_destination_category to avoid mixing final disposition with physical destination, and derive boarding duration from timestamps instead of storing it. We also considered whether triage should instead be represented through patient_assessments, but the one-row-per-encounter ED workflow design seems more straightforward for the initial CLIF 3.0 scope.
We also considered relying on adt plus hospitalization only, but those tables do not directly encode standardized ED disposition, observation status, arrival mode, or triage acuity. Finally, we considered adding site-local mapping or provenance tables to CLIF core, but those appear better suited to project ETL and QC workflows than to the core CLIF schema.
Additional context
This request is driven by an early-stage chest pain project that we would like to run on CLIF, but the same schema gap is also relevant to other ED-to-inpatient, ED-to-ICU, and OHCA-related work.