> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fhiron.cl/llms.txt
> Use this file to discover all available pages before exploring further.

# Mapear comuna (CL Core y EIS)

> Patient.address.city con CSCodComunasCL (CL Core) o CSComunas (EIS MINSAL), ambos canonicals son válidos.

## Escenario

Las comunas chilenas tienen **dos canonicals oficiales** que conviven: `CSCodComunasCL` (CL Core, basado en el decreto 817) y `CSComunas` (EIS MINSAL, 347 comunas DEIS). Un integrador que mueve datos entre el bus MINSAL y un EHR clínico típicamente recibe uno y debe poder emitir el otro. Inspect acepta ambos sistemas en `Patient.address.extension` y mapea contra el decreto 817.

## Payload válido: variante CL Core

```json Patient con comuna CSCodComunasCL theme={null}
{
  "resourceType": "Patient",
  "identifier": [
    {
      "type": {
        "coding": [
          {
            "system": "https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSTipoIdentificador",
            "code": "01"
          }
        ]
      },
      "system": "http://www.registrocivil.cl/run",
      "value": "15420097-3"
    }
  ],
  "name": [{ "family": "Soto", "given": ["Diego"] }],
  "gender": "male",
  "birthDate": "1990-03-22",
  "address": [
    {
      "use": "home",
      "line": ["Av. Providencia 1234, depto 502"],
      "city": "Providencia",
      "_city": {
        "extension": [
          {
            "url": "https://hl7chile.cl/fhir/ig/clcore/StructureDefinition/CodigoComuna",
            "valueCoding": {
              "system": "https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSCodComunasCL",
              "code": "13123",
              "display": "Providencia"
            }
          }
        ]
      },
      "country": "CL"
    }
  ]
}
```

## Payload válido: variante EIS

Misma comuna, expresada con el CodeSystem EIS:

```json fragmento Patient.address.city theme={null}
"_city": {
  "extension": [
    {
      "url": "https://interoperabilidad.minsal.cl/fhir/ig/eis/StructureDefinition/CodigoComuna",
      "valueCoding": {
        "system": "https://interoperabilidad.minsal.cl/fhir/ig/eis/CodeSystem/CSComunas",
        "code": "13123",
        "display": "Providencia"
      }
    }
  ]
}
```

## Cómo validarlo

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://fhiron.cl/api/validate \
    -H "Content-Type: application/json" \
    -H "X-API-Key: $FHIRON_API_KEY" \
    -d @patient-comuna.json
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://fhiron.cl/api/validate", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-API-Key": process.env.FHIRON_API_KEY,
    },
    body: JSON.stringify(patient),
  });
  const outcome = await response.json();
  ```

  ```python Python theme={null}
  import os, requests
  response = requests.post(
      "https://fhiron.cl/api/validate",
      headers={
          "Content-Type": "application/json",
          "X-API-Key": os.environ["FHIRON_API_KEY"],
      },
      json=patient,
  )
  outcome = response.json()
  ```
</CodeGroup>

## OperationOutcome esperado

Ambos canonicals pasan la validación. `issue[]` viene vacío.

Errores típicos:

* `cl-comuna-01`: `address.city` no aparece en el decreto 817 (probable error de grafía: `"Ñuñoa"` vs `"Nunoa"`).
* `cl-eis-comuna-01`: `CSComunas` con código que no corresponde al display (ej: `13123` enviado como `"Las Condes"`).
* `cl-patient-*`: falta `country: "CL"` cuando hay dirección con comuna chilena.

## Tips

<Tip>
  **Decreto 817 vigente**: 346 comunas + 1 administrativa (Antártica). Si el integrador envía comunas obsoletas (anteriores al decreto), Inspect marca `cl-comuna-01` warning.
</Tip>

<Tip>
  Los códigos de `CSCodComunasCL` y `CSComunas` coinciden: ambos usan el código DEIS de 5 dígitos (`13101` Santiago, `13123` Providencia, `05101` Valparaíso). El que cambia es el `system`.
</Tip>

<Tip>
  **Caracteres especiales**: `Ñuñoa`, `Peñalolén`, `Concepción` van con tilde y eñe en `address.city`. UTF-8, no Latin-1.
</Tip>

<Tip>
  Para tests de integración hacia el bus MINSAL, preferir la variante EIS (`CSComunas`). Para integraciones internas chilenas alineadas con el IG oficial CL Core, la variante CSCodComunasCL es la canónica.
</Tip>

<Note>
  Inspect acepta los dos canonicals y los considera equivalentes a efectos de validación. El payload no necesita migrar: si tu EHR emite EIS, Inspect lo valida con `cl-eis-comuna-01`; si emite CL Core, lo valida con `cl-comuna-01`.
</Note>
