All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gematik_schemes.fd.phr.appc.policy-hcp-base-max-example.xml Maven / Gradle / Ivy

The newest version!
<?xml version="1.0" encoding="UTF-8"?>

<!-- BEISPIEL-POLICY -->
<PolicySet xmlns="urn:oasis:names:tc:xacml:2.0:policy:schema:os" PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-cryptoSystem:deny-overrides" PolicySetId="urn:gematik:policy-set-id:permissions-access-group-hcp:base" Version="4.0.2">
    <!-- Name der Leistungserbringerinstitution -->
    <Description>$Name_der_LEI</Description>

    <Target/>
    
    <PolicySet PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-cryptoSystem:deny-overrides" PolicySetId="urn:gematik:policy-set-id:permissions-access-group-hcp:base:container" Version="4.0.2">

        <Target>

            <!-- Leistungserbringerinstitution (repräsentiert durch ihre Telematik-ID) -->

            <Subjects>
                <Subject>
                    <SubjectMatch MatchId="urn:hl7-org:v3:function:II-equal">
                        <AttributeValue DataType="urn:hl7-org:v3#II">
                            <InstanceIdentifier root="1.2.276.0.76.4.188" xmlns="urn:hl7-org:v3#II" extension="$Telematik_ID"/>
                        </AttributeValue>
                        <SubjectAttributeDesignator AttributeId="urn.gematik.subject.organization-id" DataType="urn:hl7-org:v3#II" MustBePresent="true"/>
                    </SubjectMatch>
                </Subject>
            </Subjects>

            <!-- KVNR als Aktenidentifikator -->

            <Resources>
                <Resource>
                    <ResourceMatch MatchId="urn:hl7-org:v3:function:II-equal">
                        <AttributeValue DataType="urn:hl7-org:v3#II">
                            <InstanceIdentifier root="1.2.276.0.76.4.8" xmlns="urn:hl7-org:v3" extension="$KVNR"/>
                        </AttributeValue>
                        <ResourceAttributeDesignator AttributeId="urn:ihe:iti:appc:2016:patient-id" DataType="urn:hl7-org:v3#II"/>
                    </ResourceMatch>
                </Resource>
            </Resources>
            
            <!-- Gültigkeitszeitraum des Policy Documents -->

            <Environments>
                <Environment>
                    <EnvironmentMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:date-less-than-or-equal">
                        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#dateTime">$Min_Date</AttributeValue>
                        <EnvironmentAttributeDesignator DataType="http://www.w3.org/2001/XMLSchema#date" AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-date"/>
                    </EnvironmentMatch>
                    <!-- AND -->
                    <EnvironmentMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:date-greater-than">
                        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#date">$Max_Date</AttributeValue>
                        <EnvironmentAttributeDesignator DataType="http://www.w3.org/2001/XMLSchema#date" AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-date"/>
                    </EnvironmentMatch>
                </Environment>
            </Environments>
        </Target>

        <!-- ######################################################################
            Der folgende Teil setzt folgende Auswertungsmechanik um: Permit, wenn 
            (Vertrauensstufe AND Kategorie erlaubt AND notBlacklisted) OR Whitelist. 
            Ansonsten Deny.
            ######################################################################
        -->

        <PolicySet PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-cryptoSystem:permit-overrides" PolicySetId="urn:gematik:policy-set-id:permissions-access-group-hcp:base:all-permissions" Version="4.0.2">
            <Target/>

            <!-- ##################################################################
                Feingranulare Berechtigung: Whitelist
                ###################################################################
            -->

            <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:whitelist</PolicyIdReference>

            <!-- ##################################################################
                Vertrauensstufe AND Kategorie erlaubt AND not Blacklisted
                ###################################################################
            -->
            <PolicySet PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-cryptoSystem:deny-overrides" PolicySetId="urn:gematik:policy-set-id:permissions-access-group-hcp:base:check-wo-whitelist" Version="4.0.2">
                <Target/>        
                
                    <!-- ##########################################################
                        Grobgranulare Berechtigung: Vertrauensstufe.
                        Permit genau dann, wenn Vetrauensstufe ausreichend für
                        Dokumentenzugriff, sonst Deny
                        ###########################################################
                    -->

                    <PolicySetIdReference>urn:gematik:policy-set-id:permissions-access-group-hcp:levels</PolicySetIdReference>

                    <!-- ##########################################################
                        Mittelgranulare Berechtigung: Kategorien
                        Permit genau dann, wenn eine Kategorie Dokumentenzugriff
                        erlaubt, sonst Deny
                        ###########################################################
                    -->
                    
                    <PolicySetIdReference>urn:gematik:policy-set-id:permissions-access-group-hcp:categories</PolicySetIdReference>
                    
                    
                    <!-- ##########################################################
                        Feingranulare Berechtigung: Blacklist
                        Permit genau dann, wenn Dokument nicht auf der Blacklist
                        steht, sonst Deny
                        ###########################################################
                    -->

                    <PolicySetIdReference>urn:gematik:policy-id:permissions-access-group-hcp:blacklist</PolicySetIdReference>
            </PolicySet>
            
            <!-- Default Policy/Rule (VERPFLICHTEND), welche immer Deny zurückgibt -->
            <Policy PolicyId="urn:gematik:policy-id:permissions-access-group-hcp:base:default-deny" Version="4.0.2" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-cryptoSystem:deny-overrides">
                <Target/>
                <Rule RuleId="urn:gematik:rule-id:permissions-access-group-hcp:base:default-deny" Effect="Deny"/>
            </Policy>        
        </PolicySet>
    </PolicySet>

	<!-- Setzen der grobgranularen Berechtigung  -->
    <PolicySet PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-cryptoSystem:permit-overrides" PolicySetId="urn:gematik:policy-set-id:permissions-access-group-hcp:levels" Version="4.0.2">
        <Target/>
        <!-- Inkludieren für Vertrauensstufe "normal" (VERPFLICHTEND) -->
        <PolicyIdReference>urn:gematik:policy-set-id:permissions-access-group-hcp:levels:normal</PolicyIdReference> 
        <!-- Inkludieren, wenn für Vertrauensstufe "erweitert" berechtigt werden soll -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:levels:extended</PolicyIdReference> 
        <!-- Default Policy/Rule (VERPFLICHTEND), das immer Deny zurückgibt, wenn keine der oben genannten Kategorien passt -->
        <Policy PolicyId="urn:gematik:policy-id:permissions-access-group-hcp:levels:default-deny" Version="4.0.2" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-cryptoSystem:deny-overrides">
            <Target/>
            <Rule RuleId="urn:gematik:rule-id:permissions-access-group-hcp:levels:default-deny" Effect="Deny"/>
        </Policy>
    </PolicySet>

    <!-- Setzen der mittelgranularen Berechtigung  -->
    <PolicySet PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-cryptoSystem:permit-overrides" PolicySetId="urn:gematik:policy-set-id:permissions-access-group-hcp:categories" Version="4.0.2">
        <Target/>
        <!-- Inkludieren für Berechtigung auf Kategorie "Medikationsplan" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:emp</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Notfalldaten" (Notfalldatensatz/Persönliche Erklärung) -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:nfd</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "eArztbrief" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:eab</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Zahnbonusheft" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:dentalrecord</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Kinderuntersuchungsheft" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:childsrecord</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Mutterpass" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:mothersrecord</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Impfpass" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:vaccination</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Vom Versicherten eingestellte Dokumente" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:patientdoc</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "eGA-Daten" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:ega</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Quittungen" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:receipt</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Pflegedokumente" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:care</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Rezept" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:prescription</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Arbeitsunfähigkeitsbescheinigung" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:eau</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Sonstige von der LEI bereitgestellte (nicht medizinische) Dokumente" -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:other</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Hausarzt/ Hausärztin") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:practitioner</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Krankenhaus") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:hospital</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Labor- und Humangenetik") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:laboratory</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Physiotherapeuten") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:physiotherapy</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Psychotherapeuten") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:psychotherapy</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Dermatologie") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:dermatology</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Urologie/Gynäkologie") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:gynaecology_urology</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Zahnheilkunde und Mund-Kiefer-Gesichtschirurgie") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:dentistry_oms</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Weitere Fachärzte/Fachärztinnen") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:other_medical</PolicyIdReference>
        <!-- Inkludieren für Berechtigung auf Kategorie "Weitere nicht-ärztliche Berufe") -->
        <PolicyIdReference>urn:gematik:policy-id:permissions-access-group-hcp:categories:other_non_medical</PolicyIdReference>

        <!-- Default Policy/Rule (VERPFLICHTEND), das immer Deny zurückgibt, wenn keine der oben genannten Kategorien passt -->
        <Policy PolicyId="urn:gematik:policy-id:permissions-access-group-hcp:categories:default-deny" Version="4.0.2" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-cryptoSystem:deny-overrides">
            <Target/>
            <Rule RuleId="urn:gematik:rule-id:permissions-access-group-hcp:categories:default-deny" Effect="Deny"/>
        </Policy>
    </PolicySet>
	
    <!-- Setzen der feingranularen Berechtigung: Blacklist -->
	<Policy PolicyId="urn:gematik:policy-id:permissions-access-group-hcp:blacklist" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0: rule-combining-cryptoSystem:deny-overrides">
		<Target/>
		<Rule RuleId="urn:gematik:rule-id:permissions-access-group-hcp:blacklist" Effect="Deny"> 
			<Target>
				<Resources>
					<!-- Inkludieren: Je eine <Resource> pro Dokument auf der Blacklist -->
					<Resource>
						<ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0: function:string-equal">
							<AttributeValue DataType="http//www.w3.org/2001/XMLSchema#string">$DocumentUniqueId</AttributeValue>
							<ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http//www.w3.org/2001/XMLSchema#string"/>
						</ResourceMatch>
					</Resource>
				</Resources>
			</Target>
		</Rule>
		<!-- Default Rule, welche immer Permit zurückgibt, wenn ein Dokument nicht explizit auf der Blacklist gelistet ist -->
		<Rule RuleId="urn:gematik:rule-id:permissions-access-group-hcp:blacklist:default-permit" Effect="Permit"/>
	</Policy>
	
    <!-- Setzen der feingranularen Berechtigung: Whitelist -->
	<Policy PolicyId="urn:gematik:policy-id:permissions-access-group-hcp:whitelist" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0: rule-combining-cryptoSystem:permit-overrides">
		<Target/>
		<Rule RuleId="urn:gematik:rule-id:permissions-access-group-hcp:whitelist" Effect="Permit">
			<Target>
				<Resources>
					<!-- Inkludieren: Je eine <Resource> pro Dokument auf der Whitelist -->
					<Resource>
						<ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0: function:string-equal">
							<AttributeValue DataType="http//www.w3.org/2001/XMLSchema#string">$DocumentUniqueId</AttributeValue>
							<ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http//www.w3.org/2001/XMLSchema#string"/>
						</ResourceMatch>
					</Resource>
				</Resources>
			</Target>
		</Rule>
		<!-- Default Rule, welche immer Deny zurückgibt, wenn ein Dokument nicht explizit auf der Whitelist ist -->
		<Rule RuleId="urn:gematik:rule-id:permissions-access-group-hcp:whitelist:default-deny" Effect="Deny"/>
	</Policy>
	
</PolicySet>





© 2015 - 2025 Weber Informatics LLC | Privacy Policy