Prozess der CDA-Leitfadenerstellung in Art-Decor
Eine Einleitung in Art-Decor finden Sie unter ART Introduction.
Eine Übersicht verfügbarer Anleitungen sind unter ART user manuals aufgelistet.
Folgende Vorgehensweisen werden bei der Erstellung von Leitfäden als Best Practices empfohlen.
Inhaltsverzeichnis
- 1 Projekt erstellen
- 2 Datasets erstellen
- 3 Szenario erstellen
- 4 Referenzen auf andere Projektverzeichnisse setzen
- 5 Templates erstellen
- 6 Inhalte von Templates
- 7 Dataset-Mapping erstellen
- 8 Terminologien hinzufügen
- 9 Testen und Fehlerbehebung
- 10 Schematron erstellen
- 11 Asserts erstellen
- 12 Beispieldokumente
- 13 Publikation
- 14 Versionierung
1 Projekt erstellen
Ein neuer CDA-Leitfaden muss in einem eigenen Projektverzeichnis angelegt, alle Autoren müssen entsprechend berechtigt werden. Dies muss gegebenenfalls beim Art-Decor-Support beantragt werden.
Informationen zu den Funktionen des Projekt-Editors finden Sie unter ART Project Editor.
2 Datasets erstellen
Die Modellierung der Datasets soll in enger Abstimmung mit Experten der Arbeitsgruppe erfolgen.
Es ist gute Praxis, bestehende Standards bereits bei der Modellierung der Datasets zu berücksichtigen (z.B. IHE PCC). Wenn möglich sollen bestehende Dataset-Elemente verwendet werden oder von diesen geerbt werden (Dataset versioning).
Die anzugebenden Inhalte eines Dataset-Elements sind in der Governance festgelegt.
Eine Anleitung zur Modellierung von Datasets finden Sie unter ART Dataset Editor.
3 Szenario erstellen
Für jede Dokument-Ausprägung muss eine Transaktion erstellt werden. Diese ist für die Generierung von Schematronregeln erforderlich.
Transaktionen enthalten Konzepte eines Datasets und ergänzen diese um Kardinalität, Konformität und mögliche Bedingungen, damit die Anforderungen des Anwendungsfalles angemessen widergespiegelt werden. Die Angabe von Konformanz und Kardinalität der Dataset-Elemente kann nur in der Transaktion erfolgen, ist jedoch für die Erstellung eines Schematrons nicht zwingend erforderlich.
Eine Transaktion muss das entsprechedende Document-Level-Template referenzieren.
Die Benennung der Transaktion soll der Governance für die CDA-Leitfadenerstellung mit Art-Decor folgen.
Eine Beschreibung zur Erstellung von Transaktionen finden Sie unter ART Scenario Editor.
4 Referenzen auf andere Projektverzeichnisse setzen
Um bestehende Templates anderer Building Block Repositories referenzieren zu können, müssen die entsprechenden Verzeichnisse dem Projekt hinzugefügt werden
Empfehlung: Dem Projekt Referenzen für ad1bbr-, ad2bbr-, at-cda-bbr-, IHE-PCC- hinzufügen.
Eine Anleitung hierfür finden Sie unter Reference a building block repository.
5 Templates erstellen
Hinsichtlich OID, Namensgebung, Beschreibung und Inhalte neuer Templates sind die Richtlinien der Governance für die CDA-Leitfadenerstellung mit Art-Decor einzuhalten.
Alle Funktionen des Template Editors finden Sie unter ART Temple Editor.
5.1 Verwendung von Standards
Grundsätzlich sollen existierende Standards angewendet werden. Generell gilt daher:
- Wenn möglich, sollen bereits vorhandene Templates verwenden werden (siehe Übernahme bestehender Templates).
- Der Standard darf dabei nur eingeschränkt, aber nicht erweitert werden.
- Optionalitäten und Reihenfolge der Elemente müssen eingehalten werden.
- Hinweis: Wenn ein Template laut Standard "required" ist, aber für den konkreten Leitfaden nicht benötigt wird, kann das Template mit einem nullFlavor erstellt werden (z.B. Freitext-Inhalt „keine Information“ oder Code „entry empty“). Dadurch wird der Standard nicht verletzt und das Template kann trotzdem verwenden werden.
5.2 Neues Templates erzeugen
Informationen zur Erstellung von Templates in Art-Decor finden Sie unter Creating a new template.
Hinweise:
- Wenn ein neues Templates erstellt wird, vergibt Art-Decor per default eine dem Projektverzeichnis untergeordnete OID, welche nach den Vorgaben der Governance geändert werden muss (siehe Metadata).
- Hierfür die Art-Decor Governance Group aufrufen und alle unter HL7 Austria bestehenden Templates auflisten lassen, sodass deren Wiederverwendbarkeit geprüft und ermittelt werden kann, welche OID als nächstes vergeben werden darf.
- Neue, allgemeine e-Health-/ELGA-Basistemplates sollen generell im ATCDABBR angelegt und so allgemein definiert werden, dass sie für andere Leitfäden verwendbar sind (ohne Value Sets, ohne projektspezifischen Angaben!)(*). Dies stellt sicher, dass alle Projekte Templates aus dem ATCDABBR ableiten und spezifizieren können (Value Sets ergänzen usw.).
- Beispiel: Section-Template „Durchgemachte Krankheiten“ im ATCDABBR wird abgeleitet in Section-Template „Impfrelevante Erkrankungen - kodiert“ im e-Impfpass.
(*) Bei fehlender Berechtigung können Basistemplates im Projektverzeichnis erstellt werden und später durch berechtigte Personen in das ATCDABBR verschoben werden.
5.3 Übernahme bestehender Templates
Unter dem Link Art-Decor Governance Group sind die Templates der HL7 Austria aufgelistet.
Um herauszufinden, welche Art-Decor Projekte (auch außerhalb der eigenen Governance-Group) bereits ein bestimmtes Template umgesetzt haben, kann man im Menüpunkt „Auge“ (links oben in der ArtDecor-Projektseite), die Template-ID oder den Namen eines Templates angeben -> alle Templates mit zugehörigem Projekt werden aufgelistet.
Je nachdem, ob das Projekt, in dem sich das zu übernehmende Template befindet, im eigenen Projekt verlinkt ist, muss wie folgt vorgegangen werden:
5.3.1 Verlinktes Projektverzeichnis
Übernahme eines vorhandenen Templates aus einem verlinktem Projektverzeichnis (siehe Bestehendes Templates aus einem anderen BBR referenzieren)
- Referenzierung (unveränderte Übernahme) des Templates mit Kettensymbol
- Keine Änderung des Templates möglich!
- Nur verwenden, wenn es bereits ein passendes ELGA-/e-Health-Template gibt
- Kopieren und Anpassen eines Templates (siehe Neue Version eines bestehenden Templates erzeugen)
- Ein passendes Template wird via „+“-Symbol als Prototyp angegeben, welches im Anschluss spezifiziert werden muss (neue OID).
5.3.2 Nicht verlinktes Projektverzeichnis
Die Übernahme vorhandener Templates aus Projektverzeichnissen, die NICHT verlinkt sind, ist nicht über die GUI möglich, da diese Templates nicht als Prototyp angegeben werden können (d.h. von ihnen kann nicht geerbt werden).
Soll der Inhalt eines Templates trotzdem verwendet werden, lässt sich mittels Browser-Direktlink
https://art-decor.org/temple/modules/temple.xquery?id=[OID des Templates]
der XML-Code jedes Templates via Temple (im Lesemodus) anzeigen und anschließend kopieren. Der kopierte Inhalt kann dann in ein neu erstelltes, leeres Template (mittels "+" und "Create from scratch") eingefügt werden. Dabei ist zu beachten, dass der Zeitpunkt (effectiveDate) und die OID des neu erstellten Templates nicht verändert werden! Alle weiteren Inhalte können entsprechend angepasst werden.
Die OID muss in einem späteren Arbeitsschritt über die GUI korrigiert werden.
5.4 Änderung bestehender Templates
Solange sich ein Template noch im Status Entwurf befindet, kann es jederzeit bearbeitet werden. Dabei ist folgendes zu beachten:
- Der Name eines Templates (nicht der Display-Name!) kann nach dem Erstellen des Templates nur mittels Temple geändert werden! Die Änderung des Namens hat keinen Einfluss auf die Referenzierung durch andere Templates -> hier gilt die OID. Der Display-Name kann jederzeit über GUI oder Temple geändert werden.
- Wird die OID geändert, wenn das Template bereits durch andere Templates refereziert wird, werden alle bestehenden Referenzen darauf ungültig! Daher vor der Änderung der OID die Liste aller referenzierenden Templates abspeichern und diese hinsichtlich der neuen OID anpassen!
Wichtiger Hinweis: Sollte das Template bereits produktiv sein ("active"), finden Sie Informationen unter Versionierung.
6 Inhalte von Templates
6.1 Template Metadaten
Hinsichtlich folgender Elemente gelten die Vorgaben der Governance.
6.1.1 Templatename
Es gelten die Definitionen der Governance hinsichtlich Templatename
6.1.2 Versions-Label
Es gelten die Definitionen der Governance hinsichtlich Versions-Label
6.1.3 Item-Label
Es gelten die Definitionen der Governance hinsichtlich Item-Label
6.1.4 Relationships
Wenn Beziehungen zu anderen Templates bestehen (z.B. Spezialisierung), sollen diese in den Template-Metadaten des neu erstellten Templates ersichtlich sein. Dort muss auch angegeben werden, ob es sich um eine Spezialisierung (z.B. Einschränkung von 0..1 O auf 1..1 M oder Adaptierung von M auf O) handelt. Die Template-ID des Basistemplates wird nur zu Zwecken der Nachvollziehbarkeit in den Metadaten angegeben, in der Templatespezifikation selbst muss sie entfernt werden, da dies sonst bei der Generierung von "closed" Schematron-Regeln zu Inkonsistenzen und zu falsch-positiven Schematron-Fehlern bei der Validierung führen kann.
6.1.5 Beispiel-Snippets
- Code-Snippet-Gerüste können mit dem "Zaubstab" im ART Template Editor erzeugt werden (siehe Insert example).
- In allen Templates (außer DLTs) werden nur Code-Snippets des betreffenden Templates selbst eingefügt. Beispiel-Snippets werden in der Regel nur zum Template selbst erstellt, nicht aber zu den darin verlinkten Templates (z.B. included Entries).
- Code-Snippets sollen immer zuletzt ergänzt werden, um den Aufwand nach Änderungen im Template gering zu halten.
6.2 Template Body
6.2.1 Template-ID
In einer konkreten CDA XML Instanz darf nur 1 Template-ID aus dem ELGA OID Root 1.2.40.0.34.6.0.11.XXX stammen. D.h. jene Template-ID, die beim Ableiten eines Prototyps von Art-Decor automatisch hinzugefügt wird, muss entfernt werden. Weitere OID können - sofern im zugrundeliegenden Standard gefordert - angegeben werden. Alle Richtlinien zur Vergabe einer OID für das neu erzeugte Template sind unter Governance zu finden.
6.2.2 Standard-Referenzen
Daten- und Template-Elemente sollen in ihrem Label zu der entsprechenden Spezifikation verlinken, auf der sie basieren (z.B. IHE PHARM, Kap. 4.4). Dies liegt in der Verantwortung des Entwicklers.
6.2.3 XDS-Metadaten-Mapping
Elemente die auf XDS-Metadaten gemappt werden müssen, sollen mit "↔ Hinweis zum XDS-Mapping" gekennzeichnet sein.
Beispiel:
↔ Hinweis zum XDS-Mapping: Das templateId-Element mit einer Extension beginnend mit "XDSdocumentEntry.formatCode^" wird ins XDS-Attribut formatCode gemappt (ohne Präfix XDSdocumentEntry.formatCode^)
6.3 Document Level Template erstellen
Für jede Dokumentart (jede Transaktion) muss ein neues Document-Level-Template (DLT) erstellt werden (nach Vorgaben der Governance).
Anmerkung: Solange das DLT noch nicht in der Transaktion des Szenarios verlinkt ist, wird dessen Label (im Template-Baum) als oranges Dreieck mit Pfeilen angezeigt, sonst als oranges Viereck/Buch.
6.3.1 Workflow Document Level Template erstellen
- Neues DLT anlegen: Angabe Name, Version Label, Display Name laut Governance, dann Template speichern
- Anschließend OID entsprechend Governance korrigieren (Template bearbeiten, "#")(nur über GUI möglich, nicht via Temple).
- „Included Templates“ aus DLT-Header mit Kettensymbol zum Projekt hinzufügen
Tipps:
- Zur Vereinfachung kann der Inhalt eines bestehenden DLT via Temple als XML kopiert und in das neue Template einfügen werden (effective DATE und OID bleiben erhalten).
- Inhaltliche Korrekturen und Anpassungen können auch in einem externen XML-Editor (z.B. Oxygen) durchgeführt und dann in Temple eingefügt werden.
7 Dataset-Mapping erstellen
Die Zuordnung von Datensatz-Elementen und erstellten Templates wird empfohlen. Dadurch sind alle mit einem Template assoziierten Konzepte in der Template-Beschreibung zusammengefasst, sowie direkt beim assoziierten CDA-Element bzw. Attribut des Templates ersichtlich. Dies dient der Kontrolle (auch für die Experten-/Arbeitsgruppe), dass alle erforderlichen Dataset-Elemente in den Templates modelliert wurden.
8 Terminologien hinzufügen
Bestehende ValueSets können mit Kettensymbol unter Value-Sets hinzugefügt werden
https://wiki.hl7.at/index.php?title=ART-
- [DECOR_Governance&stable=0&redirect=no#Root_OIDs_f.C3.BCr_Value_Sets Root OIDs für Value Sets]
- Namenskonventionen für die Erstellung neuer Value Sets
9 Testen und Fehlerbehebung
Um die Qualität eines Projekts zu überprüfen, können eine Reihe von Prüfungen durchgeführt werden, bevor eine Publikation erstellt wird.
Informationen zu den entsprechenden Funktionalitäten des ART Project Editors finden Sie unter Preflighting publication and quality checks.
9.1 Workflow Decor Prüfung
Die Decor Prüfung testet, ob das Projektschema gültig ist und Schematronregeln erstellt werden können.
Menü Projekt – Entwicklung:
- "Decor prüfen": Prüfung über gesamtes Modell
- "Optionale Prüfungen konfigurieren": alle Optionen auswählen
- Schema und Schematron-Prüfung durchführen, eventuelle Fehler werden aufgelistet.
10 Schematron erstellen
Generell gilt:
- Mithilfe von ISO Schematron kann geprüft werden, ob ein gültiges HL7 CDA Dokument (HL7 v3) vorliegt, während eine XSD-Schemaprüfung, nur prüft ob ein gültiges XML Dokument vorliegt.
- Aus den modellierten Templates können über Art-Decor automatisch Schematronregeln generiert werden.
- Wenn zusätzliche Geschäftsregeln geprüft werden sollen, die nicht in den Templates modelliert sind, müssen die dazu notwendigen Asserts von Hand eingetragen werden (z.B. Logik: Schwangerschaftsstatus, prüfen ob Impfempfehlung in diesem Jahr noch gültig).
- Informationen zu den entsprechenden Art-Decor Tool finden Sie unter Live Runtime Compile (LRC).
- Es wird empfohlen, bereits während der Modellierung regelmäßig eine Kompilierung durchzuführen (z.B. nachdem ein DLT mit Header und noch leerem structuredBody erstellt wurde), um zu testen, ob das Projektschema noch gültig ist.
- Art-Decor bietet die Möglichkeit nach korrekter Schematron-Generierung ein Beispieldokument zu prüfen.
10.1 Workflow Schematron erzeugen
Menü Projekt – Entwicklung:
- "Compiliere Entwicklungsversion":
- "Optionale Prüfungen konfigurieren": Optionen "Force recompile", "Explicit includes", "Schematron geschlossen" (falls gewünscht)
- Bei jeder Compilierung entsteht eine neuer Listeneintrag, das zip-File kann gespeichert werden um lokal Beispieldokumente zu validieren -> Achtung, nur die jeweils letzten beiden Versionen bleiben zum Download verfügbar!
- Nach Publikation soll nur die letzte, gültige Schematron-Version verfügbar sein (alle restliche können entfernt werden).
11 Asserts erstellen
(TODO: OKU)
12 Beispieldokumente
12.1 Beispielbokumente erstellen
- Das Gerüst eines Beispieldokuments kann erstellt werden, indem man im entsprechenden DLT den Zauberstab des Template Editors anwendet und rekursiv alle Code-Snippets der darin verlinkten Templates einfügt.
- In jedem Document-Level-Template soll nur ein Verweis auf ein vollständiges Beispieldokument angeführt werden (z.B. auf HL7.at), damit dies bei Bedarf angepasst werden kann. Änderungen im DLT erfordern sonst eine neue Template-ID!
- Beispieldokument sollen immer zuletzt ergänzt werden, um den Aufwand nach Änderungen in Templates gering zu halten.
12.2 Beispieldokumente validieren
Nachdem erfolgreich ein Schematron erstellt wurde, kann unter im Projekt Editor unter "Menü Projekt"–"Entwicklung"-"Compiliere Entwicklungsversion" im aktuellen Listeneintrag die Funktion "XML-Instanz validieren" ausgewählt werden und ein Beispieldokument hochgeladen werden.
13 Publikation
Informationen zur Publikation eines Leitfadens in Art-Decor finden Sie unter Creating a new version / release / publication request.
TODO