US Veterans Health Administration FHIR Map Set Implementation Guide
1.9.0 - 251001 United States of America flag

US Veterans Health Administration FHIR Map Set Implementation Guide - Downloaded Version 1.9.0 See the Directory of published versions

Resource Profile: MedicationRequestOutpatient - Mappings

Active as of 2025-09-30

Mappings for the MedicationRequestOutpatient resource profile.

Scroll down for the Raw FHIR, CDW & SDA mappings (if any).

Note that the CDW, SDA and VPR XML mappings are derived from a look-up based on the VistA source.

Mapping Sources

Use Case: MedicationRequest: Outpatient (Source)Use Case: MedicationRequest: Outpatient (Source)DRUG (50)20NATIONAL DRUG FILE ENTRY22PSNDF VA PRODUCT NAME ENTRYPRESCRIPTION (52).001IEN.01RX #1ISSUE DATE2PATIENT4PROVIDER6DRUG7QTY8DAYS SUPPLY91.OF REFILLS10SIG11MAIL/WINDOW/PARK26EXPIRATION DATE26.1CANCEL DATE100STATUS113MEDICATION INSTRUCTIONS114PATIENT INSTRUCTIONS128INDICATION FOR USE129INDICATION FOR USE FLAGVA PRODUCT (50.68)5VA PRINT NAMEVA GENERIC (50.6)5CODING SYSTEMCODING SYSTEM (50.65).02CODEMEDICATION INSTRUCTIONS (52.0113).01DOSAGE ORDERED2UNITS6ROUTE[.01 CODING SYSTEM = RXNORM][.01 CODING SYSTEM = RXNORM][.01 CODING SYSTEM = RXNORM][number][not a number]

Raw Mappings

key status direction source mapApproach mapCase FHIR Path subPath mapValue mapParameter mapComment FHIR URL | Ver
798 for review V2F PRESCRIPTION - IEN (52-.001) transform MedicationRequest.id ID_generation() http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
799 for review V2F PRESCRIPTION - STATUS (52-100) terminologyMaps MedicationRequest.status VF_OutMedRequestStatus http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
800 for review V2F PRESCRIPTION - STATUS (52-100) source value MedicationRequest.extension[http://va.gov/fhir/StructureDefinition/medicationrequest-pharmacyOrderStatus].valueCoding .code .system = http://va.gov/terminology/vistaDefinedTerms/52-100 http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
801 for review V2F fixed value MedicationRequest.intent #order All records from file 52 are orders http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
803 for review V2F PRESCRIPTION - DRUG > DRUG - PSNDF VA PRODUCT NAME ENTRY > VA PRODUCT - VA PRINT NAME (52-6 > 50-22 > 50.68-5) source value MedicationRequest.medicationCodeableConcept .text http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
805 for review V2F PRESCRIPTION - DRUG > DRUG - NATIONAL DRUG FILE ENTRY > VA GENERIC - CODING SYSTEM > CODING SYSTEM - CODE (52-6 > 50-20 > 50.6-5 > 50.65-.02) source value .01 CODING SYSTEM = RXNORM MedicationRequest.medicationCodeableConcept.coding .code .system = http://www.nlm.nih.gov/research/umls/rxnorm Could add NDC as well, but usually not captured http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
806 for review V2F PRESCRIPTION - PATIENT (52-2) reference MedicationRequest.subject /Patient http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
807 for review V2F PRESCRIPTION - ISSUE DATE (52-1) source value MedicationRequest.authoredOn We are using Issue Date for MedicationRequest.authoredOn. SDA records Login Date (52-21) as Entered On because Entered On cannot be null. It records Issue Date (52-1) in an extension, VAStartDate. This may not be an issue for CDA because Login Date (first fill) should be on or shortly after Issue date. It could be an issue for interfaces striving for a finer level of granularity. http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
808 for review V2F PRESCRIPTION - PROVIDER (52-4) reference MedicationRequest.requester /Practitioner retrieve via order http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
809 for review V2F PRESCRIPTION - SIG (52-10) source value MedicationRequest.dosageInstruction .text http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
810 for review V2F PRESCRIPTION - PATIENT INSTRUCTIONS (52-114) source value MedicationRequest.dosageInstruction .patientInstruction http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
811 for review V2F PRESCRIPTION - MEDICATION INSTRUCTIONS > MEDICATION INSTRUCTIONS - DOSAGE ORDERED (52-113 > 52.0113-.01) source value number MedicationRequest.dosageInstruction .doseAndRate.doseQuantity.value http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
812 for review V2F PRESCRIPTION - MEDICATION INSTRUCTIONS > MEDICATION INSTRUCTIONS - UNITS (52-113 > 52.0113-2) source value MedicationRequest.dosageInstruction .doseAndRate.doseQuantity.unit http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
815 for review V2F PRESCRIPTION - EXPIRATION DATE (52-26) source value MedicationRequest.dispenseRequest .validityPeriod.end confirm http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1704 for review V2F PRESCRIPTION - CANCEL DATE (52-26.1) source value MedicationRequest.extension[http://va.gov/fhir/StructureDefinition/medicationrequest-cancelDate] .valueDateTime http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
816 for review V2F PRESCRIPTION - # OF REFILLS (52-9) source value MedicationRequest.dispenseRequest .numberOfRepeatsAllowed confirm http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1669 for review V2F PRESCRIPTION - QTY (52-7) source value MedicationRequest.dispenseRequest .quantity.value http://hl7.org/fhir/StructureDefinition/MedicationRequest | 4.0.1
1670 for review V2F PRESCRIPTION - DAYS SUPPLY (52-8) source value MedicationRequest.dispenseRequest .expectedSupplyDuration http://hl7.org/fhir/StructureDefinition/MedicationRequest | 4.0.1
841 for review V2F PRESCRIPTION - MEDICATION INSTRUCTIONS > MEDICATION INSTRUCTIONS - DOSAGE ORDERED (52-113 > 52.0113-.01) source value not a number MedicationRequest.dosageInstruction.doseAndRate .extension[http://hl7.org/fhir/StructureDefinition/originalText].valueString http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1664 for review V2F PRESCRIPTION - RX # (52-.01) source value MedicationRequest.identifier .value .type=http://terminology.hl7.org/CodeSystem/v2-0203#FILL http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1665 for review V2F PRESCRIPTION - MEDICATION INSTRUCTIONS > MEDICATION INSTRUCTIONS - ROUTE (52-113 > 52.0113-6) source value MedicationRequest.dosageInstruction.route.coding .code .system=http://va.gov/terminology/vistaDefinedTerms/53.1-3 http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1666 for review V2F fixed value MedicationRequest.category http://terminology.hl7.org/CodeSystem/medicationrequest-category#outpatient http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1705 for review V2F PRESCRIPTION - INDICATION FOR USE (52-128) source value MedicationRequest.reasonCode .text http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1706 for review V2F PRESCRIPTION - INDICATION FOR USE FLAG (52-129) transform MedicationRequest.extension[http://va.gov/fhir/StructureDefinition/medicationrequest-includeIndicationInSig] .valueBoolean VF_Boolean http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1746 for review V2F PRESCRIPTION - MAIL/WINDOW/PARK (52-11) fixed value P MedicationRequest.extension[http://va.gov/fhir/StructureDefinition/medicationrequest-pharmacyOrderStatus].valueCoding .code #active-parked .system = http://va.gov/terminology/vistaDefinedTerms/52-100 This value is consistent with Active. Add a second value, or overwrite Active with Parked? http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
1853 for review V2F MedicationRequest.extension[http://va.gov/fhir/StructureDefinition/medicationrequest-remainingRefillCount].valueInteger A value calculated by subtracting first fill (based on Released) and refills (52.1) from total fills (52-9 # OF REFILLS + 1) http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
2251 for review V2F PRESCRIPTION - STATUS (52-100) source value MedicationRequest.status.extension[http://hl7.org/fhir/StructureDefinition/alternate-codes].valueCodeableConcept.coding .code .system = http://va.gov/terminology/vistaDefinedTerms/52-100 http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1
2252 for review V2F PRESCRIPTION - MAIL/WINDOW/PARK (52-11) fixed value P MedicationRequest.status.extension[http://hl7.org/fhir/StructureDefinition/alternate-codes].valueCodeableConcept.coding .code #active-parked .system = http://va.gov/terminology/vistaDefinedTerms/52-100 This value is consistent with Active. Add a second value, or overwrite Active with Parked? http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest | 5.0.1

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameVeterans Health Information Systems Technology and Architecture (VistA)Clinical Data Warehouse (CDW)Summary Document Architecure (SDA)Virtual Patient Record XML (VPR)Workflow PatternMapping to NCPDP SCRIPT 10.6doco
.. MedicationRequest
Request
Message/Body/NewRx
... id
transform using ID_generation() on PRESCRIPTION - IEN (52-.001)
... meta
... implicitRules
... language
... text
... contained
... Slices for extension
.... extension:medicationrequest-pharmacyOrderStatus
..... id
..... extension
..... url
..... value[x]
...... id
...... extension
...... system
fixed value = http://va.gov/terminology/vistaDefinedTerms/52-100 if P
mapParameter line 1
...... version
...... code
fixed value = #active-parked when PRESCRIPTION - MAIL/WINDOW/PARK (52-11) if P
This value is consistent with Active. Add a second value, or overwrite Active with Parked?
RxOut.RxOutpat.RxStatus
Medication.PharmacyStatus Medication.VAStatus
...... display
...... userSelected
.... extension:medicationrequest-cancelDate
..... id
..... extension
..... url
..... value[x]
source value based on PRESCRIPTION - CANCEL DATE (52-26.1)
RxOut.RxOutpat.CancelDate
Medication.ToTime Medication.DiscontinuedDateTime
.... extension:medicationrequest-includeIndicationInSig
..... id
..... extension
..... url
..... value[x]
transform using VF_Boolean on PRESCRIPTION - INDICATION FOR USE FLAG (52-129)
RxOut.RxOutpatExt.IndicationForUseFlag
.... extension:medicationrequest-remainingRefillCount
..... id
..... extension
..... url
..... value[x]
null
A value calculated by subtracting first fill (based on Released) and refills (52.1) from total fills (52-9 # OF REFILLS + 1)
... modifierExtension
... identifier
Request.identifier
Message/Header/PrescriberOrderNumber
.... id
.... extension
.... use
.... type
fixed value = http://terminology.hl7.org/CodeSystem/v2-0203#FILL
mapParameter line 1
.... system
.... value
source value based on PRESCRIPTION - RX # (52-.01)
RxOut.RxOutpat.RxNumber
Medication.PrescriptionNumber Medication.FillDate
med.dose pharmacy (med).dose
.... period
.... assigner
... status
terminologyMaps using VF_OutMedRequestStatus on PRESCRIPTION - STATUS (52-100)
RxOut.RxOutpat.RxStatus
Medication.PharmacyStatus Medication.VAStatus
Request.status
no mapping
.... id
.... Slices for extension
..... extension:alternate-codes
...... id
...... extension
...... url
...... value[x]
....... id
....... extension
....... coding
........ id
........ extension
........ system
fixed value = http://va.gov/terminology/vistaDefinedTerms/52-100 if P
mapParameter line 1
........ version
........ code
fixed value = #active-parked when PRESCRIPTION - MAIL/WINDOW/PARK (52-11) if P
This value is consistent with Active. Add a second value, or overwrite Active with Parked?
RxOut.RxOutpat.RxStatus
Medication.PharmacyStatus Medication.VAStatus
........ display
........ userSelected
....... text
.... value
... statusReason
Request.statusReason
... intent
fixed value = #order
All records from file 52 are orders
Request.intent
... Slices for category
fixed value = http://terminology.hl7.org/CodeSystem/medicationrequest-category#outpatient
Message/Body/NewRx/MedicationPrescribed/Directions or Message/Body/NewRx/MedicationPrescribed/StructuredSIG
.... category:us-core
Message/Body/NewRx/MedicationPrescribed/Directions or Message/Body/NewRx/MedicationPrescribed/StructuredSIG
... priority
Request.priority
... doNotPerform
... reported[x]
... Slices for medication[x]
Request.code
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
.... medication[x]:medicationCodeableConcept
Request.code
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
..... id
..... extension
..... coding
...... id
...... extension
...... system
fixed value = http://www.nlm.nih.gov/research/umls/rxnorm if .01 CODING SYSTEM = RXNORM
mapParameter line 1
...... version
...... code
source value based on PRESCRIPTION - DRUG > DRUG - NATIONAL DRUG FILE ENTRY > VA GENERIC - CODING SYSTEM > CODING SYSTEM - CODE (52-6 > 50-20 > 50.6-5 > 50.65-.02) if .01 CODING SYSTEM = RXNORM
Could add NDC as well, but usually not captured
RxOut.RxOutpat.LocalDrugIEN RxOut.RxOutpat.NationalDrugIEN RxOut.RxOutpatFill.LocalDrugIEN RxOut.RxOutpatFill.NationalDrugIEN
Medication.DrugProduct Medication.CMOP
med.route (>51.2-1) pharmacy (med).route (>51.2-1)
...... display
...... userSelected
..... text
source value based on PRESCRIPTION - DRUG > DRUG - PSNDF VA PRODUCT NAME ENTRY > VA PRODUCT - VA PRINT NAME (52-6 > 50-22 > 50.68-5)
RxOut.RxOutpat.LocalDrugIEN RxOut.RxOutpat.NationalDrugIEN RxOut.RxOutpatFill.LocalDrugIEN RxOut.RxOutpatFill.NationalDrugIEN
Medication.DrugProduct Medication.CMOP
med.route (>51.2-1) pharmacy (med).route (>51.2-1)
... subject
reference based on PRESCRIPTION - PATIENT (52-2)
RxOut.ActivityLog.PatientIEN RxOut.ActivityLogOtherComments.PatientIEN RxOut.RxOutpat.PatientIEN RxOut.RxOutpatExt.PatientIEN RxOut.RxOutpatExt.PatientSID RxOut.RxOutpatFill.PatientIEN RxOut.RxOutpatMedInstructions.PatientIEN RxOut.RxOutpatSig.PatientIEN
med.units (>50.607-.01) pharmacy (med).units (>50.607-.01)
Request.subject
Message/Body/NewRx/Patient (need detail to link to specific patient … Patient.Identification in SCRIPT)
... encounter
Request.context
no mapping
... supportingInformation
Request.supportingInfo
... authoredOn
source value based on PRESCRIPTION - ISSUE DATE (52-1)
We are using Issue Date for MedicationRequest.authoredOn. SDA records Login Date (52-21) as Entered On because Entered On cannot be null. It records Issue Date (52-1) in an extension, VAStartDate. This may not be an issue for CDA because Login Date (first fill) should be on or shortly after Issue date. It could be an issue for interfaces striving for a finer level of granularity.
RxOut.ActivityLog.IssueDateTime RxOut.RxOutpat.IssueDate RxOut.RxOutpatExt.IssueDateTime RxOut.RxOutpatFill.IssueDate RxOut.RxOutpatMedInstructions.IssueDate RxOut.RxOutpatSig.IssueDate
Medication.VAStartDate Medication.FillQuantity
med.unitsPerDose pharmacy (med).unitsPerDose
Request.authoredOn
Message/Body/NewRx/MedicationPrescribed/WrittenDate
... requester
reference based on PRESCRIPTION - PROVIDER (52-4)
retrieve via order
RxOut.RxOutpat.ProviderIEN
Medication.OrderedBy
med.currentProvider (>200-.01) med.currentProvider (>200-8932.1) med.doseStart med.doseStop med.duration pharmacy (med).currentProvider (>200-.01) pharmacy (med).currentProvider (>200-8932.1) pharmacy (med).doseStart pharmacy (med).doseStop pharmacy (med).duration
Request.requester
... performer
Request.performer
... performerType
Request.performerType
... recorder
... reasonCode
Request.reasonCode
Message/Body/NewRx/MedicationPrescribed/Diagnosis/Primary/Value
.... id
.... extension
.... coding
.... text
source value based on PRESCRIPTION - INDICATION FOR USE (52-128)
RxOut.RxOutpatExt.IndicationForUse
Medication.Indication
... reasonReference
Request.reasonReference
no mapping
... instantiatesCanonical
Request.instantiates
... instantiatesUri
... basedOn
Request.basedOn
... groupIdentifier
Request.groupIdentifier
... courseOfTherapyType
... insurance
Request.insurance
... note
Request.note
Message/Body/NewRx/MedicationPrescribed/Note
... dosageInstruction
Request.occurrence[x]
.... id
.... extension
.... modifierExtension
.... sequence
.... text
source value based on PRESCRIPTION - SIG (52-10)
.... additionalInstruction
.... patientInstruction
source value based on PRESCRIPTION - PATIENT INSTRUCTIONS (52-114)
RxOut.RxOutpatSig.PatientInstructions
Medication.TextInstruction
.... timing
.... asNeeded[x]
.... site
.... route
..... id
..... extension
..... coding
...... id
...... extension
...... system
fixed value = http://va.gov/terminology/vistaDefinedTerms/53.1-3
mapParameter line 1
...... version
...... code
source value based on PRESCRIPTION - MEDICATION INSTRUCTIONS > MEDICATION INSTRUCTIONS - ROUTE (52-113 > 52.0113-6)
RxOut.RxOutpatMedInstructions.MedRoute
Medication.DosageSteps Medication.Route Medication.DoseQuantity Medication.DoseUoM Medication.Duration Medication.Frequency Medication.TextInstruction Medication.Conjunction Medication.Noun Medication.UnitsPerDose Medication.Verb
med.dose [m] pharmacy (med).dose [m]
...... display
...... userSelected
..... text
.... method
.... doseAndRate
..... id
..... Slices for extension
...... extension:originalText
....... id
....... extension
....... url
....... value[x]
source value based on PRESCRIPTION - MEDICATION INSTRUCTIONS > MEDICATION INSTRUCTIONS - DOSAGE ORDERED (52-113 > 52.0113-.01) if not a number
RxOut.RxOutpatMedInstructions.DoseOrdered
Medication.DosageSteps Medication.Route Medication.DoseQuantity Medication.DoseUoM Medication.Duration Medication.Frequency Medication.TextInstruction Medication.Conjunction Medication.Noun Medication.UnitsPerDose Medication.Verb
med.dose [m] pharmacy (med).dose [m]
..... type
..... Slices for dose[x]
...... dose[x]:doseQuantity
....... id
....... extension
....... value
source value based on PRESCRIPTION - MEDICATION INSTRUCTIONS > MEDICATION INSTRUCTIONS - DOSAGE ORDERED (52-113 > 52.0113-.01) if number
RxOut.RxOutpatMedInstructions.DoseOrdered
Medication.DosageSteps Medication.Route Medication.DoseQuantity Medication.DoseUoM Medication.Duration Medication.Frequency Medication.TextInstruction Medication.Conjunction Medication.Noun Medication.UnitsPerDose Medication.Verb
med.dose [m] pharmacy (med).dose [m]
....... comparator
....... unit
source value based on PRESCRIPTION - MEDICATION INSTRUCTIONS > MEDICATION INSTRUCTIONS - UNITS (52-113 > 52.0113-2)
RxOut.RxOutpatMedInstructions.Unit
Medication.DosageSteps Medication.Route Medication.DoseQuantity Medication.DoseUoM Medication.Duration Medication.Frequency Medication.TextInstruction Medication.Conjunction Medication.Noun Medication.UnitsPerDose Medication.Verb
med.dose [m] pharmacy (med).dose [m]
....... system
....... code
..... rate[x]
.... maxDosePerPeriod
.... maxDosePerAdministration
.... maxDosePerLifetime
... dispenseRequest
Message/Body/NewRx/MedicationPrescribed/ExpirationDate
.... id
.... extension
.... modifierExtension
.... initialFill
..... id
..... extension
..... modifierExtension
..... quantity
..... duration
.... dispenseInterval
.... validityPeriod
Message/Body/NewRx/MedicationPrescribed/Refills
..... id
..... extension
..... start
..... end
source value based on PRESCRIPTION - EXPIRATION DATE (52-26)
confirm
Medication.ToTime Medication.Expires
med.expires pharmacy (med).expires
.... numberOfRepeatsAllowed
source value based on PRESCRIPTION - # OF REFILLS (52-9)
confirm
RxOut.RxOutpat.MaxRefills
Medication.NumberOfRefills
Message/Body/NewRx/MedicationPrescribed/Quantity
.... quantity
Message/Body/NewRx/MedicationPrescribed/DaysSupply
..... id
..... extension
..... value
source value based on PRESCRIPTION - QTY (52-7)
Medication.OrderQuantity
med.schedule pharmacy (med).schedule
..... comparator
..... unit
..... system
..... code
.... expectedSupplyDuration
source value based on PRESCRIPTION - DAYS SUPPLY (52-8)
Medication.DaysSupply
med.daysSupply pharmacy (med).daysSupply
Message/Body/NewRx/MedicationPrescribed/Substitutions
.... performer
... substitution
specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
.... id
.... extension
.... modifierExtension
.... allowed[x]
specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
.... reason
not mapped
... priorPrescription
Request.replaces
not mapped
... detectedIssue
... eventHistory
Request.relevantHistory

doco Documentation for this format