Guía de Implementación de Homologación Regional (PH4H) de Costa Rica
0.1.0 - ci-build Costa Rica bandera

Guía de Implementación de Homologación Regional (PH4H) de Costa Rica - Versión en desarrollo (v0.1.0): borrador de trabajo de la Iniciativa HL7® Costa Rica, que puede cambiar sin aviso.

: CRComun

Estado de las normas de la página: Draft

json bruto | Descargar

{
  "resourceType" : "StructureMap",
  "id" : "CRComun",
  "language" : "es",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Narrativa generada: MapaDeEstructura CRComun</b></p><a name=\"CRComun\"> </a><a name=\"hcCRComun\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>https://hl7.or.cr/fhir/ph4h/StructureMap/CRComun<span style=\"color: navy\">&quot; = &quot;</span>CRComun<span style=\"color: navy\">&quot;\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Identificador: el system pasa de URI a OID (ConceptMap cr-sistema-identificador-oid, opción (a) de la</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">homologación) y el tipo conserva solo el coding de HL7 v2-0203, que entienden los demás países.</span>\r\n\r\n<b>group </b>Identificador<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">id</span><span style=\"color: navy\"> : </span>Identifier, <b>target</b> <span style=\"color: maroon\">ti</span><span style=\"color: navy\"> : </span>Identifier<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  id.use<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.use = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  id.type<b> as </b><span style=\"color: maroon\">st</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.type<b> as </b><span style=\"color: maroon\">tt</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    st.coding<b> as </b><span style=\"color: maroon\">sc</span><b> where </b><span style=\"color: navy\">(</span>system = 'http://terminology.hl7.org/CodeSystem/v2-0203'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>tt.coding<b> as </b><span style=\"color: maroon\">c</span><b> then </b>Codificacion<span style=\"color: navy\">(</span><span style=\"color: maroon\">sc</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">c</span><span style=\"color: navy\">)</span> <i>&quot;v2&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  id.system<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.system = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://hl7.or.cr/fhir/ph4h/ConceptMap/cr-sistema-identificador-oid'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  id.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.value = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  id.period<b> as </b><span style=\"color: maroon\">p</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.period<b> as </b><span style=\"color: maroon\">tp</span><b> then </b>Periodo<span style=\"color: navy\">(</span><span style=\"color: maroon\">p</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tp</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  id.assigner<b> as </b><span style=\"color: maroon\">a</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.assigner<b> as </b><span style=\"color: maroon\">ta</span><b> then </b>Referencia<span style=\"color: navy\">(</span><span style=\"color: maroon\">a</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">ta</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Referencia: se conserva la referencia. Si es lógica (por identificador), su system también pasa a OID y se</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">agrega el tipo de HL7 v2-0203, porque con el OID del país el system ya no distingue el tipo de identificador.</span>\r\n<b>group </b>Referencia<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\"> : </span>Reference, <b>target</b> <span style=\"color: maroon\">tr</span><span style=\"color: navy\"> : </span>Reference<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  r.reference<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tr.reference = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  r.type<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tr.type = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  r.identifier<b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\"><b> -&gt; </b></span>tr.identifier<b> as </b><span style=\"color: maroon\">ti</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    id.type<b> as </b><span style=\"color: maroon\">t</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.type<b> as </b><span style=\"color: maroon\">tt</span><b> then </b>Concepto<span style=\"color: navy\">(</span><span style=\"color: maroon\">t</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tt</span><span style=\"color: navy\">)</span> <i>&quot;tipoExplicito&quot;</i><span style=\"color: navy\">;</span>\r\n    id<b> where </b><span style=\"color: navy\">(</span>type.exists().not() and system.startsWith('https://hl7.or.cr/fhir/sid/pasaporte/')<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> ti.type<b> as </b><span style=\"color: maroon\">tt</span><span style=\"color: navy\">, </span> tt.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      id<span style=\"color: navy\"><b> -&gt; </b></span> c.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v2-0203'</span><span style=\"color: navy\">, </span> c.code = <span style=\"color: blue\">'PPN'</span> <i>&quot;ppn&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;tipoPasaporte&quot;</i><span style=\"color: navy\">;</span>\r\n    id<b> where </b><span style=\"color: navy\">(</span>type.exists().not() and system.startsWith('https://hl7.or.cr/fhir/sid/pasaporte/').not()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> ti.type<b> as </b><span style=\"color: maroon\">tt</span><span style=\"color: navy\">, </span> tt.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      id.system<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span> c.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v2-0203'</span><span style=\"color: navy\">, </span> c.code = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://hl7.or.cr/fhir/ph4h/ConceptMap/cr-sistema-identificador-tipo'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span> <i>&quot;v2&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;tipoDelSystem&quot;</i><span style=\"color: navy\">;</span>\r\n    id.system<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.system = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://hl7.or.cr/fhir/ph4h/ConceptMap/cr-sistema-identificador-oid'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n    id.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ti.value = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  r.display<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tr.display = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>Concepto<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">cc</span><span style=\"color: navy\"> : </span>CodeableConcept, <b>target</b> <span style=\"color: maroon\">tc</span><span style=\"color: navy\"> : </span>CodeableConcept<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  cc.coding<b> as </b><span style=\"color: maroon\">c</span><span style=\"color: navy\"><b> -&gt; </b></span>tc.coding<b> as </b><span style=\"color: maroon\">t</span><b> then </b>Codificacion<span style=\"color: navy\">(</span><span style=\"color: maroon\">c</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">t</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  cc.text<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tc.text = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>Codificacion<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">c</span><span style=\"color: navy\"> : </span>Coding, <b>target</b> <span style=\"color: maroon\">t</span><span style=\"color: navy\"> : </span>Coding<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  c.system<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>t.system = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  c.version<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>t.version = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  c.code<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>t.code = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  c.display<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>t.display = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>Nombre<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">n</span><span style=\"color: navy\"> : </span>HumanName, <b>target</b> <span style=\"color: maroon\">tn</span><span style=\"color: navy\"> : </span>HumanName<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  n.use<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tn.use = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  n.text<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tn.text = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  n.family<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tn.family = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  n.given<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tn.given = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  n.prefix<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tn.prefix = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  n.suffix<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tn.suffix = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>Telecom<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">t</span><span style=\"color: navy\"> : </span>ContactPoint, <b>target</b> <span style=\"color: maroon\">tt</span><span style=\"color: navy\"> : </span>ContactPoint<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  t.system<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tt.system = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  t.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tt.value = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  t.use<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tt.use = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  t.rank<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tt.rank = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Dirección: el país pasa de alfa-3 a alfa-2 (ConceptMap cr-pais-alfa3-alfa2 de la IG terminológica).</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Provincia, cantón y distrito van con su código de la DTA; el barrio, en la extensión estándar precinct.</span>\r\n<b>group </b>Direccion<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">a</span><span style=\"color: navy\"> : </span>Address, <b>target</b> <span style=\"color: maroon\">ta</span><span style=\"color: navy\"> : </span>Address<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  a.extension<b> as </b><span style=\"color: maroon\">e</span><b> where </b><span style=\"color: navy\">(</span>url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.extension<b> as </b><span style=\"color: maroon\">te</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    e.url<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>te.url = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n    e.value<span style=\"color: navy\"> : </span>string<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>te.value = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;precinct&quot;</i><span style=\"color: navy\">;</span>\r\n  a.use<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.use = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  a.text<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.text = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  a.line<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.line = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  a.city<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.city = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  a.district<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.district = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  a.state<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.state = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  a.postalCode<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.postalCode = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  a.country<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ta.country = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://hl7.or.cr/fhir/terminology/ConceptMap/cr-pais-alfa3-alfa2'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>Periodo<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">p</span><span style=\"color: navy\"> : </span>Period, <b>target</b> <span style=\"color: maroon\">tp</span><span style=\"color: navy\"> : </span>Period<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  p.start<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tp.start = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n  p.end<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>tp.end = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode" : "draft",
      "_valueCode" : {
        "extension" : [
          {
            "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical" : "https://hl7.or.cr/fhir/ph4h/ImplementationGuide/hl7.fhir.cr.ph4h"
          }
        ]
      }
    }
  ],
  "url" : "https://hl7.or.cr/fhir/ph4h/StructureMap/CRComun",
  "version" : "0.1.0",
  "name" : "CRComun",
  "status" : "draft",
  "date" : "2026-10-06T00:22:41-06:00",
  "publisher" : "Iniciativa HL7 Costa Rica",
  "contact" : [
    {
      "name" : "Iniciativa HL7 Costa Rica",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://hl7.or.cr"
        }
      ]
    }
  ],
  "description" : "Identificador: el system pasa de URI a OID (ConceptMap cr-sistema-identificador-oid, opción (a) de la\r\nhomologación) y el tipo conserva solo el coding de HL7 v2-0203, que entienden los demás países.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "CR",
          "display" : "Costa Rica"
        }
      ]
    }
  ],
  "group" : [
    {
      "name" : "Identificador",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "id",
          "type" : "Identifier",
          "mode" : "source"
        },
        {
          "name" : "ti",
          "type" : "Identifier",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "use",
          "source" : [
            {
              "context" : "id",
              "element" : "use",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ti",
              "contextType" : "variable",
              "element" : "use",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "type",
          "source" : [
            {
              "context" : "id",
              "element" : "type",
              "variable" : "st"
            }
          ],
          "target" : [
            {
              "context" : "ti",
              "contextType" : "variable",
              "element" : "type",
              "variable" : "tt"
            }
          ],
          "rule" : [
            {
              "name" : "v2",
              "source" : [
                {
                  "context" : "st",
                  "element" : "coding",
                  "variable" : "sc",
                  "condition" : "system = 'http://terminology.hl7.org/CodeSystem/v2-0203'"
                }
              ],
              "target" : [
                {
                  "context" : "tt",
                  "contextType" : "variable",
                  "element" : "coding",
                  "variable" : "c"
                }
              ],
              "dependent" : [
                {
                  "name" : "Codificacion",
                  "variable" : [
                    "sc",
                    "c"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "system",
          "source" : [
            {
              "context" : "id",
              "element" : "system",
              "variable" : "s"
            }
          ],
          "target" : [
            {
              "context" : "ti",
              "contextType" : "variable",
              "element" : "system",
              "transform" : "translate",
              "parameter" : [
                {
                  "valueId" : "s"
                },
                {
                  "valueString" : "https://hl7.or.cr/fhir/ph4h/ConceptMap/cr-sistema-identificador-oid"
                },
                {
                  "valueString" : "code"
                }
              ]
            }
          ]
        },
        {
          "name" : "value",
          "source" : [
            {
              "context" : "id",
              "element" : "value",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ti",
              "contextType" : "variable",
              "element" : "value",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "period",
          "source" : [
            {
              "context" : "id",
              "element" : "period",
              "variable" : "p"
            }
          ],
          "target" : [
            {
              "context" : "ti",
              "contextType" : "variable",
              "element" : "period",
              "variable" : "tp"
            }
          ],
          "dependent" : [
            {
              "name" : "Periodo",
              "variable" : [
                "p",
                "tp"
              ]
            }
          ]
        },
        {
          "name" : "assigner",
          "source" : [
            {
              "context" : "id",
              "element" : "assigner",
              "variable" : "a"
            }
          ],
          "target" : [
            {
              "context" : "ti",
              "contextType" : "variable",
              "element" : "assigner",
              "variable" : "ta"
            }
          ],
          "dependent" : [
            {
              "name" : "Referencia",
              "variable" : [
                "a",
                "ta"
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "Referencia",
      "typeMode" : "none",
      "documentation" : "Referencia: se conserva la referencia. Si es lógica (por identificador), su system también pasa a OID y se\r\nagrega el tipo de HL7 v2-0203, porque con el OID del país el system ya no distingue el tipo de identificador.",
      "input" : [
        {
          "name" : "r",
          "type" : "Reference",
          "mode" : "source"
        },
        {
          "name" : "tr",
          "type" : "Reference",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "reference",
          "source" : [
            {
              "context" : "r",
              "element" : "reference",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tr",
              "contextType" : "variable",
              "element" : "reference",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "type",
          "source" : [
            {
              "context" : "r",
              "element" : "type",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tr",
              "contextType" : "variable",
              "element" : "type",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "identifier",
          "source" : [
            {
              "context" : "r",
              "element" : "identifier",
              "variable" : "id"
            }
          ],
          "target" : [
            {
              "context" : "tr",
              "contextType" : "variable",
              "element" : "identifier",
              "variable" : "ti"
            }
          ],
          "rule" : [
            {
              "name" : "tipoExplicito",
              "source" : [
                {
                  "context" : "id",
                  "element" : "type",
                  "variable" : "t"
                }
              ],
              "target" : [
                {
                  "context" : "ti",
                  "contextType" : "variable",
                  "element" : "type",
                  "variable" : "tt"
                }
              ],
              "dependent" : [
                {
                  "name" : "Concepto",
                  "variable" : [
                    "t",
                    "tt"
                  ]
                }
              ]
            },
            {
              "name" : "tipoPasaporte",
              "source" : [
                {
                  "context" : "id",
                  "condition" : "type.exists().not() and system.startsWith('https://hl7.or.cr/fhir/sid/pasaporte/')"
                }
              ],
              "target" : [
                {
                  "context" : "ti",
                  "contextType" : "variable",
                  "element" : "type",
                  "variable" : "tt"
                },
                {
                  "context" : "tt",
                  "contextType" : "variable",
                  "element" : "coding",
                  "variable" : "c"
                }
              ],
              "rule" : [
                {
                  "name" : "ppn",
                  "source" : [
                    {
                      "context" : "id"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "c",
                      "contextType" : "variable",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://terminology.hl7.org/CodeSystem/v2-0203"
                        }
                      ]
                    },
                    {
                      "context" : "c",
                      "contextType" : "variable",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "PPN"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "tipoDelSystem",
              "source" : [
                {
                  "context" : "id",
                  "condition" : "type.exists().not() and system.startsWith('https://hl7.or.cr/fhir/sid/pasaporte/').not()"
                }
              ],
              "target" : [
                {
                  "context" : "ti",
                  "contextType" : "variable",
                  "element" : "type",
                  "variable" : "tt"
                },
                {
                  "context" : "tt",
                  "contextType" : "variable",
                  "element" : "coding",
                  "variable" : "c"
                }
              ],
              "rule" : [
                {
                  "name" : "v2",
                  "source" : [
                    {
                      "context" : "id",
                      "element" : "system",
                      "variable" : "s"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "c",
                      "contextType" : "variable",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://terminology.hl7.org/CodeSystem/v2-0203"
                        }
                      ]
                    },
                    {
                      "context" : "c",
                      "contextType" : "variable",
                      "element" : "code",
                      "transform" : "translate",
                      "parameter" : [
                        {
                          "valueId" : "s"
                        },
                        {
                          "valueString" : "https://hl7.or.cr/fhir/ph4h/ConceptMap/cr-sistema-identificador-tipo"
                        },
                        {
                          "valueString" : "code"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "system",
              "source" : [
                {
                  "context" : "id",
                  "element" : "system",
                  "variable" : "s"
                }
              ],
              "target" : [
                {
                  "context" : "ti",
                  "contextType" : "variable",
                  "element" : "system",
                  "transform" : "translate",
                  "parameter" : [
                    {
                      "valueId" : "s"
                    },
                    {
                      "valueString" : "https://hl7.or.cr/fhir/ph4h/ConceptMap/cr-sistema-identificador-oid"
                    },
                    {
                      "valueString" : "code"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "value",
              "source" : [
                {
                  "context" : "id",
                  "element" : "value",
                  "variable" : "v"
                }
              ],
              "target" : [
                {
                  "context" : "ti",
                  "contextType" : "variable",
                  "element" : "value",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "v"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "display",
          "source" : [
            {
              "context" : "r",
              "element" : "display",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tr",
              "contextType" : "variable",
              "element" : "display",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "Concepto",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "cc",
          "type" : "CodeableConcept",
          "mode" : "source"
        },
        {
          "name" : "tc",
          "type" : "CodeableConcept",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "coding",
          "source" : [
            {
              "context" : "cc",
              "element" : "coding",
              "variable" : "c"
            }
          ],
          "target" : [
            {
              "context" : "tc",
              "contextType" : "variable",
              "element" : "coding",
              "variable" : "t"
            }
          ],
          "dependent" : [
            {
              "name" : "Codificacion",
              "variable" : [
                "c",
                "t"
              ]
            }
          ]
        },
        {
          "name" : "text",
          "source" : [
            {
              "context" : "cc",
              "element" : "text",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tc",
              "contextType" : "variable",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "Codificacion",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "c",
          "type" : "Coding",
          "mode" : "source"
        },
        {
          "name" : "t",
          "type" : "Coding",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "system",
          "source" : [
            {
              "context" : "c",
              "element" : "system",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "t",
              "contextType" : "variable",
              "element" : "system",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "version",
          "source" : [
            {
              "context" : "c",
              "element" : "version",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "t",
              "contextType" : "variable",
              "element" : "version",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "code",
          "source" : [
            {
              "context" : "c",
              "element" : "code",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "t",
              "contextType" : "variable",
              "element" : "code",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "display",
          "source" : [
            {
              "context" : "c",
              "element" : "display",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "t",
              "contextType" : "variable",
              "element" : "display",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "Nombre",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "n",
          "type" : "HumanName",
          "mode" : "source"
        },
        {
          "name" : "tn",
          "type" : "HumanName",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "use",
          "source" : [
            {
              "context" : "n",
              "element" : "use",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tn",
              "contextType" : "variable",
              "element" : "use",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "text",
          "source" : [
            {
              "context" : "n",
              "element" : "text",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tn",
              "contextType" : "variable",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "family",
          "source" : [
            {
              "context" : "n",
              "element" : "family",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tn",
              "contextType" : "variable",
              "element" : "family",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "given",
          "source" : [
            {
              "context" : "n",
              "element" : "given",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tn",
              "contextType" : "variable",
              "element" : "given",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "prefix",
          "source" : [
            {
              "context" : "n",
              "element" : "prefix",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tn",
              "contextType" : "variable",
              "element" : "prefix",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "suffix",
          "source" : [
            {
              "context" : "n",
              "element" : "suffix",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tn",
              "contextType" : "variable",
              "element" : "suffix",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "Telecom",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "t",
          "type" : "ContactPoint",
          "mode" : "source"
        },
        {
          "name" : "tt",
          "type" : "ContactPoint",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "system",
          "source" : [
            {
              "context" : "t",
              "element" : "system",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tt",
              "contextType" : "variable",
              "element" : "system",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "value",
          "source" : [
            {
              "context" : "t",
              "element" : "value",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tt",
              "contextType" : "variable",
              "element" : "value",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "use",
          "source" : [
            {
              "context" : "t",
              "element" : "use",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tt",
              "contextType" : "variable",
              "element" : "use",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "rank",
          "source" : [
            {
              "context" : "t",
              "element" : "rank",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tt",
              "contextType" : "variable",
              "element" : "rank",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "Direccion",
      "typeMode" : "none",
      "documentation" : "Dirección: el país pasa de alfa-3 a alfa-2 (ConceptMap cr-pais-alfa3-alfa2 de la IG terminológica).\r\nProvincia, cantón y distrito van con su código de la DTA; el barrio, en la extensión estándar precinct.",
      "input" : [
        {
          "name" : "a",
          "type" : "Address",
          "mode" : "source"
        },
        {
          "name" : "ta",
          "type" : "Address",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "precinct",
          "source" : [
            {
              "context" : "a",
              "element" : "extension",
              "variable" : "e",
              "condition" : "url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct'"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "extension",
              "variable" : "te"
            }
          ],
          "rule" : [
            {
              "name" : "url",
              "source" : [
                {
                  "context" : "e",
                  "element" : "url",
                  "variable" : "v"
                }
              ],
              "target" : [
                {
                  "context" : "te",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "v"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "value",
              "source" : [
                {
                  "context" : "e",
                  "type" : "string",
                  "element" : "value",
                  "variable" : "v"
                }
              ],
              "target" : [
                {
                  "context" : "te",
                  "contextType" : "variable",
                  "element" : "value",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "v"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "use",
          "source" : [
            {
              "context" : "a",
              "element" : "use",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "use",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "text",
          "source" : [
            {
              "context" : "a",
              "element" : "text",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "line",
          "source" : [
            {
              "context" : "a",
              "element" : "line",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "line",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "city",
          "source" : [
            {
              "context" : "a",
              "element" : "city",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "city",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "district",
          "source" : [
            {
              "context" : "a",
              "element" : "district",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "district",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "state",
          "source" : [
            {
              "context" : "a",
              "element" : "state",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "state",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "postalCode",
          "source" : [
            {
              "context" : "a",
              "element" : "postalCode",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "postalCode",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "country",
          "source" : [
            {
              "context" : "a",
              "element" : "country",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "ta",
              "contextType" : "variable",
              "element" : "country",
              "transform" : "translate",
              "parameter" : [
                {
                  "valueId" : "v"
                },
                {
                  "valueString" : "https://hl7.or.cr/fhir/terminology/ConceptMap/cr-pais-alfa3-alfa2"
                },
                {
                  "valueString" : "code"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "Periodo",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "p",
          "type" : "Period",
          "mode" : "source"
        },
        {
          "name" : "tp",
          "type" : "Period",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "start",
          "source" : [
            {
              "context" : "p",
              "element" : "start",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tp",
              "contextType" : "variable",
              "element" : "start",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        },
        {
          "name" : "end",
          "source" : [
            {
              "context" : "p",
              "element" : "end",
              "variable" : "v"
            }
          ],
          "target" : [
            {
              "context" : "tp",
              "contextType" : "variable",
              "element" : "end",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "v"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}