[geprüfte Version] | [Markierung ausstehend] |
|
|
| + | ===Textstrukturierung und Formatierung=== |
| + | Die medizinischen Informationen werden im CDA Body immer in Textform wiedergegeben (''section.text'' ist verpflichtend). Dies garantiert, dass die Dokumente immer für den Menschen lesbar sind. |
| + | |
| + | Der Text selber kann wiederum Strukturelemente aufweisen, mit den Listen, Tabellen, Unterabschnitte etc definiert werden. |
| + | |
| + | Der CDA-Standard erlaubt nur eine kleine Auswahl an Formatierungsoptionen für den section.text, damit die oben genannte einfache Lesbarkeit ("human readability") zuverlässig erhalten bleibt und die Anforderungen für die Wiedergabe einfach bleiben. Die Syntax entspricht einem vereinfachten und stark eingeschränkten HTML. |
| + | |
| + | Dieses Kapitel behandelt die verschiedenen Möglichkeiten der Textstrukturierung im text-Element einer CDA Sektion. |
| + | {{BeginYellowBox}} |
| + | Hinweis: Damit Struktur und Formatierung möglichst von allen im Umlauf befindlichen Stylesheets korrekt wiedergegeben kann, dürfen nur bekannte Formatierungsoptionen verwendet werden.<br/> |
| + | Nur die in diesem Leitfaden genannten Optionen für die Strukturierung des Textes im narrativen Block sind ERLAUBT, alle anderen daher VERBOTEN. |
| + | {{EndYellowBox}} |
| + | Innerhalb von Sections wird das text-Element verwendet, um den narrativen Text ("plain text") darzustellen. In vielen Fällen lassen sich die medizinischen Inhalte aber auch noch weitergehend strukturieren. Dazu stehen in CDA als Stil-Elemente Listen, Tabellen und Unterabschnitte (Paragrafen) zur Verfügung. Mit Hilfe eines einfachen Stylesheets können die Inhalte in diesen Strukturelementen für den Menschen lesbar dargestellt werden. |
| + | |
| ====Listen==== | | ====Listen==== |
| Das Strukturelement "Liste" dient zur Abbildung einer einfachen Aufzählung medizinischer Inhalte. | | Das Strukturelement "Liste" dient zur Abbildung einer einfachen Aufzählung medizinischer Inhalte. |
|
|
| </text> | | </text> |
| </pre> | | </pre> |
| + | |
| + | ====Tabellen==== |
| + | Zur Repräsentation medizinischer Inhalte, die sich adäquat tabellarisch darstellen lassen, bietet sich die Tabellenform an. Als Beispiele seien genannt: Laborwerte, Allergiewerte, Diagnosen mit ICD-Codierung etc. |
| + | |
| + | CDA realisiert ein vereinfachtes XHTML Table Modell, das HTML sehr ähnelt. Eine Tabelle wird mit dem table-Element angegeben. Siehe auch [[#Erweiterte_styleCodes|Erweiterte styleCodes]]. |
| + | <br /> |
| + | <br /> |
| + | Die '''Tabellenüberschrift''' wird eingeschlossen in thead Tags, die Überschriftenzeile in tr Tags und die einzelnen Spalten-Items der Überschrift mit th Tags. |
| + | |
| + | Die optionale '''Tabellenunterschrift''' <tfoot> wird entsprechend der HTML-Tabellenkonvention direkt vor dem <tbody>-Tag und nach dem <thead> Tag angeführt. Es wird für Fußnoten in Tabellen verwendet und enthält genau einen <tr> und einen <td>-Tag (Siehe auch Beispiel in [[#Fu.C3.9Fnoten|Fußnoten]]) |
| + | |
| + | Die eigentlichen '''Tabelleninhalte''' werden in ''tbody'' Tags, die Datenzeile in ''tr'' Tags und die einzelnen Spalteninhalte einer Datenzeile mit ''td'' Tag gekapselt. |
| + | |
| + | Mit dem '''caption'''-Unterelement wird eine Beschreibung der Tabelle angegeben. Die Textalternative für Tabellen (für Alt-Text bzw das alt-Tag in HTML) SOLL auch im caption-Unterelement von < table> angegeben werden. Dieses Element kann in Screenreadern entsprechend ausgewertet werden und erhöht die Barrierefreiheit. |
| + | <br /> |
| + | <br /> |
| + | Die Vorgaben für Tabellen MÜSSEN korrekt eingehalten werden, damit sie zuverlässig und korrekt durch Stylesheets dargestellt werden können. |
| + | Die Anzahl der Spalten MUSS über eine komplette Tabelle in thead und tbody gleich bleiben (ausgenommen tfoot). |
| + | |
| + | Folgende Elemente und Attribute mit Auswirkung auf die Darstellung sind erlaubt: |
| + | *span (Achtung: Anzahl der Spalten muss über die Tabelle konstant bleiben) |
| + | *stylecode |
| + | |
| + | Folgende Attribute sind ebenfalls erlaubt und sind im erzeugten HTML enthalten. Die Attribute werden z.B. für Barrierefreiheit benötigt (Ausgabe mit Screenreadern), müssen aber keine direkt sichtbare Auswirkung auf die Darstellung haben: |
| + | *language |
| + | *ID |
| + | *summary |
| + | *abbr |
| + | *axis |
| + | *headers |
| + | *scope |
| + | Alle anderen Attribute, wie z.B. rowspan sind explizit VERBOTEN! |
| + | |
| + | =====bestimmte Zeilen der Tabelle ausblenden / aufklappbar machen===== |
| + | In bestimmten Anwendungsszenarien ist es sinnvoll, einzelne Zeilen einer Tabelle auszublenden. Damit wird der Fokus auf wesentliche Informationen gelenkt. Die ausgeblendeten Daten können bei Bedarf durch einen Klick auf „Alles anzeigen“ am unteren Rand der Tabelle wieder eingeblendet werden. |
| + | |
| + | Um dieses Verhalten zu ermöglichen, sind zwei Schritte erforderlich: |
| + | |
| + | 1. Zunächst muss im Stylesheet die Option "enableCollapsableTables" aktiviert sein. Diese sorgt auch dafür, dass Tabellen automatisch ausklappbar sind, wenn sie mehr als zehn Zeilen umfassen. <br/> |
| + | 2. Danach müssen die Zeilen, die ausgeblendet werden sollen, entsprechend markiert werden. Dafür wird im ersten <td> Element ein ID-Attribut gesetzt, welches mit "expandable_row" beginnt, wie man auch im folgenden Beispiel in der letzten Zeile der Tabelle sieht. |
| + | |
| + | =====Strukturbeispiel===== |
| + | Eine Tabelle hat das folgende Aussehen: |
| + | <pre class="ilfbox_code"> |
| + | <text> |
| + | : |
| + | <table> |
| + | <caption>Dies ist ein Strukturbeispiel einer Tabelle</caption> |
| + | <!-- Kopfzeile --> |
| + | <thead> |
| + | <tr> |
| + | <th>Spaltenüberschrift 1</th> |
| + | <th>Spaltenüberschrift 2</th> |
| + | </tr> |
| + | </thead> |
| + | |
| + | <!-- Optionale Fußzeile mit EINER Spalte --> |
| + | <tfoot> |
| + | <tr> |
| + | <td>Die Fußzeile hat eine durchgehende Spalte</td> |
| + | </tr> |
| + | </tfoot> |
| + | |
| + | <!-- Tabelleninhalte - Anzahl der Spalten gleich wie Kopfzeile --> |
| + | <tbody> |
| + | <tr> |
| + | <td>1. Zeile - Daten der Spalte 1</td> |
| + | <td>1. Zeile - Daten der Spalte 2</td> |
| + | </tr> |
| + | <tr> |
| + | <td ID="expandable_row_2">n. Zeile - Daten der Spalte 1</td> |
| + | <td>n. Zeile - Daten der Spalte 2</td> |
| + | </tr> |
| + | </tbody> |
| + | </table> |
| + | : |
| + | </text> |
| + | </pre> |
| + | |
| + | ====Unterabschnitte==== |
| + | Zur Strukturierung eines längeren Textes kann das ''paragraph'' Tag verwendet werden. |
| + | =====Strukturbeispiel===== |
| + | <pre class="ilfbox_code"> |
| + | <text> |
| + | : |
| + | <paragraph>Sollten nach der empfohlenen Medikation mit Atemur die klinischen Zeichen weiterhin bestehen, halte ich bei dem umfangreichen Risikoprofil einen Kuraufenthalt für zwingend notwendig.</paragraph> |
| + | <paragraph>Ich bitte dann um Wiedervorstellung des Patienten.</paragraph> |
| + | : |
| + | </text> |
| + | </pre> |
| + | |
| + | ====Referenzierter bzw. attribuierter Inhalt (content)==== |
| + | Das CDA ''content''-Element wird benutzt, um Text ausdrücklich mit Tags "einzurahmen", so dass er referenziert werden kann oder bestimmte Möglichkeiten zur visuellen Darstellung genutzt werden können. Das content-Element kann rekursiv ineinander geschachtelt werden, was die Einrahmung von ganzen Texten bis hin zu kleinsten Teilen (Worte, Buchstaben etc.) erlaubt. |
| + | |
| + | '''''Referenzierter Inhalt'''''<br/> |
| + | Das ''content''-Element enthält ein optionales Identifikator Attribut, das als Ziel einer XML Referenz dienen kann. Alle diese IDs sind als XML IDs definiert und MÜSSEN im gesamten Dokument eindeutig sein. Die ''originalText'' Komponente einer RIM Klasse, die sich in den CDA Entries (siehe unten) wiederfindet, kann sich somit explizit auf die vom content-Element im Textteil umschlossene Information beziehen. |
| + | |
| + | '''''Attribuierter Inhalt'''''<br/> |
| + | Das ''content''-Element wird auch zur Einrahmung von Text benutzt, der in einem bestimmten Stil dargestellt werden soll, was mit dem @''styleCode'' Attribut näher beschrieben wird. |
| + | =====Zugelassene styleCode Attribut-Werte===== |
| + | {| class="wikitable" width="100%" |
| + | |- |
| + | ! style="text-align:left" width="30%" | styleCode||style="text-align:left" width="30%" | Definition||style="text-align:left" width="60%" | Nutzungsbeispiel |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | bold||Fettdruck ||<content styleCode="bold"> text </content> |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | underline||Unterstrichen||<content styleCode="underline"> text </content> |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | italics||Kursivschrift||<content styleCode="italics"> text </content> |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | emphasis||Kapitälchen ||<content styleCode="emphasis"> text </content> |
| + | |- |
| + | |} |
| + | <ref group="Tabelle">Tabellen - styleCodes</ref>:''Tabellen - styleCodes'' |
| + | |
| + | =====Strukturbeispiel===== |
| + | Im folgenden Beispiel wird das Textstück "Asthma" durch das content-Element eingerahmt, so dass in einem möglichen Level 3 Entry darauf Bezug genommen werden kann (siehe "[[#Verkn.C3.BCpfung_von_Text_und_Entry_.28.22CDA_Level_4.22.29|Verknüpfung von Text und Entry]]"). |
| + | |
| + | Darunter findet sich ein Text, der fett gedruckt erscheinen soll. |
| + | <pre class="ilfbox_code"> |
| + | <text> |
| + | : |
| + | Diagnose des Patienten: <content ID="diag1">Asthma</content> |
| + | <content styleCode="bold">Dieser Text ist fettgedruckt.</content> |
| + | <content styleCode="bold italics"> Text ist fett und kursiv.</content> |
| + | : |
| + | </text> |
| + | </pre> |
| + | |
| + | ====Erweiterte styleCodes==== |
| + | Neben den vom CDA-Standard vorgesehenen Möglichkeiten der Formatierung von Textelementen, erlaubt dieser Leitfaden die Nutzung weiterer styleCodes. Das ELGA Referenz-Stylesheet unterstützt die Verwendung dieser erweiterten, ELGA-spezifischen StyleCodes. |
| + | {{BeginYellowBox}} |
| + | Die Darstellung der erweiterten, ELGA-spezifischen StyleCodes erfordert ein speziell angepasstes Stylesheet (z.B. das ELGA Referenz-Stylesheet). |
| + | {{EndYellowBox}} |
| + | Textstrukturen können durch diese ELGA-spezifisch erweiterten StyleCodes formatiert werden, z.B. um bestimmte Abschnitte wie Überschriften oder Unterüberschriften zu formatieren oder um die Textfarbe zu setzen. |
| + | {| class="wikitable" width="100%" |
| + | |- |
| + | ! style="text-align:left" width="30%" | styleCode||style="text-align:left" width="30%" | Definition||style="text-align:left" width="60%" | Nutzungsbeispiel |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | xELGA_h1||Überschriften gem. HTML < h1> ||<paragraph styleCode="xELGA_h1"> |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | xELGA_h2||Überschriften gem. HTML < h2> ||<paragraph styleCode="xELGA_h2"> |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | xELGA_h3||Überschriften gem. HTML < h3> ||<paragraph styleCode="xELGA_h3"> |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | xELGA_blue||CMYK: 100, 60, 0, 6 <br/>RGB: 0, 96, 240<br/>HTML: #0060f0 ||<content styleCode="xELGA_blue"><br/> |
| + | ''Anmerkung'': Dient zur farblichen Hervorhebung von Wörtern oder Passagen im Fließtext. |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | xELGA_red||CMYK: 0, 91, 65, 12 <br/>RGB 224, 20, 79<br/>HTML: #e3144f<br/>Zusätzlich wird der Text Fett dargestellt, da Rot für farbfehlsichtige Personen schwer erkennbar ist.||<content styleCode="xELGA_red"><br/>''Anmerkung'': Dient zur farblichen Kennzeichnung von pathologischen Labormesswerten in Tabellen (wird für die ganze Ergebniszeile in einer Tabelle) verwendet. |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | xELGA_colw:NN||NN...numerische Angabe des Prozentwertes der Spaltenbreite in Tabellen, maximal 2 Ziffern, nur positive Ganzzahlen.<br/>Wird nichts angegeben, wird die Spaltenbreite automatisch berechnet (bei n Spalten -- 1/n der gesamten Tabellenbreite) ||< th styleCode="xELGA_colw:20"><br/> |
| + | Die Spaltenbreite entspricht 20% der gesamten Tabellenbreite<br/> |
| + | Anmerkung: Weicht die Summe der angegebenen Spaltenbreiten von 100% ab, wird die Gesamtsumme als 100% angenommen und die einzelnen Spalten entsprechend angepasst |
| + | |
| + | |- style="background:#FFFFFF" |
| + | | xELGA_tabVertical||'''Gilt nur für die Ausgabe als Druckvorstufe (PDF)''': Die Ausrichtung der Tabelle ist um 90% in eine vertikale Orientierung gedreht <br/>Defaultausrichtung ist horizontal ||< table styleCode="xELGA_tabVertical"><br/>Die Tabelle ist auf einer neuen Seite vertikal ausgerichtet, <br/>Tabellenbreite = Seitenhöhe<br/>Default: Horizontale Ausrichtung, Tabellenbreite = Textbreite |
| + | |- |
| + | |- style="background:#FFFFFF" |
| + | | xELGA_monospaced||Statt der normalen Proportionalschrift wird eine nichtproportionale Schriftart (Festbreitenschrift) verwendet. ||<content styleCode="xELGA_monospaced"><br/>''Anmerkung'': Verwendung in Anwendungsszenarien, wo Texte in Befunde übernommen werden, die durch Verwendung von äquidistanten Schriftarten formatiert wurden. Beispiel: Laborwerttabellen |
| + | |- |
| + | |} |
| + | <ref group="Tabelle">Erweiterte styleCodes</ref>:''Erweiterte styleCodes'' |
| + | |
| + | ====Zeilenumbrüche==== |
| + | Das ''br''-Element <br/> kann benutzt werden, um im laufenden Text einen "harten" Zeilumbruch zu erzwingen. Dies unterscheidet es vom ''paragraph''-Element, da der Zeilenumbruch keinen Inhalt hat. Empfänger sind angehalten, dieses Element als Zeilenumbruch darzustellen. |
| + | =====Strukturbeispiel===== |
| + | <pre class="ilfbox_code"> |
| + | <text> |
| + | : |
| + | Patient hat Asthma seit seinem zehnten Lebensjahr.<br/> |
| + | Patient kommt damit gut zurecht. |
| + | : |
| + | </text> |
| + | </pre> |
| + | |
| + | ====Superscript und Subscript==== |
| + | Ein Textbereich kann mit dem Element ''sup'' umspannt werden, um ihn Superscript (hochgestellt) darzustellen. Er kann mit sub umspannt werden, um ihn Subscript (tiefgestellt) darzustellen. |
| + | =====Strukturbeispiel===== |
| + | <pre class="ilfbox_code"> |
| + | <text> |
| + | : |
| + | Dieses Wort ist <sup>hochgestellt</sup> |
| + | Dieses Wort ist <sub>tiefgestellt</sub> |
| + | : |
| + | </text> |
| + | </pre> |
| + | |
| + | ====Fußnoten==== |
| + | Mit den Elementen ''footnote'' und ''footnoteref'' sind diese Gestaltungsmöglichkeiten im CDA-Standard beschrieben. |
| + | =====Strukturbeispiel===== |
| + | Die Fußnotenreferenzen werden fortlaufend nummeriert und durch einen ''<sup>'' Tag hochgestellt. Der Text wird unter ''<tfoot>'' mit dem ''<footnote>'' Tag gekennzeichnet. Die ID gibt eine eindeutige Referenz auf den Text einer Fußnote. |
| + | <pre class="ilfbox_code"> |
| + | <table> |
| + | <thead> |
| + | ... |
| + | </thead> |
| + | <tfoot> |
| + | <tr> |
| + | <td> |
| + | <footnote ID="fn1"><sup>1)</sup> Wert kontrolliert</footnote> |
| + | </td> |
| + | </tr> |
| + | </tfoot> |
| + | <tbody> |
| + | ... |
| + | <tr ID="OBS-13-1"> |
| + | <td ID="OBS-13-1-Code">aPTT</td> |
| + | <td ID="OBS-13-1-Value">57.0 |
| + | <!-- Fußnoten werden durch das XSL entsprechend angezeigt --> |
| + | <sup>1)</sup> |
| + | </td> |
| + | <td ID="OBS-13-1-Unit">s</td> |
| + | <td ID="OBS-13-1-Reference">26.0-40.0</td> |
| + | <td ID="OBS-13-1-Interpretation">++</td> |
| + | <td ID="OBS-13-1-Delta"/> |
| + | <td ID="OBS-13-1-Extern">E</td> |
| + | </tr> |
| + | ... |
| + | <tbody> |
| + | </table> |
| + | </pre> |
| + | |
| + | ====HTML-Verweise==== |
| + | Über das Element ''linkHtml'' lassen sich Verweise dokumentintern und auf externe Webseites (ähnlich wie im HTML-Standard beschrieben) realisieren. Wird in diesem Leitfaden nicht genutzt. |
| + | ====Geschützte Leerzeichen==== |
| + | Grundsätzlich werden zusätzliche Leerzeichen am Anfang und am Ende eines Elementinhaltes bei der Darstellung entfernt, auch mehrere Leerzeichen hintereinander (z.B. zwischen Wörtern) werden wie ein Leerzeichen behandelt. |
| + | |
| + | Zusätzlicher Leerraum (whitespace bzw "no-break space") kann in CDA erzeugt werden durch & #160; oder & #xA0; |
| + | |
| + | Es erzeugt einen Leerraum von einem Zeichen und entspricht dem in HTML verwendeten, in CDA aber NICHT ERLAUBTEN "& nbsp;". |
| + | |
| + | ====Verwendung von Revisionsmarken==== |
| + | Wenn eine neue Version eines CDA-Dokuments erstellt wird, können in der Update-Version jene Text-Elemente, die sich gegenüber der Vorversion geändert haben, entsprechend markiert und besser ersichtlich gemacht werden. Eingefügter Text wird unterstrichen und kursiv, gelöschter Text durchgestrichen dargestellt. |
| + | |
| + | Umgesetzt wird dies mithilfe des ''content''-Elements, welches ein optionales Attribut ''revised'' enthält und mit "insert" oder "delete" befüllt werden kann. |
| + | |
| + | Die korrekte Anzeige wird durch Angabe entsprechende Parameter durch das ELGA Referenz-Stylesheets ([[ELGA_Referenz-Stylesheet#Optionen|ShowRevisionMarks]]) unterstützt. |
| + | |
| + | '''Beispiel:''' |
| + | <pre class="ilfbox_code"> |
| + | Verwendung von Revisionsmarken in CDA / XML: |
| + | |
| + | Revisionsmarken: das ist der Fließtext mit <content revised='delete'>Text den man nur mit ShowRevisionMarks=1 durchgestrichen</content> und <content revised='insert'>eingefügtem (daher kursiv und unterstrichen dargestelltem)</content> Text. |
| + | </pre> |
| + | |
| + | |
| + | {{BeginValueSetBox}} |
| + | Darstellung HTML:<br> |
| + | Revisionsmarken: das ist der Fließtext mit <del>Text den man nur mit ShowRevisionMarks=1 durchgestrichen</del> und ''<u>eingefügtem (daher kursiv und unterstrichen dargestelltem)</u>'' Text. |
| + | {{EndValueSetBox}} |