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
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
duration : String
durationUnits : Concept
-
-
repeat.duration : decimal
repeat.durationUnit : code
OpenMRS fieldclass | DB OpenMRS field | FHIR field | Details | |||
---|---|---|---|---|---|---|
DrugOrder | doseuuid : | DoubleString | drug_order.dose | dosageInstruction : Dosage | See table FHIR Dosage classidentifier.value: String | |
DrugOrder | dose : Double | dosageInstruction.doseQuantity.value : Double | ||||
DrugOrder | doseUnits : Concept | drug_order.units | dosageInstruction : Dosage | See table FHIR Dosage classdosageInstruction.doseQuantity.code : String | FHIR field contains the UUID of the concept. | |
DrugOrder | frequency : OrderFrequency | drug_order.frequency | dosageInstruction : Dosage | See table FHIR Dosage classdosageInstruction.timing.id : String | FHIR field contains the UUID of the object. | |
DrugOrder | asNeeded : Boolean | drug_order.prn | dosageInstruction : Dosage | PRN = "As Needed" See table FHIR Dosage class | dosageInstruction.asNeededBoolean : BooleanType | |
DrugOrder | quantity : Double | drug_orderdispenseRequest.quantitydispenseRequest.quantity value : SimpleQuantity | See table FHIR SimpleQuantity class | Double | ||
DrugOrder | quantityUnits : Concept | - | dispenseRequest.quantity.code : SimpleQuantityStringSee table FHIR SimpleQuantity class | FHIR field contains the UUID of the concept. | ||
DrugOrder | drug : Drug | drug_order.drug_inventory_id | medicationCodeableConcept : CodeableConcept | -medicationReference : ReferenceMedication | ||
DrugOrder | asNeededCondition : String | - | dosageInstruction : Dosage | See table FHIR Dosage classextension - AsNeededCondition FHIR Extension | ||
DrugOrder | dosingType: DosingInstructions | - | extension - DosingType FHIR Extension | |||
DrugOrder | numRefills : Integer | - | extension - NumRefills FHIR Extension | |||
DrugOrder | dosingInstructions : String | orderdosageInstruction.instructions | dosageInstruction : Dosage | See table FHIR Dosage classtext : String | ||
DrugOrder | duration : String | - | dosageInstruction : Dosage | See table FHIR Dosage classInteger | dispenseRequest.expectedSupplyDuration.value : Integer | |
DrugOrder | durationUnits : Concept | - | dosageInstruction : Dosage | See table FHIR Dosage classdispenseRequest.expectedSupplyDuration.code | FHIR field contains the UUID of the concept. | |
DrugOrder | route : Concept- | dosageInstruction.route : DosageSee table FHIR Dosage classCodeableConcept | ||||
DrugOrder | brandName : String | - | extension - BrandName FHIR Extension | |||
DrugOrder | dispenseAsWritten : Boolean | - | extension - DispenseAsWritten FHIR Extension | |||
DrugOrder | drugNonCoded : 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 | |
Order | patient : Patient | subject : ReferencePatient | |
Order | encounter : Encounter | context : ReferenceEncounter | |
Order | orderer : Provider | recorder : ReferencePractitioner | |
Order | careSetting: CareSetting | extension - CareSetting FHIR Extension |