MedVertical
Open menu

Resources

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.

Local check · baseline inputShell
npx --yes @records-fhir/cli@0.1.1 validate-file \  ehds-lab-clean-lab-result-bundle.json \  --engine --format json
Local check · seeded errorsShell
npx --yes @records-fhir/cli@0.1.1 validate-file \  ehds-lab-broken-lab-result-bundle.json \  --engine --format json

Run 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 problemIssue familyWhy it matters
Invalid Patient birth dateStructural date-format issueDates must be machine-readable for matching, safety, and exchange.
Unsupported Observation statusRequired code binding issueStatus codes drive downstream interpretation of clinical observations.
Observation references a missing PatientReference integrity issueCross-resource references must resolve for patient-level interpretation.
Wrong UCUM system URLTerminology/canonical hygiene issueCanonical systems make quantity validation and downstream filters predictable.
Non-UCUM unit codeTerminology unit-code issueUnit 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.

Inspect and recheck a synthetic IPS document

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.