US Veterans Health Administration FHIR Map Set Implementation Guide
1.6.0 - 250701
Publication Build: This will be filled in by the publication tooling
Active as of 2025-06-20 |
Mappings for the Appointment 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.
key | status | direction | source | mapApproach | mapCase | FHIR Path | subPath | mapValue | mapParameter | mapComment | FHIR URL | Ver |
---|---|---|---|---|---|---|---|---|---|---|---|
731 | team-approved | V2F | APPOINTMENT - STATUS (2.98-3) | terminologyMaps | Appointment.status | VF_AppointmentStatus | simple maps in Terminology; complex defined here. | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||
732 | team-approved | V2F | APPOINTMENT - STATUS (2.98-3) | fixed value | I, NT, Null; Null check-in date (44.003-309), null check-out date (44.003-303) | Appointment.status | #booked | simple maps in Terminology; complex defined here. | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||
733 | team-approved | V2F | APPOINTMENT - STATUS (2.98-3) | fixed value | I, NT, Null; Non-null check-in date (44.003-309), null check-out date (44.003-303) | Appointment.status | #arrived | simple maps in Terminology; complex defined here. | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||
734 | team-approved | V2F | APPOINTMENT - STATUS (2.98-3) | fixed value | I, NT, Null; Non-null check-in date (44.003-309), non-null check-out date (44.003-303) | Appointment.status | #fulfilled | simple maps in Terminology; complex defined here. | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||
2033 | for review | V2F | APPOINTMENT - APPOINTMENT TYPE > APPOINTMENT TYPE - NAME (2.98-9.5 > 409.1-.01) | fixed value | SERVICE CONNECTED | Appointment.extension[http://va.gov/fhir/StructureDefinition/resource-serviceConnection].valueCoding | http://va.gov/fhir/vistaDefinedTerms/409.1#SC "Service Connected" | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||
2034 | for review | V2F | APPOINTMENT - APPOINTMENT TYPE > APPOINTMENT TYPE - NAME (2.98-9.5 > 409.1-.01) | fixed value | Not SERVICE CONNECTED | Appointment.extension[http://va.gov/fhir/StructureDefinition/resource-serviceConnection].valueCoding | http://va.gov/fhir/vistaDefinedTerms/409.1#NSC "Not Service Connected" | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||
735 | team-approved | V2F | APPOINTMENT - CANCELLATION REASON (2.98-16) | terminologyMaps | Appointment.cancelationReason | VF_AppointmentCancellationReason | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||||
739 | team-approved | V2F | target not supported | Appointment.specialty | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||||||
740 | team-approved | V2F | APPOINTMENT - APPOINTMENT TYPE > APPOINTMENT TYPE - NAME (2.98-9.5 > 409.1-.01) | source value | Appointment.appointmentType | .text | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||||
741 | team-approved | V2F | target not supported | Appointment.reasonCode | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||||||
742 | team-approved | V2F | target not supported | Appointment.reasonReference | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||||||
743 | team-approved | V2F | APPOINTMENT - APPOINTMENT DATE/TIME (2.98-.001) | source value | Appointment.start | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||||
1612 | for review | V2F | APPOINTMENT - OUTPATIENT ENCOUNTER > OUTPATIENT ENCOUNTER - CHECK OUT PROCESS COMPLETION (2.98-21 > 409.68-.07) | source value | Appointment.end | Added to meet FHIR Core constraint app-2 | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||||
744 | team-approved | V2F | PATIENT - LENGTH OF APP'T (44.003-1) | source value | Appointment.minutesDuration | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||||
745 | team-approved | V2F | APPOINTMENT - DATE APPT. MADE (2.98-20) | source value | Appointment.created | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||||
746 | team-approved | V2F | APPOINTMENT - CLINIC (2.98-.01) | reference | Appointment.participant[va-clinic] | .actor | /Location | .type.coding.code = #PART .status = #accepted |
http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||
1722 | for review | V2F | PATIENT - APPOINTMENT > APPOINTMENT (2-1900 > 2.98) | reference | Appointment.participant[va-patient] | .actor | /Patient | .type.coding.code = #PART .status = #accepted |
Added patient to the appointment map so that it is not assumed | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |
748 | team-approved | V2F | SD WAIT LIST - PATIENT (409.3-.01) | fixed value | not null | Appointment.status | #waitlist | LVH returns "Waitlisted". "Waitlisted" is the display value and "waitlist" is the code. This is a required FHIR value set. 3/15/2023 LVH will fix | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||
749 | team-approved | V2F | SD WAIT LIST - APPT STOP CODE (409.3-13.4) | source value | Appointment.serviceCategory[va-stop-code].coding | .code | .system=http://va.gov/terminology/VistADefinedTerms/409.3-13.4 | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||
750 | team-approved | V2F | SD WAIT LIST - DESIRED DATE OF APPOINTMENT (409.3-22) | source value | Appointment.start | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||||
751 | team-approved | V2F | SD WAIT LIST - ORIGINATING DATE (409.3-1) | source value | Appointment.created | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||||
752 | team-approved | V2F | SD WAIT LIST - COMMENTS (409.3-25) | source value | Appointment.comment | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | |||||
754 | team-approved | V2F | SD WAIT LIST - APPT CLINIC (409.3-13.2) | reference | Appointment.participant[va-apptclinic] | .actor | /Location | .type.coding.code = #PART .status = #tentative |
http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 | ||
1791 | for review | V2F | APPOINTMENT - APPOINTMENT TYPE > APPOINTMENT TYPE - DESCRIPTION (2.98-9.5 > 409.1-10) | source value | Appointment.description | Added after PHAPI gap analysis to match PHAPI fields | http://hl7.org/fhir/StructureDefinition/Appointment | 4.0.1 |
No Mappings Found
No Mappings Found
Name | Workflow Pattern | RIM Mapping | iCalendar | FiveWs Pattern Mapping | HL7 v2 Mapping![]() |
---|---|---|---|---|---|
![]() ![]() |
Request |
Act[@moodCode <= 'INT'] |
VEVENT |
||
![]() ![]() ![]() |
|||||
![]() ![]() ![]() |
|||||
![]() ![]() ![]() |
|||||
![]() ![]() ![]() |
|||||
![]() ![]() ![]() |
Act.text? |
||||
![]() ![]() ![]() |
N/A |
||||
![]() ![]() ![]() |
|||||
![]() ![]() ![]() ![]() |
|||||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
|||||
![]() ![]() ![]() ![]() ![]() |
N/A |
||||
![]() ![]() ![]() ![]() ![]() |
N/A |
||||
![]() ![]() ![]() |
N/A |
||||
![]() ![]() ![]() |
Request.identifier |
.id |
UID |
FiveWs.identifier |
|
![]() ![]() ![]() |
Request.status |
.statusCode |
STATUS |
FiveWs.status |
SCH-25 |
![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() |
|
CATEGORIES |
|||
![]() ![]() ![]() ![]() |
|
CATEGORIES |
|||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
|
| |||
![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() |
./codeSystem |
C*E.3 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
./codeSystemVersion |
C*E.7 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
./code |
C*E.1 | |||
![]() ![]() ![]() ![]() ![]() ![]() |
CV.displayName |
C*E.2 - but note this is not well followed | |||
![]() ![]() ![]() ![]() ![]() ![]() |
CD.codingRationale |
Sometimes implied by being first | |||
![]() ![]() ![]() ![]() ![]() |
./originalText[mediaType/code="text/plain"]/data |
C*E.9. But note many systems use C*E.2 for this | |||
![]() ![]() ![]() |
Request.code |
|
|||
![]() ![]() ![]() |
.performer.AssignedPerson.code |
FiveWs.class |
|||
![]() ![]() ![]() |
.code |
CLASSIFICATION |
ARQ-7 | ||
![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() |
|
| |||
![]() ![]() ![]() ![]() |
./originalText[mediaType/code="text/plain"]/data |
C*E.9. But note many systems use C*E.2 for this | |||
![]() ![]() ![]() |
Request.reasonCode |
.reasonCode |
| ||
![]() ![]() ![]() |
Request.reasonReference |
.inboundRelationship[@typeCode = 'RSON'].observation |
|||
![]() ![]() ![]() |
Request.priority |
.priorityCode |
PRIORITY |
FiveWs.class |
|
![]() ![]() ![]() |
.text |
SUMMARY |
NTE-3 | ||
![]() ![]() ![]() |
Request.supportingInfo |
.inboundRelationship[@typeCode = 'SPRT'].observation |
ATTACH |
FiveWs.context |
|
![]() ![]() ![]() |
Request.occurrence[x] |
.effectiveTime.low |
DTSTART |
FiveWs.init |
|
![]() ![]() ![]() |
Request.occurrence[x] |
.effectiveTime.high |
DTEND |
FiveWs.done[x] |
SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9 |
![]() ![]() ![]() |
Request.occurrence[x] |
|
DURATION (e.g. PT15M) |
||
![]() ![]() ![]() |
.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT'] |
||||
![]() ![]() ![]() |
Request.authoredOn |
.author.time |
CREATED |
||
![]() ![]() ![]() |
Request.note |
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value |
DESCRIPTION (for internal use) |
NTE-3 | |
![]() ![]() ![]() |
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value |
DESCRIPTION (for patient use) |
NTE-3 | ||
![]() ![]() ![]() |
Request.basedOn |
.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO'] |
|||
![]() ![]() ![]() |
|
performer | reusableDevice | subject | location |
ATTENDEE component to be created |
| |
![]() ![]() ![]() ![]() |
|||||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
N/A |
||||
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).@typeCode |
n/a |
| ||
![]() ![]() ![]() ![]() ![]() |
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
FiveWs.who |
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 | |
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).@performInd |
ROLE=REQ-PARTICIPANT (roleparam) |
|||
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).statusCode |
mailto:john@doe.com (rsvpparam | partstatparam) |
| ||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() |
|
performer | reusableDevice | subject | location |
ATTENDEE component to be created |
| |
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
N/A |
||||
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).@typeCode |
n/a |
| ||
![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() |
|
| |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./codeSystem |
C*E.3 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./codeSystemVersion |
C*E.7 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./code |
C*E.1 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CV.displayName |
C*E.2 - but note this is not well followed | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CD.codingRationale |
Sometimes implied by being first | |||
![]() ![]() ![]() ![]() ![]() ![]() |
./originalText[mediaType/code="text/plain"]/data |
C*E.9. But note many systems use C*E.2 for this | |||
![]() ![]() ![]() ![]() ![]() |
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
FiveWs.who |
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 | |
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).@performInd |
ROLE=REQ-PARTICIPANT (roleparam) |
|||
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).statusCode |
mailto:john@doe.com (rsvpparam | partstatparam) |
| ||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() |
|
performer | reusableDevice | subject | location |
ATTENDEE component to be created |
| |
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
N/A |
||||
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).@typeCode |
n/a |
| ||
![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() |
|
| |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./codeSystem |
C*E.3 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./codeSystemVersion |
C*E.7 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./code |
C*E.1 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CV.displayName |
C*E.2 - but note this is not well followed | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CD.codingRationale |
Sometimes implied by being first | |||
![]() ![]() ![]() ![]() ![]() ![]() |
./originalText[mediaType/code="text/plain"]/data |
C*E.9. But note many systems use C*E.2 for this | |||
![]() ![]() ![]() ![]() ![]() |
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
FiveWs.who |
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 | |
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).@performInd |
ROLE=REQ-PARTICIPANT (roleparam) |
|||
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).statusCode |
mailto:john@doe.com (rsvpparam | partstatparam) |
| ||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() |
|
performer | reusableDevice | subject | location |
ATTENDEE component to be created |
| |
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() |
N/A |
||||
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).@typeCode |
n/a |
| ||
![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() |
|
| |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./codeSystem |
C*E.3 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./codeSystemVersion |
C*E.7 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
./code |
C*E.1 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CV.displayName |
C*E.2 - but note this is not well followed | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CD.codingRationale |
Sometimes implied by being first | |||
![]() ![]() ![]() ![]() ![]() ![]() |
./originalText[mediaType/code="text/plain"]/data |
C*E.9. But note many systems use C*E.2 for this | |||
![]() ![]() ![]() ![]() ![]() |
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation |
(Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only" |
FiveWs.who |
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3 | |
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).@performInd |
ROLE=REQ-PARTICIPANT (roleparam) |
|||
![]() ![]() ![]() ![]() ![]() |
(performer | reusableDevice | subject | location).statusCode |
mailto:john@doe.com (rsvpparam | partstatparam) |
| ||
![]() ![]() ![]() ![]() ![]() |
n/a |
||||
![]() ![]() ![]() |
Request.occurrence[x] |
|
ARQ-11 | ||
![]() |