Das MII PRO Modul unterstützt verschiedene Scoring-Strategien entlang des Workflows Questionnaire → QuestionnaireResponse → Observation. Die Wahl der Scoring-Methode hängt von organisatorischen Anforderungen, technischer Infrastruktur und Anwendungsfällen ab.
Die Scoring-Strategien lassen sich in zwei grundlegende Kategorien einteilen:
Anwendungsfall: Strukturierte Datensammlung ohne Score-Berechnungen
Anwendungsfall: Integration externer PRO-Systeme (REDCap, klinische Systeme)
derivedFrom verweist auf ursprüngliche QuestionnaireResponseAnwendungsfall: Spezialisierte Scoring-Services (R-Libraries, statistische Pakete)
Anwendungsfall: Real-time Scoring mit moderater Komplexität
Implementierungsansatz - Variable-basiert (Empfohlen):
// FSH
// PROMIS Depression SF 4a Beispiel
* extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable"
* extension[=].valueExpression.name = "rawScore"
* extension[=].valueExpression.language = #text/fhirpath
* extension[=].valueExpression.expression = "%resource.item.where(linkId.matches('^promis-eddep(04|06|29|41)$')).answer.value.ordinal().sum()"
// T-Score Konversion
* item[=].extension[+].url = $sdc-questionnaire-calculated-expression
* item[=].extension[=].valueExpression.language = #text/fhirpath
* item[=].extension[=].valueExpression.expression = "iif(%rawScore=4, 41.0, iif(%rawScore=5, 49.0, ..., {})))))))))))))))))"
Vorteile:
Anwendungsfall: Komplexe statistische Berechnungen, bevölkerungsbasierte Normierung
// CQL
library PHQ9Scoring version '1.0.0'
define "PHQ-9 Raw Score":
Sum(QuestionnaireResponse.item.answer.value)
define "PHQ-9 Severity Category":
case
when "PHQ-9 Raw Score" between 0 and 4 then 'minimal'
when "PHQ-9 Raw Score" between 5 and 9 then 'mild'
when "PHQ-9 Raw Score" between 10 and 14 then 'moderate'
when "PHQ-9 Raw Score" between 15 and 19 then 'moderately severe'
else 'severe'
end
6a. Observation-based Extraction
6b. Definition-based Extraction
6c. StructureMap-based Extraction
Komplexe Fragebögen generieren oft mehrere Scores. Beispiel EQ-5D-5L:
// FSH
// Index Score (Präferenz-basiert)
* item[score-index].code = SCT#736534008 "EuroQol EQ-5D-5L index value"
// VAS Score (Selbsteinschätzung)
* item[score-vas].code = SCT#736535009 "EuroQol EQ-5D-5L visual analog scale"
// Profile Score (Domänen-spezifisch)
* item[score-profile].code = MII#eq5d5l-profile "EQ-5D-5L Profile Score"
ObservationDefinition-Integration:
Anwendungsfall: Harmonisierung zwischen verschiedenen PRO-Instrumenten
// FSH
// PHQ-9 → PROMIS Depression Mapping
* derivedFrom[0] = Reference(PHQ9-QuestionnaireResponse)
* code = LOINC#77861-3 "PROMIS Depression T-score"
* method.text = "PHQ-9 to PROMIS Depression conversion algorithm (Choi et al. 2014)"
Anwendungsfall: Longitudinale Analysen, Populationsmetriken
// CQL
library PRO_Population_Metrics version '1.0.0'
define "Depression Prevalence":
Count(Observation where code = LOINC#44261-6 and value > 9) /
Count(Observation where code = LOINC#44261-6)
Score-Validierung:
Referenzdaten: