Skip to main content

Escenario

Antes de generar una orden de atención, el sistema necesita declarar la previsión del paciente: Fonasa tramos A/B/C/D, ISAPRE, PRAIS o particular. El CodeSystem oficial es CSPrevision del EIS MINSAL. Sin Coverage válido, la facturación electrónica al sector público no cuadra. Inspect valida Coverage.status, Coverage.beneficiary y, cuando type.coding.system es CSPrevision, exige que el código pertenezca al CodeSystem.

Payload válido

Coverage Fonasa tramo B
{
  "resourceType": "Coverage",
  "status": "active",
  "type": {
    "coding": [
      {
        "system": "https://interoperabilidad.minsal.cl/fhir/ig/eis/CodeSystem/CSPrevision",
        "code": "FONASA-B",
        "display": "Fonasa tramo B"
      }
    ],
    "text": "Fonasa tramo B"
  },
  "subscriberId": "15420097-3",
  "beneficiary": { "reference": "Patient/example" },
  "relationship": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
        "code": "self",
        "display": "Self"
      }
    ]
  },
  "period": {
    "start": "2026-01-01"
  },
  "payor": [
    {
      "display": "Fonasa"
    }
  ]
}

Cómo validarlo

curl -X POST https://fhiron.cl/api/validate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $FHIRON_API_KEY" \
  -d @coverage.json

OperationOutcome esperado

Si type.coding.system es CSPrevision y el código pertenece al CodeSystem, issue[] viene vacío. Errores típicos:
  • cl-cov-04: falta beneficiary o subscriberId. Sin uno de los dos, no hay forma de saber a qué paciente cubre la previsión.
  • cl-eis-prevision-01: type.coding.code fuera del CodeSystem CSPrevision. Caso típico: "fonasa" en minúscula, sin tramo, o un código propio del proveedor.
  • cl-run-03: subscriberId con RUN de DV incorrecto (Inspect aplica módulo 11 al subscriberId cuando coincide con el formato chileno).

Tips

Códigos CSPrevision más usados:
  • FONASA-A, FONASA-B, FONASA-C, FONASA-D: tramos según renta.
  • ISAPRE: sistema privado.
  • PRAIS: Programa de Reparación y Atención Integral en Salud.
  • PARTICULAR: sin previsión.
  • LEY-21418: sistema acordado por ley.
subscriberId típicamente es el RUN del titular. Cuando el paciente es carga (hijo de un cotizante), relationship cambia a "child" y el subscriberId sigue siendo el RUN del titular, no del paciente.
Los Coverage futuros (renovación que parte el próximo mes) son válidos con status: "draft" y period.start futuro. Inspect no exige que period.start sea pasado.
payor[] puede ser una Reference(Organization) cuando el bus tiene Fonasa o la ISAPRE como recurso. Para una integración mínima, basta con display.
Inspect valida este Coverage contra el perfil R4 base más las reglas cl-cov-04 (campos obligatorios) y cl-eis-prevision-01 (binding al CodeSystem CSPrevision). Si la previsión no es Fonasa/ISAPRE/PRAIS/PARTICULAR, devuelve cl-eis-prevision-01 con la lista de códigos válidos.