MII IG PRO
2027.0.0-ballot.1 -
Germany
This page is part of the MII Implementation Guide PRO (v2027.0.0-ballot.1: 2027 Ballot 5) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Status: concept for the 2027 work programme. Nothing on this page is implemented; it describes the target picture the module's architecture is being built towards, and the decisions still open.
Today the module's instruments reach implementers exclusively at build time, as a versioned FHIR package. That is right for validation and reproducibility — and structurally too slow for everything else: a corrected item wording, a newly licensed instrument or an updated answer scale reaches a renderer only after the site's next package upgrade. Every site resolves licences separately, every ePRO system caches its own copies, and nobody can say which questionnaire version is actually in use where. The questionnaire catalogue (CodeSystem mii-cs-pro-questionnaire-catalogue) names the instruments — but a name registry is not a distribution channel.
A national questionnaire server: one FHIR endpoint, analogous in role to the central terminology server, hosting the module's definitional resources at runtime —
| Resource | Role on the server |
|---|---|
| Questionnaire | the instruments, every published version, capability variants |
| CodeSystem / ValueSet | the answer scales with their ordinal weights |
| ObservationDefinition | score definitions incl. reference intervals |
| Library (CQL) | the authoritative scoring logic (channel B) |
| ConceptMap | linkId bridges and, later, score crosswalks |
Clients resolve by canonical URL and version (Questionnaire?url=…&version=…), discover by catalogue code and by capability — the module's SearchParameters (e.g. mii-sp-pro-questionnaire-capabilities) exist precisely for this — and always get the current published state. The package does not go away: it stays the reproducible snapshot for validation and archival; the server is the living distribution.
Library/$evaluate) wants to live where the Libraries live; co-locating turns the server from a file store into the authoritative scoring endpoint.$next-question — the same infrastructure, one capability further.The concept is not paper-only: two BIH-CEI prototype repositories already implement the layer cut end to end for PHQ-9 — pro-library (the content layer) and fhir-sdc-questionnaire-service (the service layer, an SDC Form Manager).
flowchart TB
subgraph N["Normative layer — this module"]
IG["MII PRO IG + versioned package<br/>(reproducible snapshot)"]
end
subgraph C["Content layer — prototype: pro-library"]
LIB["FSH-authored artefacts<br/>Questionnaires · ValueSets · CodeSystems · CQL"]
MAN["CRMI manifest<br/>(Library, type asset-collection —<br/>pins every artefact version)"]
LIB --- MAN
end
subgraph S["Service layer — prototype: fhir-sdc-questionnaire-service"]
FM["SDC Form Manager container<br/>HAPI FHIR + SDC IG + MII PRO IG baked in<br/>$package · $populate · $extract · $localize<br/>validated against the SDC Form Manager CapabilityStatement"]
end
subgraph K["Clients"]
R["Form renderer / ePRO app"]
E["EHR / KIS"]
SC["Scoring service<br/>(channel B, Library/$evaluate)"]
end
IG -- "derivedFrom, versioned canonicals (…|version)" --> LIB
MAN -- "release = pinned manifest" --> FM
R -- "$package (form + dependencies)" --> FM
E -- "resolve by canonical|version" --> FM
FM -- "Libraries co-located" --> SC
The division of labour is exactly the one argued above: the package stays the reproducible snapshot (normative layer), the content repository carries the artefacts with a CRMI asset-collection manifest as the release primitive, and the Form Manager is the runtime endpoint — with the SDC operations a renderer actually calls. The prototypes deliberately claim no normative authority; they build the infrastructure a future authority would operate.
The terminology server is the analogy for the operating model (central, governed, nationally reachable) — not for the function. A FHIR terminology server serves CodeSystems and ValueSets and answers $expand and $validate-code; that is where its contract ends. What the questionnaire server needs is precisely what a terminology server does not do:
$package, no $populate, no $extract, no $next-question,Library/$evaluate scoring.The two servers are complements, not alternatives: the Form Manager resolves its answer-scale ValueSets against the terminology server, and both sit in the same trust and operations model.
The building blocks named here exist in the module today: the catalogue CodeSystem, the capability SearchParameters, versioned canonicals throughout, CQL libraries for EQ-5D/PHQ-9/PRO-CTCAE, and the three-channel scoring architecture the server would slot into. What does not exist is the server itself — hence: concept, 2027.