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 class.

OpenMRS class DrugOrder is mapped to FHIR's MedicationRequest.

OpenMRS
field
class
DB
OpenMRS fieldFHIR fieldDetails
DrugOrderuuid
id
:
idFormula value: OpenmrsUtil.compare(dateActivated, checkDate)status : codeConstant value "ORDER"
Stringidentifier.value: String
intent

DrugOrderdose :
codeRequired in FHIR.urgency : Urgencypriority : codeFormula value : drug concepts codings are put into medicationmedication : CodeableConceptRequired in FHIR.patient : Patientsubject : Reference(Patient)Required in FHIR. Only patient reference is put.encounter : Encountercontext : Reference(Encounter)Encounter ref is put.dateCreated : DateauthoredOn : dateTimeFormula value: practitioner Referencerequester : BackboneElementFormula value: practitioner Referencerecorder : Reference(Practitioner)Reference to a practitioner is put.Multiple fields are mappeddosageInstruction : Dosage

Multiple fields are mapped.

durationUnits : Concept
duration : Integer
quantity : Double

dispenseRequest : BackboneElement

FHIR Dosage class

OpenMRS classOpenMRS fieldDB fieldFHIR fieldDetailsFormula value: codings CodeableConceptsroute : CodeableConcept
DoubledosageInstruction.doseQuantity.value : Double
DrugOrderdoseUnits : ConceptdosageInstruction.doseQuantity.code : StringFHIR field contains the UUID of the concept.
DrugOrderfrequency : OrderFrequencydosageInstruction.timing.id : StringFHIR field contains the UUID of the object.
DrugOrderasNeeded : BooleandosageInstruction.asNeededBoolean : BooleanType


DrugOrderquantity : DoubledispenseRequest.quantity.value : Double
DrugOrderquantityUnits : ConceptdispenseRequest.quantity.code : StringFHIR field contains the UUID of the concept.
DrugOrderdrug : DrugmedicationReference : ReferenceMedication
DrugOrderasNeededCondition : Stringextension - AsNeededCondition FHIR Extension

DrugOrderdosingType: DosingInstructionsextension - DosingType FHIR Extension
DrugOrdernumRefills : Integerextension - NumRefills FHIR Extension
DrugOrderdosingInstructions : StringdosageInstruction.text
: stringConstant value 1 : intsequence : integerMultiple fields are mappedtiming : Timingdose : SimpleQuantitydrug.maxiumumDailyDose : DoublemaxDosePerAdministration : SimpleQuantity

FHIR Timing class

...

FHIR SimpleQuantity class

OpenMRS classOpenMRS fieldDB fieldFHIR fieldDetailsDrugOrderdoseUnit.name.name : Stringunit : stringName of dose unit name is putDrugOrderdose : Doublevalue : decimalDrugmaximumDailyDose : DoublemaxDosePerAdministration : SimpleQuantity
: String
DrugOrderduration : IntegerdispenseRequest.expectedSupplyDuration.value : Integer

DrugOrderdurationUnits : ConceptdispenseRequest.expectedSupplyDuration.code
FHIR field contains the UUID of the concept.
DrugOrderroute : ConceptdosageInstruction.route :
CodeableConcept

DrugOrderbrandName : Stringextension - BrandName FHIR Extension
DrugOrderdispenseAsWritten : Booleanextension - DispenseAsWritten FHIR Extension
DrugOrderdrugNonCoded : Stringextension - DrugNonCoded FHIR Extension
Order
urgency :
Order.Urgency
priority
Orderpatient : Patientsubject : ReferencePatient
Orderencounter : Encountercontext : ReferenceEncounter
Orderorderer : Providerrecorder : ReferencePractitioner
OrdercareSetting: CareSettingextension - CareSetting FHIR Extension