Example: EFA Digital Consent Document

Aus Hl7wiki
Wechseln zu: Navigation, Suche
<?xml version="1.0" encoding="UTF-8"?>

<!--
Beispiel für eine elektronische Einwilligungserklärung nach EPPC-G (Enhanced Patient Privacy Consent - German Profile).
EPPC-G basiert auf dem bereits ballotierten HL7-CDA-Leitfaden für Patient Privacy Consent Directives.

Ein derartiges Dokument muss bei der Anlage einer Elektronische Fallakte beigelegt sein. Das bedeutet:
Der ITI-41 ProvideAndRegisterDocumentSet-b enthält dieses Dokument als XOP-Attachement bzw. als eingebettetes Base64-kodiertes Element.

Der wichtigste Bestandteil dieses Dokuments ist die eingebettete XACML-Policy. Diese Policy bzw. ihr Effekt muss vom 
EFA-ResourceManager umgesetzt werden. Die XACML-Policy muss daher natürlich hinreichend stark validiert werden, damit nicht 
böswillig Zugriffsrechte manipuliert werden können.

Das CDA-Dokument selbst enthält Metadaten, die bei Bedarf ausgewertet werden können. Primär liegen die Metadaten vor, um die 
Konformität zur HL7-ConsentDirective zu wahren.
-->

<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                  classCode="DOCCLIN" moodCode="EVN">
  <realmCode code="DE"/>
  <typeId extension="09230" root="2.16.840.1.113883.1.3"/>
  <templateId root="2.16.840.1.113883.3.445.1.1"/>
  <templateId root="1.2.276.0.76.3.1.81"/>
  <id extension="0" root="1.2.276.0.76.3.1.81"/>
  <code code="57016-8" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" 
                       displayName="Privacy Policy Acknowledgement Document"/>
  <title language="de" mediaType="text/plain" representation="TXT">
    Patienteneinwilligung in die Führung einer elektronischen Fallakte
  </title>
  <effectiveTime value="20151120140210"/>
  <confidentialityCode code="R"/>
  <recordTarget>
    <patientRole>
      <id extension="030999BS489" root="1.3.6.1.4.1.21367.2005.3.7"/>
      <addr>
        <streetAddressLine>V. G. VIDA  10</streetAddressLine>
        <city> CREMENO</city>
        <postalCode>23814</postalCode>
      </addr>
      <patient>
        <name>
          <given>TREMILACENTONOVANTASEI</given>
          <family>CITTASISS</family>
        </name>
        <administrativeGenderCode code="M" codeSystem="2.16.840.1.113883.5.1"/>
        <birthTime value="19800101"/>
      </patient>
    </patientRole>
  </recordTarget>
  <author>
    <templateId root="2.16.840.1.113883.3.445.2"/>
    <functionCode code="POACON" codeSystem="2.16.840.1.113883.1.11.19930" 
                  codeSystemName="ConsenterParticipationFunctionDecisionMaker" 
                  displayName="healthcare power of attorney consent author"/>
    <time value="201303122244"/>
    <assignedAuthor>
      <id extension="11111111" root="1.3.5.35.1.4436.7"/>
      <assignedPerson classCode="PSN">
        <name>
          <prefix>Dr. med.</prefix>
          <given>Thorsten</given>
          <family>Springer</family>
        </name>
      </assignedPerson>
      <representedOrganization>
        <id extension="980983" root="1.3.6.4.1.4.1.2835.2"/>
        <name>Klinikum Himmelpforten</name>
        <addr>
          <streetAddressLine>Straße am Ufer 2a</streetAddressLine>
          <city>Emden</city>
          <postalCode>21709</postalCode>
        </addr>
      </representedOrganization>
    </assignedAuthor>
  </author>
  <custodian>
    <assignedCustodian>
      <representedCustodianOrganization>
        <id extension="980983" root="1.3.6.4.1.4.1.2835.2"/>
        <name>Klinikum Himmelpforten</name>
        <addr>
          <streetAddressLine>Straße am Ufer 2a</streetAddressLine>
          <city>Emden</city>
          <postalCode>21709</postalCode>
        </addr>
      </representedCustodianOrganization>
    </assignedCustodian>
  </custodian>

  <component contextConductionInd="true" typeCode="COMP">
    <structuredBody>
      <component contextConductionInd="true" typeCode="COMP">
        <section classCode="DOCSECT" moodCode="EVN">
          <templateId root="2.16.840.1.113883.3.445.17"/>

          <entry typeCode="COMP">
            <templateId root="2.16.840.1.113883.3.445.4"/>
            <observation classCode="OBS" moodCode="DEF">
              <code code="57016-8" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC"/>

              <!--
              Die XACML Policy. Siehe EFA-Spezifikation, Implementierungsebene, Daten-Säule.
              Sie ist zur besseren Lesbarkeit hier als CDATA-Element eingebunden. Sie kann aber auch XML-Entity-escaped
              eingebunden sein.	Leider erlaubt es CDA hier nicht, xs:any zu verwenden...
              -->
              <value mediaType="text/xml" representation="TXT" xsi:type="ED"><![CDATA[
                <PolicySet xmlns="urn:oasis:names:tc:xacml:2.0:policy:schema:os" xmlns:hl7="urn:hl7-org:v3"  
                           xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" 
                           PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:deny-overrides"
                           PolicySetId="2B789DEE-9CB6-11E4-97F9-246A95DB5880">
                  <Target>
                    <Resources>
                      <Resource>
                        <!-- 
                        Die Ressource (XDS-Folder oder assoziierter XDS-Folder) muss eine Elektronische Fallakte sein.
                        -->
                        <ResourceMatch MatchId="urn:hl7-org:v3:function:CV-equal">
                          <AttributeValue DataType="urn:hl7-org:v3#CV">
                            <hl7:CodedValue code="ECR" codeSystem="IHE-D-Cookbook-FolderClassCode"/>
                          </AttributeValue>
                          <ResourceAttributeDesignator AttributeId="urn:ihe:iti:xds-b:2007:folder:code" 
                                                       DataType="urn:hl7-org:v3#CV"/>
                        </ResourceMatch>

                        <!-- 
                        Die Ressource (XDS-Folder oder assoziierter XDS-Folder) muss diesem spezifischen Zweck 
                        zugeordnet sein.
			-->
			<ResourceMatch MatchId="urn:hl7-org:v3:function:CV-equal">
                          <AttributeValue DataType="urn:hl7-org:v3#CV">
                            <hl7:CodedValue code="B05" codeSystem="urn:oid:1.2.276.0.76.5.413"/>
                          </AttributeValue>
			  <ResourceAttributeDesignator AttributeId="urn:ihe:iti:xds-b:2007:folder:code" 
                                                       DataType="urn:hl7-org:v3#CV"/>
                        </ResourceMatch>                

                        <!-- 
                        Die Ressource muss für diesen spezifischen Patienten geführt werden. Der Patient ist in 
                        der hiesigen XDS-Affinity-Domain bekannt. 
                        -->
                        <ResourceMatch MatchId="urn:hl7-org:v3:function:II-equal">
                          <AttributeValue DataType="urn:hl7-org:v3#II">
                            <hl7:InstanceIdentifier extension="030999BS489" root="1.3.6.1.4.1.21367.2005.3.7"/>
                          </AttributeValue>
                          <ResourceAttributeDesignator AttributeId="urn:ihe:iti:xds-b:2007:patient-id" 
                                                       DataType="urn:hl7-org:v3#II"/>
                        </ResourceMatch>
                      </Resource>
                    </Resources>
                  </Target>
                  <Policy PolicyId="urn:ecr:2.0:xacml:policyid:1" 
                          RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:deny-overrides">
                    <Description>Berechtigung für EFA-Teilnehmer</Description>
                    <Target>
                      <!-- 
                      Einschränkung des Zugriffs für bestimmte Personen oder bestimmte Organisation(seinheiten) 
                      -->
                      <Subjects>
                        <Subject>
                          <SubjectMatch MatchId="urn:hl7-org:v3:function:II-equal">
                            <AttributeValue DataType="urn:hl7-org:v3#II">
                              <hl7:InstanceIdentifier extension="11111111" root="1.3.5.35.1.4436.7"/>
                            </AttributeValue>
                            <SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id"
                                                        DataType="urn:hl7-org:v3#II"/>
                          </SubjectMatch>
                          <SubjectMatch MatchId="urn:hl7-org:v3:function:II-equal">
                            <AttributeValue DataType="urn:hl7-org:v3#II">
                              <hl7:InstanceIdentifier extension="980983" root="1.3.6.4.1.4.1.2835.2"/>
                            </AttributeValue>
                            <SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xspa:1.0:subject:organization-id"
                                                        DataType="urn:hl7-org:v3#II"/>
                          </SubjectMatch>
                          <SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
                            <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">physician</AttributeValue>
                            <SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:2.0:subject:role"
                                                        DataType="http://www.w3.org/2001/XMLSchema#string"/>
                          </SubjectMatch>
                        </Subject>
                      </Subjects>
                      <Resources>
                        <!-- EFA-Teilnehmer dürfen nur Ressourcen im Status=Approved sehen. -->
                        <Resource>
                          <ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
                            <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">
                              urn:oasis:names:tc:ebxml-regrep:StatusType:Approved
                            </AttributeValue>
                            <ResourceAttributeDesignator AttributeId="urn:ihe:iti:xds-b:2007:availability-status"
                                                         DataType="http://www.w3.org/2001/XMLSchema#anyURI"/>
                          </ResourceMatch>
                        </Resource>
                      </Resources>
                      <Environments>
                        <Environment>
                          <!-- EFA-Teilnehmer dürfen Ressourcen nur innerhalb der Laufzeit der Akte sehen. -->
                          <EnvironmentMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:date-greater-than-or-equal">
                            <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#date">2016-04-08</AttributeValue>
                            <EnvironmentAttributeDesignator 
                                   AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-date"
                                   DataType="http://www.w3.org/2001/XMLSchema#date"/>
                          </EnvironmentMatch>
                        </Environment>
                      </Environments>
                    </Target>
                  </Policy>

                  <Policy PolicyId="urn:ecr:2.0:xacml:policyid:2" 
                          RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:deny-overrides">
                    <Description>Berechtigung für fach- und verfahrensverantwortliche Person</Description>
                    <Target>
                      <Subjects>
                        <Subject>
                          <SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
                            <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">
                              health record manager
                            </AttributeValue>
                            <SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:2.0:subject:role"
                                                        DataType="http://www.w3.org/2001/XMLSchema#string"/>
                          </SubjectMatch>
                        </Subject>
                      </Subjects>
                      <Environments>
                        <Environment>
                          <!-- Für Fallaktenmanager gilt eine verlängerte Frist (grace period) 
                               nach dem Verfallsdatum der Akte. -->
                          <EnvironmentMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:date-greater-than-or-equal">
                            <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#date">2016-05-08</AttributeValue>
                            <EnvironmentAttributeDesignator 
                                     AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-date" 
                                     DataType="http://www.w3.org/2001/XMLSchema#date"/>
                          </EnvironmentMatch>
                        </Environment>
                      </Environments>
                    </Target>
                  </Policy>
                </PolicySet>
                ]]>
              </value>
            </observation>
          </entry>
        </section>
      </component>
    </structuredBody>
  </component>
</ClinicalDocument>