source: ccr2ccd-xslt/trunk/make/ccd-procedures.xsl@ 1280

Last change on this file since 1280 was 875, checked in by George Lilly, 14 years ago

broke the stylesheet into pieces with a script to reassemble

File size: 10.0 KB
Line 
1 <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Procedures">
2 <component>
3 <section>
4 <templateId root="2.16.840.1.113883.10.20.1.12"/>
5 <code code="47519-4" codeSystem="2.16.840.1.113883.6.1"/>
6 <title>Procedures</title>
7 <text>
8 <table>
9 <tbody>
10 <tr>
11 <th>Type</th>
12 <th>Date</th>
13 <th>Code</th>
14 <th>Description</th>
15 <th>Location</th>
16 <th>Substance</th>
17 <th>Method</th>
18 <th>Position</th>
19 <th>Site</th>
20 <th>Status</th>
21 <th>Source</th>
22 </tr>
23 <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
24 <tr>
25 <xsl:attribute name="id">
26 <xsl:value-of select="a:CCRDataObjectID"/>
27 </xsl:attribute>
28
29 <td>
30 <xsl:value-of select="a:Type/a:Text"/>
31 </td>
32 <table>
33 <tbody>
34 <xsl:apply-templates select="a:DateTime"/>
35 </tbody>
36 </table>
37 <td>
38 <xsl:apply-templates select="a:Description/a:Code"/>
39 </td>
40 <td>
41 <xsl:value-of select="a:Description/a:Text"/>
42 </td>
43 <td>
44 <xsl:for-each select="a:Locations/a:Location">
45 <xsl:value-of select="a:Description/a:Text"/>
46 <xsl:if test="a:Actor">
47 (<xsl:call-template name="actorName">
48 <xsl:with-param name="objID" select="a:Actor/a:ActorID"/>
49 </xsl:call-template>
50 <xsl:if test="a:Actor/a:ActorRole/a:Text">
51 <xsl:text xml:space="preserve"> - </xsl:text><xsl:value-of select="a:ActorRole/a:Text"/>)
52 </xsl:if>
53 </xsl:if>)
54 <xsl:if test="position() != last()">
55 <br/>
56 </xsl:if>
57 </xsl:for-each>
58 </td>
59 <td>
60 <xsl:for-each select="a:Substance">
61 <xsl:value-of select="a:Text"/>
62 </xsl:for-each>
63 </td>
64 <td>
65 <xsl:value-of select="a:Method/a:Text"/>
66 </td>
67 <td>
68 <xsl:value-of select="a:Position/a:Text"/>
69 </td>
70 <td>
71 <xsl:value-of select="a:Site/a:Text"/>
72 </td>
73 <td>
74 <xsl:value-of select="a:Status/a:Text"/>
75 </td>
76 <td>
77 <xsl:call-template name="actorName">
78 <xsl:with-param name="objID" select="a:Source/a:Actor/a:ActorID"/>
79 </xsl:call-template>
80 </td>
81 </tr>
82 </xsl:for-each>
83 </tbody>
84 </table>
85 </text>
86
87 <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
88 <entry typeCode="DRIV">
89 <procedure classCode="PROC" moodCode="EVN">
90 <templateId root="2.16.840.1.113883.3.88.11.83.17" assigningAuthorityName="HITSP C83"/>
91 <templateId root="2.16.840.1.113883.10.20.1.29" assigningAuthorityName="CCD"/>
92 <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.19" assigningAuthorityName="IHE PCC"/>
93
94 <!-- <id> -->
95 <xsl:call-template name="ccdID">
96 <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
97 </xsl:call-template>
98
99 <!-- <code> -->
100 <xsl:call-template name="ccdCodedValue">
101 <xsl:with-param name="ccrCodedDescription" select="a:Description"/>
102 <xsl:with-param name="nodeName" select="'code'"/>
103 </xsl:call-template>
104
105 <text>
106 <reference>
107 <xsl:attribute name="value">
108 <xsl:text>#</xsl:text>
109 <xsl:value-of select="a:CCRDataObjectID"/>
110 </xsl:attribute>
111 </reference>
112 </text>
113
114 <xsl:call-template name="ccdStatusProcedure">
115 <xsl:with-param name="status" select="a:Status"/>
116 </xsl:call-template>
117
118 <xsl:call-template name="ccdDateTime">
119 <xsl:with-param name="dt" select="a:DateTime"/>
120 </xsl:call-template>
121
122 <xsl:if test="a:Method">
123 <xsl:call-template name="ccdCodedValue">
124 <xsl:with-param name="ccrCodedDescription" select="a:Method"/>
125 <xsl:with-param name="nodeName" select="'approachSiteCode'"/>
126 </xsl:call-template>
127 </xsl:if>
128
129 <xsl:if test="a:Site">
130 <xsl:call-template name="ccdCodedValue">
131 <xsl:with-param name="ccrCodedDescription" select="a:Site"/>
132 <xsl:with-param name="nodeName" select="'targetSiteCode'"/>
133 </xsl:call-template>
134 </xsl:if>
135
136 <xsl:if test="a:Practitioners/a:Practitioner">
137 <xsl:call-template name="ccdPerformer">
138 <xsl:with-param name="ccrActorReference" select="a:Practitioners/a:Practitioner[1]"/>
139 </xsl:call-template>
140 </xsl:if>
141 </procedure>
142 </entry>
143 </xsl:for-each>
144 </section>
145 </component>
146 </xsl:if>
Note: See TracBrowser for help on using the repository browser.