EHDS Implementation Readiness Lab
Inspect two synthetic laboratory-result bundles, find the seeded mistakes, and define the profile and terminology context needed to check them.
For: EHDS implementers, FHIR trainers, vendor teams, hospital IT teams
Why this lab exists
Interoperability readiness is a skills problem, not only a standards problem.
EHDS implementation depends on people who can turn profile packages, terminology rules, references, and evidence requirements into operational checks. Written standards help, but implementers also need executable examples that show what a good resource looks like, what a broken one looks like, and what evidence a team should preserve.
This lab is deliberately small: one Patient, one laboratory Observation, one baseline bundle and one deliberately broken bundle. It is a teaching asset, not an EHDS certification statement.
Download the teaching inputs
Start with local checks; configure profile validation as a separate step.
npx --yes @records-fhir/cli@0.1.1 validate-file \ ehds-lab-clean-lab-result-bundle.json \ --engine --format jsonnpx --yes @records-fhir/cli@0.1.1 validate-file \ ehds-lab-broken-lab-result-bundle.json \ --engine --format jsonRun these commands from the download directory with a supported Node.js LTS release and no Records API connection configured. Local engine coverage depends on locally available packages and terminology. In our check with public CLI 0.1.1, both Bundles returned exit code 0 without findings for their entries. That result does not verify the nested Patient and Observation. Use the configured profile exercise below to investigate the five seeded problems; they are not a promised local CLI error count.
For the profile exercise, install hl7.fhir.eu.base#2.0.0 in your Records workspace, check the Patient and Observation against their declared profiles, and retain the actual validation context and unresolved-dependency findings. A workspace package installation does not populate the local CLI package cache. See the HL7 Europe walkthrough.
Baseline input
Shows a synthetic Patient and lab Observation. The Observation references the Patient’s fullUrl inside the Bundle.
Broken example
Seeds realistic mistakes so implementers can learn how structural, terminology, and reference issues appear.
Configure the profile context
Select the exact FHIR release, profile package, terminology basis and enabled checks before comparing results.
Inspect the actual output
Read detected issues and coverage limits together. A profile declaration alone does not prove that its constraints were checked.
What the broken fixture teaches
A useful lab makes the failures explicit.
| Seeded problem | Issue family | Why it matters |
|---|---|---|
| Invalid Patient birth date | Structural date-format issue | Dates must be machine-readable for matching, safety, and exchange. |
| Unsupported Observation status | Required code binding issue | Status codes drive downstream interpretation of clinical observations. |
| Observation references a missing Patient | Reference integrity issue | Cross-resource references must resolve for patient-level interpretation. |
| Wrong UCUM system URL | Terminology/canonical hygiene issue | Canonical systems make quantity validation and downstream filters predictable. |
| Non-UCUM unit code | Terminology unit-code issue | Unit errors can silently break clinical filters and analytics. |
Check one document against a versioned target
Inspect a missing Composition title, correct the synthetic Bundle and review the new result with its remaining limits.

Boundary
What this lab does not claim.
This lab does not prove EHDS production readiness. It does not cover all EHDS categories, national overlays, consent, access control, security operations, or legal obligations.
Records preserves validation evidence and lock status for a pinned FHIR context. It does not persist source clinical payloads, certify compliance, or act as the authority for EHDS implementation decisions. A later replay still requires the corresponding source scope.
Use this in an implementation workshop.
We can adapt the lab to a national profile pack, vendor onboarding flow, or EHDS readiness conversation.