US Veterans Health Administration FHIR Map Set Implementation Guide
2.5.0 - 260401a
US Veterans Health Administration FHIR Map Set Implementation Guide - Downloaded Version 2.5.0 See the Directory of published versions
| Draft as of 2026-03-31 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="Vpr2VAAppointment"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap Vpr2VAAppointment</b></p><a name="Vpr2VAAppointment"> </a><a name="hcVpr2VAAppointment"> </a><pre class="fml">
<b>map</b><span style="color: navy"> "</span>http://va.gov/fhir/StructureMap/Vpr2VAAppointment<span style="color: navy">" = "</span>Vpr2VAAppointment<span style="color: navy">"
</span><b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-VprAppointment.html" title="VPR appointment">http://va.gov/fhir/StructureDefinition/VprAppointment</a><span style="color: navy">" </span><b>alias </b>VprAppointment <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-VprDemographics.html" title="VPR demographics">http://va.gov/fhir/StructureDefinition/VprDemographics</a><span style="color: navy">" </span><b>alias </b>VprDemographics <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-VAAppointment.html" title="VAAppointment">http://va.gov/fhir/StructureDefinition/VAAppointment</a><span style="color: navy">" </span><b>alias </b>VAAppointment <b>as </b><b>target</b>
<b>group </b>map<span style="color: navy">(</span><b>source</b> <span style="color: maroon">appointment</span><span style="color: navy"> : </span>VprAppointment, <b>source</b> <span style="color: maroon">demographics</span><span style="color: navy"> : </span>VprDemographics, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>VAAppointment<span style="color: navy">)</span><b> <<type+>></b><span style="color: navy"> {
</span> appointment.apptStatus<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: maroon">v</span><span style="color: navy">;</span>
appointment.patientClass<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: maroon">v</span><span style="color: navy">;</span>
appointment.serviceCategory<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: maroon">v</span><span style="color: navy">;</span>
appointment.apptStatus<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#booked'</span><span style="color: navy">;</span>
appointment.patientClass<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#booked'</span><span style="color: navy">;</span>
appointment.serviceCategory<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#booked'</span><span style="color: navy">;</span>
appointment.apptStatus<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#arrived'</span><span style="color: navy">;</span>
appointment.patientClass<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#arrived'</span><span style="color: navy">;</span>
appointment.serviceCategory<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#arrived'</span><span style="color: navy">;</span>
appointment.apptStatus<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#fulfilled'</span><span style="color: navy">;</span>
appointment.patientClass<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#fulfilled'</span><span style="color: navy">;</span>
appointment.serviceCategory<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'#fulfilled'</span><span style="color: navy">;</span>
appointment.type<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span> tgt.extension<b> as </b><span style="color: maroon">e0</span><span style="color: navy">, </span> e0.url = <span style="color: blue">'http://va.gov/fhir/StructureDefinition/resource-serviceConnection'</span><span style="color: navy">, </span> e0.value = <span style="color: blue">'http://va.gov/fhir/CodeSystem/409.1#SC \"Service Connected\"'</span><span style="color: navy">, </span> e0.value = <span style="color: blue">'http://va.gov/fhir/CodeSystem/409.1#NSC \"Not Service Connected\"'</span><span style="color: navy">;</span>
appointment.type<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span> tgt.appointmentType<b> as </b><span style="color: maroon">a0</span><span style="color: navy">, </span> a0.text = <span style="color: maroon">v</span><span style="color: navy">;</span>
appointment.dateTime<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.start = <span style="color: maroon">v</span><span style="color: navy">;</span>
appointment.id<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.start = <span style="color: maroon">v</span><span style="color: navy">;</span>
appointment.visitString<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.start = <span style="color: maroon">v</span><span style="color: navy">;</span>
appointment.clinicStop<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span> tgt.participant<b> as </b><span style="color: maroon">p0</span><span style="color: navy">, </span> p0.actor = <span style="color: maroon">v</span><span style="color: navy">, </span> p0.actor = <span style="color: maroon">v</span><span style="color: navy">, </span> p0.actor = <span style="color: maroon">v</span><span style="color: navy">, </span> p0.actor = <span style="color: maroon">v</span><span style="color: navy">, </span> p0.actor = <span style="color: maroon">v</span><span style="color: navy">, </span> p0.actor = <span style="color: maroon">v</span><span style="color: navy">, </span> p0.status = <span style="color: blue">'#accepted'</span><span style="color: navy">, </span> p0.status = <span style="color: blue">'#accepted'</span><span style="color: navy">, </span> p0.status = <span style="color: blue">'#accepted'</span><span style="color: navy">, </span> p0.status = <span style="color: blue">'#accepted'</span><span style="color: navy">, </span> p0.status = <span style="color: blue">'#accepted'</span><span style="color: navy">, </span> p0.status = <span style="color: blue">'#accepted'</span><span style="color: navy">;</span>
appointment.clinicStop<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span> tgt.participant<b> as </b><span style="color: maroon">p0</span><span style="color: navy">, </span> p0.type<b> as </b><span style="color: maroon">t1</span><span style="color: navy">, </span> t1.coding<b> as </b><span style="color: maroon">c2</span><span style="color: navy">, </span> c2.code = <span style="color: blue">'#PART'</span><span style="color: navy">, </span> c2.code = <span style="color: blue">'#PART'</span><span style="color: navy">, </span> c2.code = <span style="color: blue">'#PART'</span><span style="color: navy">, </span> c2.code = <span style="color: blue">'#PART'</span><span style="color: navy">, </span> c2.code = <span style="color: blue">'#PART'</span><span style="color: navy">, </span> c2.code = <span style="color: blue">'#PART'</span><span style="color: navy">;</span>
demographics.familyName<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span> tgt.participant<b> as </b><span style="color: maroon">p0</span><span style="color: navy">, </span> p0.actor<b> as </b><span style="color: maroon">a1</span><span style="color: navy">, </span> a1.display = <span style="color: maroon">v</span><span style="color: navy">, </span> a1.display = <span style="color: maroon">v</span><span style="color: navy">, </span> a1.display = <span style="color: maroon">v</span><span style="color: navy">;</span>
appointment.type<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>tgt.description = <span style="color: maroon">v</span><span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<url value="http://va.gov/fhir/StructureMap/Vpr2VAAppointment"/>
<version value="2.5.0"/>
<name value="Vpr2VAAppointment"/>
<status value="draft"/>
<date value="2026-03-31T16:09:38+00:00"/>
<publisher value="VA"/>
<contact>
<name value="VA"/>
<telecom>
<system value="url"/>
<value value="https://www.va.gov"/>
</telecom>
</contact>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="US"/>
<display value="United States of America"/>
</coding>
</jurisdiction>
<structure>
<url value="http://va.gov/fhir/StructureDefinition/VprAppointment"/>
<mode value="source"/>
<alias value="VprAppointment"/>
</structure>
<structure>
<url value="http://va.gov/fhir/StructureDefinition/VprDemographics"/>
<mode value="source"/>
<alias value="VprDemographics"/>
</structure>
<structure>
<url value="http://va.gov/fhir/StructureDefinition/VAAppointment"/>
<mode value="target"/>
<alias value="VAAppointment"/>
</structure>
<group>
<name value="map"/>
<typeMode value="type-and-types"/>
<input>
<name value="appointment"/>
<type value="VprAppointment"/>
<mode value="source"/>
</input>
<input>
<name value="demographics"/>
<type value="VprDemographics"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="VAAppointment"/>
<mode value="target"/>
</input>
<rule>
<name value="apptStatus"/>
<source>
<context value="appointment"/>
<element value="apptStatus"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="patientClass"/>
<source>
<context value="appointment"/>
<element value="patientClass"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="serviceCategory"/>
<source>
<context value="appointment"/>
<element value="serviceCategory"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="apptStatus"/>
<source>
<context value="appointment"/>
<element value="apptStatus"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#booked"/>
</parameter>
</target>
</rule>
<rule>
<name value="patientClass"/>
<source>
<context value="appointment"/>
<element value="patientClass"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#booked"/>
</parameter>
</target>
</rule>
<rule>
<name value="serviceCategory"/>
<source>
<context value="appointment"/>
<element value="serviceCategory"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#booked"/>
</parameter>
</target>
</rule>
<rule>
<name value="apptStatus"/>
<source>
<context value="appointment"/>
<element value="apptStatus"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#arrived"/>
</parameter>
</target>
</rule>
<rule>
<name value="patientClass"/>
<source>
<context value="appointment"/>
<element value="patientClass"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#arrived"/>
</parameter>
</target>
</rule>
<rule>
<name value="serviceCategory"/>
<source>
<context value="appointment"/>
<element value="serviceCategory"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#arrived"/>
</parameter>
</target>
</rule>
<rule>
<name value="apptStatus"/>
<source>
<context value="appointment"/>
<element value="apptStatus"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#fulfilled"/>
</parameter>
</target>
</rule>
<rule>
<name value="patientClass"/>
<source>
<context value="appointment"/>
<element value="patientClass"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#fulfilled"/>
</parameter>
</target>
</rule>
<rule>
<name value="serviceCategory"/>
<source>
<context value="appointment"/>
<element value="serviceCategory"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#fulfilled"/>
</parameter>
</target>
</rule>
<rule>
<name value="type"/>
<source>
<context value="appointment"/>
<element value="type"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="e0"/>
</target>
<target>
<context value="e0"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://va.gov/fhir/StructureDefinition/resource-serviceConnection"/>
</parameter>
</target>
<target>
<context value="e0"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://va.gov/fhir/CodeSystem/409.1#SC "Service Connected""/>
</parameter>
</target>
<target>
<context value="e0"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://va.gov/fhir/CodeSystem/409.1#NSC "Not Service Connected""/>
</parameter>
</target>
</rule>
<rule>
<name value="type"/>
<source>
<context value="appointment"/>
<element value="type"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="appointmentType"/>
<variable value="a0"/>
</target>
<target>
<context value="a0"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="dateTime"/>
<source>
<context value="appointment"/>
<element value="dateTime"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="start"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="id"/>
<source>
<context value="appointment"/>
<element value="id"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="start"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="visitString"/>
<source>
<context value="appointment"/>
<element value="visitString"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="start"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="clinicStop"/>
<source>
<context value="appointment"/>
<element value="clinicStop"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="participant"/>
<variable value="p0"/>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="actor"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="actor"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="actor"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="actor"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="actor"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="actor"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#accepted"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#accepted"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#accepted"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#accepted"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#accepted"/>
</parameter>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="#accepted"/>
</parameter>
</target>
</rule>
<rule>
<name value="clinicStop"/>
<source>
<context value="appointment"/>
<element value="clinicStop"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="participant"/>
<variable value="p0"/>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="t1"/>
</target>
<target>
<context value="t1"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="c2"/>
</target>
<target>
<context value="c2"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="#PART"/>
</parameter>
</target>
<target>
<context value="c2"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="#PART"/>
</parameter>
</target>
<target>
<context value="c2"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="#PART"/>
</parameter>
</target>
<target>
<context value="c2"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="#PART"/>
</parameter>
</target>
<target>
<context value="c2"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="#PART"/>
</parameter>
</target>
<target>
<context value="c2"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="#PART"/>
</parameter>
</target>
</rule>
<rule>
<name value="familyName"/>
<source>
<context value="demographics"/>
<element value="familyName"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="participant"/>
<variable value="p0"/>
</target>
<target>
<context value="p0"/>
<contextType value="variable"/>
<element value="actor"/>
<variable value="a1"/>
</target>
<target>
<context value="a1"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
<target>
<context value="a1"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
<target>
<context value="a1"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="type"/>
<source>
<context value="appointment"/>
<element value="type"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="description"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
</group>
</StructureMap>