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/ and changes regularly. See the Directory of published versions
Mappings for the 17e19b6f-8e82-4c55-948e-85e02764fc9b resource profile.
PT_MedicationRequest |
MedicationRequest | Entity. Role, or Act, CombinedMedicationRequest |
text | Act.text? |
contained | N/A |
extension (OrderType) | n/a, N/A |
extension (ProductType) | n/a, N/A |
extension (device) | n/a, N/A |
modifierExtension | N/A |
identifier | .id |
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 |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
status | .statusCode |
statusReason | .inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].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 |
intent | .moodCode (nuances beyond PRP/PLAN/RQO would need to be elsewhere) |
category | .inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="type of medication usage"].value |
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 |
priority | .priorityCode |
doNotPerform | SubstanceAdministration.actionNegationInd |
reported[x] | .participation[typeCode=INF].role |
medication[x] | consumable.administrableMedication |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
subject | .participation[typeCode=AUT].role |
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, code="type of encounter or episode"] |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
supportingInformation | .outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)] |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
authoredOn | author.time |
requester | .participation[typeCode=AUT].role |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
performer | .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE] |
performerType | .participation[typeCode=PRF].role[scoper.determinerCode=KIND].code |
recorder | .participation[typeCode=TRANS].role[classCode=ASSIGNED].code (HealthcareProviderType) |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
reasonCode | reason.observation.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 | reason.observation[code=ASSERTION].value |
instantiatesCanonical | .outboundRelationship[typeCode=DEFN].target |
instantiatesUri | .outboundRelationship[typeCode=DEFN].target |
basedOn | .outboundRelationship[typeCode=FLFS].target[classCode=SBADM or PROC or PCPR or OBS, moodCode=RQO orPLAN or PRP] |
groupIdentifier | .outboundRelationship(typeCode=COMP].target[classCode=SBADM, moodCode=INT].id |
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 |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
courseOfTherapyType | Act.code where classCode = LIST and moodCode = EVN |
insurance | .outboundRelationship[typeCode=COVBY].target |
note | .inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code="annotation"].value |
id | n/a |
extension | n/a |
author[x] | Act.participant[typeCode=AUT].role |
time | Act.effectiveTime |
text | Act.text |
dosageInstruction | see dosageInstruction mapping |
id | n/a |
extension | n/a |
modifierExtension | N/A |
sequence | .text |
text | .text |
additionalInstruction | .text |
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 |
patientInstruction | .text |
timing | .effectiveTime |
id | n/a |
extension | n/a |
modifierExtension | N/A |
event | QLIST<TS> |
repeat | Implies PIVL or EIVL |
id | n/a |
extension | n/a |
bounds[x] | IVL(TS) used in a QSI |
bounds[x] (boundsPeriod) | IVL(TS) used in a QSI |
id | n/a |
extension | n/a |
start | ./low |
end | ./high |
count | PIVL.count |
countMax | PIVL.count |
duration | PIVL.phase |
durationMax | PIVL.phase |
durationUnit | PIVL.phase.unit |
frequency | PIVL.phase |
frequencyMax | PIVL.phase |
period | PIVL.phase |
periodMax | PIVL.phase |
periodUnit | PIVL.phase.unit |
dayOfWeek | n/a |
timeOfDay | n/a |
when | EIVL.event |
offset | EIVL.offset |
code | QSC.code |
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 |
asNeeded[x] | .outboundRelationship[typeCode=PRCN].target[classCode=OBS, moodCode=EVN, code="as needed"].value=boolean or codable concept |
site | .approachSiteCode |
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 |
route | .routeCode |
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 |
method | .doseQuantity |
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 |
doseAndRate | |
id | n/a |
extension | n/a |
dose[x] | .doseQuantity |
dose[x] (doseQuantity) | n/a, PQ, IVL<PQ>, MO, CO, depending on the values |
id | n/a |
extension | n/a |
value | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
unit | PQ.unit |
system | CO.codeSystem, PQ.translation.codeSystem |
code | PQ.code, MO.currency, PQ.translation.code |
dose[x] (doseRange) | .doseQuantity |
id | n/a |
extension | n/a |
low | ./low |
id | n/a |
extension | n/a |
value | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
unit | PQ.unit |
system | CO.codeSystem, PQ.translation.codeSystem |
code | PQ.code, MO.currency, PQ.translation.code |
high | ./high |
id | n/a |
extension | n/a |
value | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
unit | PQ.unit |
system | CO.codeSystem, PQ.translation.codeSystem |
code | PQ.code, MO.currency, PQ.translation.code |
rate[x] | .rateQuantity |
rate[x] (rateQuantity) | n/a, PQ, IVL<PQ>, MO, CO, depending on the values |
id | n/a |
extension | n/a |
value | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
unit | PQ.unit |
system | CO.codeSystem, PQ.translation.codeSystem |
code | PQ.code, MO.currency, PQ.translation.code |
maxDosePerPeriod | .maxDoseQuantity |
maxDosePerAdministration | not supported |
id | n/a |
extension | n/a |
value | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
unit | PQ.unit |
system | CO.codeSystem, PQ.translation.codeSystem |
code | PQ.code, MO.currency, PQ.translation.code |
maxDosePerLifetime | not supported |
dispenseRequest | component.supplyEvent |
id | n/a |
extension | n/a |
modifierExtension | N/A |
initialFill | SubstanceAdministration -> ActRelationship[sequenceNumber = '1'] -> Supply |
id | n/a |
extension | n/a |
modifierExtension | N/A |
quantity | Supply.quantity[moodCode=RQO] |
id | n/a |
extension | n/a |
value | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
unit | PQ.unit |
system | CO.codeSystem, PQ.translation.codeSystem |
code | PQ.code, MO.currency, PQ.translation.code |
duration | Supply.effectivetime[moodCode=RQO] |
dispenseInterval | Supply.effectivetime[moodCode=RQO] |
id | n/a |
extension | n/a |
value | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
comparator | IVL properties |
unit | PQ.unit |
system | CO.codeSystem, PQ.translation.codeSystem |
code | PQ.code, MO.currency, PQ.translation.code |
validityPeriod | effectiveTime |
numberOfRepeatsAllowed | repeatNumber |
quantity | quantity |
id | n/a |
extension | n/a |
value | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
unit | PQ.unit |
system | CO.codeSystem, PQ.translation.codeSystem |
code | PQ.code, MO.currency, PQ.translation.code |
expectedSupplyDuration | expectedUseTime |
performer | .outboundRelationship[typeCode=COMP].target[classCode=SPLY, moodCode=RQO] .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE] |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
substitution | subjectOf.substitutionPersmission |
id | n/a |
extension | n/a |
modifierExtension | N/A |
allowed[x] | code |
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 |
reason | reasonCode |
priorPrescription | .outboundRelationship[typeCode=?RPLC or ?SUCC]/target[classCode=SBADM,moodCode=RQO] |
detectedIssue | .inboundRelationship[typeCode=SUBJ]/source[classCode=ALRT,moodCode=EVN].value |
eventHistory | .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN] |
PT_MedicationRequest |
MedicationRequest | |
identifier | ORC-2-Placer Order Number / ORC-3-Filler Order Number |
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) |
statusReason | |
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 |
category | |
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 |
medication[x] | RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code |
subject | PID-3-Patient ID List |
encounter | PV1-19-Visit Number |
authoredOn | RXE-32-Original Order Date/Time / ORC-9-Date/Time of Transaction |
reasonCode | ORC-16-Order Control Code Reason /RXE-27-Give Indication/RXO-20-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 |
groupIdentifier | |
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) |
note | |
author[x] | N/A |
time | N/A |
text | N/A |
dosageInstruction | |
sequence | TQ1-1 |
text | RXO-6; RXE-21 |
additionalInstruction | RXO-7 |
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 |
patientInstruction | RXO-7 |
timing | |
repeat | |
bounds[x] | |
bounds[x] (boundsPeriod) | |
start | DR.1 |
end | DR.2 |
code | |
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 |
asNeeded[x] | TQ1-9 |
site | RXR-2 |
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 |
route | RXR-1 |
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 |
method | RXR-4 |
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 |
doseAndRate | TQ1-2 |
type | RXO-21; RXE-23 |
dose[x] | RXO-2, RXE-3 |
dose[x] (doseQuantity) | SN (see also Range) or CQ |
value | SN.2 / CQ - N/A |
unit | (see OBX.6 etc.) / CQ.2 |
system | (see OBX.6 etc.) / CQ.2 |
code | (see OBX.6 etc.) / CQ.2 |
dose[x] (doseRange) | RXO-2, RXE-3 |
low | NR.1 |
value | SN.2 / CQ - N/A |
unit | (see OBX.6 etc.) / CQ.2 |
system | (see OBX.6 etc.) / CQ.2 |
code | (see OBX.6 etc.) / CQ.2 |
high | NR.2 |
value | SN.2 / CQ - N/A |
unit | (see OBX.6 etc.) / CQ.2 |
system | (see OBX.6 etc.) / CQ.2 |
code | (see OBX.6 etc.) / CQ.2 |
rate[x] | RXE22, RXE23, RXE-24 |
rate[x] (rateQuantity) | SN (see also Range) or CQ |
value | SN.2 / CQ - N/A |
unit | (see OBX.6 etc.) / CQ.2 |
system | (see OBX.6 etc.) / CQ.2 |
code | (see OBX.6 etc.) / CQ.2 |
maxDosePerPeriod | RXO-23, RXE-19 |
maxDosePerAdministration | |
value | SN.2 / CQ - N/A |
unit | (see OBX.6 etc.) / CQ.2 |
system | (see OBX.6 etc.) / CQ.2 |
code | (see OBX.6 etc.) / CQ.2 |
dispenseRequest | |
initialFill | |
quantity | |
value | SN.2 / CQ - N/A |
unit | (see OBX.6 etc.) / CQ.2 |
system | (see OBX.6 etc.) / CQ.2 |
code | (see OBX.6 etc.) / CQ.2 |
dispenseInterval | |
value | SN.2 / CQ - N/A |
comparator | SN.1 / CQ.1 |
unit | (see OBX.6 etc.) / CQ.2 |
system | (see OBX.6 etc.) / CQ.2 |
code | (see OBX.6 etc.) / CQ.2 |
numberOfRepeatsAllowed | RXE-12-Number of Refills |
quantity | RXD-4-Actual Dispense Amount / RXD-5.1-Actual Dispense Units.code / RXD-5.3-Actual Dispense Units.name of coding system |
value | SN.2 / CQ - N/A |
unit | (see OBX.6 etc.) / CQ.2 |
system | (see OBX.6 etc.) / CQ.2 |
code | (see OBX.6 etc.) / CQ.2 |
substitution | |
allowed[x] | RXO-9-Allow Substitutions / RXE-9-Substitution Status |
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 |
reason | RXE-9 Substition status |