US Veterans Health Administration FHIR Map Set Implementation Guide
1.8.0 - 250901 United States of America flag

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

Resource Profile: EncounterOutpatient - Mappings

Active as of 2025-09-02

Mappings for the EncounterOutpatient 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: Encounter: Outpatient (Source)Use Case: Encounter: Outpatient (Source)INSTITUTION (4).01NAME99STATION NUMBERICD DIAGNOSIS (80).01CODE NUMBERCPT (81).01CPT CODE2SHORT NAMENEW PERSON (200)PATIENT/IHS (9000001).01NAMEVISIT (9000010).01VISIT/ADMIT DATE&TIME.05PATIENT NAME.06LOC. OF ENCOUNTER.07SERVICE CATEGORY.08DSS ID.18CHECK OUT DATE&TIME.22HOSPITAL LOCATION15001VISIT ID15002PATIENT STATUS IN/OUTOUTPATIENT ENCOUNTER (409.68).1APPOINTMENT TYPEAPPOINTMENT TYPE (409.1).01NAMEV POV (9000010.07).01POV.16PROBLEM LIST ENTRYLOCATION (9999999.06).01NAMEV PROVIDER (9000010.06).01PROVIDER.04PRIMARY/SECONDARYV CPT (9000010.18).01CPT.03[{.03>9000010} SERVICE CONNECTED][{.03>9000010} Not SERVICE CONNECTED][{.03>9000010} 9000010.07-.12 = 'P'].03.03.03[{.03>9000010} Not admission record (rule not needed in examples we've seen)]

Raw Mappings

key status direction source mapApproach mapCase FHIR Path subPath mapValue mapParameter mapComment FHIR URL | Ver
429 team-approved V2F VISIT - VISIT ID (9000010-15001) source value Encounter.identifier[va-visitid] .value .system=http://va.gov/identifiers/$Sta3n/9000010-15001 http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
430 team-approved V2F VISIT - VISIT/ADMIT DATE&TIME (9000010-.01) fixed value IMP, null or > now Encounter.status #planned http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
431 team-approved V2F VISIT - VISIT/ADMIT DATE&TIME (9000010-.01) fixed value IMP, not null, < now, .18 null Encounter.status #in-progress http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
432 team-approved V2F VISIT - CHECK OUT DATE&TIME (9000010-.18) fixed value IMP, not null, < now Encounter.status #finished http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
2035 for review V2F OUTPATIENT ENCOUNTER - APPOINTMENT TYPE > APPOINTMENT TYPE - NAME (409.68-.1 > 409.1-.01) fixed value {.03>9000010} SERVICE CONNECTED Encounter.extension[http://va.gov/fhir/StructureDefinition/resource-serviceConnection].valueCoding http://va.gov/fhir/vistaDefinedTerms/409.1#SC "Service Connected" Outpatient Encounter points to Visit (409.68-.05) http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
2036 for review V2F OUTPATIENT ENCOUNTER - APPOINTMENT TYPE > APPOINTMENT TYPE - NAME (409.68-.1 > 409.1-.01) fixed value {.03>9000010} Not SERVICE CONNECTED Encounter.extension[http://va.gov/fhir/StructureDefinition/resource-serviceConnection].valueCoding http://va.gov/fhir/vistaDefinedTerms/409.1#NSC "Not Service Connected" Outpatient Encounter points to Visit (409.68-.05) http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
439 team-approved V2F VISIT - SERVICE CATEGORY (9000010-.07) source value Encounter.serviceType.coding .code .system=http://va.gov/terminology/VistADefinedTerms/9000010-.07 http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
440 team-approved V2F VISIT - PATIENT NAME > PATIENT/IHS - NAME (9000010-.05 > 9000001-.01) reference Encounter.subject /Patient http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
443 team-approved V2F VISIT - VISIT/ADMIT DATE&TIME (9000010-.01) source value Encounter.period .start http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
444 team-approved V2F VISIT - CHECK OUT DATE&TIME (9000010-.18) source value Encounter.period .end http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
447 team-approved V2F V POV - POV > ICD DIAGNOSIS - CODE NUMBER (9000010.07-.01 > 80-.01) source value {.03>9000010} 9000010.07-.12 = 'P' Encounter.reasonCode.coding .code .system=termmap({VF_ICDCodingSystems,CODING SYSTEM(1.1)}) do we need visit in col e and pov in col g? http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
452 team-approved V2F V POV - PROBLEM LIST ENTRY (9000010.07-.16) reference {.03>9000010} Encounter.diagnosis.condition /ConditionEncounterDiagnosis http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
2030 for review V2F target not supported Encounter.hospitalization because of must-support: Outpatient so no hospitalization http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
458 team-approved V2F VISIT - DSS ID (9000010-.08) reference Encounter.location[va-stop].location /Location Stop Code http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
459 team-approved V2F VISIT - HOSPITAL LOCATION (9000010-.22) reference Encounter.location[va-loc].location /Location http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
614 for review V2F VISIT - PATIENT STATUS IN/OUT (9000010-15002) terminologyMaps Encounter.class VF_encounterClass 84% are Outpatient (2024 Jan-Mar) http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
1599 for review V2F VISIT - LOC. OF ENCOUNTER > LOCATION - NAME > INSTITUTION (9000010-.06 > 9999999.06-.01 > 4) reference Encounter.serviceProvider /Organization .display = {NAME (.01)}
.identifier = {STATION NUMBER (99)}
.identifier.system = http://va.gov/identifiers/4-99
http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
1614 for review V2F V PROVIDER - PROVIDER > NEW PERSON (9000010.06-.01 > 200-) reference {.03>9000010} Encounter.participant .individual /PractitionerRole code in ProviderRole; name and id in Reference to Provider http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
1854 for review V2F V PROVIDER - PRIMARY/SECONDARY (9000010.06-.04) terminologyMaps {.03>9000010} Encounter.participant .type VF_encounterParticipationType http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
1615 for review V2F V CPT - CPT > CPT (9000010.18-.01 > 81-) source value {.03>9000010} Not admission record (rule not needed in examples we've seen) Encounter.type .coding.system=http://www.ama-assn.org/go/cpt
.coding.code = {CPT CODE (.01)}
.coding.display = {SHORT NAME (2)} 
.text = {SHORT NAME (2)}
http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1
1799 for review V2F target not supported Encounter.participant.period http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter | 5.0.1

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameWorkflow PatternRIM MappingFiveWs Pattern MappingHL7 v2 Mappingdoco
.. Encounter
Event
Encounter[@moodCode='EVN']
... id
... meta
... implicitRules
... language
... text
Act.text?
... contained
N/A
... Slices for extension
.... extension:resource-serviceConnection
..... id
n/a
..... extension
..... url
N/A
..... value[x]
N/A
... modifierExtension
N/A
... Slices for identifier
Event.identifier
.id
FiveWs.identifier
PV1-19
.... identifier:All Slices
..... id
n/a
..... extension
n/a
..... use
Role.code or implied by context
N/A
..... type
Role.code or implied by context
CX.5
..... system
II.root or Role.id.root
CX.4 / EI-2-4
..... value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
..... period
Role.effectiveTime or implied by context
CX.7 + CX.8
..... assigner
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
.... identifier:va-visitid
Event.identifier
.id
FiveWs.identifier
PV1-19
..... id
n/a
..... extension
n/a
..... use
Role.code or implied by context
N/A
..... type
Role.code or implied by context
CX.5
..... system
II.root or Role.id.root
CX.4 / EI-2-4
..... value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
..... period
Role.effectiveTime or implied by context
CX.7 + CX.8
..... assigner
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
... status
Event.status
.statusCode
FiveWs.status
  • No clear equivalent in HL7 v2; active/finished could be inferred from PV1-44
  • PV1-45
  • PV2-24; inactive could be inferred from PV2-16
... statusHistory
n/a
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... status
n/a
.... period
n/a
... class
.inboundRelationship[typeCode=SUBJ].source[classCode=LIST].code
FiveWs.class
PV1-2
... classHistory
n/a
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... class
n/a
.... period
n/a
... type
Event.code
.code
FiveWs.class
PV1-4 / PV1-18
.... id
n/a
.... extension
n/a
.... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
..... id
n/a
..... extension
n/a
..... system
./codeSystem
C*E.3
..... version
./codeSystemVersion
C*E.7
..... code
./code
C*E.1
..... display
CV.displayName
C*E.2 - but note this is not well followed
..... userSelected
CD.codingRationale
Sometimes implied by being first
.... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... serviceType
Event.code
n/a
PV1-10
.... id
n/a
.... extension
n/a
.... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
..... id
n/a
..... extension
n/a
..... system
./codeSystem
C*E.3
..... version
./codeSystemVersion
C*E.7
..... code
./code
C*E.1
..... display
CV.displayName
C*E.2 - but note this is not well followed
..... userSelected
CD.codingRationale
Sometimes implied by being first
.... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... priority
.priorityCode
FiveWs.grade
PV2-25
... subject
Event.subject
.participation[typeCode=SBJ]/role[classCode=PAT]
FiveWs.subject
PID-3
... episodeOfCare
Event.context
n/a
FiveWs.context
  • PV1-54
  • PV1-53
... basedOn
Event.basedOn
.reason.ClinicalDocument
... participant
Event.performer
.participation[typeCode=PFM]
ROL
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... type
Event.performer.function
.functionCode
ROL-3 (or maybe PRT-4)
.... period
.time
  • ROL-5
  • ROL-6 (or maybe PRT-5)
.... individual
Event.performer.actor
.role
FiveWs.who
ROL-4
... appointment
Event.basedOn
  • .outboundRelationship[typeCode=FLFS].target[classCode=ENC
  • moodCode=APT]
SCH-1 / SCH-2
... period
Event.occurrence[x]
.effectiveTime (low & high)
FiveWs.done[x]
  • PV1-44
  • PV1-45
.... id
n/a
.... extension
n/a
.... start
./low
DR.1
.... end
./high
DR.2
... length
Event.occurrence[x]
.lengthOfStayQuantity
(PV1-45 less PV1-44) iff ( (PV1-44 not empty) and (PV1-45 not empty) ); units in minutes
... reasonCode
Event.reasonCode
.reasonCode
FiveWs.why[x]
PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
.... id
n/a
.... extension
n/a
.... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
..... id
n/a
..... extension
n/a
..... system
./codeSystem
C*E.3
..... version
./codeSystemVersion
C*E.7
..... code
./code
C*E.1
..... display
CV.displayName
C*E.2 - but note this is not well followed
..... userSelected
CD.codingRationale
Sometimes implied by being first
.... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... reasonReference
Event.reasonCode
.reasonCode
FiveWs.why[x]
PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
... diagnosis
.outboundRelationship[typeCode=RSON]
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... condition
Event.reasonReference
.outboundRelationship[typeCode=RSON].target
FiveWs.why[x]
Resources that would commonly referenced at Encounter.indication would be Condition and/or Procedure. These most closely align with DG1/PRB and PR1 respectively.
.... use
n/a
.... rank
.outboundRelationship[typeCode=RSON].priority
... account
.pertains.A_Account
... hospitalization
  • .outboundRelationship[typeCode=COMP].target[classCode=ENC
  • moodCode=EVN]
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... preAdmissionIdentifier
.id
PV1-5
.... origin
.participation[typeCode=ORG].role
.... admitSource
.admissionReferralSourceCode
PV1-14
.... reAdmission
n/a
PV1-13
.... dietPreference
  • .outboundRelationship[typeCode=COMP].target[classCode=SBADM
  • moodCode=EVN
  • code="diet"]
PV1-38
.... specialCourtesy
.specialCourtesiesCode
PV1-16
.... specialArrangement
.specialArrangementCode
PV1-15 / OBR-30 / OBR-43
.... destination
.participation[typeCode=DST]
PV1-37
.... dischargeDisposition
.dischargeDispositionCode
PV1-36
... Slices for location
.participation[typeCode=LOC]
.... location:All Slices
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... location
Event.location
.role
FiveWs.where[x]
PV1-3 / PV1-6 / PV1-11 / PV1-42 / PV1-43
..... status
.role.statusCode
..... physicalType
..... period
.time
.... location:va-stop
.participation[typeCode=LOC]
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... location
Event.location
.role
FiveWs.where[x]
PV1-3 / PV1-6 / PV1-11 / PV1-42 / PV1-43
..... status
.role.statusCode
..... physicalType
..... period
.time
.... location:va-loc
.participation[typeCode=LOC]
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... location
Event.location
.role
FiveWs.where[x]
PV1-3 / PV1-6 / PV1-11 / PV1-42 / PV1-43
..... status
.role.statusCode
..... physicalType
..... period
.time
... serviceProvider
Event.performer.actor
.particiaption[typeCode=PFM].role
PL.6 & PL.1
.... 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
N/A
..... type
Role.code or implied by context
CX.5
..... system
II.root or Role.id.root
CX.4 / EI-2-4
..... value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
..... period
Role.effectiveTime or implied by context
CX.7 + CX.8
..... assigner
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
.... display
N/A
... partOf
Event.partOf
  • .inboundRelationship[typeCode=COMP].source[classCode=COMP
  • moodCode=EVN]

doco Documentation for this format