MII IG Kerndatensatz-Modul Seltene Erkrankungen
2027.0.0-ballot -
Germany
This page is part of the MII Implementation Guide Seltene Erkrankungen (v2027.0.0-ballot: 2027 Ballot 1) 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
In der Modellierung seltener Erkrankungen unterscheiden wir zwischen zwei Arten der Diagnosestellung:
MII_PR_Seltene_ClinicalDiagnosis) - Basierend auf phänotypischen MerkmalenMII_PR_Seltene_GeneticDiagnosis) - Molekulargenetisch bestätigtDiese Unterscheidung ist wichtig, da viele seltene Erkrankungen zunächst klinisch vermutet und später genetisch bestätigt werden.
Die klinische Diagnose wird verwendet, wenn:
code.coding[hpo] (0..*), required gebunden an
das ValueSet der HPO-Phänotypcodescondition-ver-status); empfohlen "provisional" oder "differential",
solange die genetische Bestätigung ausstehtcategory ist Pflicht (1..), der Wert bleibt frei — üblich sind
problem-list-item oder encounter-diagnosis. Warum die genetische Diagnose das
anders handhabt, steht weiter unten unter *Warum die Kategorie sich unterscheidet.Die ausformulierten Instanzen stehen als Beispiele bei den Profilen selbst; hier geht es um den Unterschied, nicht um die Syntax.
Die genetische Diagnose wird verwendet, wenn:
evidence ist Pflicht (1..), evidence.detail (1..) verweist
auf Observation oder DiagnosticReport. Das Profil schreibt die Zielprofile nicht vor;
empfohlen sind die MolGen-Ressourcen:
MII_PR_MolGen_Variante für einzelne VariantenMII_PR_MolGen_DiagnostischeImplikation für umfassende genetische Berichteevidence.code.coding[geneticEvidence] trägt
106221001 | Genetic finding |penetrance782964007 | Genetic disease | zur eindeutigen KennzeichnungDie beiden Profile behandeln category ungleich, und das ist erklärungsbedürftig:
category |
|
|---|---|
| Klinische Diagnose | Pflicht, Wert frei |
| Genetische Diagnose | Pflicht, fester Wert 782964007 \| Genetic disease \| |
Condition.category beantwortet in FHIR die Frage nach der Rolle der Condition im
Datensatz — der Kurztext des Elements lautet wörtlich problem-list-item |
encounter-diagnosis. Die Art der Erkrankung gehört dagegen in Condition.code.
Die klinische Diagnose folgt dem: Sie verlangt eine Kategorie, schreibt aber keinen Wert vor. Die genetische Diagnose setzt zusätzlich einen festen Code — bewusst, und zwar aus zwei Gründen.
Es ist zulässig. Condition.category ist 0..* und extensible an
condition-category gebunden. Eine extensible Bindung erlaubt ausdrücklich Codes
außerhalb des ValueSets, wenn keiner der enthaltenen passt; die FHIR-Spezifikation merkt
am Element selbst an, die Kategorisierung sei „often highly contextual".
Es ist nötig. Ob eine Erkrankung genetisch gesichert ist, steht nicht in
Condition.code — dort steht die Erkrankung selbst — und lässt sich daraus auch nicht
herleiten, weil dieselbe Erkrankung klinisch oder genetisch gesichert sein kann. Genau
diese Unterscheidung trägt das Modul in zwei getrennten Profilen; category macht sie
für eine registerübergreifende Suche auswertbar.
Abzugrenzen vom zurückgezogenen ValueSet mii-vs-seltene-clinical-diagnosis-category:
Das band category modulweit an Krankheitsarten anstelle der Rolle und beantwortete
damit die falsche Frage. Hier geht es um ein einzelnes, begründetes Zusatzmerkmal.
Offener Punkt für die Ballotierung.
patternCodeableConceptauf einem wiederholbaren Element verlangt, dass jede Wiederholung dem Muster entspricht. Eine zweite Kategorie — etwaencounter-diagnosisfür die Rolle im Datensatz — ist damit derzeit unzulässig, und alle Beispiele führen folgerichtig nur diesen einen Wert. Sauberer wäre ein offener Slice, der782964007verlangt und weitere Kategorien zulässt. Das ändert die publizierte Constraint-Form und steht deshalb zur Kommentierung.
Bei seltenen Erkrankungen existieren klinische und genetische Diagnosen parallel zueinander:
Das Diagramm zeigt die drei Stufen: Verdachtsdiagnose aus Screening oder Erstkontakt, klinische Diagnose nach phänotypischer Abklärung, genetische Diagnose nach molekulargenetischer Bestätigung.
Wichtig: Die genetische Diagnose ersetzt NICHT die klinische Diagnose. Beide existieren parallel und ergänzen sich gegenseitig.
| Situation | Profil | Verifikationsstatus |
|---|---|---|
| Neugeborenenscreening positiv | ClinicalDiagnosis | unconfirmed |
| Klinisch eindeutiges Syndrom | ClinicalDiagnosis | provisional |
| Genetisch bestätigt | GeneticDiagnosis | confirmed |
| Klinisch + genetisch bestätigt | Beide Profile parallel | confirmed |
| Ausgeschlossene Diagnose | Entsprechendes Profil | refuted |
| Differentialdiagnose | ClinicalDiagnosis | differential |
Die ClinicalImpression verbindet die verschiedenen Diagnosestadien:
Beide Diagnosen bleiben als eigenständige Ressourcen erhalten und dokumentieren verschiedene Aspekte derselben Erkrankung.
Klinische Diagnose:
Genetische Diagnose:
category gesetzt — Pflicht (1..*)code.coding[hpo], sofern der Phänotyp bekannt ist (das Profil
erzwingt ihn nicht, für seltene Erkrankungen ist er aber der eigentliche Gehalt)evidence.detail mit Verweis auf phänotypische ObservationsverificationStatuscategory = 782964007 | Genetic disease | — Pflicht, fester Wertevidence mit evidence.detail — Pflicht (1..*)evidence.code.coding[geneticEvidence] = 106221001 | Genetic finding |verificationStatus = confirmed bei bestätigter DiagnoseAusgeschlossene Diagnosen (refuted) MÜSSEN ebenfalls dokumentiert werden!
Bei seltenen Erkrankungen ist die Dokumentation ausgeschlossener Diagnosen essentiell für:
Ausgeschlossene Diagnosen nutzen dasselbe Profil wie bestätigte; unterschieden wird allein über den Status:
| Feld | Klinisch ausgeschlossen | Genetisch ausgeschlossen |
|---|---|---|
| Profil | MII_PR_Seltene_ClinicalDiagnosis |
MII_PR_Seltene_GeneticDiagnosis |
verificationStatus |
refuted |
refuted |
clinicalStatus |
inactive |
inactive |
| Begründung | note.text |
note.text |
| Evidenz | negativer phänotypischer Befund | negativer molekulargenetischer Befund |
verificationStatus = refutedclinicalStatus = inactivenote.textrecordedDate: Wann wurde ausgeschlossenabatementDateTime: Zeitpunkt des AusschlussesVollständige Beispiele finden sich in: