
Validación de un Practitioner desde el chat: el agente llama fhiron_validate y devuelve issues con quick-fix listo para aplicar.
Atajos
Validar una MedicationRequest
Armar un Encounter ambulatorio
Auditar un endpoint público
Validar
fhiron_validate
Cuándo: ya tienes un recurso armado y necesitas confirmación contra el IG (slicing, ValueSets remotos, terminologías). Es la tool por defecto cuando el agente entiende “valida esto”.
Pídele al agente:
Valida esta MedicationRequest contra CL Core 1.9.4 y aplica los quickFix que tenga.
fhiron_lint (offline, gratis)
cl-medreq-02 (falta intent) con quickFix.replacement = "order".fhiron_apply_fix (offline, gratis)
/intent. El recurso queda corregido sin tocar la cuota.fhiron_validate (1 crédito)
MedicationRequest, por eso profile viene null: la validación de servidor corre contra el recurso base de FHIR R4 más las reglas locales cl-medreq-*.fhiron_lint
Cuándo: estás iterando sobre un recurso y quieres feedback en milisegundos sin gastar cuota. Cubre las 60+ reglas cl-* para los 13 recursos más usados.
Pídele al agente:
Lintea esta Encounter sin llamar al servidor. Necesito ver qué falta antes de gastar crédito.Lo que hace el modelo:
fhiron_lint (offline, < 5 ms)
Devuelve issues con quickFix
code, path, why, suggestion y, cuando aplica, un quickFix mecánico.fhiron_validate_file
Cuándo: el recurso vive en un .json del repo y no quieres pegar 200 líneas de JSON en el chat.
Pídele al agente:
Valida el archivo samples/encounter-ambulatorio.json contra CL Core.
Lo que hace el modelo:
Verifica el sandbox
FHIRON_MCP_ALLOWED_ROOT. Rechaza paths fuera del root, symlinks, archivos ≥ 5 MB y extensiones distintas de .json / .fhir.json.Lee el archivo y delega
Bundle, delega a fhiron_validate_bundle. Si no, a fhiron_validate.fhiron_validate_bundle
Cuándo: tienes un Bundle (transaction, batch, collection o document) y necesitas saber qué entries pasan y cuáles fallan. Cobra 1 crédito por entry validada, con un cap default de 50 para protegerte.
Pídele al agente:
Audita este Bundle entry-por-entry y dame una matriz pass/fail agrupada por resourceType.Lo que hace el modelo:
Linteo local de cada entry
Validación servidor de las entries que pasan el lint
max_server_calls (default 50). El resto queda como local-only.Agregación
resourceType, y el detalle por entry.fhiron_score_endpoint
Cuándo: quieres evaluar la madurez FHIR de un endpoint público de tercero (proveedor, partner, organismo público) sin tener que leerte el CapabilityStatement a mano.
Pídele al agente:
Dame un FHIR Score del endpoint https://api.partner-salud.cl/fhir y explícame qué le falta para llegar a A.
Lo que hace el modelo:
Validación SSRF
GET /metadata
CapabilityStatement con cap de 10 MB.Scoring sobre 5 dimensiones
fhirVersion · core resources · profiles declarados · interactions soportadas · sistemas terminológicos referenciados. 20 puntos cada una.Explorar
fhiron_get_example
Cuándo: estás partiendo desde cero y necesitas un esqueleto válido CL Core para ese tipo de recurso. Devuelve el ejemplo y lo lintea defensivamente antes de entregarlo.
Pídele al agente:
Dame un ejemplo de Encounter ambulatorio CL Core válido para usarlo de base.Lo que hace el modelo:
fhiron_get_example('Encounter')
class.system = v3-ActCode, subject, period ISO-8601 y narrative.fhiron_search_terminology
Cuándo: el modelo necesita un código real (comuna DEIS, establecimiento, TFC, CIE-10, identificador chileno) y tú no quieres que lo invente.
Pídele al agente:
Busca el código DEIS de la comuna de Las Condes y ármame una Patient.address con esa comuna.
Lo que hace el modelo:
fhiron_search_terminology({ system: 'deis-comuna', query: 'las condes' })
Construye el address
code + display con el system canónico correcto.fhiron_explain_code
Cuándo: te apareció un código de error (cl-medreq-02, hapi-error-terminology, mcp-quota-01) y quieres contexto pedagógico antes de tocar el JSON.
Pídele al agente:
Explícame cl-medreq-02: qué significa, por qué FHIR lo exige y cómo lo arreglo.
Lo que hace el modelo:
fhiron_explain_code({ code: 'cl-medreq-02' })
cl-* / hapi-* / mcp-* y devuelve why, suggestion, example y links.fhiron_compare_profiles
Cuándo: quieres saber qué restricciones agrega CL Core sobre el perfil base de FHIR R4 para un recurso. Útil cuando estás migrando un sistema que ya valida contra R4 y necesitas cuantificar el delta. Cobra 2 créditos (una validación contra R4 + una contra CL Core).
Pídele al agente:
Compara este Patient contra FHIR R4 base y CL Core. Quiero ver qué errores aparecen sólo en CL Core.Lo que hace el modelo:
Valida contra el StructureDefinition R4 base
meta.profile = http://hl7.org/fhir/StructureDefinition/Patient.Valida en paralelo contra el CL Core
meta.profile = https://hl7chile.cl/fhir/ig/clcore/StructureDefinition/CorePacienteCl.Diff de errores
Reparar
fhiron_apply_fix
Cuándo: un issue.quickFix te trae el parche listo (jsonPointer + replacement) y quieres aplicarlo sin escribir el patch a mano. Es idempotente: aplicar dos veces es seguro.
Pídele al agente:
Toma el quickFix de cl-enc-04 y aplícalo al recurso original.
Lo que hace el modelo:
fhiron_apply_fix(resource, quickFix)
Cuándo usar cuál
Pregunta más frecuente del cookbook: ¿fhiron_validate o una de sus variantes?
fhiron_compare_profiles.
Siguiente
Tools: Referencia técnica
Resources & Prompts
fhiron://...) y slash-commands (/validar-recurso, /crear-encounter-cl, …).Reglas locales cl-*
fhiron_lint.