cdaeau:Stylesheet: Unterschied zwischen den Versionen
K (Wikiadmin verschob die Seite Cdaeau:Stylesheet nach S) |
K (Wikiadmin verschob die Seite S nach cdaeau:Stylesheet, ohne dabei eine Weiterleitung anzulegen) |
(kein Unterschied)
|
Version vom 1. Dezember 2017, 13:29 Uhr
Die Arbeitsunfähigkeitsbescheinigung kann über ein Stylesheet angezeigt werden.
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
4 xmlns:hl7="urn:hl7-org:v3"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xmlns:xhtml="http://www.w3.org/1999/xhtml"
7 xmlns="http://www.w3.org/1999/xhtml"
8 exclude-result-prefixes="xd hl7 xsi xhtml"
9 version="1.0">
10
11 <xsl:template match="/">
12 <xsl:apply-templates select="/hl7:ClinicalDocument"/>
13 </xsl:template>
14
15 <xsl:template match="hl7:ClinicalDocument[not(ancestor::hl7:ClinicalDocument)]">
16 <html xmlns="http://www.w3.org/1999/xhtml" >
17 <head>
18 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
19 <title>
20 Arbeitsunfähigkeitsbescheinigung
21 </title>
22 <style type="text/css" media="all">
23 h1 {
24 font-size: 16pt;
25 color: #ff0000;
26 font-weight: bold;
27 font-family: Verdana;
28 }
29 h2 {
30 font-size: 14pt;
31 color: #ff0000;
32 font-weight: bold;
33 font-family: Verdana;
34 }
35 h3 {
36 font-size: 12pt;
37 color: #ff0000;
38 font-weight: bold;
39 font-family: Verdana;
40 }
41 h4 {
42 font-size: 8pt;
43 color: #ff0000;
44 font-weight: normal;
45 font-family: Verdana;
46 }
47 p {
48 font-gamily: "Courier";
49 font-size: small;
50 }
51
52 .in-red {
53 font-size: 10pt;
54 color: #ff0000;
55 font-weight: normal;
56 font-family: Verdana;
57 }
58 </style>
59 </head>
60 <body>
61 <div style="background-color:#ffffaa; width:800px" >
62 <table >
63 <tr >
64 <td bgcolor="white" width="450px">
65 <table style="border:1px solid black;">
66 <colgroup>
67 <col width="180px"></col>
68 <col width="170px"></col>
69 <col width="100px"></col>
70 </colgroup>
71 <tr>
72 <td class="in-red" colspan="3">Krankenkasse bzw. Kostenträger</td>
73 </tr>
74 <tr>
75 <td colspan="3" style="border-bottom:1px solid black;">
76 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='48768-0']/hl7:entry/hl7:act/hl7:entryRelationship/hl7:act/hl7:performer/hl7:assignedEntity/hl7:representedOrganization"/> 
77 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='48768-0']/hl7:entry/hl7:act/hl7:entryRelationship/hl7:act/hl7:performer/hl7:assignedEntity/hl7:addr"/>
78 </td>
79 </tr>
80 <tr >
81 <td class="in-red" colspan="3" >Name, Vorname des Versicherten</td>
82 </tr>
83 <tr >
84 <td colspan="2" style="border-bottom:1px solid black;">
85 <xsl:value-of select="hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name"/><br/>
86 <xsl:value-of select="hl7:recordTarget/hl7:patientRole/hl7:addr"/>
87 </td>
88 <td style="border-bottom:1px solid black;"><div class="in-red">geb. am</div>
89 <br/>
90 <xsl:call-template name="formatDate">
91 <xsl:with-param name="date" select="hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:birthTime/@value"/>
92 </xsl:call-template>
93 </td>
94 </tr>
95 <tr>
96 <td class="in-red" >Kostenträgerkennung</td>
97 <td class="in-red" style="border-left:1px solid black;">Versichertennummer</td>
98 <td class="in-red" style="border-left:1px solid black;">Status</td>
99 </tr>
100 <tr>
101 <td>
102 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='48768-0']/hl7:entry/hl7:act/hl7:entryRelationship/hl7:act/hl7:performer/hl7:assignedEntity/hl7:id/@extension"/>
103 </td>
104 <td>
105 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='48768-0']/hl7:entry/hl7:act/hl7:entryRelationship/hl7:act/hl7:participant[@typeCode='HLD']/hl7:participantRole/hl7:id/@extension"/>
106 </td>
107 <td>
108 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='48768-0']/hl7:entry/hl7:act/hl7:entryRelationship/hl7:act/hl7:participant[@typeCode='COV']/hl7:participantRole/hl7:code/@code"/> _
109 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='48768-0']/hl7:entry/hl7:act/hl7:entryRelationship/hl7:act/hl7:entryRelationship/hl7:observation[hl7:code/@code='PRSNGRP']/hl7:value/@code"/> _
110 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='48768-0']/hl7:entry/hl7:act/hl7:entryRelationship/hl7:act/hl7:entryRelationship/hl7:observation[hl7:code/@code='DMP']/hl7:value/@code"/> _
111 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='48768-0']/hl7:entry/hl7:act/hl7:entryRelationship/hl7:act/hl7:entryRelationship/hl7:observation[hl7:code/@code='ASV']/hl7:value/@code"/>
112 </td>
113 </tr>
114 <tr >
115 <td class="in-red" style="border-top:1px solid black;">Betriebsstättennummer</td>
116 <td class="in-red" style="border-top:1px solid black;border-left:1px solid black;">Arzt-Nr</td>
117 <td class="in-red" style="border-top:1px solid black;border-left:1px solid black;">Datum</td>
118 </tr>
119 <tr >
120 <td>
121 <xsl:value-of select="hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:id/@extension"/>
122 </td>
123 <td>
124 <xsl:value-of select="hl7:author/hl7:assignedAuthor/hl7:id/@extension"/>
125 </td>
126 <td>
127 <xsl:call-template name="formatDate">
128 <xsl:with-param name="date" select="hl7:effectiveTime/@value"/>
129 </xsl:call-template>
130 </td>
131 </tr>
132 </table>
133
134 </td>
135 <td valign="top">
136 <h1>Arbeitsunfähigkeits-<br/>bescheinigung</h1>
137
138 <h2><font size="+4"><xsl:choose>
139 <xsl:when test="hl7:code/@code='xERST'">
140 <xsl:text>☒</xsl:text>
141 </xsl:when>
142 <xsl:when test="hl7:code/@code='xERST_END'">
143 <xsl:text>☒</xsl:text>
144 </xsl:when>
145 <xsl:otherwise>☐</xsl:otherwise>
146 </xsl:choose></font>
147 Erstbescheinigung</h2>
148
149 <h2><font size="+4"><xsl:choose>
150 <xsl:when test="hl7:code/@code='xFOLGE'">
151 <xsl:text>☒</xsl:text>
152 </xsl:when>
153 <xsl:when test="hl7:code/@code='xFOLGE_END'">
154 <xsl:text>☒</xsl:text>
155 </xsl:when>
156 <xsl:otherwise>☐</xsl:otherwise>
157 </xsl:choose></font>
158 Folgebescheinigung</h2>
159 </td>
160 </tr>
161 </table>
162 <table >
163 <colgroup>
164 <col width="450px"></col>
165 <col width="400px"></col>
166 </colgroup>
167 <tr width="60%">
168 <td>
169 <table>
170 <colgroup>
171 <col width="40px"></col>
172 <col width="220px"></col>
173 <col width="40px"></col>
174 <col width="170px"></col>
175 </colgroup>
176 <tr>
177 <td class="in-red">
178 <font size="+4">
179 <xsl:choose>
180 <xsl:when test="hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:entry/hl7:observation[hl7:code/@code='ACCIDENT']/hl7:value/@code = 'WORK-ACCIDENT'">
181 <xsl:text>☒</xsl:text>
182 </xsl:when>
183 <xsl:otherwise>
184 <xsl:text>☐</xsl:text>
185 </xsl:otherwise>
186 </xsl:choose></font>
187 </td>
188 <td class="in-red">
189 Arbeitsunfall, Arbeitsunfall- <br/>folgen, Berufskrankheit
190 </td>
191 <td class="in-red">
192 <font size="+4">
193 <xsl:choose>
194 <xsl:when test="hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:entry/hl7:observation[hl7:code/@code='ACCIDENT']/hl7:value/@code = 'D-ARZT'">
195 <xsl:text>☒</xsl:text>
196 </xsl:when>
197 <xsl:otherwise>
198 <xsl:text>☐</xsl:text>
199 </xsl:otherwise>
200 </xsl:choose>
201 </font>
202 </td>
203 <td class="in-red">
204 dem Durchgangsarzt<br/> zugewiesen
205 </td>
206 </tr>
207 <tr>
208 <td class="in-red" colspan="2">arbeitsunfähig seit </td>
209 <td colspan="2">
210 <div align="center" style="border:1px solid black; background-color:white;" >
211 <xsl:call-template name="formatDate">
212 <xsl:with-param name="date" select="hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:entry/hl7:observation[hl7:code/@code='X-IATWRK']/hl7:effectiveTime/hl7:low/@value"/>
213 </xsl:call-template>
214 </div>
215 </td>
216 </tr>
217 <tr>
218 <td class="in-red" colspan="2">voraussichtlich arbeitunfähig <br/>bis einschließlich oder letzter <br/>Tag der Arbeitsfähigkeit</td>
219 <td colspan="2">
220 <div align="center" style="border:1px solid black; background-color:white;" >
221 <xsl:call-template name="formatDate">
222 <xsl:with-param name="date" select="hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:entry/hl7:observation[hl7:code/@code='X-IATWRK']/hl7:effectiveTime/hl7:high/@value"/>
223 </xsl:call-template>
224 </div>
225 </td>
226 </tr>
227 <tr>
228 <td class="in-red" colspan="2">festgestellt am</td>
229 <td colspan="2">
230 <div align="center" style="border:1px solid black; background-color:white;" >
231 <xsl:call-template name="formatDate">
232 <xsl:with-param name="date" select="hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:entry/hl7:observation[hl7:code/@code='X-IATWRK']/hl7:performer/hl7:time/@value"/>
233 </xsl:call-template>
234 </div>
235 </td>
236 </tr>
237 </table>
238
239 <div align="center" style="height:40px; width:450px; border:1px solid red;"><h3>Ausfertigung zur Vorlage bei der Krankenkasse</h3></div>
240 </td>
241 <td>
242 <div style="background-color:white; width:300px; border:1px solid red;" >
243 <br/>
244 <br/>
245 <br/>
246 <xsl:value-of select="hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name"/>
247 <br/>
248 <xsl:value-of select="hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:name"/>
249 <br/>
250 <xsl:value-of select="hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr/hl7:streetName"/> 
251 <xsl:value-of select="hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr/hl7:houseNumber"/>
252 <br/>
253 <xsl:value-of select="hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr/hl7:postalCode"/> 
254 <xsl:value-of select="hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr/hl7:city"/>
255 <br/>
256 <br/>
257 <font class="in-red" size="-2">Vertragsarztstempel / Unterschrift</font>
258 </div>
259 </td>
260 </tr>
261 </table>
262 <hr color="red"/>
263 <h2>AU-begründende Diagnose(n) (ICD-10)</h2>
264 <table>
265 <tr>
266 <td class="in-red" width="200px">ICD-10-Code</td>
267 <td width="30px"></td>
268 <td class="in-red" width="200px">ICD-10-Code</td>
269 <td width="30px"></td>
270 <td class="in-red" width="200px">ICD-10-Code</td>
271 </tr>
272 <tr>
273 <td bgcolor="white" style="border-bottom:1px solid red;">
274 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='AU-DIAGNOSIS']/hl7:entry[1]/hl7:observation/hl7:code/@code"/>  
275 </td>
276 <td></td>
277 <td bgcolor="white" style="border-bottom:1px solid red;">
278 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='AU-DIAGNOSIS']/hl7:entry[2]/hl7:observation/hl7:code/@code"/>
279 </td>
280 <td></td>
281 <td bgcolor="white" style="border-bottom:1px solid red;">
282 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='AU-DIAGNOSIS']/hl7:entry[3]/hl7:observation/hl7:code/@code"/>
283 </td>
284 </tr>
285 <tr>
286 <td class="in-red" >ICD-10-Code</td>
287 <td></td>
288 <td class="in-red" >ICD-10-Code</td>
289 <td></td>
290 <td class="in-red" >ICD-10-Code</td>
291 </tr>
292 <tr>
293 <td bgcolor="white" style="border-bottom:1px solid red;">
294 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='AU-DIAGNOSIS']/hl7:entry[4]/hl7:observation/hl7:code/@code"/>  
295 </td>
296 <td></td>
297 <td bgcolor="white" style="border-bottom:1px solid red;">
298 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='AU-DIAGNOSIS']/hl7:entry[5]/hl7:observation/hl7:code/@code"/>
299 </td>
300 <td></td>
301 <td bgcolor="white" style="border-bottom:1px solid red;">
302 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='AU-DIAGNOSIS']/hl7:entry[6]/hl7:observation/hl7:code/@code"/>
303 </td>
304 </tr>
305 <tr>
306 <td class="in-red" >ICD-10-Code</td>
307 <td></td>
308 <td class="in-red" >ICD-10-Code</td>
309 <td></td>
310 <td class="in-red" >ICD-10-Code</td>
311 </tr>
312 <tr>
313 <td colspan="5" bgcolor="white" style="border-bottom:1px solid red;">
314 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='AU-DIAGNOSIS']/hl7:text"/>
315 </td>
316 </tr>
317 </table>
318 <table width="780px">
319 <colgroup>
320 <col width="20px"></col>
321 <col width="120px"></col>
322 <col width="110px"></col>
323 <col width="100px"></col>
324 <col width="10px"></col>
325 <col width="300px"></col>
326 <col width="200px"></col>
327 </colgroup>
328 <tr>
329 <td>
330 <font color="red" size="+3">
331 <xsl:choose>
332 <xsl:when test="hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:entry/hl7:observation[hl7:code/@code='ACCIDENT']/hl7:value/@code = 'ACCIDENT'">
333 <xsl:text>☒</xsl:text>
334 </xsl:when>
335 <xsl:otherwise>☐</xsl:otherwise>
336 </xsl:choose>
337 </font>
338 </td>
339 <td colspan="2" class="in-red" >sonstiger Unfall, <br/>Unfallfolgen</td>
340 <td></td>
341 <td>
342 <font color="red" size="+3">
343 <xsl:choose>
344 <xsl:when test="hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:entry/hl7:observation[hl7:code/@code='ACCIDENT']/hl7:value/@code = 'VERSORGUNG'">
345 <xsl:text>☒</xsl:text>
346 </xsl:when>
347 <xsl:otherwise>☐</xsl:otherwise>
348 </xsl:choose>
349 </font>
350 </td>
351 <td class="in-red" >Versorgungsleiden<br/>(z.B. BVG)</td>
352 <td></td>
353 </tr>
354 <tr>
355 <td colspan="6" class="in-red">Es wird die Einleitung folgender besonderer Maßnahmen für erforderlich gehalten</td>
356 </tr>
357 <tr>
358 <td>
359 <font color="red" size="+3">
360 <xsl:choose>
361 <xsl:when test="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='TREATMENT']/hl7:entry/hl7:observation[hl7:code/@code='REHA']/hl7:value/@value = 'true'">
362 <xsl:text>☒</xsl:text>
363 </xsl:when>
364 <xsl:otherwise>☐</xsl:otherwise>
365 </xsl:choose>
366 </font>
367 </td>
368 <td colspan="2" class="in-red" >Leistungen zur <br/>medizinischen Rehabilitation</td>
369 <td></td>
370 <td>
371 <font color="red" size="+3">
372 <xsl:choose>
373 <xsl:when test="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='TREATMENT']/hl7:entry/hl7:observation[hl7:code/@code='EINGLIEDERUNG']/hl7:value/@value = 'true'">
374 <xsl:text>☒</xsl:text>
375 </xsl:when>
376 <xsl:otherwise>☐</xsl:otherwise>
377 </xsl:choose>
378 </font >
379 </td>
380 <td class="in-red" >stufenweise<br/> Wiedereingliederung</td>
381 <td></td>
382 </tr>
383 <tr>
384 <td>
385 <font color="red" size="+3">
386 <xsl:choose>
387 <xsl:when test="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='TREATMENT']/hl7:text != ''">
388 <xsl:text>☒</xsl:text>
389 </xsl:when>
390 <xsl:otherwise>☐</xsl:otherwise>
391 </xsl:choose>
392 </font>
393 </td>
394 <td class="in-red" >sonstige</td>
395 <td colspan="5" bgcolor="white" style="border-bottom:1px solid black;">
396 <!-- #11 -->
397 <xsl:value-of select="hl7:component/hl7:structuredBody/hl7:component/hl7:section[hl7:code/@code='TREATMENT']/hl7:text" />
398 </td>
399 </tr>
400 </table>
401 <table width="780px" bgcolor="#ffbbbb" style="border:1px solid red;">
402 <tr>
403 <td><h2>Im Krankengeldfall</h2></td>
404 <td><font color="red" size="+3">☐ </font></td>
405 <td class="in-red" >ab 7. AU-Woche oder <br/>sonstiger Krankengeldfall</td>
406 <td>
407 <font color="red" size="+3">
408 <xsl:choose>
409 <xsl:when test="hl7:code/@code='xERST_END'">
410 <xsl:text>☒</xsl:text>
411 </xsl:when>
412 <xsl:when test="hl7:code/@code='xFOLGE_END'">
413 <xsl:text>☒</xsl:text>
414 </xsl:when>
415 <xsl:otherwise>☐</xsl:otherwise>
416 </xsl:choose>
417 </font>
418 </td>
419 <td class="in-red" >
420 Endbescheinigung
421 </td>
422 </tr>
423 </table>
424 <br/>
425 <br/>
426 </div>
427 </body>
428 </html>
429 </xsl:template>
430
431 <xsl:template name="formatDate">
432 <xsl:param name="date"/>
433 <xsl:variable name="yearNum" select="substring ($date, 1, 4)"/>
434 <xsl:variable name="monthNum" select="substring ($date, 5, 2)"/>
435 <xsl:variable name="dayNum" select="substring ($date, 7, 2)"/>
436
437 <xsl:value-of select="$dayNum"/>
438 <xsl:text>. </xsl:text>
439 <xsl:value-of select="$monthNum"/>
440 <xsl:text>. </xsl:text>
441 <xsl:value-of select="$yearNum"/>
442
443 </xsl:template>
444
445</xsl:stylesheet>