Mappings for the mr-diagnosticreport resource profile.
MRDiagnosticReport |
DiagnosticReport | ORU -> OBR |
contained | |
contained (request) | ORC |
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 | ORC.4 |
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 |
reasonReference | ORC.16 |
insurance | IN1/IN2 |
supportingInfo | Accompanying segments |
specimen | SPM |
bodySite | SPM |
note | NTE |
patientInstruction | NTE |
relevantHistory | N/A |
identifier | CX / EI (occasionally, more often EI maps to a resource id or a URL) |
basedOn | ORC? OBR-2/3? |
status | OBR-25 (not 1:1 mapping) |
category | OBR-24 |
code | OBR-4 (HL7 v2 doesn't provide an easy way to indicate both the ordered test and the performed panel) |
coding | C*E.1-8, C*E.10-22 |
text | C*E.9. But note many systems use C*E.2 for this |
subject | PID-3 (no HL7 v2 mapping for Group or Device) |
encounter | PV1-19 |
effective[x] | OBR-7 |
effective[x] (effectiveDateTime) | OBR-7 |
issued | OBR-22 |
performer | PRT-8 (where this PRT-4-Participation = "PO") |
resultsInterpreter | OBR-32, PRT-8 (where this PRT-4-Participation = "PI") |
specimen | SPM |
result | OBXs |
media | OBX? |
conclusion | OBX |
conclusionCode | OBX |
presentedForm | OBX |
contentType | ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used |
data | ED.5 |
url | RP.1+RP.2 - if they refer to a URL (see v2.6) |
MRDiagnosticReport |
DiagnosticReport | Entity. Role, or Act, Observation[classCode=OBS, moodCode=EVN] |
meta | n/a, N/A |
id | n/a |
extension | n/a |
text | Act.text? |
contained | N/A |
contained (request) | Entity. Role, or Act, Act[moodCode<=INT] |
text | Act.text? |
contained | 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 | .inboundRelationship(typeCode=COMP].source[moodCode=INT].identifier |
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 |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
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 |
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] |
extension | |
extension (note) | |
extension (checked) | |
id | n/a |
extension | n/a |
extension (checked-on) | |
id | n/a |
url | N/A |
value[x] | N/A |
value[x] (valueDateTime) | N/A |
extension (checked-by) | |
id | n/a |
url | N/A |
value[x] | N/A |
value[x] (valueReference) | N/A |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
url | 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] |
basedOn | outboundRelationship[typeCode=FLFS].target |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
status | statusCode Note: final and amended are distinguished by whether observation is the subject of a ControlAct event of type "revise" |
category | inboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code |
code | code |
id | n/a |
extension | n/a |
coding | union(., ./translation) |
text | ./originalText[mediaType/code="text/plain"]/data |
subject | participation[typeCode=SBJ] |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
encounter | inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN] |
effective[x] | effectiveTime |
effective[x] (effectiveDateTime) | effectiveTime |
issued | participation[typeCode=VRF or AUT].time |
performer | .participation[typeCode=PRF] |
resultsInterpreter | .participation[typeCode=PRF] |
specimen | participation[typeCode=SBJ] |
result | outboundRelationship[typeCode=COMP].target |
imagingStudy | outboundRelationship[typeCode=COMP].target[classsCode=DGIMG, moodCode=EVN] |
media | outboundRelationship[typeCode=COMP].target |
id | n/a |
extension | n/a |
modifierExtension | N/A |
comment | .inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="annotation"].value |
link | .value.reference |
conclusion | inboundRelationship[typeCode="SPRT"].source[classCode=OBS, moodCode=EVN, code=LOINC:48767-8].value (type=ST) |
conclusionCode | inboundRelationship[typeCode=SPRT].source[classCode=OBS, moodCode=EVN, code=LOINC:54531-9].value (type=CD) |
presentedForm | text (type=ED) |
id | n/a |
extension | n/a |
contentType | ./mediaType, ./charset |
language | ./language |
data | ./data |
url | ./reference/literal |
size | N/A (needs data type R3 proposal) |
hash | .integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"] |
title | ./title/data |
creation | N/A (needs data type R3 proposal) |