OpenMRS Core FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Mappings for the omrs-medication-request resource profile.
MedicationRequest mapping shows how attributes of the FHIR MedicationRequest Resource map to the attributes of the OpenMRS Drug Order object
OMRSMedicationRequest |
MedicationRequest | Message/Body/NewRx |
identifier | Message/Header/PrescriberOrderNumber |
status | no mapping |
category | Message/Body/NewRx/MedicationPrescribed/Directions
or
Message/Body/NewRx/MedicationPrescribed/StructuredSIG |
medication[x] | Message/Body/NewRx/MedicationPrescribed
Medication.code.coding.code = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCode
Medication.code.coding.system = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCodeQualifier
Medication.code.coding.display = Message/Body/NewRx/MedicationPrescribed/DrugDescription |
medication[x] (medicationCodeableConcept) | Message/Body/NewRx/MedicationPrescribed
Medication.code.coding.code = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCode
Medication.code.coding.system = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCodeQualifier
Medication.code.coding.display = Message/Body/NewRx/MedicationPrescribed/DrugDescription |
subject | Message/Body/NewRx/Patient
(need detail to link to specific patient … Patient.Identification in SCRIPT) |
encounter | no mapping |
authoredOn | Message/Body/NewRx/MedicationPrescribed/WrittenDate |
reasonCode | Message/Body/NewRx/MedicationPrescribed/Diagnosis/Primary/Value |
reasonReference | no mapping |
note | Message/Body/NewRx/MedicationPrescribed/Note |
dispenseRequest | Message/Body/NewRx/MedicationPrescribed/ExpirationDate |
validityPeriod | Message/Body/NewRx/MedicationPrescribed/Refills |
numberOfRepeatsAllowed | Message/Body/NewRx/MedicationPrescribed/Quantity |
quantity | Message/Body/NewRx/MedicationPrescribed/DaysSupply |
expectedSupplyDuration | Message/Body/NewRx/MedicationPrescribed/Substitutions |
substitution | specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions |
allowed[x] | specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions |
reason | not mapped |
priorPrescription | not mapped |
OMRSMedicationRequest |
MedicationRequest | Entity. Role, or Act, CombinedMedicationRequest |
text | Act.text? |
contained | N/A |
extension | N/A |
modifierExtension | N/A |
identifier | .id |
status | .statusCode |
statusReason | .inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].reasonCOde |
intent | .moodCode (nuances beyond PRP/PLAN/RQO would need to be elsewhere) |
category | .inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="type of medication usage"].value |
priority | .priorityCode |
doNotPerform | SubstanceAdministration.actionNegationInd |
reported[x] | .participation[typeCode=INF].role |
medication[x] | consumable.administrableMedication |
medication[x] (medicationCodeableConcept) | consumable.administrableMedication |
subject | .participation[typeCode=AUT].role |
encounter | .inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code="type of encounter or episode"] |
supportingInformation | .outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)] |
authoredOn | author.time |
requester | .participation[typeCode=AUT].role |
performer | .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE] |
performerType | .participation[typeCode=PRF].role[scoper.determinerCode=KIND].code |
recorder | .participation[typeCode=TRANS].role[classCode=ASSIGNED].code (HealthcareProviderType) |
reasonCode | reason.observation.reasonCode |
reasonReference | reason.observation[code=ASSERTION].value |
instantiatesCanonical | .outboundRelationship[typeCode=DEFN].target |
instantiatesUri | .outboundRelationship[typeCode=DEFN].target |
basedOn | .outboundRelationship[typeCode=FLFS].target[classCode=SBADM or PROC or PCPR or OBS, moodCode=RQO orPLAN or PRP] |
groupIdentifier | .outboundRelationship(typeCode=COMP].target[classCode=SBADM, moodCode=INT].id |
courseOfTherapyType | Act.code where classCode = LIST and moodCode = EVN |
insurance | .outboundRelationship[typeCode=COVBY].target |
note | .inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code="annotation"].value |
dosageInstruction | see dosageInstruction mapping |
dispenseRequest | component.supplyEvent |
id | n/a |
extension | n/a |
modifierExtension | N/A |
initialFill | SubstanceAdministration -> ActRelationship[sequenceNumber = '1'] -> Supply |
id | n/a |
extension | n/a |
modifierExtension | N/A |
quantity | Supply.quantity[moodCode=RQO] |
duration | Supply.effectivetime[moodCode=RQO] |
dispenseInterval | Supply.effectivetime[moodCode=RQO] |
validityPeriod | effectiveTime |
numberOfRepeatsAllowed | repeatNumber |
quantity | quantity |
expectedSupplyDuration | expectedUseTime |
performer | .outboundRelationship[typeCode=COMP].target[classCode=SPLY, moodCode=RQO] .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE] |
substitution | subjectOf.substitutionPersmission |
id | n/a |
extension | n/a |
modifierExtension | N/A |
allowed[x] | code |
reason | reasonCode |
priorPrescription | .outboundRelationship[typeCode=?RPLC or ?SUCC]/target[classCode=SBADM,moodCode=RQO] |
detectedIssue | .inboundRelationship[typeCode=SUBJ]/source[classCode=ALRT,moodCode=EVN].value |
eventHistory | .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN] |