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.

Fields from parent classes are

...

omitted

...

.

OpenMRS Order documentation - Order Entry API.


OpenMRS class DrugOrder

...

extends Order

OpenMRS classOpenMRS fieldDB fieldFHIR fieldDetails
BaseOpenmrsObject
DrugOrder
uuid : Stringid : idOrderdateActivated : Date,
checkDate : Date
status : codeFormula value: OpenmrsUtil.compare(dateActivated, checkDate)--intent : codeRequired in FHIR.Orderurgency : Urgencypriority : codeConstant value "ORDER"DrugOrderdrug : Drugmedication : CodeableConceptRequired in FHIR. Formula value : drug concepts codings are put into medication.Orderpatient : Patientsubject : Reference(Patient)Required in FHIR. Only patient reference is put.Orderencounter : Encountercontext : Reference(Encounter)Encounter ref is put.BaseOpenmrsDatadateCreated : DateauthoredOn : dateTimeOrderorderer : Providerrequester : BackboneElementFormula value: practitioner Reference. Reference to a practitioner is put.Orderorderer : Providerrecorder : Reference(Practitioner)Formula value: practitioner Reference. Reference to a practitioner is put.DrugOrderroute : Concept,
dosingInstructions : String,
frequency : OrderFrequency,
doseUnits : Concept,
dose : Double
dosageInstruction : Dosage

Multiple fields are mapped.

See table FHIR Dosage class.

DrugOrder

durationUnits : Concept,
duration : Integer,
quantity : Double

dispenseRequest : BackboneElementMultiple fields are mapped.

...

dose : Doubledrug_order.dosedosageInstruction : DosageSee table FHIR Dosage class
DrugOrderdoseUnits : Conceptdrug_order.unitsdosageInstruction : DosageSee table FHIR Dosage class
DrugOrderfrequency : OrderFrequencydrug_order.frequencydosageInstruction : DosageSee table FHIR Dosage class
DrugOrderasNeeded : Booleandrug_order.prndosageInstruction : Dosage

PRN = "As Needed"

See table FHIR Dosage class

DrugOrderquantity : Doubledrug_order.quantitydispenseRequest.quantity : SimpleQuantitySee table FHIR SimpleQuantity class
DrugOrderquantityUnits : Concept-dispenseRequest.quantity : SimpleQuantitySee table FHIR SimpleQuantity class
DrugOrderdrug : Drugdrug_order.drug_inventory_idmedicationCodeableConcept : CodeableConcept-
DrugOrderasNeededCondition : String-dosageInstruction : DosageSee table FHIR Dosage class
DrugOrderdosingType: DosingInstructions-extension-
DrugOrdernumRefills : Integer-extension-
DrugOrderdosingInstructions : Stringorder.instructionsdosageInstruction : DosageSee table FHIR Dosage class
DrugOrderduration : String-dosageInstruction : DosageSee table FHIR Dosage class
DrugOrderdurationUnits : Concept-dosageInstruction : DosageSee table FHIR Dosage class
DrugOrderroute : Concept-dosageInstruction : DosageSee table FHIR Dosage class
DrugOrderbrandName : String-extension-
DrugOrderdispenseAsWritten : Boolean-extension-
DrugOrderdrugNonCoded : String-extension-


FHIR Dosage class - description

...

OpenMRS classOpenMRS fieldDB fieldFHIR fieldDetails
DrugOrder
Formula value

dose :

codings CodeableConcepts

Double

route : CodeableConceptDrugOrderdosingInstructions : Stringtext : string-sequence : integerConstant int value 1

doseUnits : Concept

drug_order.dose

drug_order.units

doseQuantity : SimpleQuantitySee table FHIR SimpleQuantity class
DrugOrderfrequency : OrderFrequency-timing : Timing

Multiple fields are mapped.

See table FHIR Timing class
.
DrugOrder
dose
asNeeded :
SimpleQuantity
Booleandrug
.maxiumumDailyDose : DoublemaxDosePerAdministration : SimpleQuantity

FHIR Timing class

...

_order.prnasNeededBoolean : boolean-
DrugOrderasNeededCondition : String-asNeededCodeableConcept : CodeableConcept-
DrugOrderdosingInstructions: Stringorder.instructionstext : string-
DrugOrder

duration : String

durationUnits : Concept

-

-

timing : TimingSee table FHIR Timing class
DrugOrderroute : Concept-route : CodeableConcept-


FHIR Timing class - description

OpenMRS class

OpenMRS field

DB field

FHIR field

Details

DrugOrder
doseUnit.name.name : Stringunit : stringName of dose unit name is putDrugOrderdose : Doublevalue : decimalDrugmaximumDailyDose : DoublemaxDosePerAdministration : SimpleQuantity
frequency : 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 required