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 |
value[x] (valueCodeableConcept) | 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) |
effective[x] (effectiveDateTime) | 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 |
value[x] (valueDateTime) | 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) |
effective[x] (effectiveDateTime) | 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 |
value[x] (valueDateTime) | 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 |
value[x] (valueCodeableConcept) | 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 |
effective[x] (effectiveDateTime) | effectiveTime |
issued | participation[typeCode=AUT].time |
performer | participation[typeCode=PRF] |
value[x] | value |
value[x] (valueDateTime) | 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 |
effective[x] (effectiveDateTime) | effectiveTime |
issued | participation[typeCode=AUT].time |
performer | participation[typeCode=PRF] |
value[x] | value |
value[x] (valueDateTime) | 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 |
value[x] (valueReference) | 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] |