{
  "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\"> &quot;</span>http://va.gov/fhir/StructureMap/Vpr2VAAppointment<span style=\"color: navy\">&quot; = &quot;</span>Vpr2VAAppointment<span style=\"color: navy\">&quot;\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-VprAppointment.html\" title=\"VPR appointment\">http://va.gov/fhir/StructureDefinition/VprAppointment</a><span style=\"color: navy\">&quot; </span><b>alias </b>VprAppointment <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-VprDemographics.html\" title=\"VPR demographics\">http://va.gov/fhir/StructureDefinition/VprDemographics</a><span style=\"color: navy\">&quot; </span><b>alias </b>VprDemographics <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-VAAppointment.html\" title=\"VAAppointment\">http://va.gov/fhir/StructureDefinition/VAAppointment</a><span style=\"color: navy\">&quot; </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> &lt;&lt;type+&gt;&gt;</b><span style=\"color: navy\"> {\r\n</span>  appointment.apptStatus<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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 \\&quot;Service Connected\\&quot;'</span><span style=\"color: navy\">, </span> e0.value = <span style=\"color: blue\">'http://va.gov/fhir/CodeSystem/409.1#NSC \\&quot;Not Service Connected\\&quot;'</span><span style=\"color: navy\">;</span>\r\n  appointment.type<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </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"
        }]
      }]
    }]
  }]
}