From 1fa669edcb397b66535164832626e62a1a89640d Mon Sep 17 00:00:00 2001
From: Youn <yct@kereval.com>
Date: Tue, 2 Jul 2019 14:40:23 +0200
Subject: [PATCH] I added PPQ documentations

---
 EPD-ADR-Simulator/installation.md |   5 +-
 EPD-PPQ-Simulator/Makefile        |   3 +
 EPD-PPQ-Simulator/installation.md | 134 ++++++++++++++
 EPD-PPQ-Simulator/release-note.md |  12 ++
 EPD-PPQ-Simulator/user.md         | 287 ++++++++++++++++++++++++++++++
 5 files changed, 438 insertions(+), 3 deletions(-)
 create mode 100644 EPD-PPQ-Simulator/Makefile
 create mode 100644 EPD-PPQ-Simulator/installation.md
 create mode 100644 EPD-PPQ-Simulator/release-note.md
 create mode 100755 EPD-PPQ-Simulator/user.md

diff --git a/EPD-ADR-Simulator/installation.md b/EPD-ADR-Simulator/installation.md
index 022fdf6..002fa62 100644
--- a/EPD-ADR-Simulator/installation.md
+++ b/EPD-ADR-Simulator/installation.md
@@ -36,7 +36,7 @@ The EPR ADR Provider MockUp is a SoapUI webservice (mock) that provides Authoriz
 ### Get the Subversion project
 
 ```bash
-svn checkout https://scm.gforge.inria.fr/anonscm/svn/gazelle/EPD/trunk/epr-adr-provider-mockup/ $EPR_ADR_MOCK_DIR
+git clone https://gitlab.inria.fr/gazelle/specific-tools/epr/adr-provider.git $EPR_ADR_MOCK_DIR
 ```
 
 ### Install libraries required by SoapUI
@@ -57,8 +57,7 @@ Database is not mandatory, but if not configured, it will raise log errors for e
 psql -U gazelle postgres
 > CREATE DATABASE "adr" OWNER gazelle ;
 > \q
-psql -U gazelle adr < $EPR_ADR_MOCK_DIR/sql/adr-schema.sql
-psql -U gazelle adr < $EPR_ADR_MOCK_DIR/sql/adr-import.sql
+psql -U gazelle adr < $EPR_ADR_MOCK_DIR/sql/adr_schema_data_1.9.sql 
 ```
 
 ## Mock as a service
diff --git a/EPD-PPQ-Simulator/Makefile b/EPD-PPQ-Simulator/Makefile
new file mode 100644
index 0000000..cbbc56c
--- /dev/null
+++ b/EPD-PPQ-Simulator/Makefile
@@ -0,0 +1,3 @@
+SHELL := /bin/bash
+
+include ../Makefile.generic
diff --git a/EPD-PPQ-Simulator/installation.md b/EPD-PPQ-Simulator/installation.md
new file mode 100644
index 0000000..2108bcc
--- /dev/null
+++ b/EPD-PPQ-Simulator/installation.md
@@ -0,0 +1,134 @@
+---
+title:  Installation Manual
+subtitle: PPQ Simulator
+author: Youn Cadoret
+function: Developer
+date: 02/06/2019
+toolversion: 1.2
+version: 1.0
+status: To be reviewed
+reference: KER1-MAN-IHE-PPQ_SIMULATOR_INSTALLATION-0_01
+customer: IHE-EUROPE
+---
+
+# EPR PPQ Repository MockUp
+
+## Overview
+
+The EPR PPQ Repository MockUp is a SoapUI webservice (mock) that provides Privacy Policy Query Service.
+
+* default_wsdl_url: http://ehealthsuisse.ihe-europe.net:8091/ppq-repository?wsdl
+* default_path: /ppq-repository
+* default_port: 8092
+* default_mock_name: PpqPolicyAdministrationSoapBinding_MockService
+* default_mock_path: /opt/simulators/epr-ppq-repository-mockup
+* default_soapui_path: /usr/local/SmartBear/SoapUI-5.3.0/
+* default_soapui_mock_log: /var/log/soapui/epr-ppq-repository.log
+* default_init.d: /etc/init.d/ppqRepositoryMock
+* default_keystore_path: /opt/gazelle/cert/jboss.jks
+
+
+## Install SoapUI
+
+[https://www.soapui.org/](https://www.soapui.org/)
+
+## Install EPR Assertion Provider MockUp
+
+### Get the Subversion project
+
+```bash
+git clone https://gitlab.inria.fr/gazelle/specific-tools/epr/ppq-repository.git $EPR_PPQ_MOCK_DIR
+```
+
+### Install libraries required by SoapUI
+
+Copy the external jars (esapi, velocity and postgresql)
+
+```bash
+cp $EPR_PPQ_MOCK_DIR/external_jar/esapi-2.1.0.1.jar $SOAPUI_INSTALL_DIR/lib/
+cp $EPR_PPQ_MOCK_DIR/external_jar/velocity-1.7.jar $SOAPUI_INSTALL_DIR/lib/
+cp $EPR_PPQ_MOCK_DIR/external_jar/postgresql-9.3-1102.jdbc4.jar $SOAPUI_INSTALL_DIR/lib/
+```
+
+### Prepare the database
+
+Database is not mandatory, but if not configured, it will raise log errors for each recieving request.
+The Database is shared with the ADR Provider Mock project. Schema and data import are then in ADR Provider mock project.
+
+```bash
+psql -U gazelle postgres
+> CREATE DATABASE "adr" OWNER gazelle ;
+> \q
+psql -U gazelle adr < $EPR_ADR_MOCK_DIR/sql/adr_schema_data_1.9.sql 
+```
+
+## Mock as a service
+
+### Prepare the init.d script
+
+Edit the init.d script `$EPR_PPQ_MOCK_DIR/init.d/ppqRepositoryMock` and set the following environment variables
+
+* SOAPUI_PATH => Path of SoapUI folder
+* SOAPUI_PROJECT_PATH => Path of SoapUI project script
+* SOAPUI_MOCK_NAME => Name of the SoapUI mock
+* SOAPUI_MOCK_PORT => Port of the SoapUI mock
+* SOAPUI_MOCK_ENDPOINT => Path of the SoapUI mock
+* SOAPUI_MOCK_LOG => Path where to publish log file
+
+### Declare the service
+
+Type the following commands register the init.d script as service
+
+```bash
+sudo cp $EPR_PPQ_MOCK_DIR/init.d/ppqRepositoryMock /etc/init.d/ppqRepositoryMock
+sudo chmod u+x /etc/init.d/ppqRepositoryMock
+sudo chmod 775 /etc/init.d/ppqRepositoryMock
+```
+
+If you want the service to start at each machine start up
+
+```bash
+sudo update-rc.d ppqRepositoryMock defaults
+```
+
+Be careful to allow the service to write logs into your target directory. As example
+
+```bash
+sudo mkdir /var/log/soapui
+sudo chmod 775 /var/log/soapui
+```
+
+### Start the mock
+
+To run the mock
+
+```bash
+sudo /etc/init.d/ppqRepositoryMock start
+```
+
+To stop the mock
+
+```bash
+sudo /etc/init.d/ppqRepositoryMock stop
+```
+
+To get status of the mock
+
+```bash
+sudo /etc/init.d/ppqRepositoryMock status
+```
+
+
+## Troubleshouting
+
+You might need to install those following packets
+
+```bash
+sudo apt-get install -y libxrender1 libxtst6 libxi6
+```
+
+You might need to resolve errors when starting the mock
+
+```bash
+sudo mv /root/.soapuios/ /root/.soapuios_old
+```
diff --git a/EPD-PPQ-Simulator/release-note.md b/EPD-PPQ-Simulator/release-note.md
new file mode 100644
index 0000000..cebe97e
--- /dev/null
+++ b/EPD-PPQ-Simulator/release-note.md
@@ -0,0 +1,12 @@
+---
+title:  Release note
+subtitle: PPQ Simulator
+author: Youn Cadoret
+function: Developer
+date: 02/06/2019
+toolversion: 1.2
+version: 1.0
+status: To be reviewed
+reference: KER1-RNO-IHE-PPQ_SIMULATOR
+customer: IHE-EUROPE
+---
diff --git a/EPD-PPQ-Simulator/user.md b/EPD-PPQ-Simulator/user.md
new file mode 100755
index 0000000..ae7478f
--- /dev/null
+++ b/EPD-PPQ-Simulator/user.md
@@ -0,0 +1,287 @@
+---
+title:  User Manual
+subtitle: PPQ Simulator
+author: Youn Cadoret
+function: Developer
+date: 02/06/2019
+toolversion: 1.2
+version: 1.0
+status: To be reviewed
+reference: KER1-MAN-IHE-PPQ_SIMULATOR_-0_01
+customer: IHE-EUROPE
+---
+
+
+eHealthSuisse PPQ Repository MockUp
+-----------------------------------
+
+eHealthSuisse PPQ Repository MockUp simulates a PPQ Repository actor.
+
+PPQ transactions are used by the policy source to add, update or delete policies stored in a policy repository  
+and used policy consumer to retrieve policies in the repository.  
+to do that, PPQ is build around of four different requests : **XACMLPolicyQuery, AddPolicyRequest, UpdatePolicyRequest** and **DeletePolicyRequest**
+
+**XACMLPolicyQuery :**  
+The Policy Consumer sends this message when it needs to retrieve existing XACML policies  
+or policy sets of a patient stored byin a Policy Repository (of the patients referenceCommunity).
+
+**AddPolicyRequest** and **UpdatePolicyRequest :**  
+The Policy Source sends these messages when it needs to add new or update existing  
+policies and/or policy sets stored within the Policy Repository (of a patients referenceCommunity).
+
+**DeletePolicyRequest :**  
+The Policy Source sends these messages when it needs to delete existing patient-specific  
+policy sets stored within the Policy Repository (of a patient?s referenceCommunity).
+
+  
+
+### Data Set
+
+#### Healthcare Professional data
+
+
+| subject-id     | subject-id-qualifier | IdP Simulator username |
+|----------------|----------------------|------------------------|
+| 7601000050717  |  urn:gs1:gln     |        magpar          |
+| 7601002033572  |  urn:gs1:gln     |        rspieler        |
+| 7601002469191  |  urn:gs1:gln     |        aandrews        |
+
+
+#### Patient data
+
+| extension-id | root-id | homeCommunityId | IdP Simulator username  |  PolicySetId      |
+|--------------|---------|-----------------|-------------------------|--------|
+|  761337610455909127            |  2.16.756.5.30.1.127.3.10.3       | urn:oid:1.3.6.1.4.1.21367.2017.2.6.2                |  aamrein                | x |
+|  761337610436974489            |  2.16.756.5.30.1.127.3.10.3       | urn:oid:1.3.6.1.4.1.21367.2017.2.6.2                |  lavdic                 | x |    
+|  761337610435209810            |  2.16.756.5.30.1.127.3.10.3       | urn:oid:1.3.6.1.4.1.21367.2017.2.6.2                |  bovie                  | urn:uuid:6c446cb5-721d-4843-be57-91defc788561  |   
+
+
+
+### End Point
+
+[https://ehealthsuisse.ihe-europe.net:10443/ppq-repository?wsdl](https://ehealthsuisse.ihe-europe.net:10443/ppq-repository?wsdl)
+
+It requires TLS mutual authentication with testing certificate (from GSS PKI). [The wsdl can be browsed here](/ppq-repository?wsdl)
+
+  
+
+### XACMLPolicyQuery with Patient ID example
+
+```xml
+<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
+   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
+   <wsa:Action>urn:e-health-suisse:2015:policy-administration:PolicyQuery</wsa:Action>
+      <wsa:MessageID>807cf78a-36a0-4403-82d0-11f95d877188</wsa:MessageID>
+      <wsa:ReplyTo>
+         <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
+      </wsa:ReplyTo>
+      <wsa:To>http://ehealthsuisse.ihe-europe.net/ppq-repository</wsa:To>
+      <wss:Security xmlns:wss="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+     		<!-- Add an assertion here <saml2:Assertion.... -->
+      </wss:Security>
+   </soap:Header>
+   <soap:Body>
+      <xacml-samlp:XACMLPolicyQuery xmlns:xacml="urn:oasis:names:tc:xacml:2.0:policy:schema:os" xmlns:xacml-samlp="urn:oasis:names:tc:xacml:2.0:profile:saml2.0:v2:schema:protocol" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="cb8e5238-0a9f-4766-9179-b2e765957bbb" Version="2.0" IssueInstant="2019-02-05T14:58:39.274+01:00">
+         <xacml-context:Request xmlns:xacml-context="urn:oasis:names:tc:xacml:2.0:context:schema:os" xmlns:hl7="urn:hl7-org:v3">
+            <xacml-context:Subject/>
+            <xacml-context:Resource>
+               <xacml-context:Attribute AttributeId="urn:e-health-suisse:2015:epr-spid" DataType="urn:hl7-org:v3#II">
+                  <xacml-context:AttributeValue>
+                        <hl7:InstanceIdentifier xsi:type="hl7:II" root="2.16.756.5.30.1.127.3.10.3" extension="761337610455909127"/>
+                  </xacml-context:AttributeValue>
+               </xacml-context:Attribute>
+            </xacml-context:Resource>
+            <xacml-context:Action/>
+            <xacml-context:Environment/>
+         </xacml-context:Request>
+      </xacml-samlp:XACMLPolicyQuery>
+   </soap:Body>
+</soap:Envelope>
+```
+  
+
+### XACMLPolicyQuery with PolicySetIdReference example
+
+```xml
+<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
+   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
+   <wsa:Action>urn:e-health-suisse:2015:policy-administration:PolicyQuery</wsa:Action>
+      <wsa:MessageID>807cf78a-36a0-4403-82d0-11f95d877188</wsa:MessageID>
+      <wsa:ReplyTo>
+         <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
+      </wsa:ReplyTo>
+      <wsa:To>http://ehealthsuisse.ihe-europe.net/ppq-repository</wsa:To>
+      <wss:Security xmlns:wss="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+     		<!-- Add an assertion here <saml2:Assertion.... -->
+      </wss:Security>
+   </soap:Header>
+   <soap:Body>
+      <xacml-samlp:XACMLPolicyQuery ID="cb8e5238-0a9f-4766-9179-b2e765957bbb" Version="2.0" IssueInstant="2019-02-12T14:08:21.963Z" xmlns:xacml="urn:oasis:names:tc:xacml:2.0:policy:schema:os" xmlns:xacml-samlp="urn:oasis:names:tc:xacml:2.0:profile:saml2.0:v2:schema:protocol" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+            <xacml:PolicySetIdReference>urn:uuid:451fb3f6-7b35-4344-bee1-ddc26018cab3</xacml:PolicySetIdReference>
+      </xacml-samlp:XACMLPolicyQuery>
+   </soap:Body>
+</soap:Envelope>
+```
+  
+
+### AddPolicyRequest example
+
+```xml
+<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xd="http://www.w3.org/2000/09/xmldsig#" xmlns:xe="http://www.w3.org/2001/04/xmlenc#">
+   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
+      <wsa:Action>urn:e-health-suisse:2015:policy-administration:AddPolicy</wsa:Action>
+      <wsa:MessageID>306de2f9-f272-4eff-bedc-45e8ea825575</wsa:MessageID>
+      <wsa:ReplyTo>
+         <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
+      </wsa:ReplyTo>
+      <wsa:To>https://ehealthsuisse.ihe-europe.net/ppq-repository?wsdl</wsa:To>
+      <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+		<!-- Add an assertion here <saml2:Assertion.... -->
+	</wsse:Security>
+   </soap:Header>
+   <soap:Body>
+        <epr:AddPolicyRequest xmlns:hl7="urn:hl7-org:v3" xmlns:xacml="urn:oasis:names:tc:xacml:2.0:policy:schema:os"
+                                  xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:epr="urn:e-health-suisse:2015:policy-administration"
+                                  xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xacml-context="urn:oasis:names:tc:xacml:2.0:context:schema:os"
+                                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xacml-samlp="urn:oasis:names:tc:xacml:2.0:profile:saml2.0:v2:schema:protocol"
+                                  xmlns:xacml-saml="urn:oasis:names:tc:xacml:2.0:profile:saml2.0:v2:schema:assertion">
+             <saml:Assertion Version="2.0" ID="\_b882d240-45cd-4fa3-aa9f-65394115d0e0" IssueInstant="2019-03-06T14:28:35.249Z">
+                 <saml:Issuer NameQualifier="urn:e-health-suisse:community-index">urn:oid:1.3.6.1.4.1.21367.2017.2.6.2</saml:Issuer>
+                <saml:Statement xsi:type="xacml-saml:XACMLPolicyStatementType">
+                    <xacml:PolicySet PolicySetId="urn:uuid:451fb3f6-7b35-4344-bee1-ddc26018cab3" PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:deny-overrides">
+                      <xacml:Description>Patient specific PolicySet for EPD Setup 201 - granting full access to a patient at EPD setup</xacml:Description>
+                      <xacml:Target>
+                         <xacml:Subjects>
+                            <xacml:Subject>
+                               <xacml:SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
+                                   <xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">761337610435209810</xacml:AttributeValue>
+                                  <xacml:SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
+                               </xacml:SubjectMatch>
+                               <xacml:SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
+                                   <xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">urn:e-health-suisse:2015:epr-spid</xacml:AttributeValue>
+                                  <xacml:SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id-qualifier" DataType="http://www.w3.org/2001/XMLSchema#string"/>
+                               </xacml:SubjectMatch>
+                               <xacml:SubjectMatch MatchId="urn:hl7-org:v3:function:CV-equal">
+                                  <xacml:AttributeValue DataType="urn:hl7-org:v3#CV">
+                                      <hl7:CodedValue code="PAT" codeSystem="2.16.756.5.30.1.127.3.10.6"/>
+                                  </xacml:AttributeValue>
+                                  <xacml:SubjectAttributeDesignator DataType="urn:hl7-org:v3#CV" AttributeId="urn:oasis:names:tc:xacml:2.0:subject:role"/>
+                               </xacml:SubjectMatch>
+                            </xacml:Subject>
+                         </xacml:Subjects>
+                         <xacml:Resources>
+                            <xacml:Resource>
+                               <xacml:ResourceMatch MatchId="urn:hl7-org:v3:function:II-equal">
+                                  <xacml:AttributeValue DataType="urn:hl7-org:v3#II">
+                                      <hl7:InstanceIdentifier root="2.16.756.5.30.1.127.3.10.3" extension="761337610435209810"/>
+                                  </xacml:AttributeValue>
+                                  <xacml:ResourceAttributeDesignator DataType="urn:hl7-org:v3#II" AttributeId="urn:e-health-suisse:2015:epr-spid"/>
+                               </xacml:ResourceMatch>
+                            </xacml:Resource>
+                         </xacml:Resources>
+                      </xacml:Target>
+                      <xacml:PolicySetIdReference>urn:e-health-suisse:2015:policies:access-level:full</xacml:PolicySetIdReference>
+                   </xacml:PolicySet>
+                </saml:Statement>
+             </saml:Assertion>
+      </epr:AddPolicyRequest>
+   </soap:Body>
+</soap:Envelope>
+```
+  
+
+### UpdatePolicyRequest example
+
+```xml
+<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xd="http://www.w3.org/2000/09/xmldsig#" xmlns:xe="http://www.w3.org/2001/04/xmlenc#">
+   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
+      <wsa:Action>urn:e-health-suisse:2015:policy-administration:UpdatePolicy</wsa:Action>
+      <wsa:MessageID>306de2f9-f272-4eff-bedc-45e8ea825575</wsa:MessageID>
+      <wsa:ReplyTo>
+         <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
+      </wsa:ReplyTo>
+      <wsa:To>https://ehealthsuisse.ihe-europe.net/ppq-repository?wsdl</wsa:To>
+      <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+		<!-- Add an assertion here <saml2:Assertion.... -->
+	</wsse:Security>
+   </soap:Header>
+   <soap:Body>
+            <epr:UpdatePolicyRequest xmlns:hl7="urn:hl7-org:v3" xmlns:xacml="urn:oasis:names:tc:xacml:2.0:policy:schema:os"
+                                  xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:epr="urn:e-health-suisse:2015:policy-administration"
+                                  xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xacml-context="urn:oasis:names:tc:xacml:2.0:context:schema:os"
+                                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xacml-samlp="urn:oasis:names:tc:xacml:2.0:profile:saml2.0:v2:schema:protocol"
+                                  xmlns:xacml-saml="urn:oasis:names:tc:xacml:2.0:profile:saml2.0:v2:schema:assertion">
+             <saml:Assertion Version="2.0" ID="\_b882d240-45cd-4fa3-aa9f-65394115d0e0" IssueInstant="2019-03-06T14:28:35.249Z">
+                 <saml:Issuer NameQualifier="urn:e-health-suisse:community-index">urn:oid:1.3.6.1.4.1.21367.2017.2.6.2</saml:Issuer>
+                     <saml:Statement xsi:type="xacml-saml:XACMLPolicyStatementType">
+                    <xacml:PolicySet PolicySetId="urn:uuid:451fb3f6-7b35-4344-bee1-ddc26018cab3" PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:deny-overrides">
+                      <xacml:Description>Patient specific PolicySet for EPD Setup 201 - granting full access to a patient at EPD setup</xacml:Description>
+                      <xacml:Target>
+                         <xacml:Subjects>
+                            <xacml:Subject>
+                               <xacml:SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
+                                   <xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">761337610435209810</xacml:AttributeValue>
+                                  <xacml:SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
+                               </xacml:SubjectMatch>
+                               <xacml:SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
+                                   <xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">urn:e-health-suisse:2015:epr-spid</xacml:AttributeValue>
+                                  <xacml:SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id-qualifier" DataType="http://www.w3.org/2001/XMLSchema#string"/>
+                               </xacml:SubjectMatch>
+                               <xacml:SubjectMatch MatchId="urn:hl7-org:v3:function:CV-equal">
+                                  <xacml:AttributeValue DataType="urn:hl7-org:v3#CV">
+                                      <hl7:CodedValue code="PAT" codeSystem="2.16.756.5.30.1.127.3.10.6"/>
+                                  </xacml:AttributeValue>
+                                  <xacml:SubjectAttributeDesignator DataType="urn:hl7-org:v3#CV" AttributeId="urn:oasis:names:tc:xacml:2.0:subject:role"/>
+                               </xacml:SubjectMatch>
+                            </xacml:Subject>
+                         </xacml:Subjects>
+                         <xacml:Resources>
+                            <xacml:Resource>
+                               <xacml:ResourceMatch MatchId="urn:hl7-org:v3:function:II-equal">
+                                  <xacml:AttributeValue DataType="urn:hl7-org:v3#II">
+                                      <hl7:InstanceIdentifier root="2.16.756.5.30.1.127.3.10.3" extension="761337610435209810"/>
+                                  </xacml:AttributeValue>
+                                  <xacml:ResourceAttributeDesignator DataType="urn:hl7-org:v3#II" AttributeId="urn:e-health-suisse:2015:epr-spid"/>
+                               </xacml:ResourceMatch>
+                            </xacml:Resource>
+                         </xacml:Resources>
+                      </xacml:Target>
+                      <xacml:PolicySetIdReference>urn:e-health-suisse:2015:policies:access-level:full</xacml:PolicySetIdReference>
+                 </xacml:PolicySet>
+                 </saml:Statement>
+             </saml:Assertion>
+      </epr:UpdatePolicyRequest>
+   </soap:Body>
+</soap:Envelope>
+```
+  
+
+### DeletePolicyRequest example
+
+```xml
+<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xd="http://www.w3.org/2000/09/xmldsig#" xmlns:xe="http://www.w3.org/2001/04/xmlenc#">
+   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
+   <wsa:Action>urn:e-health-suisse:2015:policy-administration:DeletePolicy</wsa:Action>
+      <wsa:MessageID>9db0ea75-e374-4718-a653-4614cafe4726</wsa:MessageID>
+      <wsa:ReplyTo>
+         <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
+      </wsa:ReplyTo>
+      <wsa:To>http://ehealthsuisse.ihe-europe.net/ppq-repository</wsa:To>
+      <wss:Security xmlns:wss="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+     <!-- Add an assertion here <saml2:Assertion.... -->
+      </wss:Security>
+   </soap:Header>
+   <soap:Body>
+      <epr:DeletePolicyRequest xmlns:epr="urn:e-health-suisse:2015:policy-administration"
+                               xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                               xmlns:xacml="urn:oasis:names:tc:xacml:2.0:policy:schema:os" >
+         <saml:Assertion Version="2.0" ID="\_9a71a18c-d7a7-4931-9168-150a8fbc5dc2" IssueInstant="">
+            <saml:Issuer NameQualifier="urn:e-health-suisse:community-index">urn:oid:1.3.6.1.4.1.21367.2017.2.6.2</saml:Issuer>
+            <saml:Statement xsi:type="epr:XACMLPolicySetIdReferenceStatementType">
+              <xacml:PolicySetIdReference>urn:uuid:53ec6db9-f79a-40ce-a8ab-7e5070210bf1</xacml:PolicySetIdReference>
+            </saml:Statement>
+         </saml:Assertion>
+      </epr:DeletePolicyRequest>
+   </soap:Body>
+</soap:Envelope>
+```
\ No newline at end of file
-- 
GitLab