MediRecords FHIR Implementation Guide
1.3.0 - release


Resource Profile: MRMedicationRequest - Mappings

Mappings for the mr-medication-request resource profile.

Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

MRMedicationRequest
MedicationRequestRequest
   statusRequest.status
   statusReasonRequest.statusReason
   intentRequest.intent
   priorityRequest.priority
   medication[x]Request.code
   medication[x] (medicationReference)Request.code
   medication[x] (medicationCodeableConcept)Request.code
   subjectRequest.subject
   encounterRequest.context
   supportingInformationRequest.supportingInfo
   supportingInformation (bodyHeight)Request.supportingInfo
   supportingInformation (bodyWeight)Request.supportingInfo
   authoredOnRequest.authoredOn
   requesterRequest.requester
   performerRequest.performer
   performerTypeRequest.performerType
   reasonCodeRequest.reasonCode
   reasonReferenceRequest.reasonReference
   instantiatesCanonicalRequest.instantiates
   basedOnRequest.basedOn
   groupIdentifierRequest.groupIdentifier
   insuranceRequest.insurance
   noteRequest.note
   priorPrescriptionRequest.replaces
   eventHistoryRequest.relevantHistory

Mappings for Mapping to NCPDP SCRIPT 10.6 (http://ncpdp.org/SCRIPT10_6)

MRMedicationRequest
MedicationRequestMessage/Body/NewRx
   statusno mapping
   categoryMessage/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] (medicationReference)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
   subjectMessage/Body/NewRx/Patient (need detail to link to specific patient … Patient.Identification in SCRIPT)
   encounterno mapping
   authoredOnMessage/Body/NewRx/MedicationPrescribed/WrittenDate
   reasonCodeMessage/Body/NewRx/MedicationPrescribed/Diagnosis/Primary/Value
   reasonReferenceno mapping
   noteMessage/Body/NewRx/MedicationPrescribed/Note
   dispenseRequestMessage/Body/NewRx/MedicationPrescribed/ExpirationDate
      validityPeriodMessage/Body/NewRx/MedicationPrescribed/Refills
      numberOfRepeatsAllowedMessage/Body/NewRx/MedicationPrescribed/Quantity
      quantityMessage/Body/NewRx/MedicationPrescribed/DaysSupply
      expectedSupplyDurationMessage/Body/NewRx/MedicationPrescribed/Substitutions
   substitutionspecific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
      allowed[x]specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
      allowed[x] (allowedBoolean)specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
      reasonnot mapped
   priorPrescriptionnot mapped

Mappings for RIM Mapping (http://hl7.org/v3)

MRMedicationRequest
MedicationRequestEntity. Role, or Act, CombinedMedicationRequest
   metan/a, N/A
   textAct.text?
   containedN/A
   extension
   extension (subsidisedConcurrentSupply)
      idn/a
      urlN/A
      value[x]N/A
      value[x] (valueCoding)N/A
   modifierExtensionN/A
   identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
   identifier (identifierLPN)n/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
   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
   doNotPerformSubstanceAdministration.actionNegationInd
   reported[x].participation[typeCode=INF].role
   reported[x] (reportedBoolean).participation[typeCode=INF].role
   medication[x]consumable.administrableMedication
   medication[x] (medicationReference)consumable.administrableMedication
   medication[x] (medicationCodeableConcept)consumable.administrableMedication
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (pbs)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (gtin)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (amt)union(., ./translation)
         idn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (mimsPackage)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   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)]
   supportingInformation (bodyHeight).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)]
   supportingInformation (bodyWeight).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)]
   authoredOnauthor.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)
   reasonCodereason.observation.reasonCode
   reasonReferencereason.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
   courseOfTherapyTypeAct.code where classCode = LIST and moodCode = EVN
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   insurance.outboundRelationship[typeCode=COVBY].target
   note.inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code="annotation"].value
   dosageInstructionn/a, .outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=INT]
   dispenseRequestcomponent.supplyEvent
      idn/a
      extensionn/a
      modifierExtensionN/A
      initialFillSubstanceAdministration -> ActRelationship[sequenceNumber = '1'] -> Supply
         idn/a
         extensionn/a
         modifierExtensionN/A
         quantitySupply.quantity[moodCode=RQO]
         durationSupply.effectivetime[moodCode=RQO]
      dispenseIntervalSupply.effectivetime[moodCode=RQO]
      validityPeriodeffectiveTime
      numberOfRepeatsAllowedrepeatNumber
      quantityquantity
      expectedSupplyDurationexpectedUseTime
      performer.outboundRelationship[typeCode=COMP].target[classCode=SPLY, moodCode=RQO] .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
   substitutionsubjectOf.substitutionPersmission
      idn/a
      extensionn/a
      modifierExtensionN/A
      allowed[x]code
      allowed[x] (allowedBoolean)code
      reasonreasonCode
   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]

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

MRMedicationRequest
MedicationRequest
   statusFiveWs.status
   intentFiveWs.class
   categoryFiveWs.class
   priorityFiveWs.grade
   medication[x]FiveWs.what[x]
   medication[x] (medicationReference)FiveWs.what[x]
   medication[x] (medicationCodeableConcept)FiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   supportingInformationFiveWs.context
   supportingInformation (bodyHeight)FiveWs.context
   supportingInformation (bodyWeight)FiveWs.context
   authoredOnFiveWs.recorded
   requesterFiveWs.author
   performerFiveWs.actor
   recorderFiveWs.who
   reasonCodeFiveWs.why[x]
   reasonReferenceFiveWs.why[x]
   dispenseRequest
      performerFiveWs.who

Mappings for HL7 v2 Mapping (http://hl7.org/v2)

MRMedicationRequest
MedicationRequest
   identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   identifier (identifierLPN)CX / EI (occasionally, more often EI maps to a resource id or a URL)
   medication[x]RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code
   medication[x] (medicationReference)RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code
   medication[x] (medicationCodeableConcept)RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code
      codingC*E.1-8, C*E.10-22
      coding (pbs)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (gtin)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (amt)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (mimsPackage)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   subjectPID-3-Patient ID List
   encounterPV1-19-Visit Number
   authoredOnRXE-32-Original Order Date/Time / ORC-9-Date/Time of Transaction
   reasonCodeORC-16-Order Control Code Reason /RXE-27-Give Indication/RXO-20-Indication / RXD-21-Indication / RXG-22-Indication / RXA-19-Indication
   courseOfTherapyType
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   dispenseRequest
      numberOfRepeatsAllowedRXE-12-Number of Refills
      quantityRXD-4-Actual Dispense Amount / RXD-5.1-Actual Dispense Units.code / RXD-5.3-Actual Dispense Units.name of coding system
   substitution
      allowed[x]RXO-9-Allow Substitutions / RXE-9-Substitution Status
      allowed[x] (allowedBoolean)RXO-9-Allow Substitutions / RXE-9-Substitution Status
      reasonRXE-9 Substition status