Changeset 994 for ccr2ccd-xslt


Ignore:
Timestamp:
Oct 27, 2010, 7:48:01 PM (14 years ago)
Author:
George Lilly
Message:

latest

Location:
ccr2ccd-xslt/trunk/make
Files:
7 added
5 edited

Legend:

Unmodified
Added
Removed
  • ccr2ccd-xslt/trunk/make/Nancy-ccr_qrda-M1.xsl

    r993 r994  
    515515                  </section>
    516516                </component>
    517                     <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Problems">
    518                         <component>
    519                             <section>
    520                                 <templateId root="2.16.840.1.113883.3.88.11.83.103" assigningAuthorityName="HITSP/C83"/>
    521                                 <templateId root="1.3.6.1.4.1.19376.1.5.3.1.3.6" assigningAuthorityName="IHE PCC"/>
    522                                 <templateId root="2.16.840.1.113883.10.20.1.11" assigningAuthorityName="HL7 CCD"/>
    523                                 <code code="11450-4" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Problem list"/>
    524                                 <title>Problems</title>
    525                                 <text>
    526                                     <table>
    527                                         <tbody>
    528                                             <tr>
    529                                                 <th>Type</th>
    530                                                 <th>Date</th>
    531                                                 <th>Code</th>
    532                                                 <th>Description</th>
    533                                                 <th>Status</th>
    534                                                 <th>Source</th>
    535                                             </tr>
    536                                             <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Problems/a:Problem">
    537                                                 <tr>
    538                                                     <td>
    539                                                         <xsl:value-of select="a:Type/a:Text"/>
    540                                                     </td>
    541                                                     <td>
    542                                                         <table>
    543                                                             <tbody>
    544                                                                 <xsl:apply-templates select="a:DateTime"/>
    545                                                             </tbody>
    546                                                         </table>
    547                                                     </td>
    548                                                     <td>
    549                                                         <xsl:apply-templates select="a:Description/a:Code"/>
    550                                                     </td>
    551                                                     <td>
    552                                                                                                                 <xsl:attribute name="ID">
    553                                                                                                                         <xsl:value-of select="a:CCRDataObjectID"></xsl:value-of>
    554                                                                                                                 </xsl:attribute>
    555                                                         <xsl:value-of select="a:Description/a:Text"/>
    556                                                     </td>
    557                                                     <td>
    558                                                         <xsl:value-of select="a:Status/a:Text"/>
    559                                                     </td>
    560                                                     <td>
    561                                                         <xsl:call-template name="actorName">
    562                                                             <xsl:with-param name="objID" select="a:Source/a:Actor/a:ActorID"/>
    563                                                         </xsl:call-template>
    564                                                     </td>
    565                                                 </tr>
    566                                             </xsl:for-each>
    567                                         </tbody>
    568                                     </table>
    569                                 </text>
    570                                 <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Problems/a:Problem">
    571                                     <entry typeCode="DRIV">
    572                                         <act classCode="ACT" moodCode="EVN">
    573                                             <templateId root="2.16.840.1.113883.10.20.1.27"/>
    574                                             <!-- Problem act template -->
    575 
    576                                             <!-- <id> -->
    577                                             <xsl:call-template name="ccdID">
    578                                                 <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
    579                                             </xsl:call-template>
    580 
    581                                             <code nullFlavor="NA"/>
    582 
    583                                             <xsl:call-template name="ccdPerformer">
    584                                                 <xsl:with-param name="ccrActorReference" select="a:Source/a:Actor"/>
    585                                             </xsl:call-template>
    586 
    587                                             <entryRelationship typeCode="SUBJ">
    588                                                 <observation classCode="OBS" moodCode="EVN">
    589                                                     <templateId root="2.16.840.1.113883.10.20.1.28" assigningAuthorityName="CCD"/>
    590                                                     <!--Problem observation template-->
    591 
    592                                                     <!-- <id> -->
    593                                                     <xsl:call-template name="ccdID">
    594                                                         <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
    595                                                         <xsl:with-param name="suffix"></xsl:with-param>
    596                                                     </xsl:call-template>
    597 
    598                                                     <code code="55607006" displayName="Problem" codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED-CT"/>
    599 
    600                                                     <text>
    601                                                         <reference>
    602                                                             <xsl:attribute name="value">
    603                                                                 <xsl:text>#</xsl:text>
    604                                                                 <xsl:value-of select="a:CCRDataObjectID"/>
    605                                                             </xsl:attribute>
    606                                                         </reference>
    607                                                     </text>
    608 
    609                                                     <statusCode code="completed"/>
    610 
    611                                                     <xsl:call-template name="ccdDateTime">
    612                                                         <xsl:with-param name="dt" select="a:DateTime"/>
    613                                                     </xsl:call-template>
    614 
    615                                                     <xsl:call-template name="ccdCodedValue">
    616                                                         <xsl:with-param name="ccrCodedDescription" select="a:Description"/>
    617                                                     </xsl:call-template>
    618 
    619                                                     <xsl:call-template name="ccdStatus">
    620                                                         <xsl:with-param name="ccrStatus" select="a:Status"/>
    621                                                     </xsl:call-template>
    622                                                 </observation>
    623                                             </entryRelationship>
    624 
    625                                         </act>
    626                                     </entry>
    627                                 </xsl:for-each>
    628                             </section>
    629                         </component>
    630                     </xsl:if>
    631517                    <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Procedures">
    632518                        <component>
     
    775661                        </component>
    776662                    </xsl:if>
     663<component>
     664<section>
     665<!--We are including only a coverage activity for Medicare here. There is also policy activity and and authorization activity that I don't think we need to report for QRDA, at least not for most reports-->
     666<templateId root="2.16.840.1.113883.10.20.1.9"/>
     667<!-- 48768-6 is payment sources and is fixed CQ-188,189,190-->
     668<code code="48768-6" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Payment Sources"/>
     669<!--CQ-191,192-->
     670<title>Payers</title>
     671<text />
     672<!--medicare-->
     673<entry typeCode="DRIV">
     674<!--WVP moodCode is DEF is definition to describe the characteristics of who must be involved in an act CQ-194,195-->
     675<act classCode="ACT" moodCode="DEF">
     676<!--WVP coverage activity template is the 10.20.1.20 CQ-193-->
     677<templateId root="2.16.840.1.113883.10.20.1.20"/>
     678<!--Coverage Shall Include and Act ID CQ-196-->
     679<!--looks like a UUID to me-->
     680<id root="1751b180-8a54-11df-a4ee-0800200c9c66"/><!--FIX!!!???-->
     681<!--CQ-197-198 It appears that statusCode="completed" need to follow the code code ... here and below-->
     682
     683<!--CQ199,200-->
     684<code code="48768-6" codeSystem="2.16.840.1.113883.6.1" displayName="Payment sources"/>
     685<statusCode code="completed"/>
     686
     687<!--A coverage activity shall contain on or more act/entryRelationship. The value for  act/entryRelationship/@typeCode shall be COMP which SHALL be  the CMS QRDA Policy Activity CQ-201, 203-->
     688<!--It MAY contain an entryRelationship/sequenceNumber CQ-202-->
     689<entryRelationship typeCode="COMP">
     690<!--  for the act is event with moodCode EVN  CQ-205,206,207-->
     691<act classCode="ACT" moodCode="EVN">
     692<!--Policy activity is the 10.20.1.26 template CQ-205-->
     693<templateId root="2.16.840.1.113883.10.20.1.26"/>
     694<templateId root="2.16.840.1.113883.3.249.11.100.7"/>
     695
     696<!-- act/id which is the group or contract number related to the insurance policy or program CQ-208-->
     697<id root="dbbb6311-8a4d-11df-a4ee-0800200c9c66"/><!--!!!FIX-->
     698<!--Act statusCode must be completed CQ-210-->
     699<!--This SHOULD be present and comes from the downloadable resource S display name is in quotes AUTOPOL - "automobile" policy;EHCPOL additional insurance in addition to Medicare in this case
     700HSAPOL "Health Spending Account";PUBLICPOL "public healthcare" which is NOT Medicare - maybe a state program for example
     701WBCPOL is "workers compensation" CQ-211,212-->
     702<!--<code code="PUBLICPOL" codeSystem="2.16.840.1.113883.5.4" displayName="Public Healthcare"/>-->
     703<code code="PUBLICPOL" codeSystem="2.16.840.1.113883.5.4" displayName="Public Healthcare"/>
     704<!--WVP performer type codes are numerous but PRF is performer representing the Payer CQ-213-->
     705<statusCode code="completed"/>
     706<performer typeCode="PRF">
     707
     708<!--performer/assignedEntity id is the payer identification and the extension comes from the downloadable resource section I insurance plan TYPE CQ-214-->
     709<assignedEntity>
     710<id root="2.16.840.1.113883.12.86" extension="MC"/>
     711<!--<representedOrganization>
     712<name>CMS</name>
     713</representedOrganization>-->
     714</assignedEntity>
     715</performer>
     716<!-- Act/participant @typeCode this represents the covered party CQ-215-->
     717<participant typeCode="COV">
     718<participantRole>
     719<!--A covered party in a policy activity SHOULD contain one or more participant/participantRole/id to represent the patien's member of subscriber identifier with respect to the payer
     720For participant/paricipantRole/id either the Social Security Number or HIC Number SHALL be submitted for Medicare patients. for SSN the ID @root SHALL be 2.16.840.1.113883.4.1 where
     721the HIC id/@root shall be 2.16.840.1.113883.3.249.13 CQ-216"RoleCode" in the downloadable resource-->
     722<!-- in this case theextension is the patients SSN for a medicare patient so it is the same each time for one patient-->
     723<id root="2.16.840.1.113883.4.1" extension="@@SSN@@"/>
     724<!--The covered party in tha policy activity SHOULD contain exactly one particpant/participantRole/code for self, family etc from the valuse set PolicyOrPrograCoverageRoleType 2.16.840.1.113883.1.11.19809 CQ-217,218-->
     725<code code="SELF" codeSystem="2.16.840.1.113883.5.111" displayName="Self"/>
     726</participantRole>
     727</participant>
     728</act>
     729</entryRelationship>
     730</act>
     731</entry>
     732</section>
     733</component>
    777734</section>
    778735</component>
  • ccr2ccd-xslt/trunk/make/Nancy-ccr_qrda.xsl

    r991 r994  
    515515                  </section>
    516516                </component>
    517                     <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Problems">
     517                    <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Payers">
    518518                        <component>
    519519                            <section>
    520                                 <templateId root="2.16.840.1.113883.3.88.11.83.103" assigningAuthorityName="HITSP/C83"/>
    521                                 <templateId root="1.3.6.1.4.1.19376.1.5.3.1.3.6" assigningAuthorityName="IHE PCC"/>
    522                                 <templateId root="2.16.840.1.113883.10.20.1.11" assigningAuthorityName="HL7 CCD"/>
    523                                 <code code="11450-4" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Problem list"/>
    524                                 <title>Problems</title>
     520                                <templateId root="2.16.840.1.113883.10.20.1.9"/>
     521                                <code code="48768-6" codeSystem="2.16.840.1.113883.6.1"/>
     522                                <title>Insurance</title>
    525523                                <text>
    526524                                    <table>
     
    529527                                                <th>Type</th>
    530528                                                <th>Date</th>
    531                                                 <th>Code</th>
    532                                                 <th>Description</th>
    533                                                 <th>Status</th>
     529                                                <th>Identification Numbers</th>
     530                                                <th>Payment Provider</th>
     531                                                <th>Subscriber</th>
    534532                                                <th>Source</th>
    535533                                            </tr>
    536                                             <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Problems/a:Problem">
     534                                            <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Payers/a:Payer">
    537535                                                <tr>
    538536                                                    <td>
     
    540538                                                    </td>
    541539                                                    <td>
    542                                                         <table>
    543                                                             <tbody>
    544                                                                 <xsl:apply-templates select="a:DateTime"/>
    545                                                             </tbody>
    546                                                         </table>
     540                                                        <xsl:call-template name="date:format-date">
     541                                                            <xsl:with-param name="date-time" select="a:DateTime/a:ExactDateTime"/>
     542                                                        </xsl:call-template>
    547543                                                    </td>
    548544                                                    <td>
    549                                                         <xsl:apply-templates select="a:Description/a:Code"/>
     545                                                        <xsl:for-each select="a:IDs">
     546                                                            <xsl:value-of select="a:Type/a:Text"/>:<xsl:text xml:space="preserve"> </xsl:text><xsl:value-of select="a:ID"/><br/>
     547                                                        </xsl:for-each>
    550548                                                    </td>
    551549                                                    <td>
    552                                                                                                                 <xsl:attribute name="ID">
    553                                                                                                                         <xsl:value-of select="a:CCRDataObjectID"></xsl:value-of>
    554                                                                                                                 </xsl:attribute>
    555                                                         <xsl:value-of select="a:Description/a:Text"/>
     550                                                        <xsl:call-template name="actorName">
     551                                                            <xsl:with-param name="objID" select="a:PaymentProvider/a:ActorID"/>
     552                                                        </xsl:call-template>
    556553                                                    </td>
    557554                                                    <td>
    558                                                         <xsl:value-of select="a:Status/a:Text"/>
     555                                                        <xsl:call-template name="actorName">
     556                                                            <xsl:with-param name="objID" select="a:Subscriber/a:ActorID"/>
     557                                                        </xsl:call-template>
    559558                                                    </td>
    560559                                                    <td>
     
    568567                                    </table>
    569568                                </text>
    570                                 <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Problems/a:Problem">
     569                                <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Payers/a:Payer">
    571570                                    <entry typeCode="DRIV">
    572                                         <act classCode="ACT" moodCode="EVN">
    573                                             <templateId root="2.16.840.1.113883.10.20.1.27"/>
    574                                             <!-- Problem act template -->
    575 
     571                                        <act classCode="ACT" moodCode="DEF">
     572                                            <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.17" assigningAuthorityName="IHE PCC"/>
     573                                            <templateId root="2.16.840.1.113883.10.20.1.20" assigningAuthorityName="CCD"/>
     574                                            <!-- Coverage entry template -->
    576575                                            <!-- <id> -->
    577576                                            <xsl:call-template name="ccdID">
    578577                                                <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
    579578                                            </xsl:call-template>
    580 
    581                                             <code nullFlavor="NA"/>
    582 
    583                                             <xsl:call-template name="ccdPerformer">
    584                                                 <xsl:with-param name="ccrActorReference" select="a:Source/a:Actor"/>
    585                                             </xsl:call-template>
    586 
    587                                             <entryRelationship typeCode="SUBJ">
    588                                                 <observation classCode="OBS" moodCode="EVN">
    589                                                     <templateId root="2.16.840.1.113883.10.20.1.28" assigningAuthorityName="CCD"/>
    590                                                     <!--Problem observation template-->
    591 
    592                                                     <!-- <id> -->
    593                                                     <xsl:call-template name="ccdID">
    594                                                         <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
    595                                                         <xsl:with-param name="suffix"></xsl:with-param>
    596                                                     </xsl:call-template>
    597 
    598                                                     <code code="55607006" displayName="Problem" codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED-CT"/>
    599 
    600                                                     <text>
    601                                                         <reference>
    602                                                             <xsl:attribute name="value">
    603                                                                 <xsl:text>#</xsl:text>
    604                                                                 <xsl:value-of select="a:CCRDataObjectID"/>
    605                                                             </xsl:attribute>
    606                                                         </reference>
    607                                                     </text>
    608 
    609                                                     <statusCode code="completed"/>
    610 
    611                                                     <xsl:call-template name="ccdDateTime">
    612                                                         <xsl:with-param name="dt" select="a:DateTime"/>
    613                                                     </xsl:call-template>
    614 
     579                                            <code code="48768-6" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Payment sources"/>
     580                                            <statusCode code="completed"/>
     581                                            <entryRelationship typeCode="COMP">
     582                                                <act classCode="ACT" moodCode="EVN">
     583                                                    <templateId root="2.16.840.1.113883.3.88.11.83.5" assigningAuthorityName="HITSP C83"/>
     584                                                    <templateId root="2.16.840.1.113883.10.20.1.26" assigningAuthorityName="CCD"/>
     585                                                    <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.18" assigningAuthorityName="IHE PCC"/>
     586                                                    <!--Insurance provider template -->
     587                                                    <id>
     588                                                        <xsl:attribute name="root">
     589                                                            <xsl:value-of select="a:IDs[1]/a:ID"/>
     590                                                        </xsl:attribute>
     591                                                        <xsl:attribute name="extension">
     592                                                            <xsl:value-of select="a:IDs[1]/a:Type/a:Text"/>
     593                                                        </xsl:attribute>
     594                                                    </id>
     595
     596                                                    <!-- <code> -->
    615597                                                    <xsl:call-template name="ccdCodedValue">
    616598                                                        <xsl:with-param name="ccrCodedDescription" select="a:Description"/>
     599                                                        <xsl:with-param name="nodeName" select="'code'"/>
    617600                                                    </xsl:call-template>
    618601
    619                                                     <xsl:call-template name="ccdStatus">
    620                                                         <xsl:with-param name="ccrStatus" select="a:Status"/>
     602                                                    <statusCode code="completed"/>
     603
     604                                                    <xsl:call-template name="ccdPerformer">
     605                                                        <xsl:with-param name="ccrActorReference" select="a:PaymentProvider"/>
    621606                                                    </xsl:call-template>
    622                                                 </observation>
     607
     608                                                    <participant typeCode="HLD">
     609                                                        <xsl:call-template name="ccdParticipantRoleActor">
     610                                                            <xsl:with-param name="ccrActorReference" select="a:Subscriber"/>
     611                                                        </xsl:call-template>
     612                                                    </participant>
     613                                                </act>
    623614                                            </entryRelationship>
    624 
    625615                                        </act>
    626                                     </entry>
    627                                 </xsl:for-each>
    628                             </section>
    629                         </component>
    630                     </xsl:if>
    631                     <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Procedures">
    632                         <component>
    633                             <section>
    634                                 <templateId root="2.16.840.1.113883.10.20.1.12"/>
    635                                 <code code="47519-4" codeSystem="2.16.840.1.113883.6.1"/>
    636                                 <title>Procedures</title>
    637                                 <text>
    638                                     <table>
    639                                         <tbody>
    640                                             <tr>
    641                                                 <th>Type</th>
    642                                                 <th>Date</th>
    643                                                 <th>Code</th>
    644                                                 <th>Description</th>
    645                                                 <th>Location</th>
    646                                                 <th>Substance</th>
    647                                                 <th>Method</th>
    648                                                 <th>Position</th>
    649                                                 <th>Site</th>
    650                                                 <th>Status</th>
    651                                                 <th>Source</th>
    652                                             </tr>
    653                                             <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
    654                                                 <tr>
    655                                                     <xsl:attribute name="id">
    656                                                         <xsl:value-of select="a:CCRDataObjectID"/>
    657                                                     </xsl:attribute>
    658 
    659                                                     <td>
    660                                                         <xsl:value-of select="a:Type/a:Text"/>
    661                                                     </td>
    662                                                     <table>
    663                                                         <tbody>
    664                                                             <xsl:apply-templates select="a:DateTime"/>
    665                                                         </tbody>
    666                                                     </table>
    667                                                     <td>
    668                                                         <xsl:apply-templates select="a:Description/a:Code"/>
    669                                                     </td>
    670                                                     <td>
    671                                                         <xsl:value-of select="a:Description/a:Text"/>
    672                                                     </td>
    673                                                     <td>
    674                                                         <xsl:for-each select="a:Locations/a:Location">
    675                                                             <xsl:value-of select="a:Description/a:Text"/>
    676                                                             <xsl:if test="a:Actor">
    677                                                                 (<xsl:call-template name="actorName">
    678                                                                     <xsl:with-param name="objID" select="a:Actor/a:ActorID"/>
    679                                                                 </xsl:call-template>
    680                                                                 <xsl:if test="a:Actor/a:ActorRole/a:Text">
    681                                                                     <xsl:text xml:space="preserve"> - </xsl:text><xsl:value-of select="a:ActorRole/a:Text"/>)
    682                                                                 </xsl:if>
    683                                                             </xsl:if>)
    684                                                             <xsl:if test="position() != last()">
    685                                                                 <br/>
    686                                                             </xsl:if>
    687                                                         </xsl:for-each>
    688                                                     </td>
    689                                                     <td>
    690                                                         <xsl:for-each select="a:Substance">
    691                                                             <xsl:value-of select="a:Text"/>
    692                                                         </xsl:for-each>
    693                                                     </td>
    694                                                     <td>
    695                                                         <xsl:value-of select="a:Method/a:Text"/>
    696                                                     </td>
    697                                                     <td>
    698                                                         <xsl:value-of select="a:Position/a:Text"/>
    699                                                     </td>
    700                                                     <td>
    701                                                         <xsl:value-of select="a:Site/a:Text"/>
    702                                                     </td>
    703                                                     <td>
    704                                                         <xsl:value-of select="a:Status/a:Text"/>
    705                                                     </td>
    706                                                     <td>
    707                                                         <xsl:call-template name="actorName">
    708                                                             <xsl:with-param name="objID" select="a:Source/a:Actor/a:ActorID"/>
    709                                                         </xsl:call-template>
    710                                                     </td>
    711                                                 </tr>
    712                                             </xsl:for-each>
    713                                         </tbody>
    714                                     </table>
    715                                 </text>
    716 
    717                                 <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
    718                                     <entry typeCode="DRIV">
    719                                         <procedure classCode="PROC" moodCode="EVN">
    720                                             <templateId root="2.16.840.1.113883.3.88.11.83.17" assigningAuthorityName="HITSP C83"/>
    721                                             <templateId root="2.16.840.1.113883.10.20.1.29" assigningAuthorityName="CCD"/>
    722                                             <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.19" assigningAuthorityName="IHE PCC"/>
    723 
    724                                             <!-- <id> -->
    725                                             <xsl:call-template name="ccdID">
    726                                                 <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
    727                                             </xsl:call-template>
    728 
    729                                             <!-- <code> -->
    730                                             <xsl:call-template name="ccdCodedValue">
    731                                                 <xsl:with-param name="ccrCodedDescription" select="a:Description"/>
    732                                                 <xsl:with-param name="nodeName" select="'code'"/>
    733                                             </xsl:call-template>
    734 
    735                                             <text>
    736                                                 <reference>
    737                                                     <xsl:attribute name="value">
    738                                                         <xsl:text>#</xsl:text>
    739                                                         <xsl:value-of select="a:CCRDataObjectID"/>
    740                                                     </xsl:attribute>
    741                                                 </reference>
    742                                             </text>
    743 
    744                                             <xsl:call-template name="ccdStatusProcedure">
    745                                                 <xsl:with-param name="status" select="a:Status"/>
    746                                             </xsl:call-template>
    747 
    748                                             <xsl:call-template name="ccdDateTime">
    749                                                 <xsl:with-param name="dt" select="a:DateTime"/>
    750                                             </xsl:call-template>
    751 
    752                                             <xsl:if test="a:Method">
    753                                                 <xsl:call-template name="ccdCodedValue">
    754                                                     <xsl:with-param name="ccrCodedDescription" select="a:Method"/>
    755                                                     <xsl:with-param name="nodeName" select="'approachSiteCode'"/>
    756                                                 </xsl:call-template>
    757                                             </xsl:if>
    758 
    759                                             <xsl:if test="a:Site">
    760                                                 <xsl:call-template name="ccdCodedValue">
    761                                                     <xsl:with-param name="ccrCodedDescription" select="a:Site"/>
    762                                                     <xsl:with-param name="nodeName" select="'targetSiteCode'"/>
    763                                                 </xsl:call-template>
    764                                             </xsl:if>
    765 
    766                                             <xsl:if test="a:Practitioners/a:Practitioner">
    767                                                 <xsl:call-template name="ccdPerformer">
    768                                                     <xsl:with-param name="ccrActorReference" select="a:Practitioners/a:Practitioner[1]"/>
    769                                                 </xsl:call-template>
    770                                             </xsl:if>
    771                                         </procedure>
    772616                                    </entry>
    773617                                </xsl:for-each>
  • ccr2ccd-xslt/trunk/make/Nancy-make-qrda-M1.sh

    r992 r994  
    11#!/bin/bash
    2 cat Nancy-qrda-header.xsl > Nancy-ccr_qrda-M1.xsl
     2cat M1-Nancy-qrda-header.xsl > Nancy-ccr_qrda-M1.xsl
    33#cat ccd-purpose.xsl >> Nancy-ccr_qrda.xsl
    44#cat ccd-alerts.xsl >> Nancy-ccr_qrda.xsl
    5 cat ccd-problems.xsl >> Nancy-ccr_qrda-M1.xsl
     5#cat ccd-problems.xsl >> Nancy-ccr_qrda-M1.xsl
    66cat ccd-procedures.xsl >> Nancy-ccr_qrda-M1.xsl
    77cat PayersSectionMedicareTemplate.xml >> Nancy-ccr_qrda-M1.xsl
     
    1010#cat ccd-vitals.xsl >> Nancy-ccr_qrda.xsl
    1111#cat ccd-encounters.xsl >> Nancy-ccr_qrda.xsl
    12 cat ccd-results.xsl >> Nancy-ccr_qrda-M1.xsl
     12#cat ccd-results.xsl >> Nancy-ccr_qrda-M1.xsl
    1313#cat Nancy-ccd-payers.xsl >> Nancy-ccr_qrda.xsl
    1414#cat ccd-providers.xsl >> Nancy-ccr_qrda.xsl
  • ccr2ccd-xslt/trunk/make/PayersSectionMedicareTemplate.xml

    r991 r994  
    77<!--CQ-191,192-->
    88<title>Payers</title>
     9<text>
     10</text
    911<!--medicare-->
    1012<entry typeCode="DRIV">
     
    1517<!--Coverage Shall Include and Act ID CQ-196-->
    1618<!--looks like a UUID to me-->
    17 <id root="1751b180-8a54-11df-a4ee-0800200c9c66"/><!--FIX!!!???-->
     19<id root="2.16.840.1.113883.3.543" extension="@@@UUID-PAYER@@@"/><!--FIX!!!???-->
    1820<!--CQ-197-198 It appears that statusCode="completed" need to follow the code code ... here and below-->
    1921
     
    2931<!--Policy activity is the 10.20.1.26 template CQ-205-->
    3032<templateId root="2.16.840.1.113883.10.20.1.26"/>
     33<templateId root="2.16.840.1.113883.3.249.11.100.7"/>
    3134
    3235<!-- act/id which is the group or contract number related to the insurance policy or program CQ-208-->
  • ccr2ccd-xslt/trunk/make/ccr_qrda.xsl

    r991 r994  
    35213521                        </component>
    35223522                    </xsl:if>
     3523                    <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Procedures">
     3524                        <component>
     3525                            <section>
     3526                                <templateId root="2.16.840.1.113883.10.20.1.12"/>
     3527                                <code code="47519-4" codeSystem="2.16.840.1.113883.6.1"/>
     3528                                <title>Procedures</title>
     3529                                <text>
     3530                                    <table>
     3531                                        <tbody>
     3532                                            <tr>
     3533                                                <th>Type</th>
     3534                                                <th>Date</th>
     3535                                                <th>Code</th>
     3536                                                <th>Description</th>
     3537                                                <th>Location</th>
     3538                                                <th>Substance</th>
     3539                                                <th>Method</th>
     3540                                                <th>Position</th>
     3541                                                <th>Site</th>
     3542                                                <th>Status</th>
     3543                                                <th>Source</th>
     3544                                            </tr>
     3545                                            <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
     3546                                                <tr>
     3547                                                    <xsl:attribute name="id">
     3548                                                        <xsl:value-of select="a:CCRDataObjectID"/>
     3549                                                    </xsl:attribute>
     3550
     3551                                                    <td>
     3552                                                        <xsl:value-of select="a:Type/a:Text"/>
     3553                                                    </td>
     3554                                                    <table>
     3555                                                        <tbody>
     3556                                                            <xsl:apply-templates select="a:DateTime"/>
     3557                                                        </tbody>
     3558                                                    </table>
     3559                                                    <td>
     3560                                                        <xsl:apply-templates select="a:Description/a:Code"/>
     3561                                                    </td>
     3562                                                    <td>
     3563                                                        <xsl:value-of select="a:Description/a:Text"/>
     3564                                                    </td>
     3565                                                    <td>
     3566                                                        <xsl:for-each select="a:Locations/a:Location">
     3567                                                            <xsl:value-of select="a:Description/a:Text"/>
     3568                                                            <xsl:if test="a:Actor">
     3569                                                                (<xsl:call-template name="actorName">
     3570                                                                    <xsl:with-param name="objID" select="a:Actor/a:ActorID"/>
     3571                                                                </xsl:call-template>
     3572                                                                <xsl:if test="a:Actor/a:ActorRole/a:Text">
     3573                                                                    <xsl:text xml:space="preserve"> - </xsl:text><xsl:value-of select="a:ActorRole/a:Text"/>)
     3574                                                                </xsl:if>
     3575                                                            </xsl:if>)
     3576                                                            <xsl:if test="position() != last()">
     3577                                                                <br/>
     3578                                                            </xsl:if>
     3579                                                        </xsl:for-each>
     3580                                                    </td>
     3581                                                    <td>
     3582                                                        <xsl:for-each select="a:Substance">
     3583                                                            <xsl:value-of select="a:Text"/>
     3584                                                        </xsl:for-each>
     3585                                                    </td>
     3586                                                    <td>
     3587                                                        <xsl:value-of select="a:Method/a:Text"/>
     3588                                                    </td>
     3589                                                    <td>
     3590                                                        <xsl:value-of select="a:Position/a:Text"/>
     3591                                                    </td>
     3592                                                    <td>
     3593                                                        <xsl:value-of select="a:Site/a:Text"/>
     3594                                                    </td>
     3595                                                    <td>
     3596                                                        <xsl:value-of select="a:Status/a:Text"/>
     3597                                                    </td>
     3598                                                    <td>
     3599                                                        <xsl:call-template name="actorName">
     3600                                                            <xsl:with-param name="objID" select="a:Source/a:Actor/a:ActorID"/>
     3601                                                        </xsl:call-template>
     3602                                                    </td>
     3603                                                </tr>
     3604                                            </xsl:for-each>
     3605                                        </tbody>
     3606                                    </table>
     3607                                </text>
     3608
     3609                                <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
     3610                                    <entry typeCode="DRIV">
     3611                                        <procedure classCode="PROC" moodCode="EVN">
     3612                                            <templateId root="2.16.840.1.113883.3.88.11.83.17" assigningAuthorityName="HITSP C83"/>
     3613                                            <templateId root="2.16.840.1.113883.10.20.1.29" assigningAuthorityName="CCD"/>
     3614                                            <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.19" assigningAuthorityName="IHE PCC"/>
     3615
     3616                                            <!-- <id> -->
     3617                                            <xsl:call-template name="ccdID">
     3618                                                <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
     3619                                            </xsl:call-template>
     3620
     3621                                            <!-- <code> -->
     3622                                            <xsl:call-template name="ccdCodedValue">
     3623                                                <xsl:with-param name="ccrCodedDescription" select="a:Description"/>
     3624                                                <xsl:with-param name="nodeName" select="'code'"/>
     3625                                            </xsl:call-template>
     3626
     3627                                            <text>
     3628                                                <reference>
     3629                                                    <xsl:attribute name="value">
     3630                                                        <xsl:text>#</xsl:text>
     3631                                                        <xsl:value-of select="a:CCRDataObjectID"/>
     3632                                                    </xsl:attribute>
     3633                                                </reference>
     3634                                            </text>
     3635
     3636                                            <xsl:call-template name="ccdStatusProcedure">
     3637                                                <xsl:with-param name="status" select="a:Status"/>
     3638                                            </xsl:call-template>
     3639
     3640                                            <xsl:call-template name="ccdDateTime">
     3641                                                <xsl:with-param name="dt" select="a:DateTime"/>
     3642                                            </xsl:call-template>
     3643
     3644                                            <xsl:if test="a:Method">
     3645                                                <xsl:call-template name="ccdCodedValue">
     3646                                                    <xsl:with-param name="ccrCodedDescription" select="a:Method"/>
     3647                                                    <xsl:with-param name="nodeName" select="'approachSiteCode'"/>
     3648                                                </xsl:call-template>
     3649                                            </xsl:if>
     3650
     3651                                            <xsl:if test="a:Site">
     3652                                                <xsl:call-template name="ccdCodedValue">
     3653                                                    <xsl:with-param name="ccrCodedDescription" select="a:Site"/>
     3654                                                    <xsl:with-param name="nodeName" select="'targetSiteCode'"/>
     3655                                                </xsl:call-template>
     3656                                            </xsl:if>
     3657
     3658                                            <xsl:if test="a:Practitioners/a:Practitioner">
     3659                                                <xsl:call-template name="ccdPerformer">
     3660                                                    <xsl:with-param name="ccrActorReference" select="a:Practitioners/a:Practitioner[1]"/>
     3661                                                </xsl:call-template>
     3662                                            </xsl:if>
     3663                                        </procedure>
     3664                                    </entry>
     3665                                </xsl:for-each>
     3666                            </section>
     3667                        </component>
     3668                    </xsl:if>
     3669                    <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Procedures">
     3670                        <component>
     3671                            <section>
     3672                                <templateId root="2.16.840.1.113883.10.20.1.12"/>
     3673                                <code code="47519-4" codeSystem="2.16.840.1.113883.6.1"/>
     3674                                <title>Procedures</title>
     3675                                <text>
     3676                                    <table>
     3677                                        <tbody>
     3678                                            <tr>
     3679                                                <th>Type</th>
     3680                                                <th>Date</th>
     3681                                                <th>Code</th>
     3682                                                <th>Description</th>
     3683                                                <th>Location</th>
     3684                                                <th>Substance</th>
     3685                                                <th>Method</th>
     3686                                                <th>Position</th>
     3687                                                <th>Site</th>
     3688                                                <th>Status</th>
     3689                                                <th>Source</th>
     3690                                            </tr>
     3691                                            <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
     3692                                                <tr>
     3693                                                    <xsl:attribute name="id">
     3694                                                        <xsl:value-of select="a:CCRDataObjectID"/>
     3695                                                    </xsl:attribute>
     3696
     3697                                                    <td>
     3698                                                        <xsl:value-of select="a:Type/a:Text"/>
     3699                                                    </td>
     3700                                                    <table>
     3701                                                        <tbody>
     3702                                                            <xsl:apply-templates select="a:DateTime"/>
     3703                                                        </tbody>
     3704                                                    </table>
     3705                                                    <td>
     3706                                                        <xsl:apply-templates select="a:Description/a:Code"/>
     3707                                                    </td>
     3708                                                    <td>
     3709                                                        <xsl:value-of select="a:Description/a:Text"/>
     3710                                                    </td>
     3711                                                    <td>
     3712                                                        <xsl:for-each select="a:Locations/a:Location">
     3713                                                            <xsl:value-of select="a:Description/a:Text"/>
     3714                                                            <xsl:if test="a:Actor">
     3715                                                                (<xsl:call-template name="actorName">
     3716                                                                    <xsl:with-param name="objID" select="a:Actor/a:ActorID"/>
     3717                                                                </xsl:call-template>
     3718                                                                <xsl:if test="a:Actor/a:ActorRole/a:Text">
     3719                                                                    <xsl:text xml:space="preserve"> - </xsl:text><xsl:value-of select="a:ActorRole/a:Text"/>)
     3720                                                                </xsl:if>
     3721                                                            </xsl:if>)
     3722                                                            <xsl:if test="position() != last()">
     3723                                                                <br/>
     3724                                                            </xsl:if>
     3725                                                        </xsl:for-each>
     3726                                                    </td>
     3727                                                    <td>
     3728                                                        <xsl:for-each select="a:Substance">
     3729                                                            <xsl:value-of select="a:Text"/>
     3730                                                        </xsl:for-each>
     3731                                                    </td>
     3732                                                    <td>
     3733                                                        <xsl:value-of select="a:Method/a:Text"/>
     3734                                                    </td>
     3735                                                    <td>
     3736                                                        <xsl:value-of select="a:Position/a:Text"/>
     3737                                                    </td>
     3738                                                    <td>
     3739                                                        <xsl:value-of select="a:Site/a:Text"/>
     3740                                                    </td>
     3741                                                    <td>
     3742                                                        <xsl:value-of select="a:Status/a:Text"/>
     3743                                                    </td>
     3744                                                    <td>
     3745                                                        <xsl:call-template name="actorName">
     3746                                                            <xsl:with-param name="objID" select="a:Source/a:Actor/a:ActorID"/>
     3747                                                        </xsl:call-template>
     3748                                                    </td>
     3749                                                </tr>
     3750                                            </xsl:for-each>
     3751                                        </tbody>
     3752                                    </table>
     3753                                </text>
     3754
     3755                                <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
     3756                                    <entry typeCode="DRIV">
     3757                                        <procedure classCode="PROC" moodCode="EVN">
     3758                                            <templateId root="2.16.840.1.113883.3.88.11.83.17" assigningAuthorityName="HITSP C83"/>
     3759                                            <templateId root="2.16.840.1.113883.10.20.1.29" assigningAuthorityName="CCD"/>
     3760                                            <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.19" assigningAuthorityName="IHE PCC"/>
     3761
     3762                                            <!-- <id> -->
     3763                                            <xsl:call-template name="ccdID">
     3764                                                <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
     3765                                            </xsl:call-template>
     3766
     3767                                            <!-- <code> -->
     3768                                            <xsl:call-template name="ccdCodedValue">
     3769                                                <xsl:with-param name="ccrCodedDescription" select="a:Description"/>
     3770                                                <xsl:with-param name="nodeName" select="'code'"/>
     3771                                            </xsl:call-template>
     3772
     3773                                            <text>
     3774                                                <reference>
     3775                                                    <xsl:attribute name="value">
     3776                                                        <xsl:text>#</xsl:text>
     3777                                                        <xsl:value-of select="a:CCRDataObjectID"/>
     3778                                                    </xsl:attribute>
     3779                                                </reference>
     3780                                            </text>
     3781
     3782                                            <xsl:call-template name="ccdStatusProcedure">
     3783                                                <xsl:with-param name="status" select="a:Status"/>
     3784                                            </xsl:call-template>
     3785
     3786                                            <xsl:call-template name="ccdDateTime">
     3787                                                <xsl:with-param name="dt" select="a:DateTime"/>
     3788                                            </xsl:call-template>
     3789
     3790                                            <xsl:if test="a:Method">
     3791                                                <xsl:call-template name="ccdCodedValue">
     3792                                                    <xsl:with-param name="ccrCodedDescription" select="a:Method"/>
     3793                                                    <xsl:with-param name="nodeName" select="'approachSiteCode'"/>
     3794                                                </xsl:call-template>
     3795                                            </xsl:if>
     3796
     3797                                            <xsl:if test="a:Site">
     3798                                                <xsl:call-template name="ccdCodedValue">
     3799                                                    <xsl:with-param name="ccrCodedDescription" select="a:Site"/>
     3800                                                    <xsl:with-param name="nodeName" select="'targetSiteCode'"/>
     3801                                                </xsl:call-template>
     3802                                            </xsl:if>
     3803
     3804                                            <xsl:if test="a:Practitioners/a:Practitioner">
     3805                                                <xsl:call-template name="ccdPerformer">
     3806                                                    <xsl:with-param name="ccrActorReference" select="a:Practitioners/a:Practitioner[1]"/>
     3807                                                </xsl:call-template>
     3808                                            </xsl:if>
     3809                                        </procedure>
     3810                                    </entry>
     3811                                </xsl:for-each>
     3812                            </section>
     3813                        </component>
     3814                    </xsl:if>
     3815                    <xsl:if test="a:ContinuityOfCareRecord/a:Body/a:Procedures">
     3816                        <component>
     3817                            <section>
     3818                                <templateId root="2.16.840.1.113883.10.20.1.12"/>
     3819                                <code code="47519-4" codeSystem="2.16.840.1.113883.6.1"/>
     3820                                <title>Procedures</title>
     3821                                <text>
     3822                                    <table>
     3823                                        <tbody>
     3824                                            <tr>
     3825                                                <th>Type</th>
     3826                                                <th>Date</th>
     3827                                                <th>Code</th>
     3828                                                <th>Description</th>
     3829                                                <th>Location</th>
     3830                                                <th>Substance</th>
     3831                                                <th>Method</th>
     3832                                                <th>Position</th>
     3833                                                <th>Site</th>
     3834                                                <th>Status</th>
     3835                                                <th>Source</th>
     3836                                            </tr>
     3837                                            <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
     3838                                                <tr>
     3839                                                    <xsl:attribute name="id">
     3840                                                        <xsl:value-of select="a:CCRDataObjectID"/>
     3841                                                    </xsl:attribute>
     3842
     3843                                                    <td>
     3844                                                        <xsl:value-of select="a:Type/a:Text"/>
     3845                                                    </td>
     3846                                                    <table>
     3847                                                        <tbody>
     3848                                                            <xsl:apply-templates select="a:DateTime"/>
     3849                                                        </tbody>
     3850                                                    </table>
     3851                                                    <td>
     3852                                                        <xsl:apply-templates select="a:Description/a:Code"/>
     3853                                                    </td>
     3854                                                    <td>
     3855                                                        <xsl:value-of select="a:Description/a:Text"/>
     3856                                                    </td>
     3857                                                    <td>
     3858                                                        <xsl:for-each select="a:Locations/a:Location">
     3859                                                            <xsl:value-of select="a:Description/a:Text"/>
     3860                                                            <xsl:if test="a:Actor">
     3861                                                                (<xsl:call-template name="actorName">
     3862                                                                    <xsl:with-param name="objID" select="a:Actor/a:ActorID"/>
     3863                                                                </xsl:call-template>
     3864                                                                <xsl:if test="a:Actor/a:ActorRole/a:Text">
     3865                                                                    <xsl:text xml:space="preserve"> - </xsl:text><xsl:value-of select="a:ActorRole/a:Text"/>)
     3866                                                                </xsl:if>
     3867                                                            </xsl:if>)
     3868                                                            <xsl:if test="position() != last()">
     3869                                                                <br/>
     3870                                                            </xsl:if>
     3871                                                        </xsl:for-each>
     3872                                                    </td>
     3873                                                    <td>
     3874                                                        <xsl:for-each select="a:Substance">
     3875                                                            <xsl:value-of select="a:Text"/>
     3876                                                        </xsl:for-each>
     3877                                                    </td>
     3878                                                    <td>
     3879                                                        <xsl:value-of select="a:Method/a:Text"/>
     3880                                                    </td>
     3881                                                    <td>
     3882                                                        <xsl:value-of select="a:Position/a:Text"/>
     3883                                                    </td>
     3884                                                    <td>
     3885                                                        <xsl:value-of select="a:Site/a:Text"/>
     3886                                                    </td>
     3887                                                    <td>
     3888                                                        <xsl:value-of select="a:Status/a:Text"/>
     3889                                                    </td>
     3890                                                    <td>
     3891                                                        <xsl:call-template name="actorName">
     3892                                                            <xsl:with-param name="objID" select="a:Source/a:Actor/a:ActorID"/>
     3893                                                        </xsl:call-template>
     3894                                                    </td>
     3895                                                </tr>
     3896                                            </xsl:for-each>
     3897                                        </tbody>
     3898                                    </table>
     3899                                </text>
     3900
     3901                                <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Procedures/a:Procedure">
     3902                                    <entry typeCode="DRIV">
     3903                                        <procedure classCode="PROC" moodCode="EVN">
     3904                                            <templateId root="2.16.840.1.113883.3.88.11.83.17" assigningAuthorityName="HITSP C83"/>
     3905                                            <templateId root="2.16.840.1.113883.10.20.1.29" assigningAuthorityName="CCD"/>
     3906                                            <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.19" assigningAuthorityName="IHE PCC"/>
     3907
     3908                                            <!-- <id> -->
     3909                                            <xsl:call-template name="ccdID">
     3910                                                <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
     3911                                            </xsl:call-template>
     3912
     3913                                            <!-- <code> -->
     3914                                            <xsl:call-template name="ccdCodedValue">
     3915                                                <xsl:with-param name="ccrCodedDescription" select="a:Description"/>
     3916                                                <xsl:with-param name="nodeName" select="'code'"/>
     3917                                            </xsl:call-template>
     3918
     3919                                            <text>
     3920                                                <reference>
     3921                                                    <xsl:attribute name="value">
     3922                                                        <xsl:text>#</xsl:text>
     3923                                                        <xsl:value-of select="a:CCRDataObjectID"/>
     3924                                                    </xsl:attribute>
     3925                                                </reference>
     3926                                            </text>
     3927
     3928                                            <xsl:call-template name="ccdStatusProcedure">
     3929                                                <xsl:with-param name="status" select="a:Status"/>
     3930                                            </xsl:call-template>
     3931
     3932                                            <xsl:call-template name="ccdDateTime">
     3933                                                <xsl:with-param name="dt" select="a:DateTime"/>
     3934                                            </xsl:call-template>
     3935
     3936                                            <xsl:if test="a:Method">
     3937                                                <xsl:call-template name="ccdCodedValue">
     3938                                                    <xsl:with-param name="ccrCodedDescription" select="a:Method"/>
     3939                                                    <xsl:with-param name="nodeName" select="'approachSiteCode'"/>
     3940                                                </xsl:call-template>
     3941                                            </xsl:if>
     3942
     3943                                            <xsl:if test="a:Site">
     3944                                                <xsl:call-template name="ccdCodedValue">
     3945                                                    <xsl:with-param name="ccrCodedDescription" select="a:Site"/>
     3946                                                    <xsl:with-param name="nodeName" select="'targetSiteCode'"/>
     3947                                                </xsl:call-template>
     3948                                            </xsl:if>
     3949
     3950                                            <xsl:if test="a:Practitioners/a:Practitioner">
     3951                                                <xsl:call-template name="ccdPerformer">
     3952                                                    <xsl:with-param name="ccrActorReference" select="a:Practitioners/a:Practitioner[1]"/>
     3953                                                </xsl:call-template>
     3954                                            </xsl:if>
     3955                                        </procedure>
     3956                                    </entry>
     3957                                </xsl:for-each>
     3958                            </section>
     3959                        </component>
     3960                    </xsl:if>
Note: See TracChangeset for help on using the changeset viewer.