This page is part of the US Prescription Drug Monitoring Program (PDMP) (v1.0.0: STU1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Mappings for the pdmp-medicationdispense resource profile.
PdmpMedicationDispense |
MedicationDispense | | |
extension (rx-fill-number) | pmp:DrugRefillNumberCount | |
extension (rx-transmission-method) | pmp:TransmissionFormOfRxOriginCode | |
extension (rx-method-of-payment) | pmp:MethodOfPaymentCode | |
extension (rx-opioid-treatment-code) | pmp:OpioidTreatmentCategoryCode | |
identifier | | |
value | pmp:PrescriptionNumberText | |
medication[x] | | |
medication[x] (medicationCodeableConcept) | | |
coding | | |
code | pmp:PrescriptionDrug/pmp:DrugNDCProductIdentifier | coding.system='http://hl7.org/fhir/sid/ndc'
|
text | pmp:PrescriptionDrug/pmp:DrugProductNameText | |
type | pmp:PartialFillIndicator | |
quantity | pmp:DispensedQuantity | |
daysSupply | pmp:DaysSupplyCount | |
whenPrepared | pmp:PrescriptionFilledDate | |
PdmpMedicationDispense |
MedicationDispense | Entity. Role, or Act, Supply[moodCode=EVN] |
text | Act.text? |
contained | 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 |
partOf | .outboundRelationship[typeCode=COMP]/target[classCode=PROC,moodCode=EVN] |
status | .statusCode |
statusReason[x] | .outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code="not done reason"].value |
category | .inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="type of medication dispense"].value |
medication[x] | .participation[typeCode=PRD].role |
medication[x] (medicationCodeableConcept) | .participation[typeCode=PRD].role |
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 |
subject | .participation[typeCode=SBJ].role[classCode=PAT] |
context | .inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code="type of encounter or episode"] |
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)] |
performer | .participation[typeCode=PRF] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
function | participation[typeCode=PRF].functionCode |
actor | .role |
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 |
location | .participation[typeCode=LOC].role |
authorizingPrescription | .outboundRelationship[typeCode=FLFS].target[moodCode=RQO] |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
type | .code |
quantity | .quantity |
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 |
daysSupply | effectiveUseTime |
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 |
whenPrepared | .effectiveTime[xmi:type=IVL_TS].low |
whenHandedOver | .effectiveTime[xmi:type=IVL_TS].high |
destination | .participation[typeCode=DST].role |
receiver | .participation[typeCode=RCV].role |
note | .inboundRelationship[typeCode=SUBJ]/source[classCode=ACT,moodCode=EVN] |
dosageInstruction | .outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=INT] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
sequence | .text |
text | .text |
additionalInstruction | .text |
patientInstruction | .text |
timing | .effectiveTime |
asNeeded[x] | .outboundRelationship[typeCode=PRCN].target[classCode=OBS, moodCode=EVN, code="as needed"].value=boolean or codable concept |
site | .approachSiteCode |
route | .routeCode |
method | .doseQuantity |
doseAndRate | |
id | n/a |
extension | n/a |
dose[x] | .doseQuantity |
rate[x] | .rateQuantity |
maxDosePerPeriod | .maxDoseQuantity |
maxDosePerAdministration | not supported |
maxDosePerLifetime | not supported |
substitution | .outboundRelationship[typeCode=COMP].target[classCode=SUBST, moodCode=EVN] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
wasSubstituted | .actionNegationInd |
type | .code |
reason | .reasonCode |
responsibleParty | .participation[typeCode=PFM].role[classCode=ASSIGN] |
detectedIssue | .inboundRelationship[typeCode=SUBJ]/source[classCode=ALRT,moodCode=EVN].value |
eventHistory | .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN] |
PdmpMedicationDispense |
MedicationDispense | |
identifier | CombinedMedicationDispense.id |
status | CombinedMedicationDispense.SupplyEvent.statusCode |
medication[x] | CombinedMedicationRequest.component1.AdministrationRequest.consumable |
medication[x] (medicationCodeableConcept) | CombinedMedicationRequest.component1.AdministrationRequest.consumable |
authorizingPrescription | CombinedMedicationDispense.inFulfillmentOf |
type | CombinedMedicationDispense.SupplyEvent.code |
quantity | CombinedMedicationDispense.SupplyEvent.quantity |
whenPrepared | CombinedMedicationDispense.SupplyEvent.effectiveTime |
whenHandedOver | CombinedMedicationDispense.SupplyEvent.effectiveTime |
destination | CombinedMedicationDispense.SupplyEvent.destination |
receiver | CombinedMedicationDispense.SupplyEvent.receiver |
substitution | CombinedMedicationDispense.substitutionMade |
type | CombinedMedicationDispense.substitutionMade.code |
reason | CombinedMedicationDispense.substitutionMade.reasonCode |
responsibleParty | CombinedMedicationDispense.substitutionMade.ResponsibleParty |
PdmpMedicationDispense |
MedicationDispense | |
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) |
medication[x] | RXD-2-Dispense/Give Code |
medication[x] (medicationCodeableConcept) | RXD-2-Dispense/Give 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 |
subject | PID-3-Patient ID List |
performer | |
actor | |
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) |
authorizingPrescription | ORC-2 Placer Order Number |
type | RXD-33-Dispense Type |
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 |
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 |
daysSupply | TQ1.6 Timing/Quantity Segment Service Duration.
Prior to v2.5, ORC.7.3 Common Order Segment / Quantity/Timing / Duration component. This is a formatted string, first character for the time unit (e.g., D=days), followed by the value. For example, “D14” represents “14 days supply”
From v2.5 on, TQ1.6 Timing/Quantity Segment / Service Duration. This is a CQ data type (<Quantity (NM)> ^ <Units (CWE)>), thus for days supply, assuming the unit of measure is “days”, the numeric value is TQ1.6.1 (…|14^
For backwards compatibility, ORC.7 was permitted through v2.6. Both forms (field and segment) may be present in v2.5, v2.5.1, and v2.6 |
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 |
whenPrepared | RXD-3-Date/Time Dispensed |
whenHandedOver | RXD-3-Date/Time Dispensed |
destination | RXD-13 Dispense-to Location; RXD-30 Dispense to Pharmacy; RXD-31 Dispense to Pharmacy Address |
note | RXD-9 Dispense Notes |
dosageInstruction | |
sequence | TQ1-1 |
text | RXO-6; RXE-21 |
additionalInstruction | RXO-7 |
patientInstruction | RXO-7 |
asNeeded[x] | TQ1-9 |
site | RXR-2 |
route | RXR-1 |
method | RXR-4 |
doseAndRate | TQ1-2 |
type | RXO-21; RXE-23 |
dose[x] | RXO-2, RXE-3 |
rate[x] | RXE22, RXE23, RXE-24 |
maxDosePerPeriod | RXO-23, RXE-19 |
substitution | |
type | RXO-9-Allow Substitutions / RXE-9-Substitution Status |