Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

FHIR Mapping

The strategy was originally implemented by Kwateng on 06.08.2017. commit 881e70acf638df9ef8572e4ec96e19e0c5057828

This is a suggestion on how to map OpenMRS DrugOrder object into FHIR TBD.

Fields which didn't match into FHIR representation are marked on red. Keyword extension means that FHIR Extension has to be used to synchronize this field.
Fields which partially match into FHIR representation are marked on orange.

...

OpenMRS Order documentation - Order Entry API.


OpenMRS class DrugOrder extends Order class.

OpenMRS class DrugOrder is mapped to FHIR's MedicationRequest.

FHIR Timing class - description

OpenMRS class

OpenMRS field

DB field

FHIR field

Details

DrugOrderfrequency : OrderFrequencydrug_order.frequency

repeat.frequency : integer

repeat.period : decimal

repeat.periodUnit : UnitsOfTime

frequencyPerDay = frequency / (period * periodUnit), where period=1, periodUnit=d

if there's a period, periodUnit is required

DrugOrder

duration : String

durationUnits : Concept

-

-

repeat.duration : decimal

repeat.durationUnit : code

if there's a duration, durationUnit is requireddose DoubleSee table FHIR Dosage class
OpenMRS fieldclassDB OpenMRS fieldFHIR fieldDetails
DrugOrderuuid : Stringdrug_order.dosedosageInstruction : Dosageidentifier.value: String
DrugOrderdose : DoubledosageInstruction.doseQuantity.value : Double
DrugOrderdoseUnits : Conceptdrug_order.unitsdosageInstruction : DosageSee table FHIR Dosage classdosageInstruction.doseQuantity.code : StringFHIR field contains the UUID of the concept.
DrugOrderfrequency : OrderFrequencydrug_order.frequencydosageInstruction : DosageSee table FHIR Dosage classdosageInstruction.timing.id : StringFHIR field contains the UUID of the object.
DrugOrderasNeeded : Booleandrug_order.prndosageInstruction : Dosage

PRN = "As Needed"

See table FHIR Dosage class

dosageInstruction.asNeededBoolean : BooleanType


DrugOrderquantity : Doubledrug_orderdispenseRequest.quantitydispenseRequest.quantity value : SimpleQuantitySee table FHIR SimpleQuantity classDouble
DrugOrderquantityUnits : Concept-dispenseRequest.quantity.code : SimpleQuantityStringSee table FHIR SimpleQuantity classFHIR field contains the UUID of the concept.
DrugOrderdrug : Drugdrug_order.drug_inventory_idmedicationCodeableConcept : CodeableConcept-medicationReference : ReferenceMedication
DrugOrderasNeededCondition : String-dosageInstruction : DosageSee table FHIR Dosage classextension - AsNeededCondition FHIR Extension

DrugOrderdosingType: DosingInstructions-extension - DosingType FHIR Extension
DrugOrdernumRefills : Integer-extension - NumRefills FHIR Extension
DrugOrderdosingInstructions : StringorderdosageInstruction.instructionsdosageInstruction : DosageSee table FHIR Dosage classtext : String
DrugOrderduration : String-dosageInstruction : DosageSee table FHIR Dosage classIntegerdispenseRequest.expectedSupplyDuration.value : Integer

DrugOrderdurationUnits : Concept-dosageInstruction : DosageSee table FHIR Dosage classdispenseRequest.expectedSupplyDuration.code
FHIR field contains the UUID of the concept.
DrugOrderroute : Concept-dosageInstruction.route : Dosage
See table FHIR Dosage class
CodeableConcept

DrugOrderbrandName : String-extension - BrandName FHIR Extension
DrugOrderdispenseAsWritten : Boolean-extension - DispenseAsWritten FHIR Extension
DrugOrderdrugNonCoded : String-extension -

FHIR Dosage class - description

...

dose : Double

doseUnits : Concept

...

drug_order.dose

drug_order.units

...

duration : String

durationUnits : Concept

...

-

-

...

DrugNonCoded FHIR Extension
Order
urgency :
Order.Urgency
priority
Orderpatient : Patientsubject : ReferencePatient
Orderencounter : Encountercontext : ReferenceEncounter
Orderorderer : Providerrecorder : ReferencePractitioner
OrdercareSetting: CareSettingextension - CareSetting FHIR Extension