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 |
{
"resourceType" : "StructureMap",
"id" : "Vpr2VAAppointment",
"text" : {
"status" : "generated",
"div" : "<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\">\r\n<b>map</b><span style=\"color: navy\"> "</span>http://va.gov/fhir/StructureMap/Vpr2VAAppointment<span style=\"color: navy\">" = "</span>Vpr2VAAppointment<span style=\"color: navy\">"\r\n\r\n</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>\r\n<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>\r\n<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>\r\n\r\n<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\"> {\r\n</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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n 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>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "http://va.gov/fhir/StructureMap/Vpr2VAAppointment",
"version" : "2.5.0",
"name" : "Vpr2VAAppointment",
"status" : "draft",
"date" : "2026-03-31T16:09:38+00:00",
"publisher" : "VA",
"contact" : [
{
"name" : "VA",
"telecom" : [
{
"system" : "url",
"value" : "https://www.va.gov"
}
]
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "US",
"display" : "United States of America"
}
]
}
],
"structure" : [
{
"url" : "http://va.gov/fhir/StructureDefinition/VprAppointment",
"mode" : "source",
"alias" : "VprAppointment"
},
{
"url" : "http://va.gov/fhir/StructureDefinition/VprDemographics",
"mode" : "source",
"alias" : "VprDemographics"
},
{
"url" : "http://va.gov/fhir/StructureDefinition/VAAppointment",
"mode" : "target",
"alias" : "VAAppointment"
}
],
"group" : [
{
"name" : "map",
"typeMode" : "type-and-types",
"input" : [
{
"name" : "appointment",
"type" : "VprAppointment",
"mode" : "source"
},
{
"name" : "demographics",
"type" : "VprDemographics",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "VAAppointment",
"mode" : "target"
}
],
"rule" : [
{
"name" : "apptStatus",
"source" : [
{
"context" : "appointment",
"element" : "apptStatus",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
},
{
"name" : "patientClass",
"source" : [
{
"context" : "appointment",
"element" : "patientClass",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
},
{
"name" : "serviceCategory",
"source" : [
{
"context" : "appointment",
"element" : "serviceCategory",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
},
{
"name" : "apptStatus",
"source" : [
{
"context" : "appointment",
"element" : "apptStatus",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#booked"
}
]
}
]
},
{
"name" : "patientClass",
"source" : [
{
"context" : "appointment",
"element" : "patientClass",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#booked"
}
]
}
]
},
{
"name" : "serviceCategory",
"source" : [
{
"context" : "appointment",
"element" : "serviceCategory",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#booked"
}
]
}
]
},
{
"name" : "apptStatus",
"source" : [
{
"context" : "appointment",
"element" : "apptStatus",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#arrived"
}
]
}
]
},
{
"name" : "patientClass",
"source" : [
{
"context" : "appointment",
"element" : "patientClass",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#arrived"
}
]
}
]
},
{
"name" : "serviceCategory",
"source" : [
{
"context" : "appointment",
"element" : "serviceCategory",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#arrived"
}
]
}
]
},
{
"name" : "apptStatus",
"source" : [
{
"context" : "appointment",
"element" : "apptStatus",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#fulfilled"
}
]
}
]
},
{
"name" : "patientClass",
"source" : [
{
"context" : "appointment",
"element" : "patientClass",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#fulfilled"
}
]
}
]
},
{
"name" : "serviceCategory",
"source" : [
{
"context" : "appointment",
"element" : "serviceCategory",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#fulfilled"
}
]
}
]
},
{
"name" : "type",
"source" : [
{
"context" : "appointment",
"element" : "type",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "extension",
"variable" : "e0"
},
{
"context" : "e0",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://va.gov/fhir/StructureDefinition/resource-serviceConnection"
}
]
},
{
"context" : "e0",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://va.gov/fhir/CodeSystem/409.1#SC \"Service Connected\""
}
]
},
{
"context" : "e0",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://va.gov/fhir/CodeSystem/409.1#NSC \"Not Service Connected\""
}
]
}
]
},
{
"name" : "type",
"source" : [
{
"context" : "appointment",
"element" : "type",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "appointmentType",
"variable" : "a0"
},
{
"context" : "a0",
"contextType" : "variable",
"element" : "text",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
},
{
"name" : "dateTime",
"source" : [
{
"context" : "appointment",
"element" : "dateTime",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "start",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
},
{
"name" : "id",
"source" : [
{
"context" : "appointment",
"element" : "id",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "start",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
},
{
"name" : "visitString",
"source" : [
{
"context" : "appointment",
"element" : "visitString",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "start",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
},
{
"name" : "clinicStop",
"source" : [
{
"context" : "appointment",
"element" : "clinicStop",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "participant",
"variable" : "p0"
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "actor",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "actor",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "actor",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "actor",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "actor",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "actor",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#accepted"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#accepted"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#accepted"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#accepted"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#accepted"
}
]
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#accepted"
}
]
}
]
},
{
"name" : "clinicStop",
"source" : [
{
"context" : "appointment",
"element" : "clinicStop",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "participant",
"variable" : "p0"
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "type",
"variable" : "t1"
},
{
"context" : "t1",
"contextType" : "variable",
"element" : "coding",
"variable" : "c2"
},
{
"context" : "c2",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#PART"
}
]
},
{
"context" : "c2",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#PART"
}
]
},
{
"context" : "c2",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#PART"
}
]
},
{
"context" : "c2",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#PART"
}
]
},
{
"context" : "c2",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#PART"
}
]
},
{
"context" : "c2",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#PART"
}
]
}
]
},
{
"name" : "familyName",
"source" : [
{
"context" : "demographics",
"element" : "familyName",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "participant",
"variable" : "p0"
},
{
"context" : "p0",
"contextType" : "variable",
"element" : "actor",
"variable" : "a1"
},
{
"context" : "a1",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
},
{
"context" : "a1",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
},
{
"context" : "a1",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
},
{
"name" : "type",
"source" : [
{
"context" : "appointment",
"element" : "type",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "description",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}