Interweave Implementation Guide
0.1.0 - ci-build United Kingdom flag

Interweave Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the STU3 profiles here.

Resource Profile: InterweaveMedicationRequest - Mappings

Draft as of 2024-07-15

Mappings for the Interweave-MedicationRequest resource profile.

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

InterweaveMedicationRequest
MedicationRequestRequest
   identifierRequest.identifier
   statusRequest.status
   statusReasonRequest.statusReason
   intentRequest.intent
   medication[x]Request.code
   subjectRequest.subject
   encounterRequest.context
   authoredOnRequest.authoredOn
   requesterRequest.requester
   performerRequest.performer
   performerTypeRequest.performerType
   reasonCodeRequest.reasonCode
   reasonReferenceRequest.reasonReference
   noteRequest.note
   dosageInstructionRequest.occurrence[x]

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

InterweaveMedicationRequest
MedicationRequestMessage/Body/NewRx
   identifierMessage/Header/PrescriberOrderNumber
   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
   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
      reasonnot mapped

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

InterweaveMedicationRequest
MedicationRequestEntity. Role, or Act, CombinedMedicationRequest
   meta
      extensionn/a
      tag
      tag (Source)
         extensionn/a
         system./codeSystem
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      tag (Provenance)
         extensionn/a
         system./codeSystem
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
   textAct.text?
   containedN/A
   extension
   extension (medicationRepeatInformation)
      idn/a
      extensionn/a
      extension (numberOfPrescriptionsIssued)
         idn/a
         urlN/A
         value[x]N/A
      extension (authorisationExpiryDate)
         idn/a
         urlN/A
         value[x]N/A
      urlN/A
   modifierExtensionN/A
   identifier.id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   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
   reported[x].participation[typeCode=INF].role
   medication[x]consumable.administrableMedication
   subject.participation[typeCode=AUT].role
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   encounter.inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code="type of encounter or episode"]
   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
   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
   note.inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code="annotation"].value
   dosageInstructionsee dosageInstruction mapping
      idn/a
      extensionn/a
      modifierExtensionN/A
      sequence.text
      text.text
      additionalInstruction.text
      patientInstruction.text
      timing.effectiveTime
      asNeeded[x].outboundRelationship[typeCode=PRCN].target[classCode=OBS, moodCode=EVN, code="as needed"].value=boolean or codable concept
      site.approachSiteCode
         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
      route.routeCode
         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
      method.doseQuantity
         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
      doseAndRate
         idn/a
         extensionn/a
         dose[x].doseQuantity
         rate[x].rateQuantity
      maxDosePerPeriod.maxDoseQuantity
      maxDosePerAdministrationnot supported
      maxDosePerLifetimenot supported
   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
         idn/a
         extensionn/a
         valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
         comparatorIVL properties
         unitPQ.unit
         systemCO.codeSystem, PQ.translation.codeSystem
         codePQ.code, MO.currency, PQ.translation.code
      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
      reasonreasonCode

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

InterweaveMedicationRequest
MedicationRequest
   identifierFiveWs.identifier
   statusFiveWs.status
   intentFiveWs.class
   categoryFiveWs.class
   medication[x]FiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.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)

InterweaveMedicationRequest
MedicationRequest
   meta
      tag
      tag (Source)
         systemC*E.3
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      tag (Provenance)
         systemC*E.3
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
   identifierORC-2-Placer Order Number / ORC-3-Filler Order Number
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   medication[x]RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code
   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
   dosageInstruction
      sequenceTQ1-1
      textRXO-6; RXE-21
      additionalInstructionRXO-7
      patientInstructionRXO-7
      asNeeded[x]TQ1-9
      siteRXR-2
         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
      routeRXR-1
         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
      methodRXR-4
         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
      doseAndRateTQ1-2
         typeRXO-21; RXE-23
         dose[x]RXO-2, RXE-3
         rate[x]RXE22, RXE23, RXE-24
      maxDosePerPeriodRXO-23, RXE-19
   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
      expectedSupplyDuration
         valueSN.2 / CQ - N/A
         comparatorSN.1 / CQ.1
         unit(see OBX.6 etc.) / CQ.2
         system(see OBX.6 etc.) / CQ.2
         code(see OBX.6 etc.) / CQ.2
   substitution
      allowed[x]RXO-9-Allow Substitutions / RXE-9-Substitution Status
      reasonRXE-9 Substition status