MediRecords FHIR Implementation Guide
1.3.0 - release


Resource Profile: MRDiagnosticRequest - Mappings

Mappings for the mr-diagnosticrequest resource profile.

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

MRDiagnosticRequest
ServiceRequestRequest
   contained
   contained (pregnancyStatus)Event
      identifierEvent.identifier
      basedOnEvent.basedOn
      partOfEvent.partOf
      statusEvent.status
      codeEvent.code
      subjectEvent.subject
      encounterEvent.context
      effective[x]Event.occurrence[x]
      performerEvent.performer.actor
   contained (estimatedDeliveryDate)Event
      identifierEvent.identifier
      basedOnEvent.basedOn
      partOfEvent.partOf
      statusEvent.status
      codeEvent.code
      subjectEvent.subject
      encounterEvent.context
      effective[x]Event.occurrence[x]
      effective[x] (effectiveDateTime)Event.occurrence[x]
      performerEvent.performer.actor
   contained (lastMenstrualPeriod)Event
      identifierEvent.identifier
      basedOnEvent.basedOn
      partOfEvent.partOf
      statusEvent.status
      codeEvent.code
      subjectEvent.subject
      encounterEvent.context
      effective[x]Event.occurrence[x]
      effective[x] (effectiveDateTime)Event.occurrence[x]
      performerEvent.performer.actor
   contained (billingInformation)Event
      identifierEvent.identifier
      statusEvent.status
      beneficiaryEvent.subject
      periodEvent.occurrence[x]
   instantiatesCanonicalRequest.instantiatesCanonical
   instantiatesUriRequest.instantiatesUri
   basedOnRequest.basedOn
   replacesRequest.replaces
   statusRequest.status
   intentRequest.intent
   priorityRequest.priority
   doNotPerformRequest.doNotPerform
   codeRequest.code
   subjectRequest.subject
   encounterRequest.encounter
   occurrence[x]Request.occurrence[x]
   authoredOnRequest.authoredOn
   requesterRequest.requester
   performerTypeRequest.performerType
   performerRequest.performer
   reasonCodeRequest.reasonCode
   reasonReferenceRequest.reasonReference
   insuranceRequest.insurance
   supportingInfoRequest.supportingInfo
   noteRequest.note
   relevantHistoryRequest.relevantHistory

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

MRDiagnosticRequest
ServiceRequestORC
   contained
   contained (pregnancyStatus)OBX
      identifierOBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4.
      basedOnORC
      partOfVaries by domain
      statusOBX-11
      codeOBX-3
      subjectPID-3
      focusOBX-3
      encounterPV1
      effective[x]OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)
      issuedOBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)
      performerOBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO'
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueCodeableConcept)OBX.2, OBX.5, OBX.6
      dataAbsentReasonN/A
      interpretationOBX-8
      noteNTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)
      bodySiteOBX-20
      methodOBX-17
      specimenSPM segment
      deviceOBX-17 / PRT -10
      referenceRangeOBX.7
         lowOBX-7
         highOBX-7
         typeOBX-10
         appliesToOBX-10
         textOBX-7
      derivedFromRelationships established by OBX-4 usage
      componentcontainment by OBX-4?
         codeOBX-3
         value[x]OBX.2, OBX.5, OBX.6
         dataAbsentReasonN/A
         interpretationOBX-8
         referenceRangeOBX.7
   contained (estimatedDeliveryDate)OBX
      identifierOBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4.
      basedOnORC
      partOfVaries by domain
      statusOBX-11
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (snomedEDD)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 (loincEDD)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
      encounterPV1
      effective[x]OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)
      effective[x] (effectiveDateTime)OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)
      issuedOBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)
      performerOBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO'
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueDateTime)OBX.2, OBX.5, OBX.6
      dataAbsentReasonN/A
      interpretationOBX-8
      noteNTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)
      bodySiteOBX-20
      methodOBX-17
      specimenSPM segment
      deviceOBX-17 / PRT -10
      referenceRangeOBX.7
         lowOBX-7
         highOBX-7
         typeOBX-10
         appliesToOBX-10
         textOBX-7
      hasMemberRelationships established by OBX-4 usage
      derivedFromRelationships established by OBX-4 usage
      componentcontainment by OBX-4?
         codeOBX-3
         value[x]OBX.2, OBX.5, OBX.6
         dataAbsentReasonN/A
         interpretationOBX-8
         referenceRangeOBX.7
   contained (lastMenstrualPeriod)OBX
      identifierOBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4.
      basedOnORC
      partOfVaries by domain
      statusOBX-11
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (loincLastMenstrualPeriod)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
      focusOBX-3
      encounterPV1
      effective[x]OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)
      effective[x] (effectiveDateTime)OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)
      issuedOBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)
      performerOBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO'
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueDateTime)OBX.2, OBX.5, OBX.6
      dataAbsentReasonN/A
      interpretationOBX-8
      noteNTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)
      bodySiteOBX-20
      methodOBX-17
      specimenSPM segment
      deviceOBX-17 / PRT -10
      referenceRangeOBX.7
         lowOBX-7
         highOBX-7
         typeOBX-10
         appliesToOBX-10
         textOBX-7
      hasMemberRelationships established by OBX-4 usage
      derivedFromRelationships established by OBX-4 usage
      componentcontainment by OBX-4?
         codeOBX-3
         value[x]OBX.2, OBX.5, OBX.6
         dataAbsentReasonN/A
         interpretationOBX-8
         referenceRangeOBX.7
   contained (billingInformation)
      identifierIN1-2
      typeIN1-15
         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
      policyHolderIN1-16, 18, 19-name of insured, address, date of birth
      subscriberIN1-16, 18, 19-name of insured, address, date of birth
      subscriberIdIN1-16, 18, 19-name of insured, address, date of birth
      beneficiaryIN1-16, 18, 19-name of insured, address, date of birth
      dependent- No exact HL7 v2 equivalent concept seems to exist;
      periodIN1-12 / IN1-13
      payorIN1-3
      class
         valueIN1-8
         nameIN1-8
      order- No exact HL7 v2 equivalent concept seems to exist;
      costToBeneficiary
         value[x]IN1-8
      contractIN1-16, 18, 19
   contained (specimenCollection)
      identifierSPM-2
      accessionIdentifierSPM-30 (v2.7+)
      statusSPM-20
      typeSPM-4 and possibly SPM-5
      receivedTimeSPM-18
      requestORC? OBR-2/3?
      collectionSPM-14
         collectorPRT
         collected[x]SPM-17
         collected[x] (collectedDateTime)SPM-17
         quantitySPM-12
         methodSPM-7
         bodySiteSPM-8 and SPM-9
         fastingStatus[x]OBR-
      processing
         additiveSPM-6
      container
         identifierSAC-3
         typeSPM-27
         capacityone of: SAC 16, SAC17 and SAC 20, or SAC 21 and SAC 20
         specimenQuantitySAC-23 (value) SAC-24 (units
         additive[x]SAC-27
      conditionSPM-24
      noteOBX
   identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   instantiatesCanonicalVaries by domain
   instantiatesUriVaries by domain
   basedOnORC.8 (plus others)
   replacesHandled by message location of ORC (ORC.1=RO or RU)
   requisitionCX / EI (occasionally, more often EI maps to a resource id or a URL)
   statusORC.5,RF1-1
   intentN/A
   categoryRF1-5
   priorityTQ1.9, RF1-2
   codePR1-3 / OBR-4 (varies by domain)
      codingC*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   orderDetailNTE
   quantity[x]NTE
   subjectPID
   encounterPV1
   occurrence[x]TQ1/TQ2, OBR-7/OBR-8
   authoredOnORC.9, RF1-7 / RF1-9
   requesterORC.12, PRT
   performerTypePRT, RF!-3
   performerPRT, Practitioner: PRD-2/PRD-7 where PRD-3 = RT; Organization: PRD-10 where PRD-3 = RT
   reasonCodeORC.16, RF1-10
      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
   reasonReferenceORC.16
   insuranceIN1/IN2
   supportingInfoAccompanying segments
   specimenSPM
   bodySiteSPM
   noteNTE
   patientInstructionNTE
   relevantHistoryN/A

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

MRDiagnosticRequest
ServiceRequestEntity. Role, or Act, Act[moodCode<=INT]
   meta
      idn/a
      extensionn/a
   textAct.text?
   containedN/A
   contained (pregnancyStatus)Entity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
      textAct.text?
      containedN/A
      extensionN/A
      modifierExtensionN/A
      identifierid
      basedOn.inboundRelationship[typeCode=COMP].source[moodCode=EVN]
      partOf.outboundRelationship[typeCode=FLFS].target
      statusstatus Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise"
      category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
      category (socialHistory).outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
      codecode
      subjectparticipation[typeCode=RTGT]
      focusparticipation[typeCode=SBJ]
      encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
      effective[x]effectiveTime
      issuedparticipation[typeCode=AUT].time
      performerparticipation[typeCode=PRF]
      value[x]value
      value[x] (valueCodeableConcept)value
      dataAbsentReasonvalue.nullFlavor
      interpretationinterpretationCode
      notesubjectOf.observationEvent[code="annotation"].value
      bodySitetargetSiteCode
      methodmethodCode
      specimenparticipation[typeCode=SPC].specimen
      deviceparticipation[typeCode=DEV]
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
         idn/a
         extensionn/a
         modifierExtensionN/A
         lowvalue:IVL_PQ.low
         highvalue:IVL_PQ.high
         typeinterpretationCode
         appliesTointerpretationCode
         ageoutboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value
         textvalue:ST
      derivedFrom.targetObservation
      componentoutBoundRelationship[typeCode=COMP]
         idn/a
         extensionn/a
         modifierExtensionN/A
         codecode
         value[x]value
         dataAbsentReasonvalue.nullFlavor
         interpretationinterpretationCode
         referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   contained (estimatedDeliveryDate)Entity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
      textAct.text?
      containedN/A
      extensionN/A
      modifierExtensionN/A
      identifierid
      basedOn.inboundRelationship[typeCode=COMP].source[moodCode=EVN]
      partOf.outboundRelationship[typeCode=FLFS].target
      statusstatus Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise"
      category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (snomedEDD)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         coding (loincEDD)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      subjectparticipation[typeCode=RTGT]
      encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
      effective[x]effectiveTime
      effective[x] (effectiveDateTime)effectiveTime
      issuedparticipation[typeCode=AUT].time
      performerparticipation[typeCode=PRF]
      value[x]value
      value[x] (valueDateTime)value
      dataAbsentReasonvalue.nullFlavor
      interpretationinterpretationCode
      notesubjectOf.observationEvent[code="annotation"].value
      bodySitetargetSiteCode
      methodmethodCode
      specimenparticipation[typeCode=SPC].specimen
      deviceparticipation[typeCode=DEV]
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
         idn/a
         extensionn/a
         modifierExtensionN/A
         lowvalue:IVL_PQ.low
         highvalue:IVL_PQ.high
         typeinterpretationCode
         appliesTointerpretationCode
         ageoutboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value
         textvalue:ST
      hasMemberoutBoundRelationship
      derivedFrom.targetObservation
      componentoutBoundRelationship[typeCode=COMP]
         idn/a
         extensionn/a
         modifierExtensionN/A
         codecode
         value[x]value
         dataAbsentReasonvalue.nullFlavor
         interpretationinterpretationCode
         referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   contained (lastMenstrualPeriod)Entity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
      textAct.text?
      containedN/A
      extensionN/A
      modifierExtensionN/A
      identifierid
      basedOn.inboundRelationship[typeCode=COMP].source[moodCode=EVN]
      partOf.outboundRelationship[typeCode=FLFS].target
      statusstatus Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise"
      category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (loincLastMenstrualPeriod)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      subjectparticipation[typeCode=RTGT]
      focusparticipation[typeCode=SBJ]
      encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
      effective[x]effectiveTime
      effective[x] (effectiveDateTime)effectiveTime
      issuedparticipation[typeCode=AUT].time
      performerparticipation[typeCode=PRF]
      value[x]value
      value[x] (valueDateTime)value
      dataAbsentReasonvalue.nullFlavor
      interpretationinterpretationCode
      notesubjectOf.observationEvent[code="annotation"].value
      bodySitetargetSiteCode
      methodmethodCode
      specimenparticipation[typeCode=SPC].specimen
      deviceparticipation[typeCode=DEV]
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
         idn/a
         extensionn/a
         modifierExtensionN/A
         lowvalue:IVL_PQ.low
         highvalue:IVL_PQ.high
         typeinterpretationCode
         appliesTointerpretationCode
         ageoutboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value
         textvalue:ST
      hasMemberoutBoundRelationship
      derivedFrom.targetObservation
      componentoutBoundRelationship[typeCode=COMP]
         idn/a
         extensionn/a
         modifierExtensionN/A
         codecode
         value[x]value
         dataAbsentReasonvalue.nullFlavor
         interpretationinterpretationCode
         referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   contained (billingInformation)Entity. Role, or Act, Coverage
      textAct.text?
      containedN/A
      extensionN/A
      modifierExtensionN/A
      identifier.id
      statusAct.status
      type
         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
      beneficiary
         idn/a
         extensionn/a
         referenceN/A
         typeN/A
         identifier.identifier
         displayN/A
      periodAct.effectiveTime
      payor
         idn/a
         extensionn/a
         referenceN/A
         typeN/A
         identifier.identifier
         displayN/A
      class
         idn/a
         extensionn/a
         modifierExtensionN/A
      costToBeneficiary
         idn/a
         extensionn/a
         modifierExtensionN/A
         exception
            idn/a
            extensionn/a
            modifierExtensionN/A
      contractn/a
   contained (specimenCollection)Entity. Role, or Act, Role[classCode=SPEC]
      textAct.text?
      containedN/A
      extensionN/A
      modifierExtensionN/A
      identifier.id
      accessionIdentifier.participation[typeCode=SBJ].act[classCode=ACSN, moodCode=EVN].id
      statusstatus
      type.code
      subject.scoper or .scoper.playsRole
      receivedTime.participation[typeCode=SBJ].act[code=SPCREC, moodCode=EVN].effectiveTime
      parent.scoper (if parent) .player.scopesRole[classCode=SPEC].player (if child)
      requestoutboundRelationship[typeCode=FLFS].target
      collection.participation[typeCode=SBJ].act[classCode=SPECCOLLECT, moodCode=EVN]
         idn/a
         extensionn/a
         modifierExtensionN/A
         collector.participation[typeCode=PFM].role
         collected[x].effectiveTime
         collected[x] (collectedDateTime).effectiveTime
         quantity.participation[typeCode=SBJ].role[classCode=SPEC].player.quantity
         method.methodCode
         bodySite.targetSiteCode
      processing.participation[typeCode=SBJ].act[code=SPCTRT, moodCode=EVN]
         idn/a
         extensionn/a
         modifierExtensionN/A
         description.text
         procedure.code
         additive.participation[typeCode=CSM].role[classCode=ADTV].code
         time[x].effectiveTime
      container.player.scopingRole[classCode=CONT].scoper
         idn/a
         extensionn/a
         modifierExtensionN/A
         identifier.id
         description.desc
         type.code
         capacity.quantity
         specimenQuantity.playedRole[classCode=CONT].quantity
         additive[x].scopesRole[classCode=ADTV].player
      note.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
   extension
   extension (targetBodyStructure)
   extension (resultCopiesTo)
      idn/a
      urlN/A
      value[x]N/A
      value[x] (valueReference)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]
   instantiatesCanonical.outboundRelationship[typeCode=DEFN].target
   instantiatesUri.outboundRelationship[typeCode=DEFN].target
   basedOn.outboundRelationship[typeCode=FLFS].target
   replaces.outboundRelationship[typeCode=RPLC].target
   requisitionn/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.status
   intent.moodCode (nuances beyond PRP/PLAN/RQO would need to be elsewhere)
   category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="INT"].code
   priority.priorityCode
   doNotPerform.actionNegationInd
   code.code
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   orderDetail.code
   quantity[x].quantity
   subject.participation[typeCode=SBJ].role
   encounter.inboundRelationship(typeCode=COMP].source[classCode<=PCPR, moodCode=EVN]
   occurrence[x].effectiveTime
   asNeeded[x]boolean: precondition.negationInd (inversed - so negationInd = true means asNeeded=false CodeableConcept: precondition.observationEventCriterion[code="Assertion"].value
   authoredOn.participation[typeCode=AUT].time
   requester.participation[typeCode=AUT].role
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   performerType.participation[typeCode=PRF].role[scoper.determinerCode=KIND].code
   performer.participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
   locationCode.participation[typeCode=LOC].role[scoper.determinerCode=KIND].code
   locationReference.participation[typeCode=LOC].role[scoper.determinerCode=INSTANCE]
   reasonCode.reasonCode
      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
   reasonReference.outboundRelationship[typeCode=RSON].target
   insurance.outboundRelationship[typeCode=COVBY].target
   supportingInfo.outboundRelationship[typeCode=PERT].target
   specimen.participation[typeCode=SPC].role
   bodySitetargetSiteCode
   note.inboundRelationship(typeCode=SUBJ].source[classCode=ANNGEN, moodCode=EVN].value[xsi:type=ST]
   patientInstruction.text
   relevantHistory.inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]

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

MRDiagnosticRequest
ServiceRequest
   contained
   contained (pregnancyStatus)
      identifierFiveWs.identifier
      statusFiveWs.status
      categoryFiveWs.class
      category (socialHistory)FiveWs.class
      codeFiveWs.what[x]
      subjectFiveWs.subject[x], FiveWs.subject
      focusFiveWs.subject[x], FiveWs.subject
      encounterFiveWs.context
      effective[x]FiveWs.done[x]
      issuedFiveWs.recorded
      performerFiveWs.actor
      component
         codeFiveWs.what[x]
   contained (estimatedDeliveryDate)
      identifierFiveWs.identifier
      statusFiveWs.status
      categoryFiveWs.class
      codeFiveWs.what[x]
      subjectFiveWs.subject[x], FiveWs.subject
      encounterFiveWs.context
      effective[x]FiveWs.done[x]
      effective[x] (effectiveDateTime)FiveWs.done[x]
      issuedFiveWs.recorded
      performerFiveWs.actor
      component
         codeFiveWs.what[x]
   contained (lastMenstrualPeriod)
      identifierFiveWs.identifier
      statusFiveWs.status
      categoryFiveWs.class
      codeFiveWs.what[x]
      subjectFiveWs.subject[x], FiveWs.subject
      focusFiveWs.subject[x], FiveWs.subject
      encounterFiveWs.context
      effective[x]FiveWs.done[x]
      effective[x] (effectiveDateTime)FiveWs.done[x]
      issuedFiveWs.recorded
      performerFiveWs.actor
      component
         codeFiveWs.what[x]
   contained (billingInformation)
      identifierFiveWs.identifier
      statusFiveWs.status
      typeFiveWs.class
      policyHolderFiveWs.subject[x], FiveWs.subject
      subscriberFiveWs.subject[x], FiveWs.subject
      subscriberIdFiveWs.subject[x], FiveWs.subject
      beneficiaryFiveWs.subject[x], FiveWs.subject
      periodFiveWs.done[x]
      payorFiveWs.author
   contained (specimenCollection)
      identifierFiveWs.identifier
      accessionIdentifierFiveWs.identifier
      statusFiveWs.status
      typeFiveWs.what[x]
      subjectFiveWs.subject[x], FiveWs.subject
      receivedTimeFiveWs.done[x]
      requestFiveWs.why[x]
      collection
         collectorFiveWs.actor
         collected[x]FiveWs.init
         collected[x] (collectedDateTime)FiveWs.init
         durationFiveWs.init
   statusFiveWs.status
   intentFiveWs.class
   categoryFiveWs.class
   priorityFiveWs.grade
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   occurrence[x]FiveWs.planned
   authoredOnFiveWs.recorded
   requesterFiveWs.author
   performerTypeFiveWs.actor
   performerFiveWs.actor
   locationCodeFiveWs.actor
   locationReferenceFiveWs.actor
   reasonCodeFiveWs.why[x]
   reasonReferenceFiveWs.why[x]

Mappings for Quality Improvement and Clinical Knowledge (QUICK) (http://siframework.org/cqf)

MRDiagnosticRequest
ServiceRequest
   statusAction.currentStatus
   codeProcedure.procedureCode
   orderDetailProcedure.procedureCode
   subjectClinicalStatement.subject
   encounterClinicalStatement.encounter
   occurrence[x]Procedure.procedureSchedule
   asNeeded[x]Proposal.prnReason.reason
   authoredOnProposal.proposedAtTime
   requesterClinicalStatement.statementAuthor
   bodySiteProcedure.targetBodySite
   noteClinicalStatement.additionalText