DRAFT PH Road Safety Implementation Guide
0.2.0 - ci-build Philippines flag

DRAFT PH Road Safety Implementation Guide, published by UP Manila - National Institutes of Health - National Telehealth Center. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/UPM-NTHC/PH-RoadSafetyIG/ and changes regularly. See the Directory of published versions

Data Modelling

  • This page gives a high level overview of the mapped FHIR resources from workshops (dot-vote priorities, ONEISS, ONEISS vs NHDR mapping), map MDS fields to FHIR resources (Observation, Encounter, Condition, DocumentReference, Procedure, Patient, Location, etc.) and note areas marked MUST SUPPORT.

Key decisions (high-level)

  • Use Observation for most scene/transport vitals, triage, collision/vehicle details and many external-cause elements.
  • Use Encounter for the transport/visit context and participant roles (team lead, treatment officer, transport officer, receiving staff).
  • Use DocumentReference for post-crash reports, attachments (cause of crash, party at fault, reconstruction materials).
  • Use Condition for diagnosis/icd-10/nature of injury.
  • Use Procedure for psychosocial support, coordination tasks, and other performed procedures.
  • Use Patient/Location/Organization references where appropriate for identifiers and facility information.

Generated Plantuml (v0.2)

RSAllergyIntolerancecode : — [0..1]patient : — [1..1]patient : Reference(RSPatient)encounter : Reference(RSEncounter)AllergyIntoleranceRSPatientidentifier : — [0..*]name : — [1..*]name.family : — [0..1]name.given : — [1..*]name.given : — [1..2]name.given : — [0..1]birthDate : — [0..1]telecom : — [0..*]address : — [0..*]address.line : — [0..*]address.extension : — [0..*]RSEncounterstatus : — [1..1]class : — [1..1]identifier : — [1..*]subject : — [1..1]period.start : — [1..1]serviceProvider : — [0..1]participant : — [0..*]hospitalization.dischargeDisposition : — [0..1]hospitalization.destination : — [0..1]location : — [0..1]location[accidentSite].location : — [1..1]location[facility].location : — [1..1]location[facility].location.type : — [0..1]identifier : — [0..1]identifier[incidentNumber].type : — [1..1]identifier[incidentNumber].type.coding : — [1..1]identifier[hospitalCaseNo].type : — [1..1]identifier[hospitalCaseNo].type.coding : — [1..1]hospitalization.origin : — [0..1]participant : — [0..1]participant[receivedBy].individual : — [0..1]participant[teamLeader].individual : — [0..1]participant[treatmentOfficer].individual : — [0..1]participant[transportOfficer].individual : — [0..1]participant[assistant].individual : — [0..1]subject : Reference(RSPatient)serviceProvider : Reference(RSOrganization)location[accidentSite].location : Reference(RSIncidentLocation)location[facility].location : Reference(RSServiceLocation)hospitalization.origin : Reference(RSOrganization)participant[receivedBy].individual : Reference(PHCorePractitioner)participant[teamLeader].individual : Reference(PHCorePractitioner)participant[treatmentOfficer].individual : Reference(PHCorePractitioner)participant[transportOfficer].individual : Reference(PHCorePractitioner)participant[assistant].individual : Reference(PHCorePractitioner)RSCompositionEMSstatus : — [1..1]subject : — [1..1]date : — [1..1]author : — [1..1]section : — [1..*]section[workflow].entry : — [1..*]section[workflow].entry : Referencesection[incident].entry : — [0..*]section[incident].entry : Referencesection[vitals].entry : — [0..*]section[vitals].entry : Referencesection[clinical].entry : — [0..*]section[documents].entry : — [0..*]section[procedures].entry : — [0..*]subject : Reference(RSPatient)section[clinical].entry : Reference(RSObsClinicalRemarks | RSProcedure | RSCondition)section[documents].entry : Reference(RSDocumentReference)section[procedures].entry : Reference(RSProcedure | RSServiceRequest | RSTask)CompositionRSProcedurestatus : — [1..1]code : — [0..1]subject : — [1..1]encounter : — [0..1]performer : — [0..*]note : — [0..*]subject : Reference(RSPatient)encounter : Reference(RSEncounter)performer.actor : Reference(PHCorePractitioner)RSConditionsubject : — [1..1]encounter : — [0..1]category : — [0..1]severity : — [0..1]code : — [0..1]code.text : — [0..1]onset[x] : — [0..1]note : — [0..*]subject : Reference(RSPatient)encounter : Reference(RSEncounter)RSDocumentReferencestatus : — [1..1]type : — [0..1]subject : — [0..1]context.encounter : — [0..1]content : — [1..*]content.attachment.url : — [1..1]content.format : — [0..1]subject : Reference(RSPatient)context.encounter : Reference(RSEncounter)RSServiceRequeststatus : — [1..1]occurrenceDateTime : — [0..1]supportingInfo : — [0..*]requester : — [0..1]code : — [1..1]code.coding : — [1..1]subject : — [1..1]encounter : — [0..1]supportingInfo : Reference(RSOrganization | PHCorePractitioner)requester : Reference(PHCorePractitioner)subject : Reference(RSPatient)encounter : Reference(RSEncounter)RSTaskstatus : — [1..1]executionPeriod : — [0..1]note : — [0..*]for : — [0..1]focus : — [0..1]input : — [0..*]output : — [0..*]for : Reference(RSPatient)RSBundleEMStype : — [1..1]entry : — [1..*]entry.resource : — [1..1]entry[composition].resource : RSCompositionEMSentry[patient].resource : RSPatiententry[encounter].resource : RSEncounterentry[location].resource : RSIncidentLocationentry[observationDateReceived].resource : RSObsDateReceivedentry[observationTimeEnroute].resource : RSObsTimeEnrouteentry[observationTimeOnScene].resource : RSObsTimeOnSceneentry[observationTimeDeparted].resource : RSObsTimeDepartedSceneentry[observationTimeHospitalArrival].resource : RSObsTimeHospitalArrivalentry[observationTimeStationArrival].resource : RSObsTimeStationArrivalentry[observationVitals].resource : RSObsRespiratoryRateentry[observationGCS].resource : RSObsGCSentry[observationReportedComplaint].resource : RSObsReportedComplaintentry[observationCallSource].resource : RSObsCallSourceentry[observationVehicleUsed].resource : RSObsVehicleUsedentry[observationRunReportComments].resource : RSObsRunReportCommentsentry[observationClinicalRemarks].resource : RSObsClinicalRemarksentry[document].resource : RSDocumentReferenceentry[task].resource : RSTaskentry[serviceRequest].resource : RSServiceRequestentry[procedure].resource : RSProcedureentry[claim].resource : RSClaimBundleRSCompositionONEISSstatus : — [1..1]subject : — [1..1]date : — [1..1]author : — [1..1]section : — [1..*]section[patient].entry : — [1..1]section[encounter].entry : — [1..1]section[clinical].entry : — [0..*]section[clinical].entry : Referencesection[injuries].entry : — [0..*]section[injuries].entry : Referencesection[incident].entry : — [0..*]section[incident].entry : Referencesection[documents].entry : — [0..*]subject : Reference(RSPatient)section[patient].entry : Reference(RSPatient)section[encounter].entry : Reference(RSEncounter)section[documents].entry : Reference(RSDocumentReference)RSBundleONEISStype : — [1..1]entry : — [1..*]entry.resource : — [1..1]entry[composition].resource : RSCompositionONEISSentry[patient].resource : RSPatiententry[encounter].resource : RSEncounterentry[conditionInitial].resource : RSConditionInitialImpressionentry[conditionFinal].resource : RSConditionFinalDiagnosisentry[observationClinical].resource : RSObsOtherRiskFactorsentry[observationIncident].resource : RSObsInjuryDateTimeentry[observationExternalCause].resource : RSObsECBitesStingsentry[observationInjuries].resource : RSObsMultipleInjuriesentry[observationExtentOfInjury].resource : RSObsExtentOfInjuryentry[observationTransferredFromFacility].resource : RSObsTransferredFromFacilityentry[observationReferredByFacility].resource : RSObsReferredByFacilityentry[document].resource : RSDocumentReferenceentry[serviceRequest].resource : RSServiceRequestentry[procedure].resource : RSProcedureRSCompositionPostCrashstatus : — [1..1]subject : — [1..1]date : — [1..1]author : — [1..*]section : — [1..*]section[patient].entry : — [1..1]section[incident].entry : — [0..*]section[incident].entry : Referencesection[documents].entry : — [0..*]subject : Reference(RSPatient)section[patient].entry : Reference(RSPatient)section[documents].entry : Reference(RSDocumentReference)RSBundlePostCrashtype : — [1..1]entry : — [1..*]entry.resource : — [1..1]entry[composition].resource : RSCompositionPostCrashentry[patient].resource : RSPatiententry[encounter].resource : RSEncounterentry[observationPostCrash].resource : RSObsCollisionTypeentry[document].resource : RSDocumentReferenceRSClaimpatient : — [1..1]total : — [0..1]patient : Reference(RSPatient)ClaimConditionRSConditionProblemcode : — [0..1]category.coding : — [1..1]RSConditionInitialImpressioncode : — [0..1]category.coding : — [1..1]RSConditionFinalDiagnosiscode : — [0..1]RSConditionNatureOfInjurycategory : — [0..1]category.coding.system : — [0..1]category.coding.display : — [0..1]code : — [0..1]RSConditionExternalCausecategory : — [0..1]category.coding.system : — [0..1]category.coding.display : — [0..1]code : — [0..1]DocumentReferencePHCoreEncounterRSOrganizationactive : — [0..1]type : — [0..*]name : — [1..1]identifier : — [0..*]telecom : — [0..*]address : — [0..*]RSIncidentLocationname : — [0..1]address : — [0..1]address.line : — [0..*]address.extension : — [0..*]position : — [0..1]position.longitude : — [1..1]position.latitude : — [1..1]RSServiceLocationname : — [0..1]address : — [0..1]type : — [0..1]PHCorePractitionerPHCoreLocationRSMedicationStatementsubject : — [1..1]effective[x] : — [0..1]medicationCodeableConcept : — [1..1]medicationCodeableConcept.text : — [1..1]subject : Reference(RSPatient)MedicationStatementRSObservationstatus : — [1..1]subject : — [1..1]code : — [1..1]encounter : — [0..1]effective[x] : — [0..1]performer : — [0..*]value[x] : — [0..1]note : — [0..*]subject : Reference(RSPatient)encounter : Reference(RSEncounter)PHCoreObservationPHCoreOrganizationRSHealthcareServiceactive : — [0..1]type : — [0..*]name : — [0..1]identifier : — [0..*]telecom : — [0..*]providedBy : — [1..1]location : — [0..*]coverageArea : — [0..*]providedBy : Reference(RSOrganization)location : Reference(RSIncidentLocation)HealthcareServicePHCorePatientPHCoreProcedureRSProcedureTransportCoordinationcode : — [1..1]code.coding : — [1..1]ServiceRequestTaskObs (RS profiles)"RS Observation - Respiratory Rate" : Profile"RS Observation - Pulse Rate" : Profile"RS Observation - Blood Pressure" : Profile"RS Observation - Body Temperature" : Profile"RS Observation - Pupils" : Profile"RS Observation - Cyanosis" : Profile"RS Observation - Glasgow Coma Scale" : Profile"RS Observation - Respiratory Rhythm" : Profile"RS Observation - Breath Sounds" : Profile"RS Observation - Pulse Rhythm" : Profile"RS Observation - Pulse Quality" : Profile"RS Observation - Date/Time Received by EMS" : Profile"RS Observation - Time Received" : Profile"RS Observation - Time Enroute" : Profile"RS Observation - Time On Scene" : Profile"RS Observation - Time Departed Scene" : Profile"RS Observation - Time of Hospital Arrival" : Profile"RS Observation - Time of Emergency Station Arrival" : Profile"RS Observation - Date/Time of Injury" : Profile"RS Observation - Date of Injury" : Profile"RS Observation - Time of Injury" : Profile"RS Observation - Injury Intent" : Profile"RS Observation - Transport/Vehicular Accident" : Profile"RS Observation - Mode of Transport to Facility" : Profile"RS Observation - Date of Consultation" : Profile"RS Observation - Time of Consultation" : Profile"RS Observation - Triage Priority" : Profile"RS Observation - Place of Occurrence" : Profile"RS Observation - Activity at Time of Incident" : Profile"RS Observation - Collision vs Non-Collision" : Profile"RS Observation - Patient's Vehicle" : Profile"RS Observation - Other Vehicle/Object Involved" : Profile"RS Observation - Position of Patient" : Profile"RS Observation - How Many Vehicles Involved" : Profile"RS Observation - How Many Patients Involved" : Profile"RS Observation - Collision Type" : Profile"RS Observation - Presence of Traffic Investigator" : Profile"RS Observation - Other Risk Factors" : Profile"RS Observation - Safety Accessories" : Profile"RS Observation - Reported Complaint" : Profile"RS Observation - Call Source" : Profile"RS Observation - External Cause: Bites/Stings" : Profile"RS Observation - External Cause: Burns" : Profile"RS Observation - External Cause: Burns" : Profile"RS Observation - External Cause: Chemical/Substance" : Profile"RS Observation - External Cause: Contact with Sharp Object" : Profile"RS Observation - External Cause: Drowning" : Profile"RS Observation - External Cause: Exposure to Forces of Nature" : Profile"RS Observation - External Cause: Fall" : Profile"RS Observation - External Cause: Firecracker" : Profile"RS Observation - External Cause: Gunshot" : Profile"RS Observation - External Cause: Hanging/Strangulation" : Profile"RS Observation - External Cause: Mauling/Assault" : Profile"RS Observation - External Cause: Other" : Profile"RS Observation - Extent of Injury" : Profile"RS Observation - Transferred From Facility" : Profile"RS Observation - Referred By Facility" : Profile"RS Observation - Multiple Injuries?" : Profile"RS Observation - Abrasion" : Profile"RS Observation - Avulsion" : Profile"RS Observation - Concussion" : Profile"RS Observation - Contusion" : Profile"RS Observation - Fracture" : Profile"RS Observation - Open Wound" : Profile"RS Observation - Traumatic Amputation" : Profile"RS Observation - Other Specified Injury" : Profile"RS Observation - Blood Alcohol Concentration" : Profile"RS Observation - Condition of Patient" : Profile"RS Observation - Outcome at Release" : Profile"RS Observation - Outcome at Discharge" : Profile"RS Observation - Status on Arrival" : Profile"RS Observation - If Alive: Conscious/Unconscious" : Profile"RS Observation - Vehicle Used" : Profile"RS Observation - Clinical Remarks" : Profile"RS Observation - Run Report Comments" : Profile"RS Observation - CCTV Available" : Profile"RS Observation - Level of Consciousness (AVPU)" : Profile"RS Observation - Priority Level (Urgency)" : Profile"RS Observation - External Cause: Sexual Assault/Abuse/Rape (Alleged)" : Profilepatientencountersubjectsection[clinical].entrysection[procedures].entrysection[clinical].entrysection[documents].entrysection[procedures].entrysection[procedures].entrysubjectsection[patient].entrysection[encounter].entrysection[documents].entrysubjectsection[patient].entrysection[documents].entrypatientsubjectencountersubjectcontext.encountersubjectserviceProviderhospitalization.originlocation[accidentSite].locationlocation[facility].locationparticipant[receivedBy].individualparticipant[teamLeader].individualparticipant[treatmentOfficer].individualparticipant[transportOfficer].individualparticipant[assistant].individualsubjectsubjectencounterprovidedBylocationsubjectencounterperformer.actorsupportingInfosupportingInforequestersubjectencounterforprofiles

Manually created Plantuml

PH Road Safety IG - UML Class DiagramPH Road Safety IG - UML Class DiagramRS_PatientidentifierbirthDateaddressmanagingOrganizationInjuryObservationstatuscategorycodesubject -> RS_Patientencounter -> RoadSafetyEncountercomponentRoadSafetyEncounteridentifierstatussubject -> RS_PatientlocationRoadSafetyClaimtotalencounter -> RoadSafetyEncounterHospitalAvailablenamecategorylocationactiveRoadSafetyDocumentReferencestatuscategoryrelatesTo -> DocumentReferencecontext.encounter -> RoadSafetyEncounterRoadSafetyMedicationStatementstatusmedicationCodeableConceptsubject -> RS_PatientRoadSafetyProcedurestatuscodesubject -> RS_Patientperformer -> PHCorePractitionerRoadSafetyQuestionnairestatusnametitleitemRoadSafetyServiceRequeststatus = revokedencounter -> RoadSafetyEncountersupportingInfo[hospital] -> PHCoreOrganizationsupportingInfo[physician] -> PHCorePractitionerRoadSafetyTaskstatusexecutionPeriodnotehas observations10..*undergoes10..*takes10..*related claim10..*subject11procedures10..*observations10..*documents10..*refusal records10..*referral context10..*

Mermaid diagram (simplified v0.1)

flowchart LR
  Patient[Patient]
  Encounter[Encounter]
  Observation[Observation]
  Condition[Condition]
  Procedure[Procedure]
  DocumentReference[DocumentReference]
  Location[Location]
  Organization[Organization]

  Patient -->|subject of| Encounter
  Encounter -->|has observations| Observation
  Encounter -->|has diagnoses| Condition
  Encounter -->|has procedures| Procedure
  Encounter -->|serviceProvider| Organization
  Encounter -->|occursAt| Location
  Observation -->|derivedFrom| DocumentReference
  DocumentReference -->|attachment for| Encounter

  style Patient fill:#f9f,stroke:#333,stroke-width:1px
  style Observation fill:#ff9,stroke:#333,stroke-width:1px