Example: EFA Digital Consent Document

Aus Hl7wiki
Version vom 22. Dezember 2015, 12:24 Uhr von Jcaumanns (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!-- Beispiel für eine elektronische Einwilligungserklärung nach EPPC (Enhanced Patient…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
<?xml version="1.0" encoding="UTF-8"?>

<!--
Beispiel für eine elektronische Einwilligungserklärung nach EPPC (Enhanced Patient Privacy Consent).
EPPC befindet sich derzeit noch in der IHE-Proposal-Phase. Es basiert aber 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 waren.
-->

<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>
											
											<!-- Sofern nötig, könnten für ATMoSPHÄRE hier feinere Kriterien verwendet werden, die EFA allerdings bewusst außen vor lässt. -->
										</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>