HL7 PT FHIR Implementation Guide: Example IG Release 1 | STU1, published by HL7 Portugal. This guide is not an authorized publication; it is the continuous build for version 0.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-pt/core/tree/master and changes regularly. See the Directory of published versions
Mappings for the 4d7bbcc0-ea7b-4fbe-b998-07e5fdc77d94 resource profile.
| PT_MessageHeader |
| MessageHeader | MSH / MSA / ERR |
| event[x] | MSH-9.2 |
| 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 |
| destination | |
| name | MSH-5 |
| endpoint | MSH-25 (or MSH-6) |
| receiver | PRT-5:PRT-4='WAYR' / PRT-8:PRT-4='WAYR' |
| sender | PRT-5:PRT-4='WAYR' / PRT-8:PRT-4='WAYR' |
| enterer | EVN-5 / ORC-10 / PRT-5:PRT-4='EP' / ROL where ROL.3 is EP or ORC.10 |
| identifier | |
| use | N/A |
| type | CX.5 |
| 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 |
| system | CX.4 / EI-2-4 |
| value | CX.1 / EI.1 |
| period | CX.7 + CX.8 |
| assigner | CX.4 / (CX.4,CX.9,CX.10) |
| author | ORC-19 / PRT-5:PRT-4='AUT' / ROL where ROL.3 is IP or ORC.12 |
| source | |
| name | MSH-3 |
| software | SFT-3 ( +SFT-1) |
| version | SFT-2 |
| contact | (MSH-22?) |
| endpoint | MSH-24 |
| responsible | ORC-12 / PRT-5:PRT-4='OP' / PRT-8:PRT-4='OP' / ROL where ROL.3 is RO or ORC.11 |
| reason | EVN.4 / ORC.16 / OBR-31-reason for study / BPO-13-BP indication for use / RXO-20-indication / RXE-27-give indication / RXD-21-indication / RXG-22-indication / RXA-19-indication |
| 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 |
| response | MSA |
| identifier | MSA-2 |
| code | MSA-1 |
| details | ERR |
| identifier | |
| use | N/A |
| type | CX.5 |
| system | CX.4 / EI-2-4 |
| value | CX.1 / EI.1 |
| period | CX.7 + CX.8 |
| assigner | CX.4 / (CX.4,CX.9,CX.10) |
| PT_MessageHeader |
| MessageHeader | Entity. Role, or Act, Message |
| meta | |
| id | n/a |
| extension | n/a |
| text | Act.text? |
| contained | N/A |
| extension | N/A |
| modifierExtension | N/A |
| event[x] | ./payload[classCode="CACT" and moodCode="EVN" and isNormalAct()]/code[isNormalDatatype()]/code |
| id | n/a |
| extension | n/a |
| system | ./codeSystem |
| version | ./codeSystemVersion |
| code | ./code |
| display | CV.displayName |
| userSelected | CD.codingRationale |
| destination | ./communicationFunction[typeCode="RCV"] |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| name | unique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]/name[type='ST' and isNormalDatatype()]) |
| target | unique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"] |
| endpoint | ./telecom |
| receiver | Not directly supported. Could be shared using attentionLine.value with an appropriate keyWordText |
| sender | Not directly supported. Could be shared using attentionLine.value with an appropriate keyWordText |
| id | n/a |
| extension | n/a |
| reference | N/A |
| type | N/A |
| identifier | .identifier |
| display | N/A |
| enterer | unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="ENT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"]) |
| id | n/a |
| extension | n/a |
| reference | N/A |
| type | N/A |
| identifier | .identifier |
| id | n/a |
| extension | n/a |
| use | Role.code or implied by context |
| type | Role.code or implied by context |
| 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 |
| system | II.root or Role.id.root |
| value | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |
| period | Role.effectiveTime or implied by context |
| assigner | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |
| display | N/A |
| author | unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"]) |
| source | unique(./communicationFunction[typeCode="SND"]) |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| name | unique(./entity[determinerCode="INST" and classCode="DEV"]/name[type='ST' and isNormalDatatype()]) |
| software | unique(./entity[determinerCode="INST" and classCode="DEV"]/softwareName[isNormalDatatype()]) |
| version | (Not supported) |
| contact | unique(./entity[determinerCode="INST" and classCode="DEV"]/scopesRole[normalRole() and classCode="CON" and layer[classCode="PSN"]/telecom[isNormalDatatype()]) |
| endpoint | ./telecom[isNormalDatatype()] |
| responsible | unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode="PSN" and determinerCode="INST"] or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/scoper[isNormalEntity() and classCode="ORG" and determinerCode="INST"]) |
| reason | unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/reasonCode[isNormalDatatype()]) |
| 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 |
| response | ./conveyedAcknowledgement |
| id | n/a |
| extension | n/a |
| modifierExtension | N/A |
| identifier | ./acknowledges.id[isNormalDatatype()] |
| code | ./typeCode[isNormalDatatype()] |
| details | AcknowledgementDetail or Observation[classCode="ALRT" and moodCode="EVN"] |
| id | n/a |
| extension | n/a |
| reference | N/A |
| type | N/A |
| identifier | .identifier |
| id | n/a |
| extension | n/a |
| use | Role.code or implied by context |
| type | Role.code or implied by context |
| system | II.root or Role.id.root |
| value | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |
| period | Role.effectiveTime or implied by context |
| assigner | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |
| display | N/A |
| focus | unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="SUBJ" and isNormalParticipation]/role or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/outboundRelationship[typeCode="SBJ" and isNormalActRelatoinship]/target) |
| definition | Not directly supported. |