Mappings for the mr-diagnosticrequest resource profile.
| MRDiagnosticRequest |
| ServiceRequest | ORC |
| contained | |
| contained (pregnancyStatus) | OBX |
| identifier | OBX.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. |
| basedOn | ORC |
| partOf | Varies by domain |
| status | OBX-11 |
| code | OBX-3 |
| subject | PID-3 |
| focus | OBX-3 |
| encounter | PV1 |
| effective[x] | OBX-14, and/or OBX-19 after v2.4 (depends on who observation made) |
| issued | OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made) |
| performer | OBX.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 |
| dataAbsentReason | N/A |
| interpretation | OBX-8 |
| note | NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX) |
| bodySite | OBX-20 |
| method | OBX-17 |
| specimen | SPM segment |
| device | OBX-17 / PRT -10 |
| referenceRange | OBX.7 |
| low | OBX-7 |
| high | OBX-7 |
| type | OBX-10 |
| appliesTo | OBX-10 |
| text | OBX-7 |
| derivedFrom | Relationships established by OBX-4 usage |
| component | containment by OBX-4? |
| code | OBX-3 |
| value[x] | OBX.2, OBX.5, OBX.6 |
| dataAbsentReason | N/A |
| interpretation | OBX-8 |
| referenceRange | OBX.7 |
| contained (estimatedDeliveryDate) | OBX |
| identifier | OBX.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. |
| basedOn | ORC |
| partOf | Varies by domain |
| status | OBX-11 |
| code | OBX-3 |
| coding | C*E.1-8, C*E.10-22 |
| coding (snomedEDD) | C*E.1-8, C*E.10-22 |
| system | C*E.3 |
| version | C*E.7 |
| code | C*E.1 |
| display | C*E.2 - but note this is not well followed |
| userSelected | Sometimes implied by being first |
| coding (loincEDD) | C*E.1-8, C*E.10-22 |
| system | C*E.3 |
| version | C*E.7 |
| code | C*E.1 |
| display | C*E.2 - but note this is not well followed |
| userSelected | Sometimes implied by being first |
| text | C*E.9. But note many systems use C*E.2 for this |
| subject | PID-3 |
| encounter | PV1 |
| effective[x] | OBX-14, and/or OBX-19 after v2.4 (depends on who observation made) |
| issued | OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made) |
| performer | OBX.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 |
| dataAbsentReason | N/A |
| interpretation | OBX-8 |
| note | NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX) |
| bodySite | OBX-20 |
| method | OBX-17 |
| specimen | SPM segment |
| device | OBX-17 / PRT -10 |
| referenceRange | OBX.7 |
| low | OBX-7 |
| high | OBX-7 |
| type | OBX-10 |
| appliesTo | OBX-10 |
| text | OBX-7 |
| hasMember | Relationships established by OBX-4 usage |
| derivedFrom | Relationships established by OBX-4 usage |
| component | containment by OBX-4? |
| code | OBX-3 |
| value[x] | OBX.2, OBX.5, OBX.6 |
| dataAbsentReason | N/A |
| interpretation | OBX-8 |
| referenceRange | OBX.7 |
| contained (lastMenstrualPeriod) | OBX |
| identifier | OBX.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. |
| basedOn | ORC |
| partOf | Varies by domain |
| status | OBX-11 |
| code | OBX-3 |
| coding | C*E.1-8, C*E.10-22 |
| coding (loincLastMenstrualPeriod) | C*E.1-8, C*E.10-22 |
| system | C*E.3 |
| version | C*E.7 |
| code | C*E.1 |
| display | C*E.2 - but note this is not well followed |
| userSelected | Sometimes implied by being first |
| text | C*E.9. But note many systems use C*E.2 for this |
| subject | PID-3 |
| focus | OBX-3 |
| encounter | PV1 |
| effective[x] | OBX-14, and/or OBX-19 after v2.4 (depends on who observation made) |
| issued | OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made) |
| performer | OBX.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 |
| dataAbsentReason | N/A |
| interpretation | OBX-8 |
| note | NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX) |
| bodySite | OBX-20 |
| method | OBX-17 |
| specimen | SPM segment |
| device | OBX-17 / PRT -10 |
| referenceRange | OBX.7 |
| low | OBX-7 |
| high | OBX-7 |
| type | OBX-10 |
| appliesTo | OBX-10 |
| text | OBX-7 |
| hasMember | Relationships established by OBX-4 usage |
| derivedFrom | Relationships established by OBX-4 usage |
| component | containment by OBX-4? |
| code | OBX-3 |
| value[x] | OBX.2, OBX.5, OBX.6 |
| dataAbsentReason | N/A |
| interpretation | OBX-8 |
| referenceRange | OBX.7 |
| contained (billingInformation) | |
| identifier | IN1-2 |
| type | IN1-15 |
| coding | C*E.1-8, C*E.10-22 |
| system | C*E.3 |
| version | C*E.7 |
| code | C*E.1 |
| display | C*E.2 - but note this is not well followed |
| userSelected | Sometimes implied by being first |
| text | C*E.9. But note many systems use C*E.2 for this |
| policyHolder | IN1-16, 18, 19-name of insured, address, date of birth |
| subscriber | IN1-16, 18, 19-name of insured, address, date of birth |
| subscriberId | IN1-16, 18, 19-name of insured, address, date of birth |
| beneficiary | IN1-16, 18, 19-name of insured, address, date of birth |
| dependent | - No exact HL7 v2 equivalent concept seems to exist; |
| period | IN1-12 / IN1-13 |
| payor | IN1-3 |
| class | |
| value | IN1-8 |
| name | IN1-8 |
| order | - No exact HL7 v2 equivalent concept seems to exist; |
| costToBeneficiary | |
| value[x] | IN1-8 |
| contract | IN1-16, 18, 19 |
| contained (specimenCollection) | |
| identifier | SPM-2 |
| accessionIdentifier | SPM-30 (v2.7+) |
| status | SPM-20 |
| type | SPM-4 and possibly SPM-5 |
| receivedTime | SPM-18 |
| request | ORC? OBR-2/3? |
| collection | SPM-14 |
| collector | PRT |
| collected[x] | SPM-17 |
| collected[x] (collectedDateTime) | SPM-17 |
| quantity | SPM-12 |
| method | SPM-7 |
| bodySite | SPM-8 and SPM-9 |
| fastingStatus[x] | OBR- |
| processing | |
| additive | SPM-6 |
| container | |
| identifier | SAC-3 |
| type | SPM-27 |
| capacity | one of: SAC 16, SAC17 and SAC 20, or SAC 21 and SAC 20 |
| specimenQuantity | SAC-23 (value) SAC-24 (units |
| additive[x] | SAC-27 |
| condition | SPM-24 |
| note | OBX |
| identifier | CX / EI (occasionally, more often EI maps to a resource id or a URL) |
| instantiatesCanonical | Varies by domain |
| instantiatesUri | Varies by domain |
| basedOn | ORC.8 (plus others) |
| replaces | Handled by message location of ORC (ORC.1=RO or RU) |
| requisition | CX / EI (occasionally, more often EI maps to a resource id or a URL) |
| status | ORC.5,RF1-1 |
| intent | N/A |
| category | RF1-5 |
| priority | TQ1.9, RF1-2 |
| code | PR1-3 / OBR-4 (varies by domain) |
| coding | C*E.1-8, C*E.10-22 |
| text | C*E.9. But note many systems use C*E.2 for this |
| orderDetail | NTE |
| quantity[x] | NTE |
| subject | PID |
| encounter | PV1 |
| occurrence[x] | TQ1/TQ2, OBR-7/OBR-8 |
| authoredOn | ORC.9, RF1-7 / RF1-9 |
| requester | ORC.12, PRT |
| performerType | PRT, RF!-3 |
| performer | PRT, Practitioner: PRD-2/PRD-7 where PRD-3 = RT; Organization: PRD-10 where PRD-3 = RT |
| reasonCode | ORC.16, RF1-10 |
| coding | C*E.1-8, C*E.10-22 |
| system | C*E.3 |
| version | C*E.7 |
| code | C*E.1 |
| display | C*E.2 - but note this is not well followed |
| userSelected | Sometimes implied by being first |
| text | C*E.9. But note many systems use C*E.2 for this |
| reasonReference | ORC.16 |
| insurance | IN1/IN2 |
| supportingInfo | Accompanying segments |
| specimen | SPM |
| bodySite | SPM |
| note | NTE |
| patientInstruction | NTE |
| relevantHistory | N/A |
| MRDiagnosticRequest |
| ServiceRequest | Entity. Role, or Act, Act[moodCode<=INT] |
| meta | |
| id | n/a |
| extension | n/a |
| text | Act.text? |
| contained | N/A |
| contained (pregnancyStatus) | Entity. Role, or Act, Observation[classCode=OBS, moodCode=EVN] |
| text | Act.text? |
| contained | N/A |
| extension | N/A |
| modifierExtension | N/A |
| identifier | id |
| basedOn | .inboundRelationship[typeCode=COMP].source[moodCode=EVN] |
| partOf | .outboundRelationship[typeCode=FLFS].target |
| status | status 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 |
| code | code |
| subject | participation[typeCode=RTGT] |
| focus | participation[typeCode=SBJ] |
| encounter | inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN] |
| effective[x] | effectiveTime |
| issued | participation[typeCode=AUT].time |
| performer | participation[typeCode=PRF] |
| value[x] | value |
| dataAbsentReason | value.nullFlavor |
| interpretation | interpretationCode |
| note | subjectOf.observationEvent[code="annotation"].value |
| bodySite | targetSiteCode |
| method | methodCode |
| specimen | participation[typeCode=SPC].specimen |
| device | participation[typeCode=DEV] |
| referenceRange | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| low | value:IVL_PQ.low |
| high | value:IVL_PQ.high |
| type | interpretationCode |
| appliesTo | interpretationCode |
| age | outboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value |
| text | value:ST |
| derivedFrom | .targetObservation |
| component | outBoundRelationship[typeCode=COMP] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| code | code |
| value[x] | value |
| dataAbsentReason | value.nullFlavor |
| interpretation | interpretationCode |
| referenceRange | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |
| contained (estimatedDeliveryDate) | Entity. Role, or Act, Observation[classCode=OBS, moodCode=EVN] |
| text | Act.text? |
| contained | N/A |
| extension | N/A |
| modifierExtension | N/A |
| identifier | id |
| basedOn | .inboundRelationship[typeCode=COMP].source[moodCode=EVN] |
| partOf | .outboundRelationship[typeCode=FLFS].target |
| status | status 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 |
| code | code |
| id | n/a |
| extension | n/a |
| coding | union(., ./translation) |
| coding (snomedEDD) | union(., ./translation) |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.codingRationale |
| coding (loincEDD) | union(., ./translation) |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.codingRationale |
| text | ./originalText[mediaType/code="text/plain"]/data |
| subject | participation[typeCode=RTGT] |
| encounter | inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN] |
| effective[x] | effectiveTime |
| issued | participation[typeCode=AUT].time |
| performer | participation[typeCode=PRF] |
| value[x] | value |
| dataAbsentReason | value.nullFlavor |
| interpretation | interpretationCode |
| note | subjectOf.observationEvent[code="annotation"].value |
| bodySite | targetSiteCode |
| method | methodCode |
| specimen | participation[typeCode=SPC].specimen |
| device | participation[typeCode=DEV] |
| referenceRange | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| low | value:IVL_PQ.low |
| high | value:IVL_PQ.high |
| type | interpretationCode |
| appliesTo | interpretationCode |
| age | outboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value |
| text | value:ST |
| hasMember | outBoundRelationship |
| derivedFrom | .targetObservation |
| component | outBoundRelationship[typeCode=COMP] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| code | code |
| value[x] | value |
| dataAbsentReason | value.nullFlavor |
| interpretation | interpretationCode |
| referenceRange | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |
| contained (lastMenstrualPeriod) | Entity. Role, or Act, Observation[classCode=OBS, moodCode=EVN] |
| text | Act.text? |
| contained | N/A |
| extension | N/A |
| modifierExtension | N/A |
| identifier | id |
| basedOn | .inboundRelationship[typeCode=COMP].source[moodCode=EVN] |
| partOf | .outboundRelationship[typeCode=FLFS].target |
| status | status 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 |
| code | code |
| id | n/a |
| extension | n/a |
| coding | union(., ./translation) |
| coding (loincLastMenstrualPeriod) | union(., ./translation) |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.codingRationale |
| text | ./originalText[mediaType/code="text/plain"]/data |
| subject | participation[typeCode=RTGT] |
| focus | participation[typeCode=SBJ] |
| encounter | inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN] |
| effective[x] | effectiveTime |
| issued | participation[typeCode=AUT].time |
| performer | participation[typeCode=PRF] |
| value[x] | value |
| dataAbsentReason | value.nullFlavor |
| interpretation | interpretationCode |
| note | subjectOf.observationEvent[code="annotation"].value |
| bodySite | targetSiteCode |
| method | methodCode |
| specimen | participation[typeCode=SPC].specimen |
| device | participation[typeCode=DEV] |
| referenceRange | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| low | value:IVL_PQ.low |
| high | value:IVL_PQ.high |
| type | interpretationCode |
| appliesTo | interpretationCode |
| age | outboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value |
| text | value:ST |
| hasMember | outBoundRelationship |
| derivedFrom | .targetObservation |
| component | outBoundRelationship[typeCode=COMP] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| code | code |
| value[x] | value |
| dataAbsentReason | value.nullFlavor |
| interpretation | interpretationCode |
| referenceRange | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |
| contained (billingInformation) | Entity. Role, or Act, Coverage |
| text | Act.text? |
| contained | N/A |
| extension | N/A |
| modifierExtension | N/A |
| identifier | .id |
| status | Act.status |
| type | |
| id | n/a |
| extension | n/a |
| coding | union(., ./translation) |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.codingRationale |
| text | ./originalText[mediaType/code="text/plain"]/data |
| beneficiary | |
| id | n/a |
| extension | n/a |
| reference | N/A |
| type | N/A |
| identifier | .identifier |
| display | N/A |
| period | Act.effectiveTime |
| payor | |
| id | n/a |
| extension | n/a |
| reference | N/A |
| type | N/A |
| identifier | .identifier |
| display | N/A |
| class | |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| costToBeneficiary | |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| exception | |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| contract | n/a |
| contained (specimenCollection) | Entity. Role, or Act, Role[classCode=SPEC] |
| text | Act.text? |
| contained | N/A |
| extension | N/A |
| modifierExtension | N/A |
| identifier | .id |
| accessionIdentifier | .participation[typeCode=SBJ].act[classCode=ACSN, moodCode=EVN].id |
| status | status |
| 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) |
| request | outboundRelationship[typeCode=FLFS].target |
| collection | .participation[typeCode=SBJ].act[classCode=SPECCOLLECT, moodCode=EVN] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/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] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| description | .text |
| procedure | .code |
| additive | .participation[typeCode=CSM].role[classCode=ADTV].code |
| time[x] | .effectiveTime |
| container | .player.scopingRole[classCode=CONT].scoper |
| id | n/a |
| extension | n/a |
| modifierExtension | N/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) | |
| id | n/a |
| url | N/A |
| value[x] | N/A |
| modifierExtension | N/A |
| identifier | 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] |
| instantiatesCanonical | .outboundRelationship[typeCode=DEFN].target |
| instantiatesUri | .outboundRelationship[typeCode=DEFN].target |
| basedOn | .outboundRelationship[typeCode=FLFS].target |
| replaces | .outboundRelationship[typeCode=RPLC].target |
| requisition | 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 | .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 |
| id | n/a |
| extension | n/a |
| coding | union(., ./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 |
| id | n/a |
| extension | n/a |
| reference | N/A |
| type | N/A |
| identifier | .identifier |
| display | N/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 |
| id | n/a |
| extension | n/a |
| coding | union(., ./translation) |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.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 |
| bodySite | targetSiteCode |
| note | .inboundRelationship(typeCode=SUBJ].source[classCode=ANNGEN, moodCode=EVN].value[xsi:type=ST] |
| patientInstruction | .text |
| relevantHistory | .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN] |