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.
OpenMRS |
---|
class |
---|
OpenMRS field | FHIR field | Details |
---|---|---|
DrugOrder |
uuid : |
String |
identifier.value: String | |||
DrugOrder | dose : Double | dosageInstruction.doseQuantity.value : Double | |
DrugOrder | doseUnits : Concept |
dosageInstruction.doseQuantity.code : String | FHIR field contains the UUID of the concept. |
DrugOrder | frequency : OrderFrequency |
dosageInstruction.timing.id : String | FHIR field contains the UUID of the object. |
DrugOrder | asNeeded : Boolean |
PRN = "As Needed"
See table FHIR Dosage class
dosageInstruction.asNeededBoolean : BooleanType | |
DrugOrder | quantity : Double |
dispenseRequest.quantity |
. |
value : |
Double | |
DrugOrder | quantityUnits : Concept |
dispenseRequest.quantity.code : |
String |
FHIR field contains the UUID of the concept. | |
DrugOrder | drug : Drug |
medicationReference : ReferenceMedication | |
DrugOrder | asNeededCondition : String |
extension - AsNeededCondition FHIR Extension | |
DrugOrder | dosingType: DosingInstructions |
extension |
- DosingType FHIR Extension | |
DrugOrder | numRefills : Integer |
extension |
- NumRefills FHIR Extension | |
DrugOrder | dosingInstructions : String |
dosageInstruction. |
text : String | |
DrugOrder | duration : |
Integer | dispenseRequest.expectedSupplyDuration.value : Integer | |
DrugOrder | durationUnits : Concept |
dispenseRequest.expectedSupplyDuration.code | FHIR field contains the UUID of the concept. |
DrugOrder | route : Concept |
dosageInstruction.route : |
CodeableConcept | |
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
...
-
-
...
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
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 |