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
Based on the use case scenarios and the requirements derived therein (see Use Cases), implementation approaches can be identified. In the following, these implementation approaches are presented in the form of abstracted workflows that serve as reference solutions. The foundation for defining a workflow is formed by so-called capabilities.
The use case scenarios make it clear that questionnaires can be collected, processed, and displayed in various ways and used for different purposes.
The module must therefore meet the overarching requirement of providing questionnaires as flexibly as possible for different purposes, while maintaining semantic consistency across different use cases. To meet this requirement, in addition to defining a standardized questionnaire, it must be specified for what purpose it should be used – more precisely, which capabilities need to be supported to fulfill the intended purpose.
Therefore, the following capabilities, which can be applied to the definition of a questionnaire and are freely combinable, have been established:
collectable: How data is entered by userspopulatable: How existing data is loadedcalculatable: How scores are calculated from datadisplayable: How data/results are presentedextractable: How data is transferred from the questionnaire format into other FHIR resourcesThe standard workflow follows the FHIR core specification and the designated FHIR resources for defining questionnaires, representing response forms, and extracting collected answers as processable values.
Process:
Capabilities used: displayable, collectable
Example: Assessment of symptom severity with EORTC-QLQ questionnaires accompanying and following radiotherapy/systemic therapy treatment in oncology
This workflow pattern focuses on direct, i.e., non-delayed, completion of a questionnaire via a user interface (UI) and score calculation after the answers have been entered.
Process:
Capabilities used: [collectable, calculatable, displayable, extractable]
Example: DiGA smartphone app with in-app score calculation
This workflow pattern focuses on the sole completion of a questionnaire via a user interface on the client side and subsequent score calculation and storage on the server side.
Process:
Capabilities used:
[collectable][populatable, calculatable, extractable]Example: Lightweight mobile PRO app
This workflow pattern describes the renewed, potentially automated, score calculation without further user interaction.
Process:
Capabilities used: [populatable, calculatable, extractable]
Example: Migration to new scoring algorithms or data harmonization
In the context of patient care or cohort data analysis, individual or aggregated datasets are viewed without recalculation.
Process:
Capabilities used: [populatable, displayable]
Example: Physician dashboard in the HIS
In the context of patient care, pure data collection without calculations takes place, e.g., retrospective transcription.
Process:
Capabilities used: [collectable, extractable]
Example: Paper-to-digital capture
The various workflow patterns demonstrate that different forms of representation exist for displaying a score.
The fundamental representation form for a calculated score is its mapping as an independent item in a FHIR QuestionnaireResponse. If only the score and not the actual answers are relevant for further analyses, the calculated score can be extracted from the FHIR QuestionnaireResponse and represented as a FHIR Observation. A score extracted and stored in this way can, provided empirically validated rules for mapping to a domain-specific T-score exist and have been defined, be mapped to the domain-specific T-score.
In this way, an instrument-independent evaluation and a domain-specific comparison of the collected data can be performed.
Scores are calculated using FHIRPath expressions:
// Simple sum
%resource.item.answer.value.weight().sum()
// Weighted sum with selection
%resource.item.where(linkId.matches('^item-[1-9]$')).answer.value.weight().sum()
// With variables for complex calculations
%rawScore = %resource.item.answer.value.weight().sum()
iif(%rawScore < 5, 'minimal', iif(%rawScore < 10, 'mild', 'moderate'))
Pre-population from existing data:
// Single item
iif(%sourceResponse.exists(), %sourceResponse.item.where(linkId='q1').answer.value, {})
// With fallback
%sourceResponse.item.where(linkId='q1').answer.value | {}
Transformation is performed via SDC extraction extensions or server-side logic:
* item.extension[observationExtract] = true
* item.code = $LNC#44261-6 "PHQ-9 total score"
The selection of capabilities should be guided by the use case:
[collectable, calculatable, displayable][collectable] (minimal footprint)[populatable, calculatable, extractable][displayable]