Soigneur FHIR Implementation Guide
0.1.0 - ci-build Germany flag

Soigneur FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Developer reference

Developer reference

Local dev for the IG and the simulator that feeds it. This graduates from docs/plan-maf-azure/06 / 10.

Building the IG locally

cd documentation
sushi .              # compile FSH → FHIR JSON (StructureDefinitions, CodeSystems, …)

sushi failing on any FSH error is the CI machine-check that keeps this data model honest (13 §2.3). The FHIR IG workflow runs sushi . -s on every change under documentation/ and fails the build on a non-zero exit.

The cc-* vocabulary

Every artifact hangs off the canonical https://fhir.soigneur.coach/fhir (IG id coach.soigneur.fhir). Author FSH with the alias.fsh aliases ($CC_OBS, $LOINC, …) — never hardcode a full URL. The cc-* code identifiers are stable machine keys from 05-terminology.md; only the display strings are trademark-safe. Do not rename codes.

Example fixtures come from the simulator

The IG's example Instances are produced by SoigneurSynth (agent/eval/synth), so the profiles are exercised against realistic generated data and the phenotypes have canonical worked examples:

  • Committed, SUSHI-checked — the hand-lifted phenotype exemplars in input/fsh/instances/synth-examples.fsh (synth-iron-01, synth-overreach-01).
  • Generated breadth — one representative resource per profile, regenerated before an IG Publisher run (git-ignored, not a committed source):
# from the repo root
python -m agent.eval.synth.fhir.ig_examples --out documentation/input/examples

Running the simulator's checks

uv run pytest core agent -q          # unit + phenotype self-tests
uv run ruff check core agent         # lint
uv run mypy core/src agent/src       # types

The phenotype self-tests (agent/tests/test_phenotypes.py) are the machine-check for the simulator: each archetype preset, over a seeded cohort, must satisfy its phenotype oracle (plan C.3). They validate the simulator, separate from the agent eval.