Prozess der CDA-Leitfadenerstellung in Art-Decor

Aus HL7 Austria MediaWiki
Wechseln zu: Navigation, Suche

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.

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 und referenzieren

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 Referenzieren 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
  • 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.

Die Arten der anzugebenden Beziehungstypen sind der Governance unter Ableitung von Templates beschrieben.

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

  1. Neues DLT anlegen: Angabe Name, Version Label, Display Name laut Governance, dann Template speichern
  2. Anschließend OID entsprechend Governance korrigieren (Template bearbeiten, "#")(nur über GUI möglich, nicht via Temple).
  3. „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.

6.3.2 referenzierte Header Level Templates

Der Großteil der Header Level Templates werden aus dem at-cda-bbr (Allgemeiner Leitfaden - AILF) referenziert. Für die Referenzierung dieser gibt es folgende Vorgaben:

  • Alle verwendeten AILF Header Templates werden im speziellen Leitfaden, in welchem sie verwendent werden, als "new template reference" ins Projekt geladen.
  • Die verwendeten AILF Header Templates werden mit include im Document Level Template abgebildet.
  • Die verwendeten AILF Header Templates werden nicht nochmals eigens in die Leitfäden (z.B. unter 10.2.2 Header Level Templates) referenziert, da sie im DLT abgebildet sind.

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.

ART Template Associations

8 Terminologien hinzufügen

Bestehende ValueSets können mit Kettensymbol unter Value-Sets hinzugefügt werden

https://wiki.hl7.at/index.php?title=ART-

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

14 Versionierung

14.1 Versionierung von Templates

14.1.1 Major

14.1.2 Minor

14.2 Versionierung von Value Sets

Creating a new version of a value set, based on a previous