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

latest

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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>
Note: See TracChangeset for help on using the changeset viewer.