Changeset 798 for ccr2ccd-xslt


Ignore:
Timestamp:
Jun 11, 2010, 1:51:30 AM (14 years ago)
Author:
Richard Braman
Message:

fixed a few bugs related to title, and some formatting issues. Need to review with Ken Miller to ensure changes meet spec.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ccr2ccd-xslt/trunk/ccr_ccd.xsl

    r787 r798  
    1 <?xml version="1.0" encoding="utf-8"?>
     1<?xml version="1.0" encoding="utf-8"?>
    22<!--
    33Conversion of CCR to Level 3 CCD
     
    4242    <xsl:output method="xml" encoding="utf-8" version="1.0" indent="yes"/>
    4343    <xsl:template match="/">
    44         <ClinicalDocument xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 http://xreg2.nist.gov:8080/hitspValidation/schema/cdar2c32/infrastructure/cda/C32_CDA.xsd" classCode="DOCCLIN" moodCode="EVN">
     44        <ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc" xmlns:sdtc="urn:hl7-org:sdtc"  xsi:schemaLocation="urn:hl7-org:v3 http://xreg2.nist.gov:8080/hitspValidation/schema/cdar2c32/infrastructure/cda/C32_CDA.xsd" classCode="DOCCLIN" moodCode="EVN">
    4545            <realmCode code="US"/>
    4646            <typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>
     
    5656            </id>
    5757            <code code="34133-9" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Summarization of episode note"/>
    58             <title>Continuity of Care Document</title>
     58             <xsl:variable name="fromID" select="/a:ContinuityOfCareRecord/a:From/a:ActorLink[1]/a:ActorID"/>
     59              <xsl:variable name="ccrFromActorObjectID" select="/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$fromID]/a:InternalCCRLink[a:LinkRelationship='representedOrganization']/a:LinkID"/>
     60            <title>Continuity of Care Document from <xsl:value-of select="/a:ContinuityOfCareRecord/a:Actors/a:Actor[a:ActorObjectID=$ccrFromActorObjectID]/a:Organization/a:Name"/></title>
    5961            <effectiveTime>
    6062                <xsl:attribute name="value">
     
    6870            <languageCode code="en-US"/>
    6971
    70             <recordTarget>
     72            <recordTarget typeCode="RCT" contextControlCode="OP">
    7173                <xsl:call-template name="ccdPatientRole">
    7274                    <xsl:with-param name="ccrActorObjectID" select="/a:ContinuityOfCareRecord/a:Patient[1]/a:ActorID"/>
     
    7476            </recordTarget>
    7577
    76             <xsl:variable name="fromID" select="/a:ContinuityOfCareRecord/a:From/a:ActorLink[1]/a:ActorID"/>
    7778
    7879            <author>
     
    99100                    </assignedCustodian>
    100101                </custodian>
    101             </xsl:if>
     102            </xsl:if> 
    102103
    103104            <documentationOf>
     
    400401                                            <xsl:for-each select="/a:ContinuityOfCareRecord/a:Body/a:Problems/a:Problem">
    401402                                                <tr>
    402                                                     <xsl:attribute name="id">
    403                                                         <xsl:value-of select="a:CCRDataObjectID"/>
    404                                                     </xsl:attribute>
    405403                                                    <td>
    406404                                                        <xsl:value-of select="a:Type/a:Text"/>
    407405                                                    </td>
    408                                                     <td>
    409                                                         <table>
    410                                                             <tbody>
    411                                                                 <xsl:apply-templates select="a:DateTime"/>
    412                                                             </tbody>
    413                                                         </table>
    414                                                     </td>
     406                                                   <xsl:apply-templates select="a:DateTime"/>                                                       
    415407                                                    <td>
    416408                                                        <xsl:apply-templates select="a:Description/a:Code"/>
    417409                                                    </td>
    418410                                                    <td>
     411                                                                                                                <xsl:attribute name="ID">
     412                                                                                                                        <xsl:value-of select="a:CCRDataObjectID"></xsl:value-of>
     413                                                                                                                </xsl:attribute>
    419414                                                        <xsl:value-of select="a:Description/a:Text"/>
    420415                                                    </td>
     
    457452                                                    <xsl:call-template name="ccdID">
    458453                                                        <xsl:with-param name="ccrObjectID" select="a:CCRDataObjectID"/>
    459                                                         <xsl:with-param name="suffix">.1</xsl:with-param>
     454                                                        <xsl:with-param name="suffix"></xsl:with-param>
    460455                                                    </xsl:call-template>
    461456
     
    20992094                    </xsl:attribute>
    21002095                    <xsl:attribute name="root">
    2101                         <xsl:text>CCR Actor Object ID</xsl:text>
     2096                        <xsl:text>CCRActorID</xsl:text>
    21022097                    </xsl:attribute>
    21032098                </xsl:otherwise>
    21042099            </xsl:choose>
    21052100        </id>
    2106     </xsl:template>
    2107 
     2101         <xsl:if test="$CCRActor/a:Organization">
     2102            <name><xsl:value-of select="$CCRActor/a:Organization/a:Name"></xsl:value-of></name>
     2103        </xsl:if>
     2104    </xsl:template>             
    21082105    <xsl:template name="ccdAddress">
    21092106        <xsl:param name="CCRActorAddress"/>
     
    21262123                        <xsl:value-of select="$CCRActorAddress/a:State"/>
    21272124                    </state>
    2128                     <postalcode>
     2125                    <postalCode>
    21292126                        <xsl:value-of select="$CCRActorAddress/a:PostalCode"/>
    2130                     </postalcode>
     2127                    </postalCode>
    21312128                </xsl:when>
    21322129                <xsl:otherwise>
     
    21362133        </addr>
    21372134    </xsl:template>
    2138 
     2135   
    21392136    <xsl:template name="ccdTelecom">
    21402137        <xsl:param name="CCRActor"/>
    2141         <telecom>
    2142             <xsl:if test="$CCRActor/a:Telephone">
    2143                 <xsl:attribute name="use">
     2138                        <xsl:if test="$CCRActor/a:Telephone">
     2139                        <telecom>
     2140                    <xsl:attribute name="use">
    21442141                    <xsl:call-template name="CDAVocabularyLookup">
    21452142                        <xsl:with-param name="domain" select="'telecommunicationsAddressUse'"/>
     
    21512148                    <xsl:value-of select="$CCRActor/a:Telephone[1]/a:Value"/>
    21522149                </xsl:attribute>
     2150                        </telecom>           
    21532151            </xsl:if>
    2154         </telecom>
    2155 
     2152               
    21562153        <xsl:if test="$CCRActor/a:Email">
    21572154            <telecom>
     
    21852182                <xsl:value-of select="$suffix"></xsl:value-of>
    21862183            </xsl:attribute>
    2187             <xsl:attribute name="root">CCR Object ID</xsl:attribute>
     2184            <xsl:attribute name="extension">CCRObjectID</xsl:attribute>
    21882185        </id>
    21892186    </xsl:template>
Note: See TracChangeset for help on using the changeset viewer.