HRSA 2024 Uniform Data System (UDS) Patient Level Submission (PLS) (UDS+) FHIR IG
2.0.0 - STU2 Release 1 - Standard for Trial-Use

Publication Build: This will be filled in by the publication tooling

## Resource Profile: UDSPlusMedicationRequest - Mappings

Page standards status: Trial-use | Maturity Level: 2

Mappings for the uds-plus-medicationrequest resource profile.

### Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

UDSPlusMedicationRequest
MedicationRequest | Request
identifier | Request.identifier
status | Request.status
statusReason | Request.statusReason
intent | Request.intent
priority | Request.priority
medication[x] | Request.code
subject | Request.subject
encounter | Request.context
supportingInformation | Request.supportingInfo
authoredOn | Request.authoredOn
requester | Request.requester
performer | Request.performer
performerType | Request.performerType
reasonCode | Request.reasonCode
reasonReference | Request.reasonReference
instantiatesCanonical | Request.instantiates
basedOn | Request.basedOn
groupIdentifier | Request.groupIdentifier
insurance | Request.insurance
dosageInstruction | Request.occurrence[x]
priorPrescription | Request.replaces
eventHistory | Request.relevantHistory

### Mappings for Mapping to NCPDP SCRIPT 10.6 (http://ncpdp.org/SCRIPT10_6)

UDSPlusMedicationRequest
MedicationRequest | Message/Body/NewRx
identifier | Message/Header/PrescriberOrderNumber
status | no mapping
category | Message/Body/NewRx/MedicationPrescribed/Directions or Message/Body/NewRx/MedicationPrescribed/StructuredSIG
medication[x] | Message/Body/NewRx/MedicationPrescribed Medication.code.coding.code = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCode Medication.code.coding.system = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCodeQualifier Medication.code.coding.display = Message/Body/NewRx/MedicationPrescribed/DrugDescription
subject | Message/Body/NewRx/Patient (need detail to link to specific patient … Patient.Identification in SCRIPT)
encounter | no mapping
authoredOn | Message/Body/NewRx/MedicationPrescribed/WrittenDate
reasonCode | Message/Body/NewRx/MedicationPrescribed/Diagnosis/Primary/Value
reasonReference | no mapping
dispenseRequest | Message/Body/NewRx/MedicationPrescribed/ExpirationDate
validityPeriod | Message/Body/NewRx/MedicationPrescribed/Refills
numberOfRepeatsAllowed | Message/Body/NewRx/MedicationPrescribed/Quantity
quantity | Message/Body/NewRx/MedicationPrescribed/DaysSupply
expectedSupplyDuration | Message/Body/NewRx/MedicationPrescribed/Substitutions
substitution | specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
allowed[x] | specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
reason | not mapped
priorPrescription | not mapped

### Mappings for RIM Mapping (http://hl7.org/v3)

UDSPlusMedicationRequest
MedicationRequest | Entity. Role, or Act, CombinedMedicationRequest
extension | N/A
modifierExtension | N/A
identifier | .id
status | .statusCode
statusReason | .inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].reasonCOde
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
priority | .priorityCode
doNotPerform | SubstanceAdministration.actionNegationInd
reported[x] | .participation[typeCode=INF].role
medication[x] | consumable.administrableMedication
subject | .participation[typeCode=AUT].role
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | .identifier
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
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)]
authoredOn | author.time
requester | .participation[typeCode=AUT].role
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | .identifier
performer | .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
id | n/a
extension | n/a
reference | N/A
type | N/A
identifier | .identifier
performerType | .participation[typeCode=PRF].role[scoper.determinerCode=KIND].code
recorder | .participation[typeCode=TRANS].role[classCode=ASSIGNED].code (HealthcareProviderType)
reasonCode | reason.observation.reasonCode
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
courseOfTherapyType | Act.code where classCode = LIST and moodCode = EVN
insurance | .outboundRelationship[typeCode=COVBY].target
dosageInstruction | see dosageInstruction mapping
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]
duration | Supply.effectivetime[moodCode=RQO]
dispenseInterval | Supply.effectivetime[moodCode=RQO]
validityPeriod | effectiveTime
numberOfRepeatsAllowed | repeatNumber
quantity | quantity
expectedSupplyDuration | expectedUseTime
performer | .outboundRelationship[typeCode=COMP].target[classCode=SPLY, moodCode=RQO] .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
substitution | subjectOf.substitutionPersmission
id | n/a
extension | n/a
modifierExtension | N/A
allowed[x] | code
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]

### Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

UDSPlusMedicationRequest
MedicationRequest |
identifier | FiveWs.identifier
status | FiveWs.status
intent | FiveWs.class
category | FiveWs.class
priority | FiveWs.grade
medication[x] | FiveWs.what[x]
subject | FiveWs.subject[x], FiveWs.subject
encounter | FiveWs.context
supportingInformation | FiveWs.context
authoredOn | FiveWs.recorded
requester | FiveWs.author
performer | FiveWs.actor
recorder | FiveWs.who
reasonCode | FiveWs.why[x]
reasonReference | FiveWs.why[x]
dispenseRequest |
performer | FiveWs.who

### Mappings for HL7 v2 Mapping (http://hl7.org/v2)

UDSPlusMedicationRequest
MedicationRequest |
identifier | ORC-2-Placer Order Number / ORC-3-Filler Order Number
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
dispenseRequest |
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
substitution |
allowed[x] | RXO-9-Allow Substitutions / RXE-9-Substitution Status
reason | RXE-9 Substition status