1 <?xml version=
"1.0" encoding=
"utf-8"?>
3 Conversion of CCR to Level 3 CCD
5 Orginal Author: Ken Miller
7 ken.miller@solventus.coms
10 Richard Braman, EHR Doctors, Inc rbraman@ehrdoctors.com
11 George Lilly (WorldVistA glilly@glilly.net)
12 xxxx - Oroville Hospital
19 This program is free software: you can redistribute it and/or modify
20 it under the terms of the GNU General Public License as published by
21 the Free Software Foundation, either version 3 of the License, or
22 (at your option) any later version.
24 This program is distributed in the hope that it will be useful,
25 but WITHOUT ANY WARRANTY; without even the implied warranty of
26 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 GNU General Public License for more details.
29 You should have received a copy of the GNU General Public License
30 along with this program. If not, see http://www.gnu.org/licenses.
33 <xsl:stylesheet version=
"1.0" xmlns=
"urn:hl7-org:v3" xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform" xmlns:
a=
"urn:astm-org:CCR" xmlns:
date=
"http://exslt.org/dates-and-times"
34 xmlns:
xsi=
"http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes=
"a date">
35 <xsl:import href=
"./templates/cdavocablookup.xsl"/>
36 <xsl:import href=
"./templates/hl7oidlookup.xsl"/>
37 <xsl:import href=
"./templates/code.xsl"/>
38 <xsl:import href=
"./templates/actor.xsl"/>
39 <xsl:import href=
"./templates/datetime.xsl"/>
40 <xsl:import href=
"./templates/problemDescription.xsl"/>
42 <xsl:output method=
"xml" encoding=
"utf-8" version=
"1.0" indent=
"yes"/>
43 <xsl:template match=
"/">
44 <ClinicalDocument xmlns=
"urn:hl7-org:v3" xmlns:
voc=
"urn:hl7-org:v3/voc" xmlns:
sdtc=
"urn:hl7-org:sdtc" xsi:
schemaLocation=
"urn:hl7-org:v3 http://xreg2.nist.gov:8080/hitspValidation/schema/cdar2c32/infrastructure/cda/C32_CDA.xsd" classCode=
"DOCCLIN" moodCode=
"EVN">
45 <realmCode code=
"US"/>
46 <typeId root=
"2.16.840.1.113883.1.3" extension=
"POCD_HD000040"/>
47 <templateId root=
"2.16.840.1.113883.10.20.1"/>
48 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.1.1"/>
49 <templateId root=
"2.16.840.1.113883.10.20.3"/>
50 <templateId root=
"2.16.840.1.113883.3.88.11.32.1"/>
53 <xsl:attribute name=
"root">
54 <xsl:value-of select=
"/a:ContinuityOfCareRecord/a:CCRDocumentObjectID"></xsl:value-of>
57 <code code=
"34133-9" codeSystem=
"2.16.840.1.113883.6.1" codeSystemName=
"LOINC" displayName=
"Summarization of episode note"/>
58 <xsl:variable name=
"fromID" select=
"/a:ContinuityOfCareRecord/a:From/a:ActorLink[1]/a:ActorID"/>
59 <xsl:variable name=
"ccrFromActorObjectID" select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$fromID]/a:InternalCCRLink[a:LinkRelationship='representedOrganization']/a:LinkID"/>
60 <title>Continuity of Care Document from
<xsl:value-of select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$ccrFromActorObjectID]/a:Organization/a:Name"/></title>
62 <xsl:attribute name=
"value">
63 <xsl:call-template name=
"date:format-date">
64 <xsl:with-param name=
"date-time" select=
"/a:ContinuityOfCareRecord/a:DateTime/a:ExactDateTime"/>
65 <xsl:with-param name=
"pattern">yyyyMMddhhmmss+
0000</xsl:with-param>
69 <confidentialityCode code=
"N" codeSystem=
"2.16.840.1.113883.5.25"/>
70 <languageCode code=
"en-US"/>
72 <recordTarget typeCode=
"RCT" contextControlCode=
"OP">
74 <xsl:call-template name=
"ccdPatientRole">
75 <xsl:with-param name=
"ccrActorObjectID" select=
"/a:ContinuityOfCareRecord/a:Patient[1]/a:ActorID"/>
82 <xsl:attribute name=
"value">
83 <xsl:call-template name=
"date:format-date">
84 <xsl:with-param name=
"date-time" select=
"/a:ContinuityOfCareRecord/a:DateTime/a:ExactDateTime"/>
85 <xsl:with-param name=
"pattern">yyyyMMddhhmmss
</xsl:with-param>
89 <xsl:call-template name=
"ccdAssignedAuthor">
90 <xsl:with-param name=
"ccrActorObjectID" select=
"$fromID"/>
94 <xsl:if test=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$fromID]/a:InternalCCRLink[a:LinkRelationship='representedOrganization']">
97 <xsl:call-template name=
"ccdOrganization">
98 <xsl:with-param name=
"ccrActorObjectID" select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$fromID]/a:InternalCCRLink[a:LinkRelationship='representedOrganization']/a:LinkID"/>
99 <xsl:with-param name=
"organizationNodeName" select=
"'representedCustodianOrganization'"/>
106 <serviceEvent classCode=
"PCPR">
109 <xsl:attribute name=
"value">
110 <xsl:call-template name=
"date:format-date">
111 <xsl:with-param name=
"date-time">
112 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body//a:DateTime//a:ExactDateTime">
113 <xsl:sort order=
"ascending"/>
114 <xsl:if test=
"position()=1">
115 <xsl:value-of select=
"."/>
119 <xsl:with-param name=
"pattern">yyyyMMdd
</xsl:with-param>
124 <xsl:attribute name=
"value">
125 <xsl:call-template name=
"date:format-date">
126 <xsl:with-param name=
"date-time">
127 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body//a:DateTime//a:ExactDateTime">
128 <xsl:sort order=
"descending"/>
129 <xsl:if test=
"position()=1">
130 <xsl:value-of select=
"."/>
134 <xsl:with-param name=
"pattern">yyyyMMdd
</xsl:with-param>
141 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:HealthCareProviders/a:Provider">
142 <xsl:call-template name=
"ccdAssignedEntity">
143 <xsl:with-param name=
"ccrActorObjectID" select=
"a:ActorID"/>
153 <templateId root=
"2.16.840.1.113883.10.20.1.13"/>
154 <code code=
"48764-5" codeSystem=
"2.16.840.1.113883.6.1" />
155 <title>Purpose
</title>
157 <xsl:value-of select=
"/a:ContinuityOfCareRecord/a:Purpose/a:Description/a:Text"></xsl:value-of>
161 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:Alerts">
164 <templateId root=
"2.16.840.1.113883.10.20.1.2" />
165 <!--C83 Allergies and Other Adverse Reactions Section Conformance Identifier-->
166 <templateId root=
"2.16.840.1.113883.3.88.11.83.102" />
167 <!--IHE Allergies and Other Adverse Reactions Section Conformance Identifier-->
168 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.3.13" />
169 <code code=
"48765-2" displayName=
"Allergies, adverse reactions, alerts" codeSystem=
"2.16.840.1.113883.6.1" codeSystemName=
"LOINC" />
170 <title>Alerts
</title>
182 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Alerts/a:Alert">
185 <xsl:value-of select=
"a:Type/a:Text"/>
188 <xsl:call-template name=
"date:format-date">
189 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
193 <xsl:apply-templates select=
"a:Description/a:Code"/>
196 <xsl:attribute name=
"ID">
197 <xsl:value-of select=
"a:CCRDataObjectID"/>
199 <xsl:value-of select=
"a:Description/a:Text"/>
202 <xsl:value-of select=
"a:Reaction/a:Description/a:Text"/>
203 <xsl:if test=
"a:Reaction/a:Severity/a:Text">
204 -
<xsl:value-of select=
"a:Reaction/a:Severity/a:Text"/>
208 <xsl:call-template name=
"actorName">
209 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
217 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Alerts/a:Alert">
218 <entry typeCode=
"DRIV">
219 <act classCode=
"ACT" moodCode=
"EVN">
220 <!--CCD Problem Act Identifier-->
221 <templateId root=
"2.16.840.1.113883.10.20.1.27"></templateId>
222 <!--C83 Allergy Entry-->
223 <templateId root=
"2.16.840.1.113883.3.88.11.83.6" />
224 <!--IHE Concern Entry Conformance Identifier-->
225 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.5.1"></templateId>
226 <!--IHE Allergy and Intolerance Concerns Entry-->
227 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.5.3"></templateId>
230 <xsl:call-template name=
"ccdID">
231 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
234 <code nullFlavor=
"NA"/>
235 <entryRelationship typeCode=
"SUBJ">
236 <observation classCode=
"OBS" moodCode=
"EVN">
237 <!--CCD Alert Observation-->
238 <templateId root=
"2.16.840.1.113883.10.20.1.18"></templateId>
239 <!--CCD Problem Observation-->
240 <templateId root=
"2.16.840.1.113883.10.20.1.28" />
241 <!--IHE Problem Entry-->
242 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.5" />
243 <!--IHE Allergies and Intolerances Entry-->
244 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.6" />
246 <xsl:call-template name=
"ccdID">
247 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
248 <xsl:with-param name=
"suffix"></xsl:with-param>
251 <code code=
"416098002" codeSystem=
"2.16.840.1.113883.6.96" displayName=
"drug allergy" codeSystemName=
"SNOMED CT"/>
255 <xsl:attribute name=
"value">
256 <xsl:text>#
</xsl:text>
257 <xsl:value-of select=
"a:CCRDataObjectID"/>
262 <statusCode code=
"completed"/>
263 <value xsi:
type=
"CD" />
265 <participant typeCode=
"CSM">
267 <xsl:when test=
"a:Agent/a:Products/a:Product/a:Product">
268 <xsl:call-template name=
"ccdParticipantRoleCodedDescription">
269 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Product/a:Description"/>
276 <xsl:if test=
"a:Reaction">
277 <entryRelationship typeCode=
"MFST" inversionInd=
"true">
278 <observation classCode=
"OBS" moodCode=
"EVN">
279 <templateId root=
"2.16.840.1.113883.10.20.1.54"/>
280 <!--Reaction observation template -->
281 <code code=
"ASSERTION" codeSystem=
"2.16.840.1.113883.5.4"/>
282 <statusCode code=
"completed"/>
283 <xsl:call-template name=
"ccdCodedValue">
284 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Reaction/a:Description"/>
290 <xsl:call-template name=
"ccdStatus">
291 <xsl:with-param name=
"ccrStatus" select=
"a:Status"/>
302 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:AdvanceDirectives">
305 <templateId root=
"2.16.840.1.113883.10.20.1.1" assigningAuthorityName=
"HL7 CCD"/>
306 <templateId root=
"2.16.840.1.113883.3.88.11.83.116" assigningAuthorityName=
"HITSP/C83"/>
307 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.3.35" assigningAuthorityName=
"IHE PCC"/>
308 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.3.34" assigningAuthorityName=
"IHE PCC"/>
309 <!--Advance Directives section template-->
310 <code code=
"42348-3" codeSystem=
"2.16.840.1.113883.6.1" codeSystemName=
"LOINC" displayName=
"Advance directives"/>
311 <title>Advance Directives
</title>
322 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:AdvanceDirectives/a:AdvanceDirective">
324 <xsl:attribute name=
"id">
325 <xsl:value-of select=
"a:CCRDataObjectID"/>
328 <xsl:value-of select=
"a:Type/a:Text"/>
331 <xsl:call-template name=
"date:format-date">
332 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
336 <xsl:attribute name=
"id">
337 <xsl:value-of select=
"a:CCRDataObjectID"/>
338 <xsl:text>:Narrative
</xsl:text>
341 <xsl:value-of select=
"a:Description/a:Text"/>
344 <xsl:value-of select=
"a:Status/a:Text"/>
347 <xsl:call-template name=
"actorName">
348 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
356 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:AdvanceDirectives/a:AdvanceDirective">
357 <entry typeCode=
"DRIV">
358 <observation classCode=
"OBS" moodCode=
"EVN">
359 <templateId root=
"2.16.840.1.113883.3.88.11.83.12" assigningAuthorityName=
"HITSP C83"/>
360 <templateId root=
"2.16.840.1.113883.10.20.1.17" assigningAuthorityName=
"CCD"/>
361 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.13" assigningAuthorityName=
"IHE PCC"/>
362 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.13.7" assigningAuthorityName=
"IHE PCC"/>
363 <!-- Advance directive observation template -->
366 <xsl:call-template name=
"ccdID">
367 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
372 <xsl:attribute name=
"value">
373 <xsl:text>#
</xsl:text>
374 <xsl:value-of select=
"a:CCRDataObjectID"/>
379 <statusCode code=
"completed"/>
381 <xsl:call-template name=
"ccdDateTime">
382 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
385 <xsl:call-template name=
"ccdCodedValue">
386 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
387 <xsl:with-param name=
"originalTextReference">
388 <xsl:text>#
</xsl:text>
389 <xsl:value-of select=
"a:CCRDataObjectID"/>
390 <xsl:text>:Narrative
</xsl:text>
394 <participant typeCode=
"VRF">
395 <templateId root=
"2.16.840.1.113883.10.20.1.58"/>
396 <!--Verification of an advance directive observation template -->
397 <time nullFlavor=
"UNK"/>
398 <xsl:call-template name=
"ccdParticipantRoleActor">
399 <xsl:with-param name=
"ccrActorObjectID" select=
"a:Source[1]/a:ActorID"/>
403 <xsl:if test=
"a:ReferenceID">
404 <reference typeCode=
"REFR">
406 <templateId root=
"2.16.840.1.113883.10.20.1.36"/>
407 <!-- Advance directive reference template -->
408 <xsl:variable name=
"referenceID" select=
"a:ReferenceID"/>
410 <xsl:call-template name=
"ccdID">
411 <xsl:with-param name=
"ccrObjectID" select=
"$referenceID"/>
413 <code code=
"371538006" codeSystem=
"2.16.840.1.113883.6.96" displayName=
"Advance directive"/>
414 <xsl:variable name=
"reference" select=
"/a:ContinuityOfCareRecord/a:References/a:Reference[a:ReferenceObjectID=$referenceID]"/>
416 <xsl:attribute name=
"mediaType">
417 <xsl:value-of select=
"$reference/a:Type/a:Text"/>
420 <xsl:value-of select=
"$reference/a:Location[1]/a:Description/a:Text"/>
433 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:FunctionalStatus">
436 <templateId root=
"2.16.840.1.113883.10.20.1.5"/>
437 <code code=
"47420-5" codeSystem=
"2.16.840.1.113883.6.1"/>
438 <title>Functional Status
</title>
452 <xsl:value-of select=
"a:Type/a:Text"/>
455 <xsl:call-template name=
"date:format-date">
456 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
460 <xsl:apply-templates select=
"a:Description/a:Code"/>
463 <xsl:value-of select=
"a:Description/a:Text"/>
466 <xsl:value-of select=
"a:Status/a:Text"/>
469 <xsl:call-template name=
"actorName">
470 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
480 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:Problems">
483 <templateId root=
"2.16.840.1.113883.3.88.11.83.103" assigningAuthorityName=
"HITSP/C83"/>
484 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.3.6" assigningAuthorityName=
"IHE PCC"/>
485 <templateId root=
"2.16.840.1.113883.10.20.1.11" assigningAuthorityName=
"HL7 CCD"/>
486 <code code=
"11450-4" codeSystem=
"2.16.840.1.113883.6.1" codeSystemName=
"LOINC" displayName=
"Problem list"/>
487 <title>Problems
</title>
499 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Problems/a:Problem">
502 <xsl:value-of select=
"a:Type/a:Text"/>
507 <xsl:apply-templates select=
"a:DateTime"/>
512 <xsl:apply-templates select=
"a:Description/a:Code"/>
515 <xsl:attribute name=
"ID">
516 <xsl:value-of select=
"a:CCRDataObjectID"></xsl:value-of>
518 <xsl:value-of select=
"a:Description/a:Text"/>
521 <xsl:value-of select=
"a:Status/a:Text"/>
524 <xsl:call-template name=
"actorName">
525 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
533 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Problems/a:Problem">
534 <entry typeCode=
"DRIV">
535 <act classCode=
"ACT" moodCode=
"EVN">
536 <templateId root=
"2.16.840.1.113883.10.20.1.27"/>
537 <!-- Problem act template -->
540 <xsl:call-template name=
"ccdID">
541 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
544 <code nullFlavor=
"NA"/>
546 <xsl:call-template name=
"ccdPerformer">
547 <xsl:with-param name=
"ccrActorReference" select=
"a:Source/a:Actor"/>
550 <entryRelationship typeCode=
"SUBJ">
551 <observation classCode=
"OBS" moodCode=
"EVN">
552 <templateId root=
"2.16.840.1.113883.10.20.1.28" assigningAuthorityName=
"CCD"/>
553 <!--Problem observation template-->
556 <xsl:call-template name=
"ccdID">
557 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
558 <xsl:with-param name=
"suffix"></xsl:with-param>
561 <code code=
"55607006" displayName=
"Problem" codeSystem=
"2.16.840.1.113883.6.96" codeSystemName=
"SNOMED-CT"/>
565 <xsl:attribute name=
"value">
566 <xsl:text>#
</xsl:text>
567 <xsl:value-of select=
"a:CCRDataObjectID"/>
572 <statusCode code=
"completed"/>
574 <xsl:call-template name=
"ccdDateTime">
575 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
578 <xsl:call-template name=
"ccdCodedValue">
579 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
582 <xsl:call-template name=
"ccdStatus">
583 <xsl:with-param name=
"ccrStatus" select=
"a:Status"/>
594 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:Procedures">
597 <templateId root=
"2.16.840.1.113883.10.20.1.12"/>
598 <code code=
"47519-4" codeSystem=
"2.16.840.1.113883.6.1"/>
599 <title>Procedures
</title>
616 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
618 <xsl:attribute name=
"id">
619 <xsl:value-of select=
"a:CCRDataObjectID"/>
623 <xsl:value-of select=
"a:Type/a:Text"/>
627 <xsl:apply-templates select=
"a:DateTime"/>
631 <xsl:apply-templates select=
"a:Description/a:Code"/>
634 <xsl:value-of select=
"a:Description/a:Text"/>
637 <xsl:for-each select=
"a:Locations/a:Location">
638 <xsl:value-of select=
"a:Description/a:Text"/>
639 <xsl:if test=
"a:Actor">
640 (
<xsl:call-template name=
"actorName">
641 <xsl:with-param name=
"objID" select=
"a:Actor/a:ActorID"/>
643 <xsl:if test=
"a:Actor/a:ActorRole/a:Text">
644 <xsl:text xml:
space=
"preserve"> -
</xsl:text><xsl:value-of select=
"a:ActorRole/a:Text"/>)
647 <xsl:if test=
"position() != last()">
653 <xsl:for-each select=
"a:Substance">
654 <xsl:value-of select=
"a:Text"/>
658 <xsl:value-of select=
"a:Method/a:Text"/>
661 <xsl:value-of select=
"a:Position/a:Text"/>
664 <xsl:value-of select=
"a:Site/a:Text"/>
667 <xsl:value-of select=
"a:Status/a:Text"/>
670 <xsl:call-template name=
"actorName">
671 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
680 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
681 <entry typeCode=
"DRIV">
682 <procedure classCode=
"PROC" moodCode=
"EVN">
683 <templateId root=
"2.16.840.1.113883.3.88.11.83.17" assigningAuthorityName=
"HITSP C83"/>
684 <templateId root=
"2.16.840.1.113883.10.20.1.29" assigningAuthorityName=
"CCD"/>
685 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.19" assigningAuthorityName=
"IHE PCC"/>
688 <xsl:call-template name=
"ccdID">
689 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
693 <xsl:call-template name=
"ccdCodedValue">
694 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
695 <xsl:with-param name=
"nodeName" select=
"'code'"/>
700 <xsl:attribute name=
"value">
701 <xsl:text>#
</xsl:text>
702 <xsl:value-of select=
"a:CCRDataObjectID"/>
707 <xsl:call-template name=
"ccdStatusProcedure">
708 <xsl:with-param name=
"status" select=
"a:Status"/>
711 <xsl:call-template name=
"ccdDateTime">
712 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
715 <xsl:if test=
"a:Method">
716 <xsl:call-template name=
"ccdCodedValue">
717 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Method"/>
718 <xsl:with-param name=
"nodeName" select=
"'approachSiteCode'"/>
722 <xsl:if test=
"a:Site">
723 <xsl:call-template name=
"ccdCodedValue">
724 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Site"/>
725 <xsl:with-param name=
"nodeName" select=
"'targetSiteCode'"/>
729 <xsl:if test=
"a:Practitioners/a:Practitioner">
730 <xsl:call-template name=
"ccdPerformer">
731 <xsl:with-param name=
"ccrActorReference" select=
"a:Practitioners/a:Practitioner[1]"/>
740 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:Medications">
743 <templateId root=
"2.16.840.1.113883.3.88.11.83.112" assigningAuthorityName=
"HITSP/C83"/>
744 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.3.19" assigningAuthorityName=
"IHE PCC"/>
745 <templateId root=
"2.16.840.1.113883.10.20.1.8" assigningAuthorityName=
"HL7 CCD"/>
746 <!--Medications section template-->
747 <code code=
"10160-0" codeSystem=
"2.16.840.1.113883.6.1" codeSystemName=
"LOINC" displayName=
"History of medication use"/>
748 <title>Medications
</title>
765 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Medications/a:Medication">
768 <xsl:value-of select=
"a:Product/a:ProductName/a:Text"/>
769 <xsl:if test=
"a:Product/a:BrandName">
770 <xsl:text xml:
space=
"preserve"> </xsl:text>(
<xsl:value-of select=
"a:Product/a:BrandName/a:Text"/>)
774 <xsl:call-template name=
"date:format-date">
775 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
779 <xsl:value-of select=
"a:Status/a:Text"/>
782 <xsl:value-of select=
"a:Product/a:Form/a:Text"/>
785 <xsl:for-each select=
"a:Product/a:Strength">
786 <xsl:if test=
"position() > 1">
787 <xsl:text>/
</xsl:text>
789 <xsl:value-of select=
"a:Value"/>
790 <xsl:text xml:
space=
"preserve"> </xsl:text>
791 <xsl:value-of select=
"a:Units/a:Unit"/>
795 <xsl:value-of select=
"a:Quantity/a:Value"/>
796 <xsl:text xml:
space=
"preserve"> </xsl:text>
797 <xsl:value-of select=
"a:Quantity/a:Units/a:Unit"/>
800 <xsl:for-each select=
"a:Directions/a:Direction">
802 <xsl:when test=
"a:Description/a:Text">
803 <xsl:value-of select=
"a:Description/a:Text"/>
806 <xsl:value-of select=
"a:Dose/a:Value"/>
807 <xsl:text xml:
space=
"preserve"> </xsl:text>
808 <xsl:value-of select=
"a:Dose/a:Units/a:Unit"/>
809 <xsl:text xml:
space=
"preserve"> </xsl:text>
810 <xsl:value-of select=
"a:Route/a:Text"/>
811 <xsl:text xml:
space=
"preserve"> </xsl:text>
812 <xsl:value-of select=
"a:Frequency/a:Value"/>
813 <xsl:if test=
"a:Duration">
814 <xsl:text xml:
space=
"preserve">(
</xsl:text>for
<xsl:value-of select=
"a:Duration/a:Value"/><xsl:text xml:
space=
"preserve"> </xsl:text><xsl:value-of select=
"a:Duration/a:Units/a:Unit"/><xsl:text xml:
space=
"preserve"> )
</xsl:text>
816 <xsl:if test=
"a:MultipleDirectionModifier/a:ObjectAttribute">
817 <xsl:for-each select=
"a:MultipleDirectionModifier/a:ObjectAttribute">
818 <xsl:value-of select=
"a:Attribute"/>
820 <xsl:value-of select=
"a:AttributeValue/a:Value"/>
828 <xsl:for-each select=
"a:Directions/a:Direction[1]/a:Indication">
829 <xsl:call-template name=
"problemDescription">
830 <xsl:with-param name=
"objID" select=
"a:InternalCCRLink/a:LinkID"/>
836 <xsl:for-each select=
"a:PatientInstructions/a:Instruction">
837 <xsl:value-of select=
"a:Text"/>
842 <xsl:for-each select=
"a:Refills/a:Refill">
843 <xsl:value-of select=
"a:Number"/>
844 <xsl:text xml:
space=
"preserve"> </xsl:text>
848 <xsl:call-template name=
"actorName">
849 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
857 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Medications/a:Medication">
858 <entry typeCode=
"DRIV">
859 <substanceAdministration classCode=
"SBADM" moodCode=
"EVN">
860 <templateId root=
"2.16.840.1.113883.10.20.1.24" assigningAuthorityName=
"CCD"/>
861 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.7.1" assigningAuthorityName=
"IHE PCC"/>
863 <!--Medication activity template -->
866 <xsl:call-template name=
"ccdID">
867 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
870 <statusCode code='completed'
/>
872 <xsl:call-template name=
"ccdDateTime">
873 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
874 <xsl:with-param name=
"type" select=
"'IVL_TS'"/>
877 <xsl:call-template name=
"ccdMedicationFrequency">
878 <xsl:with-param name=
"frequency" select=
"a:Directions/a:Direction/a:Frequency"/>
881 <xsl:call-template name=
"ccdCodedValue">
882 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Directions/a:Direction/a:Route"/>
883 <xsl:with-param name=
"nodeName" select=
"'routeCode'"/>
884 <xsl:with-param name=
"domain" select=
"'RouteOfAdministration'"/>
887 <xsl:if test=
"a:Directions/a:Direction/a:Dose">
890 <xsl:attribute name=
"value">
891 <xsl:value-of select=
"a:Directions/a:Direction/a:Dose/a:Value"></xsl:value-of>
893 <xsl:attribute name=
"unit">
894 <xsl:value-of select=
"a:Directions/a:Direction/a:Dose/a:Unit"></xsl:value-of>
898 <xsl:attribute name=
"value">
899 <xsl:value-of select=
"a:Directions/a:Direction/a:Dose/a:Value"></xsl:value-of>
901 <xsl:attribute name=
"unit">
902 <xsl:value-of select=
"a:Directions/a:Direction/a:Dose/a:Unit"></xsl:value-of>
908 <manufacturedProduct>
909 <templateId root=
"2.16.840.1.113883.3.88.11.83.8.2" assigningAuthorityName=
"HITSP C83"/>
910 <templateId root=
"2.16.840.1.113883.10.20.1.53" assigningAuthorityName=
"CCD"/>
911 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.7.2" assigningAuthorityName=
"IHE PCC"/>
913 <!-- Product template -->
915 <manufacturedMaterial>
916 <xsl:call-template name=
"ccdCodedValue">
917 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Product/a:ProductName"/>
918 <xsl:with-param name=
"nodeName" select=
"'code'"/>
921 <xsl:value-of select=
"a:Product/a:BrandName/a:Text"/>
923 </manufacturedMaterial>
924 </manufacturedProduct>
926 </substanceAdministration>
932 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:Immunizations">
935 <templateId root=
"2.16.840.1.113883.10.20.1.6"/>
936 <code code=
"11369-6" codeSystem=
"2.16.840.1.113883.6.1"/>
937 <title>Immunizations
</title>
949 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Immunizations/a:Immunization">
951 <xsl:attribute name=
"id">
952 <xsl:value-of select=
"a:CCRDataObjectID"/>
955 <xsl:apply-templates select=
"a:Product/a:ProductName/a:Code"/>
959 <xsl:value-of select=
"a:Product/a:ProductName/a:Text"/>
960 <xsl:if test=
"a:Product/a:Form">
961 <xsl:text xml:
space=
"preserve"> </xsl:text>(
<xsl:value-of select=
"a:Product/a:Form/a:Text"/>)
965 <xsl:call-template name=
"date:format-date">
966 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
970 <xsl:value-of select=
"a:Directions/a:Direction/a:Route/a:Text"/>
973 <xsl:attribute name=
"id">
974 <xsl:value-of select=
"a:CCRDataObjectID"/>
975 <xsl:text>:Site
</xsl:text>
978 <xsl:value-of select=
"a:Directions/a:Direction/a:Site/a:Text"/>
981 <xsl:call-template name=
"actorName">
982 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
990 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Immunizations/a:Immunization">
991 <entry typeCode=
"DRIV">
992 <substanceAdministration classCode=
"SBADM" moodCode=
"EVN">
993 <templateId root=
"2.16.840.1.113883.10.20.1.24" assigningAuthorityName=
"CCD"/>
994 <templateId root=
"2.16.840.1.113883.3.88.11.83.13" assigningAuthorityName=
"HITSP C83"/>
995 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.12" assigningAuthorityName=
"IHE PCC"/>
997 <!-- Medication activity template -->
1000 <xsl:call-template name=
"ccdID">
1001 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1002 </xsl:call-template>
1004 <code code=
"IMMUNIZ" codeSystem=
"2.16.840.1.113883.5.4" codeSystemName=
"HL7 ActCode"/>
1007 <xsl:attribute name=
"value">
1008 <xsl:text>#
</xsl:text>
1009 <xsl:value-of select=
"a:CCRDataObjectID"/>
1014 <statusCode code='completed'
/>
1016 <xsl:call-template name=
"ccdDateTime">
1017 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
1018 <xsl:with-param name=
"type" select=
"'IVL_TS'"/>
1019 </xsl:call-template>
1021 <xsl:call-template name=
"ccdCodedValue">
1022 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Directions/a:Direction/a:Route"/>
1023 <xsl:with-param name=
"nodeName" select=
"'routeCode'"/>
1024 <xsl:with-param name=
"domain" select=
"'RouteOfAdministration'"/>
1025 </xsl:call-template>
1027 <xsl:if test=
"a:Directions/a:Direction/a:Site">
1028 <xsl:call-template name=
"ccdCodedValue">
1029 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Directions/a:Direction/a:Site"/>
1030 <xsl:with-param name=
"nodeName" select=
"'approachSiteCode'"/>
1031 <xsl:with-param name=
"originalTextReference">
1032 <xsl:text>#
</xsl:text>
1033 <xsl:value-of select=
"a:CCRDataObjectID"/>
1034 <xsl:text>:Site
</xsl:text>
1036 </xsl:call-template>
1040 <manufacturedProduct>
1041 <templateId root=
"2.16.840.1.113883.3.88.11.83.8.2" assigningAuthorityName=
"HITSP C83"/>
1042 <templateId root=
"2.16.840.1.113883.10.20.1.53" assigningAuthorityName=
"CCD"/>
1043 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.7.2" assigningAuthorityName=
"IHE PCC"/>
1045 <!-- Product template -->
1047 <manufacturedMaterial>
1048 <xsl:call-template name=
"ccdCodedValue">
1049 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Product/a:ProductName"/>
1050 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1051 </xsl:call-template>
1053 <xsl:value-of select=
"a:Product/a:BrandName/a:Text"/>
1055 </manufacturedMaterial>
1056 </manufacturedProduct>
1059 </substanceAdministration>
1065 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:VitalSigns">
1068 <templateId root=
"2.16.840.1.113883.10.20.1.16"/>
1069 <code code=
"8716-3" codeSystem=
"2.16.840.1.113883.6.1"/>
1070 <title>Vital Signs
</title>
1080 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:VitalSigns/a:Result">
1082 <xsl:attribute name=
"id">
1083 <xsl:value-of select=
"a:CCRDataObjectID"/>
1087 <xsl:value-of select=
"a:Description/a:Text"/>
1090 <xsl:call-template name=
"date:format-date">
1091 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
1092 </xsl:call-template>
1095 <xsl:for-each select=
"a:Test">
1096 <xsl:value-of select=
"a:Description/a:Text"/>
1097 <xsl:text xml:
space=
"preserve"> </xsl:text>
1098 <xsl:value-of select=
"a:TestResult/a:Value"/>
1099 <xsl:text xml:
space=
"preserve"> </xsl:text>
1100 <xsl:value-of select=
"a:TestResult/a:Units/a:Unit"/>
1101 <xsl:text xml:
space=
"preserve"> </xsl:text>
1102 <xsl:value-of select=
"a:Flag/a:Text"/>
1107 <xsl:call-template name=
"actorName">
1108 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
1109 </xsl:call-template>
1116 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:VitalSigns/a:Result">
1117 <entry typeCode=
"DRIV">
1118 <organizer classCode=
"CLUSTER" moodCode=
"EVN">
1119 <templateId root=
"2.16.840.1.113883.10.20.1.32" assigningAuthorityName=
"CCD"/>
1120 <templateId root=
"2.16.840.1.113883.10.20.1.35" assigningAuthorityName=
"CCD"/>
1121 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.13.1" assigningAuthorityName=
"IHE PCC"/>
1122 <!-- Vital signs organizer template -->
1124 <xsl:variable name=
"testDate" select=
"a:DateTime"/>
1127 <xsl:call-template name=
"ccdID">
1128 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1129 </xsl:call-template>
1131 <code code=
"46680005" codeSystem=
"2.16.840.1.113883.6.96" displayName=
"Vital signs" codeSystemName=
"SNOMED CT"/>
1132 <statusCode code=
"completed"/>
1133 <xsl:call-template name=
"ccdDateTime">
1134 <xsl:with-param name=
"dt" select=
"$testDate"/>
1135 </xsl:call-template>
1137 <xsl:call-template name=
"ccdObservation">
1138 <xsl:with-param name=
"ccrTestNode" select=
"a:Test[1]"/>
1139 <xsl:with-param name=
"testDate" select=
"$testDate"/>
1140 </xsl:call-template>
1148 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:Encounters">
1151 <templateId root=
"2.16.840.1.113883.3.88.11.83.127" assigningAuthorityName=
"HITSP/C83"/>
1152 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.1.5.3.3" assigningAuthorityName=
"IHE PCC"/>
1153 <templateId root=
"2.16.840.1.113883.10.20.1.3" assigningAuthorityName=
"HL7 CCD"/>
1154 <!--Encounters section template-->
1155 <code code=
"46240-8" codeSystem=
"2.16.840.1.113883.6.1" codeSystemName=
"LOINC" displayName=
"History of encounters"/>
1156 <title>Encounters
</title>
1165 <th>Practitioner
</th>
1166 <th>Description
</th>
1167 <th>Indications
</th>
1170 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Encounters/a:Encounter">
1172 <xsl:attribute name=
"id">
1173 <xsl:value-of select=
"a:CCRDataObjectID"/>
1177 <xsl:value-of select=
"a:Type/a:Text"/>
1180 <xsl:call-template name=
"date:format-date">
1181 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
1182 </xsl:call-template>
1185 <xsl:for-each select=
"a:Locations/a:Location">
1186 <xsl:value-of select=
"a:Description/a:Text"/>
1187 <xsl:call-template name=
"actorName">
1188 <xsl:with-param name=
"objID" select=
"a:Actor/a:ActorID"/>
1189 </xsl:call-template>
1194 <xsl:value-of select=
"a:Status/a:Text"/>
1197 <xsl:for-each select=
"a:Practitioners/a:Practitioner">
1198 <xsl:call-template name=
"actorName">
1199 <xsl:with-param name=
"objID" select=
"a:ActorID"/>
1200 </xsl:call-template>
1205 <xsl:value-of select=
"a:Description/a:Text"/>
1208 <xsl:for-each select=
"a:Indications/a:Indication">
1209 <xsl:call-template name=
"problemDescription">
1210 <xsl:with-param name=
"objID" select=
"a:InternalCCRLink/a:LinkID"/>
1211 </xsl:call-template>
1216 <xsl:call-template name=
"actorName">
1217 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
1218 </xsl:call-template>
1225 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Encounters/a:Encounter">
1226 <entry typeCode=
"DRIV">
1227 <encounter classCode=
"ENC" moodCode=
"EVN">
1228 <templateId root=
"2.16.840.1.113883.3.88.11.83.16" assigningAuthorityName=
"HITSP C83"/>
1229 <templateId root=
"2.16.840.1.113883.10.20.1.21" assigningAuthorityName=
"CCD"/>
1230 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.14" assigningAuthorityName=
"IHE PCC"/>
1232 <!-- Encounter activity template -->
1235 <xsl:call-template name=
"ccdID">
1236 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1237 </xsl:call-template>
1239 <xsl:call-template name=
"ccdCodedValue">
1240 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
1241 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1242 </xsl:call-template>
1246 <xsl:attribute name=
"value">
1247 <xsl:text>#
</xsl:text>
1248 <xsl:value-of select=
"a:CCRDataObjectID"/>
1253 <xsl:call-template name=
"ccdDateTime">
1254 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
1255 </xsl:call-template>
1257 <xsl:if test=
"a:Practitioners[1]/a:Practitioner">
1258 <xsl:call-template name=
"ccdPerformer">
1259 <xsl:with-param name=
"ccrActorReference" select=
"a:Practitioners/a:Practitioner[1]"/>
1260 </xsl:call-template>
1263 <xsl:if test=
"a:Locations[1]/a:Location">
1264 <participant typeCode=
"LOC">
1265 <templateId root=
"2.16.840.1.113883.10.20.1.45"/>
1266 <!-- Location participation template -->
1268 <xsl:when test=
"a:Locations[1]/a:Location/a:ActorID">
1269 <xsl:call-template name=
"ccdParticipantRoleActor">
1270 <xsl:with-param name=
"ccrActorObjectID" select=
"a:Locations[1]/a:Location/a:ActorID"/>
1271 </xsl:call-template>
1274 <xsl:call-template name=
"ccdParticipantRoleCodedDescription">
1275 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Locations[1]/a:Location/a:Description"/>
1276 </xsl:call-template>
1287 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:SocialHistory">
1290 <templateId root=
"2.16.840.1.113883.10.20.1.15"/>
1291 <code code=
"29762-2" codeSystem=
"2.16.840.1.113883.6.1"/>
1292 <title>Social History
</title>
1300 <th>Description
</th>
1304 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:SocialHistory/a:SocialHistoryElement">
1307 <xsl:value-of select=
"a:Type/a:Text"/>
1310 <xsl:call-template name=
"date:format-date">
1311 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
1312 </xsl:call-template>
1315 <xsl:apply-templates select=
"a:Description/a:Code"/>
1318 <xsl:value-of select=
"a:Description/a:Text" disable-output-escaping=
"yes"/>
1321 <xsl:value-of select=
"a:Status/a:Text"/>
1324 <xsl:call-template name=
"actorName">
1325 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
1326 </xsl:call-template>
1333 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:SocialHistory/a:SocialHistoryElement">
1334 <entry typeCode=
"DRIV">
1335 <observation classCode=
"OBS" moodCode=
"EVN">
1336 <templateId root=
"2.16.840.1.113883.3.88.11.83.19" assigningAuthorityName=
"HITSP C83"/>
1337 <templateId root=
"2.16.840.1.113883.10.20.1.33" assigningAuthorityName=
"CCD"/>
1338 <!-- Social history observation template -->
1340 <xsl:call-template name=
"ccdID">
1341 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1342 </xsl:call-template>
1343 <statusCode code=
"completed"/>
1344 <xsl:call-template name=
"ccdDateTime">
1345 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
1346 </xsl:call-template>
1347 <entryRelationship typeCode=
"SUBJ" inversionInd=
"true">
1348 <observation classCode=
"OBS" moodCode=
"EVN">
1349 <templateId root=
"2.16.840.1.113883.10.20.1.41"/>
1350 <!-- Episode observation template -->
1351 <statusCode code=
"completed"/>
1352 <entryRelationship typeCode=
"SAS">
1353 <observation classCode=
"OBS" moodCode=
"EVN">
1354 <xsl:call-template name=
"ccdCodedValue">
1355 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
1356 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1357 </xsl:call-template>
1359 </entryRelationship>
1361 </entryRelationship>
1368 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:FamilyHistory">
1371 <templateId root=
"2.16.840.1.113883.10.20.1.4"/>
1372 <code code=
"10157-6" codeSystem=
"2.16.840.1.113883.6.1"/>
1373 <title>Family History
</title>
1381 <th>Description
</th>
1382 <th>Relationship(s)
</th>
1386 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:FamilyHistory/a:FamilyProblemHistory">
1389 <xsl:value-of select=
"a:Type/a:Text"/>
1392 <xsl:call-template name=
"date:format-date">
1393 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
1394 </xsl:call-template>
1397 <xsl:apply-templates select=
"a:Problem/a:Description/a:Code"/>
1400 <xsl:for-each select=
"a:Problem">
1401 <xsl:value-of select=
"a:Description/a:Text"/>
1406 <xsl:value-of select=
"a:FamilyMember/a:ActorRole/a:Text"/>
1409 <xsl:value-of select=
"a:Status/a:Text"/>
1412 <xsl:call-template name=
"actorName">
1413 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
1414 </xsl:call-template>
1424 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:Results/a:Result">
1427 <templateId root=
"2.16.840.1.113883.10.20.1.14"/>
1428 <code code=
"30954-2" codeSystem=
"2.16.840.1.113883.6.1"/>
1429 <title>Results
</title>
1439 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Results/a:Result">
1441 <xsl:attribute name=
"id">
1442 <xsl:value-of select=
"a:CCRDataObjectID"/>
1445 <xsl:value-of select=
"a:Description/a:Text"/>
1448 <xsl:call-template name=
"date:format-date">
1449 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
1450 </xsl:call-template>
1453 <xsl:for-each select=
"a:Test[a:TestResult/a:Value!='']">
1455 <xsl:attribute name=
"id">
1456 <xsl:value-of select=
"a:CCRDataObjectID"/>
1459 <xsl:value-of select=
"a:Description/a:Text"/>
1460 <xsl:text xml:
space=
"preserve"> </xsl:text>
1461 <xsl:value-of select=
"a:TestResult/a:Value"/>
1462 <xsl:text xml:
space=
"preserve"> </xsl:text>
1463 <xsl:value-of select=
"a:TestResult/a:Units/a:Unit"/>
1464 <xsl:text xml:
space=
"preserve"> </xsl:text>
1465 <xsl:value-of select=
"a:Flag/a:Text"/>
1471 <xsl:call-template name=
"actorName">
1472 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
1473 </xsl:call-template>
1480 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Results/a:Result">
1481 <entry typeCode=
"DRIV">
1482 <xsl:variable name=
"testDate" select=
"a:DateTime"/>
1485 <xsl:when test=
"count(a:Test)>1">
1486 <organizer classCode=
"BATTERY" moodCode=
"EVN">
1487 <templateId root=
"2.16.840.1.113883.10.20.1.32"/>
1488 <!--Result organizer template -->
1491 <xsl:call-template name=
"ccdID">
1492 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1493 </xsl:call-template>
1496 <xsl:call-template name=
"ccdCodedValue">
1497 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
1498 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1499 </xsl:call-template>
1501 <statusCode code=
"completed"/>
1503 <!-- <effectiveTime> -->
1504 <xsl:call-template name=
"ccdDateTime">
1505 <xsl:with-param name=
"dt" select=
"$testDate"/>
1506 </xsl:call-template>
1508 <xsl:call-template name=
"ccdPerformer">
1509 <xsl:with-param name=
"ccrActorReference" select=
"a:Source/a:Actor"/>
1510 </xsl:call-template>
1512 <xsl:for-each select=
"a:Test">
1513 <xsl:call-template name=
"ccdObservation">
1514 <xsl:with-param name=
"ccrTestNode" select=
"."/>
1515 <xsl:with-param name=
"testDate" select=
"$testDate"/>
1516 </xsl:call-template>
1523 <xsl:call-template name=
"ccdObservation">
1524 <xsl:with-param name=
"ccrTestNode" select=
"a:Test[1]"/>
1525 <xsl:with-param name=
"testDate" select=
"$testDate"/>
1526 </xsl:call-template>
1534 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:Payers">
1537 <templateId root=
"2.16.840.1.113883.10.20.1.9"/>
1538 <code code=
"48768-6" codeSystem=
"2.16.840.1.113883.6.1"/>
1539 <title>Insurance
</title>
1546 <th>Identification Numbers
</th>
1547 <th>Payment Provider
</th>
1551 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Payers/a:Payer">
1554 <xsl:value-of select=
"a:Type/a:Text"/>
1557 <xsl:call-template name=
"date:format-date">
1558 <xsl:with-param name=
"date-time" select=
"a:DateTime/a:ExactDateTime"/>
1559 </xsl:call-template>
1562 <xsl:for-each select=
"a:IDs">
1563 <xsl:value-of select=
"a:Type/a:Text"/>:
<xsl:text xml:
space=
"preserve"> </xsl:text><xsl:value-of select=
"a:ID"/><br/>
1567 <xsl:call-template name=
"actorName">
1568 <xsl:with-param name=
"objID" select=
"a:PaymentProvider/a:ActorID"/>
1569 </xsl:call-template>
1572 <xsl:call-template name=
"actorName">
1573 <xsl:with-param name=
"objID" select=
"a:Subscriber/a:ActorID"/>
1574 </xsl:call-template>
1577 <xsl:call-template name=
"actorName">
1578 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
1579 </xsl:call-template>
1586 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:Payers/a:Payer">
1587 <entry typeCode=
"DRIV">
1588 <act classCode=
"ACT" moodCode=
"DEF">
1589 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.17" assigningAuthorityName=
"IHE PCC"/>
1590 <templateId root=
"2.16.840.1.113883.10.20.1.20" assigningAuthorityName=
"CCD"/>
1591 <!-- Coverage entry template -->
1593 <xsl:call-template name=
"ccdID">
1594 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1595 </xsl:call-template>
1596 <code code=
"48768-6" codeSystem=
"2.16.840.1.113883.6.1" codeSystemName=
"LOINC" displayName=
"Payment sources"/>
1597 <statusCode code=
"completed"/>
1598 <entryRelationship typeCode=
"COMP">
1599 <act classCode=
"ACT" moodCode=
"EVN">
1600 <templateId root=
"2.16.840.1.113883.3.88.11.83.5" assigningAuthorityName=
"HITSP C83"/>
1601 <templateId root=
"2.16.840.1.113883.10.20.1.26" assigningAuthorityName=
"CCD"/>
1602 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.18" assigningAuthorityName=
"IHE PCC"/>
1603 <!--Insurance provider template -->
1605 <xsl:attribute name=
"root">
1606 <xsl:value-of select=
"a:IDs[1]/a:ID"/>
1608 <xsl:attribute name=
"extension">
1609 <xsl:value-of select=
"a:IDs[1]/a:Type/a:Text"/>
1614 <xsl:call-template name=
"ccdCodedValue">
1615 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
1616 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1617 </xsl:call-template>
1619 <statusCode code=
"completed"/>
1621 <xsl:call-template name=
"ccdPerformer">
1622 <xsl:with-param name=
"ccrActorReference" select=
"a:PaymentProvider"/>
1623 </xsl:call-template>
1625 <participant typeCode=
"HLD">
1626 <xsl:call-template name=
"ccdParticipantRoleActor">
1627 <xsl:with-param name=
"ccrActorReference" select=
"a:Subscriber"/>
1628 </xsl:call-template>
1631 </entryRelationship>
1638 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:PlanOfCare">
1641 <templateId root=
"2.16.840.1.113883.10.20.1.10"/>
1642 <code code=
"18776-5" codeSystem=
"2.16.840.1.113883.6.1"/>
1643 <title>Plan Of Care
</title>
1645 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:PlanOfCare/a:Plan[a:Type/a:Text='Treatment Recommendation']">
1646 <xsl:text>Plan Of Care Recommendations
</xsl:text>
1651 <th>Description
</th>
1652 <th>Recommendation
</th>
1657 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:PlanOfCare/a:Plan[a:Type/a:Text='Treatment Recommendation']">
1660 <xsl:value-of select=
"a:Description/a:Text"/>
1663 <xsl:value-of select=
"a:OrderRequest/a:Description/a:Text" disable-output-escaping=
"yes"/>
1666 <xsl:value-of select=
"a:OrderRequest/a:Goals/a:Goal/a:Description/a:Text" disable-output-escaping=
"yes"/>
1669 <xsl:value-of select=
"a:Status/a:Text"/>
1672 <xsl:call-template name=
"actorName">
1673 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
1674 </xsl:call-template>
1681 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:PlanOfCare/a:Plan[a:Type/a:Text='Order']">
1682 <xsl:text>Plan Of Care Orders
</xsl:text>
1688 <th>Plan Status
</th>
1701 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:PlanOfCare/a:Plan[a:Type/a:Text='Order']">
1704 <xsl:apply-templates select=
"a:Description/a:Text"/>
1707 <xsl:value-of select=
"a:Status/a:Text"/>
1710 <xsl:value-of select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Type/a:Text"/>
1713 <xsl:call-template name=
"date:format-date">
1714 <xsl:with-param name=
"date-time" select=
"a:OrderRequest/a:Procedures/a:Procedure/a:DateTime/a:ExactDateTime"/>
1715 </xsl:call-template>
1718 <xsl:apply-templates select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Description/a:Text"/>
1721 <xsl:text xml:
space=
"preserve">Every
</xsl:text>
1722 <xsl:apply-templates select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Interval/a:Value"/>
1723 <xsl:text xml:
space=
"preserve"> </xsl:text>
1724 <xsl:value-of select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Interval/a:Units/a:Unit"/>
1725 <xsl:text xml:
space=
"preserve"> for
</xsl:text>
1726 <xsl:value-of select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Duration/a:Value"/>
1727 <xsl:text xml:
space=
"preserve"> </xsl:text>
1728 <xsl:value-of select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Duration/a:Units/a:Unit"/>
1731 <xsl:for-each select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Locations">
1732 <xsl:value-of select=
"a:Location/a:Description/a:Text"/>
1733 <xsl:if test=
"position() != last()">
1739 <xsl:value-of select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Substance/a:Text"/>
1742 <xsl:value-of select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Method/a:Text"/>
1745 <xsl:value-of select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Position/a:Text"/>
1748 <xsl:value-of select=
"a:OrderRequest/a:Procedures/a:Procedure/a:Site/a:Text"/>
1752 <xsl:call-template name=
"actorName">
1753 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
1754 </xsl:call-template>
1762 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:PlanOfCare/a:Plan/a:OrderRequest/a:Procedures/a:Procedure">
1763 <entry typeCode=
"DRIV">
1764 <observation classCode=
"OBS" moodCode=
"RQO">
1765 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.1.20.3.1"/>
1768 <xsl:call-template name=
"ccdID">
1769 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1770 </xsl:call-template>
1773 <xsl:call-template name=
"ccdCodedValue">
1774 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
1775 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1776 </xsl:call-template>
1778 <statusCode code=
"new"/>
1782 <xsl:when test=
"a:DateTime">
1783 <xsl:call-template name=
"ccdDateTime">
1784 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
1785 </xsl:call-template>
1787 <xsl:when test=
"a:Interval">
1788 <xsl:attribute name=
"xsi:type">PIVL_TS
</xsl:attribute>
1789 <xsl:attribute name=
"operator">A
</xsl:attribute>
1790 <xsl:attribute name=
"institutionSpecified">true
</xsl:attribute>
1792 <xsl:attribute name=
"value">
1793 <xsl:value-of select=
"a:Interval/a:Value"/>
1795 <xsl:attribute name=
"unit">
1796 <xsl:value-of select=
"a:Interval/a:Units/a:Unit"/>
1806 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:PlanOfCare/a:Plan/a:OrderRequest/a:Medications/a:Medication">
1807 <entry typeCode=
"DRIV">
1808 <substanceAdministration classCode=
"SBADM" moodCode=
"INT">
1809 <templateId root=
"2.16.840.1.113883.10.20.1.24" assigningAuthorityName=
"CCD"/>
1810 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.7.1" assigningAuthorityName=
"IHE PCC"/>
1812 <!--Medication activity template -->
1815 <xsl:call-template name=
"ccdID">
1816 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1817 </xsl:call-template>
1819 <statusCode code='completed'
/>
1821 <xsl:call-template name=
"ccdDateTime">
1822 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
1823 <xsl:with-param name=
"type" select=
"'IVL_TS'"/>
1824 </xsl:call-template>
1826 <xsl:call-template name=
"ccdMedicationFrequency">
1827 <xsl:with-param name=
"frequency" select=
"a:Directions/a:Direction/a:Frequency"/>
1828 </xsl:call-template>
1830 <xsl:call-template name=
"ccdCodedValue">
1831 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Directions/a:Direction/a:Route"/>
1832 <xsl:with-param name=
"nodeName" select=
"'routeCode'"/>
1833 <xsl:with-param name=
"domain" select=
"'RouteOfAdministration'"/>
1834 </xsl:call-template>
1836 <xsl:if test=
"a:Directions/a:Direction/a:Dose">
1839 <xsl:attribute name=
"value">
1840 <xsl:value-of select=
"a:Directions/a:Direction/a:Dose/a:Value"></xsl:value-of>
1842 <xsl:attribute name=
"unit">
1843 <xsl:value-of select=
"a:Directions/a:Direction/a:Dose/a:Unit"></xsl:value-of>
1847 <xsl:attribute name=
"value">
1848 <xsl:value-of select=
"a:Directions/a:Direction/a:Dose/a:Value"></xsl:value-of>
1850 <xsl:attribute name=
"unit">
1851 <xsl:value-of select=
"a:Directions/a:Direction/a:Dose/a:Unit"></xsl:value-of>
1857 <manufacturedProduct>
1858 <templateId root=
"2.16.840.1.113883.3.88.11.83.8.2" assigningAuthorityName=
"HITSP C83"/>
1859 <templateId root=
"2.16.840.1.113883.10.20.1.53" assigningAuthorityName=
"CCD"/>
1860 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.7.2" assigningAuthorityName=
"IHE PCC"/>
1862 <!-- Product template -->
1864 <manufacturedMaterial>
1865 <xsl:call-template name=
"ccdCodedValue">
1866 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Product/a:ProductName"/>
1867 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1868 </xsl:call-template>
1870 <xsl:value-of select=
"a:Product/a:BrandName/a:Text"/>
1872 </manufacturedMaterial>
1873 </manufacturedProduct>
1875 </substanceAdministration>
1878 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:PlanOfCare/a:Plan/a:OrderRequest/a:Immunizations/a:Immunization">
1880 <entry typeCode=
"DRIV">
1881 <substanceAdministration classCode=
"SBADM" moodCode=
"EVN">
1882 <templateId root=
"2.16.840.1.113883.10.20.1.24" assigningAuthorityName=
"CCD"/>
1883 <templateId root=
"2.16.840.1.113883.3.88.11.83.13" assigningAuthorityName=
"HITSP C83"/>
1884 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.12" assigningAuthorityName=
"IHE PCC"/>
1886 <!-- Medication activity template -->
1889 <xsl:call-template name=
"ccdID">
1890 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1891 </xsl:call-template>
1893 <code code=
"IMMUNIZ" codeSystem=
"2.16.840.1.113883.5.4" codeSystemName=
"HL7 ActCode"/>
1896 <xsl:attribute name=
"value">
1897 <xsl:text>#
</xsl:text>
1898 <xsl:value-of select=
"a:CCRDataObjectID"/>
1903 <statusCode code='completed'
/>
1905 <xsl:call-template name=
"ccdDateTime">
1906 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
1907 <xsl:with-param name=
"type" select=
"'IVL_TS'"/>
1908 </xsl:call-template>
1910 <xsl:call-template name=
"ccdCodedValue">
1911 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Directions/a:Direction/a:Route"/>
1912 <xsl:with-param name=
"nodeName" select=
"'routeCode'"/>
1913 <xsl:with-param name=
"domain" select=
"'RouteOfAdministration'"/>
1914 </xsl:call-template>
1916 <xsl:if test=
"a:Directions/a:Direction/a:Site">
1917 <xsl:call-template name=
"ccdCodedValue">
1918 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Directions/a:Direction/a:Site"/>
1919 <xsl:with-param name=
"nodeName" select=
"'approachSiteCode'"/>
1920 <xsl:with-param name=
"originalTextReference">
1921 <xsl:text>#
</xsl:text>
1922 <xsl:value-of select=
"a:CCRDataObjectID"/>
1923 <xsl:text>:Site
</xsl:text>
1925 </xsl:call-template>
1929 <manufacturedProduct>
1930 <templateId root=
"2.16.840.1.113883.3.88.11.83.8.2" assigningAuthorityName=
"HITSP C83"/>
1931 <templateId root=
"2.16.840.1.113883.10.20.1.53" assigningAuthorityName=
"CCD"/>
1932 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.7.2" assigningAuthorityName=
"IHE PCC"/>
1934 <!-- Product template -->
1936 <manufacturedMaterial>
1937 <xsl:call-template name=
"ccdCodedValue">
1938 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Product/a:ProductName"/>
1939 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1940 </xsl:call-template>
1942 <xsl:value-of select=
"a:Product/a:BrandName/a:Text"/>
1944 </manufacturedMaterial>
1945 </manufacturedProduct>
1948 </substanceAdministration>
1952 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:PlanOfCare/a:Plan/a:OrderRequest/a:Encounters/a:Encounter">
1953 <entry typeCode=
"DRIV">
1954 <encounter classCode=
"ENC" moodCode=
"INT">
1955 <templateId root=
"2.16.840.1.113883.3.88.11.83.16" assigningAuthorityName=
"HITSP C83"/>
1956 <templateId root=
"2.16.840.1.113883.10.20.1.21" assigningAuthorityName=
"CCD"/>
1957 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.14" assigningAuthorityName=
"IHE PCC"/>
1959 <!-- Encounter activity template -->
1962 <xsl:call-template name=
"ccdID">
1963 <xsl:with-param name=
"ccrObjectID" select=
"a:CCRDataObjectID"/>
1964 </xsl:call-template>
1966 <xsl:call-template name=
"ccdCodedValue">
1967 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Description"/>
1968 <xsl:with-param name=
"nodeName" select=
"'code'"/>
1969 </xsl:call-template>
1973 <xsl:attribute name=
"value">
1974 <xsl:text>#
</xsl:text>
1975 <xsl:value-of select=
"a:CCRDataObjectID"/>
1980 <xsl:call-template name=
"ccdDateTime">
1981 <xsl:with-param name=
"dt" select=
"a:DateTime"/>
1982 </xsl:call-template>
1984 <xsl:if test=
"a:Practitioners[1]/a:Practitioner">
1985 <xsl:call-template name=
"ccdPerformer">
1986 <xsl:with-param name=
"ccrActorReference" select=
"a:Practitioners/a:Practitioner[1]"/>
1987 </xsl:call-template>
1990 <xsl:if test=
"a:Locations[1]/a:Location">
1991 <participant typeCode=
"LOC">
1992 <templateId root=
"2.16.840.1.113883.10.20.1.45"/>
1993 <!-- Location participation template -->
1995 <xsl:when test=
"a:Locations[1]/a:Location/a:ActorID">
1996 <xsl:call-template name=
"ccdParticipantRoleActor">
1997 <xsl:with-param name=
"ccrActorObjectID" select=
"a:Locations[1]/a:Location/a:ActorID"/>
1998 </xsl:call-template>
2001 <xsl:call-template name=
"ccdParticipantRoleCodedDescription">
2002 <xsl:with-param name=
"ccrCodedDescription" select=
"a:Locations[1]/a:Location/a:Description"/>
2003 </xsl:call-template>
2014 <xsl:if test=
"a:ContinuityOfCareRecord/a:Body/a:HealthCareProviders">
2017 <title>Health Care Providers
</title>
2025 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Body/a:HealthCareProviders/a:Provider">
2028 <xsl:value-of select=
"a:ActorRole/a:Text"/>
2031 <xsl:call-template name=
"actorName">
2032 <xsl:with-param name=
"objID" select=
"a:Source/a:Actor/a:ActorID"/>
2033 </xsl:call-template>
2044 <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:SupportProviders">
2047 <title>Support Providers</title>
2055 <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Support/a:SupportProvider">
2058 <xsl:value-of select="a:ActorRole/a:Text"/>
2061 <xsl:call-template name="actorName">
2062 <xsl:with-param name="objID" select="a:Source/a:Actor/a:ActorID"/>
2063 </xsl:call-template>
2073 <xsl:if test="a:ContinuityOfCareRecord/a:References">
2076 <title>References</title>
2083 <th>Description</th>
2087 <xsl:for-each select="/a:ContinuityOfCareRecord/a:References/a:Reference">
2090 <xsl:value-of select="a:Type/a:Text"/>
2093 <xsl:call-template name="date:format-date">
2094 <xsl:with-param name="date-time" select="a:DateTime/a:ExactDateTime"/>
2095 </xsl:call-template>
2098 <strong class="clinical">
2099 <xsl:value-of select="a:Description/a:Text"/>
2103 <xsl:value-of select="a:Locations/a:Location/a:Description/a:Text"/>
2106 <xsl:call-template name="actorName">
2107 <xsl:with-param name="objID" select="a:Source/a:Actor/a:ActorID"/>
2108 </xsl:call-template>
2122 <title>Additional Information About People
& Organizations
</title>
2124 <xsl:if test=
"a:ContinuityOfCareRecord/a:Actors/a:Actor[a:Person]">
2131 <th>Identification Numbers
</th>
2133 <th>Address/ E-mail
</th>
2135 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor">
2136 <xsl:sort select=
"a:Person/a:Name/a:DisplayName|a:Person/a:Name/a:CurrentName/a:Family" data-type=
"text" order=
"ascending"/>
2137 <xsl:if test=
"a:Person">
2140 <xsl:call-template name=
"actorName">
2141 <xsl:with-param name=
"objID" select=
"a:ActorObjectID"/>
2142 </xsl:call-template>
2145 <xsl:value-of select=
"a:Specialty/a:Text"/>
2148 <xsl:value-of select=
"a:Relation/a:Text"/>
2151 <xsl:for-each select=
"a:IDs">
2152 <xsl:value-of select=
"a:Type/a:Text"/>
2153 <xsl:text>:
</xsl:text>
2154 <xsl:value-of select=
"a:ID"/>
2158 <xsl:for-each select=
"a:Telephone">
2159 <xsl:value-of select=
"a:Type/a:Text"/>
2160 <xsl:text>:
</xsl:text>
2161 <xsl:value-of select=
"a:Value"/>
2165 <xsl:for-each select=
"a:Address">
2166 <xsl:if test=
"a:Type">
2167 <xsl:value-of select=
"a:Type/a:Text"/>
2168 <xsl:text>:
</xsl:text>
2171 <xsl:if test=
"a:Line1">
2172 <xsl:value-of select=
"a:Line1"/>
2175 <xsl:if test=
"a:Line2">
2176 <xsl:value-of select=
"a:Line2"/>
2179 <xsl:if test=
"a:City">
2180 <xsl:value-of select=
"a:City"/>
2181 <xsl:text>,
</xsl:text>
2183 <xsl:value-of select=
"a:State"/>
2184 <xsl:value-of select=
"a:PostalCode"/>
2187 <xsl:for-each select=
"a:EMail">
2189 <xsl:value-of select=
"a:Value"/>
2198 <xsl:if test=
"a:ContinuityOfCareRecord/a:Actors/a:Actor[a:Organization]">
2205 <th>Identification Numbers
</th>
2207 <th>Address/ E-mail
</th>
2209 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor">
2210 <xsl:sort select=
"a:Organization/a:Name" data-type=
"text" order=
"ascending"/>
2211 <xsl:if test=
"a:Organization">
2214 <xsl:value-of select=
"a:Organization/a:Name"/>
2217 <xsl:value-of select=
"a:Specialty/a:Text"/>
2220 <xsl:value-of select=
"a:Relation/a:Text"/>
2223 <xsl:for-each select=
"a:IDs">
2224 <xsl:value-of select=
"a:Type/a:Text"/>
2225 <xsl:text>:
</xsl:text>
2226 <xsl:value-of select=
"a:ID"/>
2230 <xsl:for-each select=
"a:Telephone">
2231 <xsl:value-of select=
"a:Type/a:Text"/>
2232 <xsl:text>:
</xsl:text>
2233 <xsl:value-of select=
"a:Value"/>
2237 <xsl:for-each select=
"a:Address">
2238 <xsl:if test=
"a:Type">
2239 <xsl:value-of select=
"a:Type/a:Text"/>
2240 <xsl:text>:
</xsl:text>
2243 <xsl:if test=
"a:Line1">
2244 <xsl:value-of select=
"a:Line1"/>
2247 <xsl:if test=
"a:Line2">
2248 <xsl:value-of select=
"a:Line2"/>
2251 <xsl:if test=
"a:City">
2252 <xsl:value-of select=
"a:City"/>
2253 <xsl:text>,
</xsl:text>
2255 <xsl:value-of select=
"a:State"/>
2256 <xsl:value-of select=
"a:PostalCode"/>
2259 <xsl:for-each select=
"a:EMail">
2261 <xsl:value-of select=
"a:Value"/>
2270 <xsl:if test=
"a:ContinuityOfCareRecord/a:Actors/a:Actor[a:InformationSystem]">
2277 <th>Identification Numbers
</th>
2279 <th>Address/ E-mail
</th>
2281 <xsl:for-each select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor">
2282 <xsl:sort select=
"a:InformationSystem/a:Name" data-type=
"text" order=
"ascending"/>
2283 <xsl:if test=
"a:InformationSystem">
2286 <xsl:value-of select=
"a:InformationSystem/a:Name"/>
2289 <xsl:value-of select=
"a:InformationSystem/a:Type"/>
2292 <xsl:value-of select=
"a:InformationSystem/a:Version"/>
2295 <xsl:for-each select=
"a:IDs">
2296 <xsl:value-of select=
"a:Type/a:Text"/>
2297 <xsl:text>:
</xsl:text>
2298 <xsl:value-of select=
"a:ID"/>
2302 <xsl:for-each select=
"a:Telephone">
2303 <xsl:value-of select=
"a:Type/a:Text"/>
2304 <xsl:text>:
</xsl:text>
2305 <xsl:value-of select=
"a:Value"/>
2309 <xsl:for-each select=
"a:Address">
2310 <xsl:if test=
"Type">
2311 <xsl:value-of select=
"a:Type/a:Text"/>
2312 <xsl:text>:
</xsl:text>
2315 <xsl:if test=
"a:Line1">
2316 <xsl:value-of select=
"a:Line1"/>
2319 <xsl:if test=
"a:Line2">
2320 <xsl:value-of select=
"a:Line2"/>
2323 <xsl:if test=
"a:City">
2324 <xsl:value-of select=
"a:City"/>
2325 <xsl:text>,
</xsl:text>
2327 <xsl:value-of select=
"a:State"/>
2328 <xsl:value-of select=
"a:PostalCode"/>
2331 <xsl:for-each select=
"a:EMail">
2333 <xsl:value-of select=
"a:Value"/>
2351 <xsl:template name=
"ccdAssignedEntity">
2352 <xsl:param name=
"ccrActorObjectID"/>
2354 <xsl:variable name=
"CCRActor" select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$ccrActorObjectID]"/>
2357 <xsl:call-template name=
"ccdEntityID">
2358 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2359 </xsl:call-template>
2361 <xsl:call-template name=
"ccdAddress">
2362 <xsl:with-param name=
"CCRActorAddress" select=
"$CCRActor/a:Address"/>
2363 </xsl:call-template>
2365 <xsl:call-template name=
"ccdTelecom">
2366 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2367 </xsl:call-template>
2369 <xsl:if test=
"$CCRActor/a:Person">
2370 <xsl:call-template name=
"ccdPerson">
2371 <xsl:with-param name=
"CCRActorPerson" select=
"$CCRActor/a:Person"/>
2372 <xsl:with-param name=
"personNodeName" select=
"'assignedPerson'"/>
2373 </xsl:call-template>
2376 <xsl:if test=
"$CCRActor/a:InternalCCRLink[a:LinkRelationship='Organization']">
2377 <xsl:call-template name=
"ccdOrganization">
2378 <xsl:with-param name=
"ccrActorObjectID" select=
"$CCRActor/a:InternalCCRLink[a:LinkRelationship='Organization']/a:LinkID"/>
2379 <xsl:with-param name=
"organizationNodeName" select=
"'representedOrganization'"/>
2380 </xsl:call-template>
2386 <xsl:template name=
"ccdPatient">
2387 <xsl:param name=
"CCRActorPerson"/>
2389 <xsl:call-template name=
"ccdPersonName">
2390 <xsl:with-param name=
"CCRActorName" select=
"$CCRActorPerson/a:Name"/>
2391 </xsl:call-template>
2393 <xsl:if test=
"$CCRActorPerson/a:Gender">
2394 <xsl:call-template name=
"ccdCodedValue">
2395 <xsl:with-param name=
"ccrCodedDescription" select=
"$CCRActorPerson/a:Gender"/>
2396 <xsl:with-param name=
"domain" select=
"'AdministrativeGender'"/>
2397 <xsl:with-param name=
"nodeName" select=
"'administrativeGenderCode'"/>
2398 </xsl:call-template>
2401 <xsl:if test=
"$CCRActorPerson/a:DateOfBirth">
2403 <xsl:attribute name=
"value">
2404 <xsl:call-template name=
"date:format-date">
2405 <xsl:with-param name=
"date-time" select=
"$CCRActorPerson/a:DateOfBirth/a:ExactDateTime"/>
2406 <xsl:with-param name=
"pattern">yyyyMMddhhmmss
</xsl:with-param>
2407 </xsl:call-template>
2412 <xsl:if test=
"/a:ContinuityOfCareRecord/a:Body/a:SocialHistory/a:SocialHistoryElement[a:Type/a:Text='Marital Status']">
2413 <xsl:call-template name=
"ccdCodedValue">
2414 <xsl:with-param name=
"ccrCodedDescription" select=
"/a:ContinuityOfCareRecord/a:Body/a:SocialHistory/a:SocialHistoryElement[a:Type/a:Text='Marital Status']/a:Description"/>
2415 <xsl:with-param name=
"domain" select=
"'MaritalStatus'"/>
2416 <xsl:with-param name=
"nodeName" select=
"'maritalStatusCode'"/>
2417 </xsl:call-template>
2420 <xsl:if test=
"/a:ContinuityOfCareRecord/a:Body/a:SocialHistory/a:SocialHistoryElement[a:Type/a:Text='Language']">
2421 <languageCommunication>
2422 <templateId root=
"2.16.840.1.113883.3.88.11.83.2" assigningAuthorityName=
"HITSP/C83"/>
2423 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.2.1" assigningAuthorityName=
"IHE/PCC"/>
2424 <xsl:call-template name=
"ccdCodedValue">
2425 <xsl:with-param name=
"ccrCodedDescription" select=
"/a:ContinuityOfCareRecord/a:Body/a:SocialHistory/a:SocialHistoryElement[a:Type/a:Text='Language']/a:Description"></xsl:with-param>
2426 <xsl:with-param name=
"domain" select=
"'HumanLanguage'"/>
2427 <xsl:with-param name=
"nodeName" select=
"'languageCode'"/>
2428 </xsl:call-template>
2429 </languageCommunication>
2434 <xsl:template name=
"ccdPerformer">
2435 <xsl:param name=
"ccrActorReference"/>
2436 <performer typeCode=
"PRF">
2437 <xsl:if test=
"$ccrActorReference/a:ActorRole">
2438 <xsl:call-template name=
"ccdCodedValue">
2439 <xsl:with-param name=
"ccrCodedDescription" select=
"$ccrActorReference/a:ActorRole"/>
2440 <xsl:with-param name=
"nodeName" select=
"'functionCode'"/>
2441 </xsl:call-template>
2443 <xsl:call-template name=
"ccdAssignedEntity">
2444 <xsl:with-param name=
"ccrActorObjectID" select=
"$ccrActorReference/a:ActorID"/>
2445 </xsl:call-template>
2449 <xsl:template name=
"ccdPerson">
2450 <xsl:param name=
"CCRActorPerson"/>
2451 <xsl:param name=
"personNodeName">assignedPerson
</xsl:param>
2452 <xsl:element name=
"{$personNodeName}">
2453 <xsl:call-template name=
"ccdPersonName">
2454 <xsl:with-param name=
"CCRActorName" select=
"$CCRActorPerson/a:Name"/>
2455 </xsl:call-template>
2459 <xsl:template name=
"ccdPersonName">
2460 <xsl:param name=
"CCRActorName"/>
2462 <xsl:if test=
"$CCRActorName/a:CurrentName/a:Title">
2464 <xsl:value-of select=
"$CCRActorName/a:CurrentName/a:Title"/>
2467 <xsl:if test=
"$CCRActorName/a:CurrentName/a:Given">
2469 <xsl:value-of select=
"$CCRActorName/a:CurrentName/a:Given"/>
2472 <xsl:if test=
"$CCRActorName/a:CurrentName/a:Middle">
2474 <xsl:value-of select=
"$CCRActorName/a:CurrentName/a:Middle"/>
2477 <xsl:if test=
"$CCRActorName/a:CurrentName/a:Family">
2479 <xsl:value-of select=
"$CCRActorName/a:CurrentName/a:Family"/>
2482 <xsl:if test=
"$CCRActorName/a:CurrentName/a:Suffix">
2484 <xsl:value-of select=
"$CCRActorName/a:CurrentName/a:Suffix"/>
2490 <xsl:template name=
"ccdOrganization">
2491 <xsl:param name=
"ccrActorObjectID"/>
2492 <xsl:param name=
"organizationNodeName"/>
2494 <xsl:variable name=
"CCRActor" select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$ccrActorObjectID]"/>
2496 <xsl:element name=
"{$organizationNodeName}">
2497 <xsl:call-template name=
"ccdEntityID">
2498 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2499 </xsl:call-template>
2500 <xsl:call-template name=
"ccdTelecom">
2501 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2502 </xsl:call-template>
2504 <xsl:call-template name=
"ccdAddress">
2505 <xsl:with-param name=
"CCRActorAddress" select=
"$CCRActor/a:Address[1]"/>
2506 </xsl:call-template>
2510 <xsl:template name=
"ccdPatientRole">
2511 <xsl:param name=
"ccrActorObjectID"/>
2513 <xsl:variable name=
"CCRActor" select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$ccrActorObjectID]"/>
2515 <xsl:call-template name=
"ccdEntityID">
2516 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2517 </xsl:call-template>
2519 <xsl:call-template name=
"ccdAddress">
2520 <xsl:with-param name=
"CCRActorAddress" select=
"$CCRActor/a:Address[1]"/>
2521 </xsl:call-template>
2523 <xsl:call-template name=
"ccdTelecom">
2524 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2525 </xsl:call-template>
2527 <xsl:call-template name=
"ccdPatient">
2528 <xsl:with-param name=
"CCRActorPerson" select=
"$CCRActor/a:Person"/>
2529 </xsl:call-template>
2532 <xsl:template name=
"ccdAssignedAuthor">
2533 <xsl:param name=
"ccrActorObjectID"/>
2535 <xsl:variable name=
"CCRActor" select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$ccrActorObjectID]"/>
2537 <xsl:call-template name=
"ccdEntityID">
2538 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2539 </xsl:call-template>
2541 <xsl:call-template name=
"ccdAddress">
2542 <xsl:with-param name=
"CCRActorAddress" select=
"$CCRActor/a:Address[1]"/>
2543 </xsl:call-template>
2545 <xsl:call-template name=
"ccdTelecom">
2546 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2547 </xsl:call-template>
2549 <xsl:call-template name=
"ccdPerson">
2550 <xsl:with-param name=
"CCRActorPerson" select=
"$CCRActor/a:Person"/>
2551 </xsl:call-template>
2553 <xsl:if test=
"$CCRActor/a:InternalCCRLink[a:LinkRelationship='Organization']">
2554 <representedOrganization>
2555 <xsl:call-template name=
"ccdOrganization">
2556 <xsl:with-param name=
"ccrActorObjectID" select=
"$CCRActor/a:InternalCCRLink[a:LinkRelationship='Organization']/a:LinkID"/>
2557 </xsl:call-template>
2558 </representedOrganization>
2563 <xsl:template name=
"ccdParticipantRoleActor">
2564 <xsl:param name=
"ccrActorObjectID"/>
2566 <xsl:variable name=
"CCRActor" select=
"/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$ccrActorObjectID]"/>
2568 <xsl:call-template name=
"ccdEntityID">
2569 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2570 </xsl:call-template>
2572 <xsl:call-template name=
"ccdAddress">
2573 <xsl:with-param name=
"CCRActorAddress" select=
"$CCRActor/a:Address[1]"/>
2574 </xsl:call-template>
2576 <xsl:call-template name=
"ccdTelecom">
2577 <xsl:with-param name=
"CCRActor" select=
"$CCRActor"/>
2578 </xsl:call-template>
2580 <xsl:if test=
"$CCRActor/a:Organization/a:Name">
2581 <playingEntity classCode=
"PLC">
2583 <xsl:value-of select=
"$CCRActor/a:Organization/a:Name"/>
2589 <xsl:template name=
"ccdParticipantRoleCodedDescription">
2590 <xsl:param name=
"ccrCodedDescription"/>
2591 <participantRole classCode=
"MANU">
2592 <!--Product Detail-->
2593 <playingEntity classCode=
"MMAT">
2594 <xsl:if test=
"$ccrCodedDescription/a:Code">
2595 <xsl:call-template name=
"ccdCodedValue">
2596 <xsl:with-param name=
"ccrCodedDescription" select=
"$ccrCodedDescription"/>
2597 <xsl:with-param name=
"nodeName" select=
"'code'"/>
2598 </xsl:call-template>
2601 <xsl:value-of select=
"$ccrCodedDescription/a:Text"/>
2607 <xsl:template name=
"ccdEntityID">
2608 <xsl:param name=
"CCRActor"/>
2611 <xsl:when test=
"$CCRActor/a:IDs">
2612 <xsl:attribute name=
"extension">
2613 <xsl:value-of select=
"$CCRActor/a:IDs[1]/a:ID"/>
2615 <xsl:attribute name=
"root">
2616 <xsl:value-of select=
"$CCRActor/a:IDs[1]/a:Type/a:Text"/>
2620 <xsl:attribute name=
"extension">
2621 <xsl:value-of select=
"$CCRActor/a:ActorObjectID"/>
2623 <xsl:attribute name=
"root">
2624 <xsl:text>CCRActorID
</xsl:text>
2629 <xsl:if test=
"$CCRActor/a:Organization">
2630 <name><xsl:value-of select=
"$CCRActor/a:Organization/a:Name"></xsl:value-of></name>
2633 <xsl:template name=
"ccdAddress">
2634 <xsl:param name=
"CCRActorAddress"/>
2637 <xsl:when test=
"$CCRActorAddress">
2638 <xsl:attribute name=
"use">
2639 <xsl:call-template name=
"CDAVocabularyLookup">
2640 <xsl:with-param name=
"domain" select=
"'telecommunicationsAddressUse'"/>
2641 <xsl:with-param name=
"ccrtext" select=
"$CCRActorAddress/a:Type/a:Text"/>
2642 </xsl:call-template>
2645 <xsl:value-of select=
"$CCRActorAddress/a:Line1"/>
2646 </streetAddressLine>
2648 <xsl:value-of select=
"$CCRActorAddress/a:City"/>
2651 <xsl:value-of select=
"$CCRActorAddress/a:State"/>
2654 <xsl:value-of select=
"$CCRActorAddress/a:PostalCode"/>
2658 <streetAddressLine/>
2664 <xsl:template name=
"ccdTelecom">
2665 <xsl:param name=
"CCRActor"/>
2667 <xsl:if test=
"$CCRActor/a:Telephone">
2668 <xsl:attribute name=
"use">
2669 <xsl:call-template name=
"CDAVocabularyLookup">
2670 <xsl:with-param name=
"domain" select=
"'telecommunicationsAddressUse'"/>
2671 <xsl:with-param name=
"ccrtext" select=
"$CCRActor/a:Telephone/a:Type/a:Text"/>
2672 </xsl:call-template>
2674 <xsl:attribute name=
"value">
2675 <xsl:text>tel:+
1-
</xsl:text>
2676 <xsl:value-of select=
"$CCRActor/a:Telephone[1]/a:Value"/>
2681 <xsl:if test=
"$CCRActor/a:Email">
2684 <xsl:when test=
"$CCRActor/a:Telephone">
2685 <xsl:attribute name=
"use">
2686 <xsl:call-template name=
"CDAVocabularyLookup">
2687 <xsl:with-param name=
"domain" select=
"'telecommunicationsAddressUse'"/>
2688 <xsl:with-param name=
"ccrtext" select=
"$CCRActor/a:Telephone/a:Type/a:Text"/>
2689 </xsl:call-template>
2691 <xsl:attribute name=
"value">
2692 <xsl:text>mailto:
</xsl:text>
2693 <xsl:value-of select=
"$CCRActor/a:Email[1]/a:Value"/>
2697 <xsl:attribute name=
"value">
2698 <xsl:text>Unknown
</xsl:text>
2706 <xsl:template name=
"ccdID">
2707 <xsl:param name=
"ccrObjectID"/>
2708 <xsl:param name=
"suffix"/>
2710 <xsl:attribute name=
"root">
2711 <xsl:value-of select=
"$ccrObjectID"></xsl:value-of>
2713 <xsl:attribute name=
"extension">CCRObjectID
</xsl:attribute>
2717 <xsl:template name=
"ccdCodedValue">
2718 <xsl:param name=
"ccrCodedDescription"/>
2719 <xsl:param name=
"type"/>
2720 <xsl:param name=
"domain"/>
2721 <xsl:param name=
"nodeName">value
</xsl:param>
2722 <xsl:param name=
"originalTextReference"/>
2724 <xsl:element name=
"{$nodeName}">
2725 <xsl:if test=
"$type">
2726 <xsl:attribute name=
"xsi:type">
2727 <xsl:value-of select=
"$type"/>
2731 <xsl:when test=
"$ccrCodedDescription/a:Code">
2732 <xsl:attribute name=
"displayName">
2733 <xsl:value-of select=
"$ccrCodedDescription/a:Text"/>
2735 <xsl:attribute name=
"code">
2736 <xsl:value-of select=
"$ccrCodedDescription/a:Code/a:Value"/>
2738 <xsl:attribute name=
"codeSystemName">
2739 <xsl:value-of select=
"$ccrCodedDescription/a:Code/a:CodingSystem"/>
2741 <xsl:attribute name=
"codeSystem">
2742 <xsl:call-template name=
"HL7OIDLookup">
2743 <xsl:with-param name=
"name" select=
"$ccrCodedDescription/a:Code/a:CodingSystem"/>
2744 </xsl:call-template>
2747 <xsl:when test=
"$domain">
2748 <xsl:variable name=
"cdaCode">
2749 <xsl:call-template name=
"CDAVocabularyLookup">
2750 <xsl:with-param name=
"domain" select=
"$domain"/>
2751 <xsl:with-param name=
"ccrtext" select=
"$ccrCodedDescription/a:Text"/>
2752 </xsl:call-template>
2754 <xsl:attribute name=
"displayName">
2755 <xsl:call-template name=
"CDADisplayNameLookup">
2756 <xsl:with-param name=
"domain" select=
"$domain"/>
2757 <xsl:with-param name=
"cdacode" select=
"$cdaCode"/>
2758 </xsl:call-template>
2760 <xsl:attribute name=
"code">
2761 <xsl:value-of select=
"$cdaCode"></xsl:value-of>
2763 <xsl:attribute name=
"codeSystemName">
2764 <xsl:call-template name=
"CDAVocabularyCodeSystemNameLookup">
2765 <xsl:with-param name=
"domain" select=
"$domain"/>
2766 </xsl:call-template>
2768 <xsl:attribute name=
"codeSystemName">
2769 <xsl:call-template name=
"CDAVocabularyCodeSystemLookup">
2770 <xsl:with-param name=
"domain" select=
"$domain"/>
2771 </xsl:call-template>
2776 <xsl:value-of select=
"$ccrCodedDescription/a:Text"/>
2777 <xsl:if test=
"$originalTextReference">
2779 <xsl:attribute name=
"value">
2780 <xsl:value-of select=
"$originalTextReference"/>
2790 <xsl:template name=
"ccdDateTime">
2791 <xsl:param name=
"dt"/>
2792 <xsl:param name=
"type"/>
2794 <xsl:if test=
"$dt[1]/a:ExactDateTime">
2796 <xsl:if test=
"$type">
2797 <xsl:attribute name=
"xsi:type">
2798 <xsl:value-of select=
"$type"></xsl:value-of>
2802 <xsl:attribute name=
"value">
2803 <xsl:call-template name=
"date:format-date">
2804 <xsl:with-param name=
"date-time" select=
"$dt[1]/a:ExactDateTime"/>
2805 <xsl:with-param name=
"pattern">yyyyMMdd
</xsl:with-param>
2806 </xsl:call-template>
2809 <high nullFlavor=
"UNK"/>
2812 <xsl:if test=
"$dt[1]/a:DateTimeRange">
2815 <xsl:attribute name=
"value">
2816 <xsl:call-template name=
"date:format-date">
2817 <xsl:with-param name=
"date-time" select=
"$dt[1]/a:DateTimeRange/a:BeginRange/a:ExactDateTime"/>
2818 <xsl:with-param name=
"pattern">yyyyMMdd
</xsl:with-param>
2819 </xsl:call-template>
2823 <xsl:attribute name=
"value">
2824 <xsl:call-template name=
"date:format-date">
2825 <xsl:with-param name=
"date-time" select=
"$dt[1]/a:DateTimeRange/a:EndRange/a:ExactDateTime"/>
2826 <xsl:with-param name=
"pattern">yyyyMMdd
</xsl:with-param>
2827 </xsl:call-template>
2835 <xsl:template name=
"ccdMedicationFrequency">
2836 <xsl:param name=
"frequency"/>
2837 <xsl:if test=
"$frequency">
2839 <xsl:when test=
"$frequency/a:Value='qd'">
2840 <effectiveTime xsi:
type=
"PIVL_TS" operator=
"A">
2841 <xsl:attribute name=
"institutionSpecified">true
</xsl:attribute>
2843 <xsl:attribute name=
"value">24</xsl:attribute>
2844 <xsl:attribute name=
"unit">h
</xsl:attribute>
2848 <xsl:when test=
"$frequency/a:Value='bid'">
2849 <effectiveTime xsi:
type=
"PIVL_TS" operator=
"A">
2850 <xsl:attribute name=
"institutionSpecified">true
</xsl:attribute>
2852 <xsl:attribute name=
"value">12</xsl:attribute>
2853 <xsl:attribute name=
"unit">h
</xsl:attribute>
2857 <xsl:when test=
"$frequency/a:Value='tid'">
2858 <effectiveTime xsi:
type=
"PIVL_TS" operator=
"A">
2859 <xsl:attribute name=
"institutionSpecified">true
</xsl:attribute>
2861 <xsl:attribute name=
"value">8</xsl:attribute>
2862 <xsl:attribute name=
"unit">h
</xsl:attribute>
2866 <xsl:when test=
"$frequency/a:Value='qid'">
2867 <effectiveTime xsi:
type=
"PIVL_TS" operator=
"A">
2868 <xsl:attribute name=
"institutionSpecified">true
</xsl:attribute>
2870 <xsl:attribute name=
"value">6</xsl:attribute>
2871 <xsl:attribute name=
"unit">h
</xsl:attribute>
2875 <xsl:when test=
"$frequency/a:Value='qam'">
2876 <effectiveTime xsi:type='EIVL' operator='A'
>
2880 <xsl:when test=
"$frequency/a:Value='qpm'">
2881 <effectiveTime xsi:type='EIVL' operator='A'
>
2889 <xsl:template name=
"ccdStatus">
2890 <xsl:param name=
"ccrStatus"/>
2892 <entryRelationship typeCode=
"REFR">
2893 <observation classCode=
"OBS" moodCode=
"EVN">
2894 <templateId root=
"2.16.840.1.113883.10.20.1.50"/>
2895 <!-- Problem status observation template -->
2896 <code code=
"33999-4" codeSystem=
"2.16.840.1.113883.6.1" displayName=
"Status"/>
2897 <statusCode code=
"completed"/>
2898 <xsl:call-template name=
"ccdCodedValue">
2899 <xsl:with-param name=
"ccrCodedDescription" select=
"$ccrStatus"/>
2900 </xsl:call-template>
2902 </entryRelationship>
2905 <xsl:template name=
"ccdStatusObservation">
2906 <xsl:param name=
"status"/>
2907 <xsl:variable name=
"statusText" select=
"$status/a:Text"></xsl:variable>
2909 <xsl:when test=
"$statusText='Active'">
2910 <xsl:call-template name=
"ccdStatusElement">
2911 <xsl:with-param name=
"statusCode" select=
"'55561003'"/>
2912 <xsl:with-param name=
"statusDisplayName" select=
"$statusText"/>
2913 </xsl:call-template>
2915 <xsl:when test=
"$statusText='Inactive'">
2916 <xsl:call-template name=
"ccdStatusElement">
2917 <xsl:with-param name=
"statusCode" select=
"'73425007'"/>
2918 <xsl:with-param name=
"statusDisplayName" select=
"$statusText"/>
2919 </xsl:call-template>
2921 <xsl:when test=
"$statusText='Chronic'">
2922 <xsl:call-template name=
"ccdStatusElement">
2923 <xsl:with-param name=
"statusCode" select=
"'90734009'"/>
2924 <xsl:with-param name=
"statusDisplayName" select=
"$statusText"/>
2925 </xsl:call-template>
2930 <xsl:template name=
"ccdStatusProcedure">
2931 <xsl:param name=
"status"/>
2932 <xsl:variable name=
"statusText" select=
"$status/a:Text"></xsl:variable>
2934 <xsl:when test=
"$statusText='Completed'">
2935 <statusCode code=
"completed"/>
2937 <xsl:when test=
"$statusText='Active'">
2938 <statusCode code=
"active"/>
2940 <xsl:when test=
"$statusText='Aborted'">
2941 <statusCode code=
"aborted"/>
2943 <xsl:when test=
"$statusText='Cancelled' or $statusText='Canceled'">
2944 <statusCode code=
"cancelled"/>
2948 <xsl:attribute name=
"code">
2949 <xsl:value-of select=
"$statusText"></xsl:value-of>
2956 <xsl:template name=
"ccdStatusElement">
2957 <xsl:param name=
"statusCode"/>
2958 <xsl:param name=
"statusDisplayName"/>
2960 <xsl:attribute name=
"xsi:type">CE
</xsl:attribute>
2961 <xsl:attribute name=
"code">
2962 <xsl:value-of select=
"$statusCode"></xsl:value-of>
2964 <xsl:attribute name=
"codeSystem">2.16.840.1.113883.6.96</xsl:attribute>
2965 <xsl:attribute name=
"displayName">
2966 <xsl:value-of select=
"$statusDisplayName"></xsl:value-of>
2971 <xsl:template name=
"ccdObservation">
2972 <xsl:param name=
"ccrTestNode"/>
2973 <xsl:param name=
"testDate"/>
2976 <observation classCode=
"OBS" moodCode=
"EVN">
2977 <templateId root=
"2.16.840.1.113883.3.88.11.83.15" assigningAuthorityName=
"HITSP C83"/>
2978 <templateId root=
"2.16.840.1.113883.10.20.1.31" assigningAuthorityName=
"CCD"/>
2979 <templateId root=
"1.3.6.1.4.1.19376.1.5.3.1.4.13" assigningAuthorityName=
"IHE PCC"/>
2981 <!-- Result observation template -->
2983 <xsl:call-template name=
"ccdID">
2984 <xsl:with-param name=
"ccrObjectID" select=
"$ccrTestNode/a:CCRDataObjectID"/>
2985 </xsl:call-template>
2988 <xsl:call-template name=
"ccdCodedValue">
2989 <xsl:with-param name=
"ccrCodedDescription" select=
"$ccrTestNode/a:Description"/>
2990 <xsl:with-param name=
"nodeName" select=
"'code'"/>
2991 </xsl:call-template>
2995 <xsl:attribute name=
"value">
2996 <xsl:text>#
</xsl:text>
2997 <xsl:value-of select=
"$ccrTestNode/a:CCRDataObjectID"/>
3002 <statusCode code=
"completed"/>
3004 <!-- <effectiveTime> -->
3006 <xsl:when test=
"$ccrTestNode/a:DateTime">
3007 <xsl:call-template name=
"ccdDateTime">
3008 <xsl:with-param name=
"dt" select=
"$ccrTestNode/a:DateTime"/>
3009 </xsl:call-template>
3012 <xsl:call-template name=
"ccdDateTime">
3013 <xsl:with-param name=
"dt" select=
"$testDate"/>
3014 </xsl:call-template>
3019 <xsl:when test=
"$ccrTestNode/a:TestResult[a:Value!='']">
3020 <value xsi:
type=
"PQ">
3021 <xsl:attribute name=
"value">
3022 <xsl:value-of select=
"$ccrTestNode/a:TestResult/a:Value"/>
3024 <xsl:attribute name=
"unit">
3025 <xsl:value-of select=
"$ccrTestNode/a:TestResult/a:Units/a:Unit"/>
3029 <xsl:when test=
"$ccrTestNode/a:TestResult[a:Description/a:Text!='']">
3030 <value xsi:
type=
"TX">
3031 <xsl:attribute name=
"value">
3032 <xsl:value-of select=
"$ccrTestNode/a:TestResult/a:Description/a:Text"/>
3038 <xsl:if test=
"$ccrTestNode/a:Flag">
3039 <xsl:call-template name=
"ccdCodedValue">
3040 <xsl:with-param name=
"ccrCodedDescription" select=
"$ccrTestNode/a:Flag"/>
3041 <xsl:with-param name=
"nodeName" select=
"'interpretationCode'"/>
3042 <xsl:with-param name=
"domain" select=
"'ObservationInterpretation'"/>
3043 </xsl:call-template>
3046 <xsl:if test=
"$ccrTestNode/a:NormalResult">
3048 <xsl:if test=
"$ccrTestNode/a:NormalResult/a:Normal/a:Description/a:Text">
3051 <xsl:value-of select=
"$ccrTestNode/a:NormalResult/a:Normal/a:Description/a:Text"/>