Leitfaden erstellen mit Mediawiki -> Kann gelöscht werden

Aus HL7 Austria MediaWiki
Wechseln zu: Navigation, Suche

Mit dem Wiki Portal von HL7 Austria wird das Ziel verfolgt, alle Implementierungsleitfäden und dazugehörigen Dokumente, Terminologien, Templates und sonstiges im Wiki verfügbar zu machen. Um einen Leitfaden zu veröffentlichen, ist eine Reihe von Schritten durchzuführen. Die Leifäden bzw. die zugehörigen Teildokumente müssen nach bestimmten Kriterien erstellt werden, um als Leitfäden oder als Teil davon erkannt zu werden und die Extraktionsmöglichkeit als PDF-Dokument zu ermöglichen.

1 Workflow

Die Einbindung eines neuen Leitfadens folgt einem vorgegebenen Prozess, dieser ist ersichtlich unter Workflow.

2 Wiki-Hilfe

Die Wiki Hilfe bietet eine Einführung, wie grundsätzlich mit einem Wiki gearbeitet wird und welche Markups zur Verfügung stehen: How-to-Wiki.

3 Leitfaden im Wiki erstellen

3.1 Aufbau eines Implementierungsleitfadens

Ein Implementierungsleitfaden teilt sich in einen technischen und einen textlichen Teil auf. Der technische Teil ist für den Leser nicht sichtbar und beinhaltet folgende Angaben:

Optional stehen folgende Funktion bereit:

Der textliche Teil eines Wiki Leitfadens, beinhaltet den eigentlichen Inhalt(/Beschreibung) eines Implementierungsleitfaden. Implementierungsleitfäden sind sehr lange Dokumente und umfassen meist mehrere Hundert A4-Seiten. Deshalb kann es sinnvoll sein, das Hauptdokument in Teildokumente zu unterteilen. Die Summe der Teildokumente ergibt somit einen Leitfaden.

3.1.1 Hauptdokument

Das Hauptdokument bildet den eigentlichen Leitfaden im Wiki ab und ist in verschiedene Abschnitte eingeteilt. Diese Abschnitte sind im Wiki sogenannten Teildokumente die in Summe den gesamten Leitfaden abbilden. Um die Teildokumente in das richtige Hauptdokument zu transkludieren, müssen dies ebenfalls dem Namensbereich "ILF" zugeordnet sein. Teildokumente werden im Hauptdokument folgendermaßen eingebunden:

{{ILF:Danksagung}}

3.1.2 Teildokument

Die Teildokumente enthalten den wiederverwendbare Textteile und müssen ebenfalls dem Namensbereich "ILF" zugeordnet werden.

3.1.3 Typische Gliederung eines Dokuments

In der Governance zur Erstellung von Leitfadenerstellung wird die Typische Gliederung eines Dokuments vorgegeben.

3.1.4 Vollständiges Beispiel eines Implementierungsleitfadens

Beispiel:

{{#seo:
|title=Entlassungsbrief (Ärztlich)
|titlemode=append
|keywords= Entlassungsbrief,Entlassungsbrief Ärztlich,Ärztlicher Entlassungsbrief,CDA, Leitfaden, Leitfäden, Spezielle Leitfäden, Arzt, Krankenhaus, Informationsausstausch, Gesundheitsdienstleitster, GDA, Medizin, Patienten
|description=Ein Entlassungsdokument enthält die medizinisch relevanten Teile der Geschichte eines Patienten und ist für den Informationsaustausch zwischen Gesundheitsdienstleistern bestimmt. 
}}
{{#customtitle:Entlassungsbrief (Ärztlich)}}

{{Underconstruction}}
 <!--

         Implementierungsleitfaden "Entlassungsbrief (Ärztlich)"
 >

{{#css:
@media screen{
.orange{
   border: thin black solid;
   background-color:#F4C789;
   padding: 5px 5px 5px 5px;
   margin-left:6px;
   width:70%;
}
.violet{
   border: thin black solid;
   background-color:#E5D0EE;
   padding: 5px 5px 5px 5px;
   margin-left:6px;
   width:70%;
}
.toc{
    width: 20%;
    float: right !important;
    margin: 10px 0px 10px 30px !important;
    border: 1px solid #AAA;
    background-color: #F9F9F9;
    display: table;
    padding: 7px !important;
}
}
}}

{{Infobox Dokument
|Group     = ELGA CDA<br/>Implementierungsleitfäden
|Title     = HL7 Implementation Guide for CDA<sup>®</sup> R2:<br/>Entlassungsbrief (Ärztlich)
|Subtitle  = Zur Anwendung im österreichischen<br/>Gesundheitswesen [1.2.40.0.34.7.1.6.2]
|Short     = Entlassungsbrief (Ärztlich) 
|Namespace = elga-cdaea-2.06.2
|Type      = Implementierungsleitfaden
|Version   = 2.06.2
|Submitted = HL7 Austria
|Date      = 20. März 2017
|Copyright = 2017-2021
|Status    = Entwurf
|Period    = n.a.
|OID       = n.n.
|Realm     = Österreich
}}

 <!--
{{Infobox Contributors Begin}}
{{Contributor | Logo = Logo.jpg | Name = Abc | Location = Hürth }}
{{Infobox Contributors End}}
 >

=Informationen über dieses Dokument=
{{ILF:Allgemeines}}
{{ILF:Verbindlichkeit}}
{{ILF:Zielgruppe}}
{{ILF:Hinweis auf verwendete Grundlagen}}
{{ILF:Danksagung}}
{{ILF:Hinweise zur Nutzung des Leitfadens}}
.
.
.

3.1.5 Benutzerdefinierter Titel

Ermöglicht das Ändern des Seitentitels mittels:

{{#customtitle:Neuer Titel}}

3.1.6 SEO

SEO ist eine Maßnahme, um das Ranking in Suchmaschinen zu optimieren.
Code:

{{#seo:
|title=LOINC
|titlemode=append
|keywords= Leitfaden, Leitfäden, LOINC, ELGA, Arzt, Krankenhaus, Informationsausstausch, Gesundheitsdienstleitster, GDA, Medizin, Patienten
|description=Dieser Leitfaden erklärt das Vorgehen beim „Mapping“, der korrekten Zuordnung von lokalen Laborcodes zu den standardisierten Codes für ELGA
}}

3.1.7 In Bearbeitung/UnderConstruction

Um den Leser darauf hinzuweisen, dass dieser Leitfaden noch in Bearbeitung ist, muss die Vorlage „Underconstruction“ verwendet werden. Damit wird die Wiki-Seite visuell als „In Bearbeitung“ gekennzeichnet:

{{Underconstruction}}

3.1.8 Strukturbeispiele

Für die Strukturbeispiele bitte die jeweils entsprechenden Vorlagen verwenden.

3.1.9 Inhaltsverzeichnis

Damit das Inhaltsverzeichnis richtig dargestellt wird, die Vorlage ILF-TOC limit einbinden:

{{ILF-TOC limit}}

3.1.10 Infobox

Jeder Leitfaden hat eine Infobox, die alle zur Erstellung der Druckversion im PDF Format notwendigen Informationen enthält. Sie ist in der Online-Version nicht sichtbar.

{{Infobox Dokument
|Group     = ELGA GmbH<br/>Leitfaden zur Verwendung von LOINC<sup>®</sup>
|Title     = im ELGA CDA<sup>®</sup> R2 Laborbefund
|Subtitle  = Zur Anwendung im österreichischen<br/>Gesundheitswesen [1.2.40.0.34.10.1]
|Short     = Leitfaden zur Verwendung von LOINC 
|Namespace = elga-loinc-1.03
|Type      = Implementierungsleitfaden
|Version   = 1.03
|Submitted = HL7 Austria
|Date      = 07. Februar 2017
|Copyright = 2017-2021
|Status    = Gültig
|Period    = n.a.
|OID       = n.n.
|Realm     = Österreich
}}

Für die Erstellung des PDF-Dokuments werden die Werte für Group, Title, Subtitle, Date, Version und Status übernommen. Die anderen Felder werden zurzeit nicht genutzt.

3.1.11 Namespace/Namensraum

Jeder Leitfaden gehört zu einem Namespace, z.B. elga-cdaps-2.06.2 für das Patient Summary. Darüberhinaus gibt es auch den allgemeinen Namespace ILF (Implementierungsleitfäden), der alle Leitfäden vereint. Wenn eine Seite in eine Hauptseite eingebunden werden soll, muss die Unterseite einem Namensraum zugehören.

Weitere Namespaces müssen im LocalSettings.php angelegt werden.

Der Namespace Name darf keine Bindestriche enthalten, der Titel aber schon!

// Define constants for additional namespaces.
define("NS_ILF", 3000); // This MUST be even.
define("NS_ILF_DISKUSSION", 3001); // This MUST be the following odd integer.
define("NS_elga_cdaps2062", 3002); // This MUST be even.
define("NS_elga_cdaps2062_DISKUSSION", 3003); // This MUST be the following odd integer.
// Add namespaces.
$wgExtraNamespaces[NS_ILF] = "ILF";
$wgExtraNamespaces[NS_ILF_DISKUSSION] = "ILF_Diskussion";
$wgExtraNamespaces[NS_ elga_cdaps2062] = " elga-cdaps-2.06.2";
$wgExtraNamespaces[NS_ elga_cdaps2062_DISKUSSION] = " elga-cdaps-2.06.2_Diskussion";

Im Generellen ist die Struktur der Namensräume folgendermaßen aufgebaut:

elga-cda | Abkürzung des Titels des Leitfadens | Version

Jeder Leitfaden gehört zu seinem eigenen Namespace und zum Namespace ILF. z.B. der Leitfaden für das Patient Summary gehört auch zu elga-cdaps-2.06.2 und ILF

Alle Seiten zu allgemeinen Kapiteln, die für alle Leitfäden gleich sind, gehören zum Namespace ILF.

Alle Seiten zu spezifischen Kapiteln, die nur für diesen Leitfaden gelten, gehören zum Namespace des spezifischen Leitfadens z.B. elga-cdaps-2.06.2.

Werden Seiten zu Kapitel aus anderen Leitfäden übernommen, so gehören sie zum Namespace des anderen Leitfadens.

3.1.11.1 Neuen Namespace anlegen

Um weitere Namensräume anzulegen, müssen diese in den LocalSettings.php definiert und eingefügt werden.

// Define constants for additional namespaces.
define("NS_ILF", 3000); // This MUST be even.
define("NS_ILF_DISKUSSION", 3001); // This MUST be the following odd integer.
odd integer.
// Add namespaces.
$wgExtraNamespaces[NS_ILF] = "ILF";
$wgExtraNamespaces[NS_ILF_DISKUSSION] = "ILF_Diskussion";

Der neue Namensraum muss in der FlaggedRevs.php (Verzeichnis: extensions/FlaggedRevs/FlaggedRevs.php) eingefügt werden, ansonsten kann man Seiten, die diesem Namensraum angehören, nicht flaggen. Hierfür die FlaggedRevs.php öffnen und die Zahl, die für den Namespace vergeben wurde, nach an letzter Stelle des Arrays einfügen:

# Allowed namespaces of reviewable pages
$wgFlaggedRevsNamespaces = [ NS_MAIN, NS_FILE, NS_TEMPLATE, 3000, 3002, 3004, 3006, 3008, 3010, 3012, 3014, 3016, 3018, 3020, 3030, 3032, 3034, 3036, 3038, 3040, 3042, 3044, 3046, 3048, 3050];

3.1.12 Versionierung

Die Versionierung der Leitfäden erfolgt über den Namespace und Flagged Revision.

Wird eine neue Version eines Leitfadens erarbeitet, so muss

  • die alte Version im Wiki vor Änderungen gesperrt werden
  • der neue Namespace für diese Version angelegt werden
  • die Seiten der alten Version, die unverändert bleiben, können so inkludiert werden
  • die Seiten, die geändert werden müssen, müssen neu angelegt werden

3.1.13 Verlinkung von Leitfäden

Innerhalb der Leitfäden werden häufig Abschnitte desselben oder von anderen Leitfäden verlinkt. Dabei müssen folgende Regeln eingehalten werden:

  • Links, die zu Abschnitten innerhalb desselben Leitfadens führen, müssen in dem Format [#Abschnitt|alternativer Text] angegeben werden. Dadurch ist es für eine neue Hauptversion möglich, den Wiki-Quelltext einfach in eine neue Seite zu kopieren, ohne die Links zu den Abschnitten anpassen zu müssen.
  • Links zu anderen Leitfäden müssen auf die entsprechende Hauptversion gesetzt werden (z.B. [[ILF:Allgemeiner Implementierungsleitfaden 2020#Wichtige unterstützende Materialien|alternativer Text]]).
    • Grundsätzlich sollte darauf geachtet werden, dass sich Leitfäden nicht gegenseitig referenzieren. Dh. eine Kette/Hierarchie wäre zulässig, zirkuläre Referenzen nicht.
  • Eine Überprüfung der Links für jeden Leitfaden sollte vor der Veröffentlichung vorgenommen werden (z.B. kann im Wiki-Quelltext nach [[ gesucht werden). Alternative Vorschläge dafür sind gerne willkommen.

Zu beachten: jede neue Hauptversion erhält eine eigene neue Wiki-Seite (z.B. Allgemeiner_Implementierungsleitfaden_2020 bzw. die nächste Hauptversion Allgemeiner_Implementierungsleitfaden_2022).

3.2 Art-Decor Templates einbinden

Die Templates für den Leitfaden werden in ArtDecor modelliert (http://art-decor.org/art-decor/decor-project--elga-) und mittels eines Bots ins Wiki übertragen und in den Leitfaden transkludiert. Die Identifizierung der Templates erfolgt über ihre OID, über die sie auch als Wikiseite aufgerufen werden können.

Für die Transklusion gibt es zwei Möglichkeiten:
1. Einbinden eines Art-Decor Templates dynamisch
Die dynamische Möglichkeit stellt sicher, dass immer das Template der letzten Version eingebunden ist. Somit werden Änderungen im Art-Decor im Wiki Leitfaden automatisch mittels eines Bots nachgezogen. Eingebunden können Templates bei dynamischer Verwendung durch folgenden Code:

{{:OID-NR/dynamic}}
Beispiel Rehabilitationsziele:
{{:1.2.40.0.34.11.2.2.26/dynamic}}

2. Einbinden eines Art-Decor Templates statisch (Zeitstempel): Die statische Möglichkeit sieht vor eine bestimmten Version des Templates anhand des Zeitstempels einzubinden. Der Code hierfür lautet:

{{:OID-NR/static-Datum-Zeit}}
Beispiel eMedikationRezept:
{{:1.2.40.0.10.1.4.3.4.1.1.1/static-2013-12-16T000000}}

Jedes Template besteht also sozusagen aus verschiedenen Versionen (Static Versionen) und über einen redirect (dynamic) wird auf die aktuellste Version des Templates verwiesen.

3.3 PDF Generierung

Für die Generierung eines PDF-Dokuments aus einer Wikiseite wird das Tool

PRINCE 11 , free for non-commercial use (https://www.princexml.com/download/)

verwendet. Die Version wird lokal auf dem Benutzerrechner gespeichert und das EXE-File aus dem Filesystem heraus aufgerufen.

Die Quelle für das Dokument ist immer das Wiki.

Es kommen drei Stylesheets zur Anwendung:

= Stylesheet für das Aussehen des MediaWikis am Bildschirm
= elgaspezifisches Stylesheet

Alle nötigen Parameter können beim Programmstart via Skript mitgegeben werden.

Inhalt eines Beispiel-Batchfiles (.bat) für Wiki-Druck des Allgemeinen Leitfadens 2020 (abgenommene Version / "stable Version" / "Lese-Ansicht"): (die Pfade sind entsprechend anzupassen):
"C:\Program Files (x86)\Prince\engine\bin\prince" "https://wiki.hl7.at/index.php?title=ILF:Allgemeiner_Implementierungsleitfaden_2020" -v --javascript -o "C:\Users\User_x\Downloads\ILF_ALF_2020.pdf" -s "http://wiki.hl7.at/index.php?title=MediaWiki:Common.css&usemsgcache=yes&ctype=text%2Fcss&smaxage=18000&action=raw&maxage=18000" -s "http://wiki.hl7.at/index.php?title=-&action=raw&maxage=18000&gen=css" -s "http://wiki.hl7.at/index.php? title=MediaWiki:Geshi.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000" -s "https://wiki.hl7.at/extensions/ELGA-Prince/elga.css"

Beispiel-Skript für Wiki-Druck den des Allgemeinen Leitfadens 2020 - Revisions-Version (die Pfade sind entsprechend anzupassen, hier muss zusätzlich zu dem Leitfaden-Link "&stable=0" angegeben werden):
"C:\Program Files (x86)\Prince\engine\bin\prince" "https://wiki.hl7.at/index.php?title=ILF:Ambulanzbefund&stable=0" -v --javascript -o "C:\Users\User_x\Downloads\ILF_AMB_2020.1_Revsion.pdf" -s "http://wiki.hl7.at/index.php?title=MediaWiki:Common.css&usemsgcache=yes&ctype=text%2Fcss&smaxage=18000&action=raw&maxage=18000" -s "http://wiki.hl7.at/index.php?title=-&action=raw&maxage=18000&gen=css" -s "http://wiki.hl7.at/index.php? title=MediaWiki:Geshi.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000" -s "https://wiki.hl7.at/extensions/ELGA-Prince/elga.css"

4 Häufige Probleme

4.1 Die Änderungen der Unterseite werden nicht auf der Hauptseite angezeigt

Dazu gehen Sie auf der Hauptseite auf den Reiter "Bearbeiten" und speichern den Beitrag gleich wieder mit dem Klick auf "Änderungen speichern". Jetzt werden die Änderungen von der Unterseite in die Hauptseite gezogen und sollten aufscheinen.

4.2 Anlegen neuer Namespaces/Namensräume

Siehe hierzu Punkt Neuen Namespace anlegen

4.3 Eingebettete Unterseite wird nicht angezeigt

Wenn eine Unterseite mit folgendem Code eingebettet wird

{{Unterseite}}

und nicht angezeigt wird, dann liegt es daran, dass die Unterseite nicht einem Namensraum zugeordnet ist. Lesen Sie bitte dazu den Schritt: Seite einem Namensraum zuordnen