> ## 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.

# Quickstart

> Validar un recurso FHIR® contra CL Core v1.9.4.

## 1. Obtener una API key

Crea una cuenta en [fhiron.cl/registro](https://fhiron.cl/registro). El plan Free incluye 100 validaciones por mes. Las herramientas del MCP que corren offline no consumen cuota.

## 2. Validar un recurso

El ejemplo de abajo envía un `Encounter` que el desarrollador armó copiando un payload de un EHR en inglés: usó `"status": "complete"` (intuición de inglés general) en vez del código del ValueSet `EncounterStatus` que exige FHIR R4. Es uno de los errores más frecuentes al migrar un HIS hacia FHIR.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://fhiron.cl/api/validate \
    -H "Content-Type: application/json" \
    -H "X-API-Key: TU_API_KEY" \
    -d '{
      "resourceType": "Encounter",
      "status": "complete",
      "class": {
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
        "code": "AMB"
      },
      "subject": { "reference": "Patient/example" },
      "period": { "start": "2026-05-11T09:00:00-04:00" }
    }'
  ```

  ```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({
      resourceType: "Encounter",
      status: "complete",
      class: {
        system: "http://terminology.hl7.org/CodeSystem/v3-ActCode",
        code: "AMB",
      },
      subject: { reference: "Patient/example" },
      period: { start: "2026-05-11T09:00:00-04:00" },
    }),
  });

  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={
          "resourceType": "Encounter",
          "status": "complete",
          "class": {
              "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
              "code": "AMB",
          },
          "subject": {"reference": "Patient/example"},
          "period": {"start": "2026-05-11T09:00:00-04:00"},
      },
  )
  outcome = response.json()
  ```
</CodeGroup>

La respuesta es un `OperationOutcome` con el issue `cl-enc-04`:

```json theme={null}
{
  "resourceType": "OperationOutcome",
  "issue": [{
    "severity": "error",
    "code": "invalid",
    "details": {
      "text": "Encounter.status='complete' no pertenece al ValueSet EncounterStatus (binding required). Códigos válidos: planned · arrived · triaged · in-progress · onleave · finished · cancelled · entered-in-error · unknown."
    },
    "expression": ["Encounter.status"],
    "diagnostics": "{\"code\":\"cl-enc-04\",\"why\":\"Binding required al ValueSet http://hl7.org/fhir/ValueSet/encounter-status — no admite códigos custom.\",\"quickFix\":{\"jsonPointer\":\"/status\",\"replacement\":\"finished\"}}"
  }]
}
```

El `diagnostics.quickFix` lleva un parche RFC 6901 que `fhiron_apply_fix` o tu código pueden aplicar de forma idempotente.

## 3. Conectar el MCP al editor

```bash theme={null}
npx -y @fhiron/mcp-connector init
```

El comando detecta el editor (Claude Desktop, Claude Code, Cursor, Windsurf, Antigravity), escribe la configuración con merge no destructivo y verifica el handshake.

Más detalle en [MCP: Instalación](/mcp/instalacion).

## Siguiente

<CardGroup cols={2}>
  <Card title="API reference" icon="code" href="/inspect/api">
    Endpoint, headers, rate limits.
  </Card>

  <Card title="Tools fhiron_*" icon="wrench" href="/mcp/tools">
    Validación, lint, quickFix, búsqueda en catálogos.
  </Card>

  <Card title="Errores" icon="circle-exclamation" href="/inspect/errores">
    Códigos `cl-*` con `why`, `profileUrl` y `quickFix`.
  </Card>

  <Card title="CL Core v1.9.4" icon="book" href="/conceptos/cl-core">
    Recursos cubiertos del IG.
  </Card>
</CardGroup>
