templates.policy-set-template-302.xml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ipf-commons-ihe-xacml20-impl Show documentation
Show all versions of ipf-commons-ihe-xacml20-impl Show documentation
Support for XACML 2.0-based integration profiles: implementation
The newest version!
<!-- Template 302 --> <PolicySet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hl7="urn:hl7-org:v3" xmlns="urn:oasis:names:tc:xacml:2.0:policy:schema:os" PolicySetId="${id}" PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:deny-overrides"> <!-- PolicySetId is generated by the Policy Manager --> <Description> Patient specific PolicySet for Group Assignment 302 - allowing a member of a group (of health professionals) to access the patient's EPD according to the scope of the referenced access level (PolicySetIdReference below) </Description> <Target> <Subjects> <Subject> <SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">${groupId}</AttributeValue> <SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xspa:1.0:subject:organization-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" /> </SubjectMatch> <SubjectMatch MatchId="urn:hl7-org:v3:function:CV-equal"> <AttributeValue DataType="urn:hl7-org:v3#CV"> <hl7:CodedValue code="HCP" codeSystem="2.16.756.5.30.1.127.3.10.6" /> </AttributeValue> <SubjectAttributeDesignator DataType="urn:hl7-org:v3#CV" AttributeId="urn:oasis:names:tc:xacml:2.0:subject:role" /> </SubjectMatch> </Subject> </Subjects> <Resources> <Resource> <ResourceMatch MatchId="urn:hl7-org:v3:function:II-equal"> <AttributeValue DataType="urn:hl7-org:v3#II"> <hl7:InstanceIdentifier root="2.16.756.5.30.1.127.3.10.3" extension="${eprSpid}"/> </AttributeValue> <ResourceAttributeDesignator DataType="urn:hl7-org:v3#II" AttributeId="urn:e-health-suisse:2015:epr-spid"/> </ResourceMatch> </Resource> </Resources> #if ($startDate || $endDate) <Environments> <Environment> #if ($startDate) <EnvironmentMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:date-less-than-or-equal"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#date">${startDate}</AttributeValue> <EnvironmentAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-date" DataType="http://www.w3.org/2001/XMLSchema#date"/> </EnvironmentMatch> #end #if ($endDate) <EnvironmentMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:date-greater-than-or-equal"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#date">${endDate}</AttributeValue> <EnvironmentAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-date" DataType="http://www.w3.org/2001/XMLSchema#date"/> </EnvironmentMatch> #end </Environment> </Environments> #end </Target> <PolicySetIdReference> ${policyIdReference} </PolicySetIdReference> </PolicySet>