Provider Connect Australia (PCA)
24.2.0.0 - active
Provider Connect Australia (PCA) - Local Development build (v24.2.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Active as of 2024-09-23 |
<CapabilityStatement xmlns="http://hl7.org/fhir">
<id value="pca-publisher-agent"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: CapabilityStatement pca-publisher-agent</b></p><a name="pca-publisher-agent"> </a><a name="hcpca-publisher-agent"> </a><a name="pca-publisher-agent-en-AU"> </a><h2 id="title">PCA Publisher Agent Capability Statement</h2><ul><li>Implementation Guide Version: 24.2.0.0 </li><li>FHIR Version: 4.0.1 </li><li>Supported Formats: <code>application/fhir+json</code>, <code>application/fhir+xml</code></li><li>Supported Patch Formats: </li><li>Published on: 2024-09-23 10:57:22+1000 </li><li>Published by: Australian Digital Health Agency </li></ul><blockquote class="impl-note"><p><strong>Note to Implementers: FHIR Capabilities</strong></p><p>Any FHIR capability may be 'allowed' by the system unless explicitly marked as 'SHALL NOT'. A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.</p></blockquote><h2 id="rest">FHIR RESTful Capabilities</h2><div class="panel panel-default"><div class="panel-heading"><h3 id="mode1" class="panel-title">Mode: <code>server</code></h3></div><div class="panel-body"><div><p>A PCA Publisher Agent manages the service offerings for one publisher organisation.</p>
<p>The PCA service instantiates one PCA Publisher Agent for each participating publisher organisation. That is, each publisher organisation interacts with a PCA Publisher Agent located at a <em>publisher agent base URL</em> that is unique to that organisation.</p>
<p>The <em>publisher agent base URL</em> for a particular organisation is available via the PCA portal on the 'Organisation Details' screen of the publisher organisation.</p>
<p><strong>Publication process</strong></p>
<p>A PCA Publisher Agent creates the <code>Location</code>, <code>HealthcareService</code> and <code>PractitionerRole</code> resources (that are associated with existing <code>Organization</code> and <code>Practitioner</code> resources) that represent their service offerings. These resources are made available to a subscriber organisation when a publisher authorises publication of a <code>HealthcareService</code> or <code>PractitionerRole</code> resource to one or more of the subscriber organisation's partner services.</p>
<p>The authority to publish is represented using <code>Contract</code> resources which are also implemented by the PCA Publisher Agent (see the <a href="CapabilityStatement-pca-publisher-agent.html#contract">Contract resource endpoint</a>).</p>
<p><strong>Identifier disclosure rules</strong></p>
<p>The PCA service enforces certain business rules regarding the disclosure of <em>Identifiers</em> (including subscriber-issued identifiers) in the resources that it makes available to subscribers.</p>
<p>The result of these rules may be that a copy of a resource received by one subscriber may contain <em>Identifiers</em> that are not included in the copy of the same resource that is received by a different subscriber.</p>
<p>In the case of HPI-Is these <em>identifier disclosure rules</em> ensure that relevant legal requirements are complied with.</p>
<p>Other <em>identifier disclosure rules</em> are defined by the PCA operator.</p>
<p>The <em>identifier disclosure rules</em> are applied automatically at the time that the resource is retrieved by the target PCA Subscriber Agent.</p>
<p><strong>Authorisation rules</strong></p>
<p>Authorised client systems are only permitted to interact with a PCA Publisher Agent API where the participating organisation associated with the PCA Publisher Agent has a publisher approval status of 'Approved'.</p>
<p><strong>Resource profiles and extensions</strong></p>
<p>This API specification defines the required resource profiles for each operation. In addition, the PCA Publisher Agent will reject any request to create or update a resource that contains any extensions (including modifier extensions) not explicitly defined in that resource profile.</p>
</div><div class="lead"><em>Security</em></div><div class="row"><div class="col-lg-6">Enable CORS: yes</div><div class="col-lg-6">Security services supported: <code>OAuth</code></div></div><blockquote><div><p>This server implements OAuth2</p>
</div></blockquote><div class="lead"><em>Summary of System-wide Interactions</em></div><ul><li>Supports the <code>search-system</code>interaction described as follows:<div><p><strong>Definition</strong>:<br/>
This operation is a RESTful <em>search</em> interaction (whole system interaction), across multiple resource types (as described in the <a href="https://www.hl7.org/fhir/http.html#search">FHIR specification</a>).</p>
<p><strong>Behaviour</strong>:<br/>
This operation is used by a client system operated by a publisher organisation to get resources that match the specified search parameters and that are within the scope of the publisher organisation.</p>
<p>The following search parameters are supported:</p>
<ul>
<li>
<p><em>_lastUpdated</em> is used to get the resources that have been added or changed since the requesting system last synchronised their local data store with PCA Publisher Agent. This search parameter supports the <code>gt</code> and <code>lt</code> comparison prefixes.</p>
</li>
<li>
<p><em>_type</em> is used to filter the resources returned by their resource type. The available types are:</p>
<ul>
<li><code>HealthcareService</code> (returns resources conforming to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile)</li>
<li><code>PractitionerRole</code> (returns resources conforming to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile)</li>
<li><code>Organization</code> (returns resources conforming to the <a href="StructureDefinition-pca-organization.html">PCA Organization</a> profile)</li>
<li><code>Location</code> (returns resources conforming to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile)</li>
<li><code>Practitioner</code> (returns resources conforming to the <a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a> profile)</li>
<li><code>Provenance</code> (returns resources conforming to the <a href="StructureDefinition-pca-provenance.html">PCA Provenance</a> profile)</li>
<li><code>Contract</code> (returns resources conforming to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile)</li>
<li><code>Task</code> (returns resources conforming to the <a href="StructureDefinition-pca-match-record.html">PCA Match Record</a> profile)</li>
</ul>
</li>
<li>
<p><em>_include</em> (and <em>_include:iterate</em>) are used in order that all the resources that match the <em>_lastUpdated</em> and <em>_type</em> filters will be accompanied, in the result Bundle, with all the other resources which they reference (directly or indirectly).</p>
</li>
</ul>
<p>Note that the use of <em>_include</em> (and <em>_include:iterate</em>) means that a resource may be present in the result <code>Bundle</code> either because it matched the other query parameters or because it was referenced (possibly indirectly) by another resource that matched the other query parameters.</p>
<p>All of the following query parameters are required in order to receive the complete set of resources that have been created or changed since <em>[last_synchronized]</em>:</p>
<p><code>_lastUpdated=[last_synchronized]</code><br/>
<code>_type=HealthcareService,PractitionerRole,Practitioner,Organization,Location,Provenance,Contract,Task </code><br/>
<code>_include=Location:organization </code><br/>
<code>_include=HealthcareService:organization </code><br/>
<code>_include=HealthcareService:location </code><br/>
<code>_include=PractitionerRole:organization </code><br/>
<code>_include=PractitionerRole:location </code><br/>
<code>_include=PractitionerRole:service </code><br/>
<code>_include=PractitionerRole:practitioner </code><br/>
<code>_include=Provenance:target </code><br/>
<code>_include=Contract:subject </code><br/>
<code>_include:iterate=HealthcareService:organization </code><br/>
<code>_include:iterate=HealthcareService:location </code><br/>
<code>_include:iterate=PractitionerRole:organization </code><br/>
<code>_include:iterate=PractitionerRole:location </code><br/>
<code>_include:iterate=PractitionerRole:service </code><br/>
<code>_include:iterate=PractitionerRole:practitioner </code></p>
<p>This operation supports 'paging' (<a href="https://www.hl7.org/fhir/search.html#Paging">see FHIR specification</a>). If there are too many resources to return in one <code>Bundle</code>, the FHIR server adds a <em>next</em> link to the response <code>Bundle</code>. The contents of the result <code>Bundle</code> therefore comprise all instances of the requested resource types whose <em>lastUpdated</em> timestamp is greater than the <lastSync> in the request query expression and less than or equal to <lastInBundle> where <lastInBundle> is the greatest <em>lastUpdated</em> value of all resources included in the result <code>Bundle</code>. The Publisher Agent FHIR server sets the <em>next</em> link to the filter expression that was used in the original request except that <lastSync> is replaced with <lastInBundle>. If the <em>next</em> link is not present in the <code>Bundle</code>, then there are no more service offerings available.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/?[parameters]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>
<p>Success: <code>Bundle</code> that contains zero to many resources (where the resource type was included in the filter expression of the search request) that conform to the following <a href="profiles.html">PCA profiles</a>:</p>
<ul>
<li><code>HealthcareService</code> resources conforming to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile</li>
<li><code>PractitionerRole</code> resources conforming to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile</li>
<li><code>Organization</code> resources conforming to the <a href="StructureDefinition-pca-organization.html">PCA Organization</a> profile</li>
<li><code>Location</code> resources conforming to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile</li>
<li><code>Practitioner</code> resources conforming to the <a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a> profile</li>
<li><code>Provenance</code> resources conforming to the <a href="StructureDefinition-pca-provenance.html">PCA Provenance</a> profile</li>
<li><code>Contract</code> resources conforming to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile</li>
<li><code>Task</code> resources conforming to the <a href="StructureDefinition-pca-match-record.html">PCA Match Record</a> profile</li>
</ul>
</li>
<li>
<p>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</p>
</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain the following <em>scoped role</em>:</p>
<ul>
<li><code>Organization/[id]:PS_Read</code></li>
</ul>
<p>Where [id] <strong>SHALL</strong> identify the <code>Organization</code> associated with the target PCA Publisher Agent.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: Search successfully performed (but may return zero matching results).</li>
<li>Code 403: Server refused to perform the search.</li>
</ul>
</div></li></ul></div></div><h3 id="resourcesCap1">Capabilities by Resource/Profile</h3><h4 id="resourcesSummary1">Summary</h4><p>The summary table lists the resources that are part of this configuration, and for each resource it lists:</p><ul><li>The relevant profiles (if any)</li><li>The interactions supported by each resource (<b><span class="bg-info">R</span></b>ead, <b><span class="bg-info">S</span></b>earch, <b><span class="bg-info">U</span></b>pdate, and <b><span class="bg-info">C</span></b>reate, are always shown, while <b><span class="bg-info">VR</span></b>ead, <b><span class="bg-info">P</span></b>atch, <b><span class="bg-info">D</span></b>elete, <b><span class="bg-info">H</span></b>istory on <b><span class="bg-info">I</span></b>nstance, or <b><span class="bg-info">H</span></b>istory on <b><span class="bg-info">T</span></b>ype are only present if at least one of the resources has support for them.</li><li><span>The required, recommended, and some optional search parameters (if any). </span></li><li>The linked resources enabled for <code>_include</code></li><li>The other resources enabled for <code>_revinclude</code></li><li>The operations on the resource (if any)</li></ul><div class="table-responsive"><table class="table table-condensed table-hover"><thead><tr><th><b>Resource Type</b></th><th><b>Profile</b></th><th class="text-center"><b title="GET a resource (read interaction)">R</b></th><th class="text-center"><b title="GET all set of resources of the type (search interaction)">S</b></th><th class="text-center"><b title="PUT a new resource version (update interaction)">U</b></th><th class="text-center"><b title="POST a new resource (create interaction)">C</b></th><th><b title="Required and recommended search parameters">Searches</b></th><th><code><b>_include</b></code></th><th><code><b>_revinclude</b></code></th><th><b>Operations</b></th></tr></thead><tbody><tr><td><a href="#Organization1-1">Organization</a></td><td><a href="StructureDefinition-pca-organization.html">http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-organization</a></td><td class="text-center">y</td><td class="text-center"></td><td class="text-center"></td><td class="text-center"></td><td></td><td/><td/><td/></tr><tr><td><a href="#Location1-2">Location</a></td><td><a href="StructureDefinition-pca-location.html">http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-location</a></td><td class="text-center">y</td><td class="text-center"></td><td class="text-center">y</td><td class="text-center">y</td><td>organization, status, _lastUpdated</td><td/><td/><td/></tr><tr><td><a href="#HealthcareService1-3">HealthcareService</a></td><td> </td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center">y</td><td>_profile, active, organization, service-catgeory, coverage-area.location.address-postalcode</td><td/><td/><td/></tr><tr><td><a href="#PractitionerRole1-4">PractitionerRole</a></td><td><a href="StructureDefinition-pca-practitioner-role.html">http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner-role</a></td><td class="text-center">y</td><td class="text-center"></td><td class="text-center">y</td><td class="text-center">y</td><td>_lastUpdated, _id, active, identifier, organization, practitioner, service</td><td/><td/><td/></tr><tr><td><a href="#Practitioner1-5">Practitioner</a></td><td><a href="StructureDefinition-pca-practitioner.html">http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner</a></td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center"></td><td class="text-center"></td><td>identifier</td><td/><td/><td/></tr><tr><td><a href="#Provenance1-6">Provenance</a></td><td><a href="StructureDefinition-pca-provenance.html">http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-provenance</a></td><td class="text-center">y</td><td class="text-center"></td><td class="text-center"></td><td class="text-center"></td><td></td><td/><td/><td/></tr><tr><td><a href="#Contract1-7">Contract</a></td><td> </td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center">y</td><td>_profile, subject, version</td><td/><td/><td/></tr><tr><td><a href="#Task1-8">Task</a></td><td><a href="StructureDefinition-pca-match-record.html">http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-match-record</a></td><td class="text-center">y</td><td class="text-center"></td><td class="text-center"></td><td class="text-center"></td><td></td><td/><td/><td/></tr></tbody></table></div><hr/><div class="panel panel-default"><div class="panel-heading"><h4 id="Organization1-1" class="panel-title"><span style="float: right;">Resource Conformance: supported </span>Organization</h4></div><div class="panel-body"><div class="container"><div class="row"><div class="col-lg-6"><span class="lead">Base System Profile</span><br/><a href="StructureDefinition-pca-organization.html">PCA Organization</a></div><div class="col-lg-3"><span class="lead">Profile Conformance</span><br/><b>SHALL</b></div><div class="col-lg-3"><span class="lead">Reference Policy</span><br/></div></div><p/><div class="row"><div class="col-lg-6"><span class="lead">Interaction summary</span><br/><ul><li>Supports <br/><code>read</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>read</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#read">FHIR specification</a>) of an <code>Organization</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation retrieves an identified <code>Organization</code> resource that conforms to the <a href="StructureDefinition-pca-organization.html">PCA Organization</a> profile.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<p><code>GET [publisher agent base url]/Organization/[id]</code></p>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the <code>Organization</code> resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Organization</code> resource that conforms to the <a href="StructureDefinition-pca-organization.html">PCA Organization</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_Read</code></li>
<li><code>Location/[id]:PS_Read</code></li>
<li><code>HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the target <code>Organization</code> being read.</p>
<p>if a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify any <code>Location</code> where its <em>managingOrganisation</em> references the target <code>Organization</code> being read.</p>
<p>if a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify any <code>HealthcareService</code> where its <em>providedBy</em> references the target <code>Organization</code> being read.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 404: The resource was not found.</li>
</ul>
</div></li></ul></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>This section defines the supported interactions for the <a href="StructureDefinition-pca-organization.html">PCA Organization</a> profile of the <code>Organization</code> resource type.</p>
</div></blockquote></div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Location1-2" class="panel-title"><span style="float: right;">Resource Conformance: supported </span>Location</h4></div><div class="panel-body"><div class="container"><div class="row"><div class="col-lg-6"><span class="lead">Base System Profile</span><br/><a href="StructureDefinition-pca-location.html">PCA Location</a></div><div class="col-lg-3"><span class="lead">Profile Conformance</span><br/><b>SHALL</b></div><div class="col-lg-3"><span class="lead">Reference Policy</span><br/></div></div><p/><div class="row"><div class="col-lg-6"><span class="lead">Interaction summary</span><br/><ul><li>Supports <br/><code>create</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>create</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#create">FHIR specification</a>) of a <code>Location</code> resource conforming to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</p>
<p><strong>Behaviour</strong>:</p>
<p>If any of the following data validation rules are violated in the input resource then the request is rejected and the error code 422 is returned:</p>
<ul>
<li>The resource <strong>SHALL</strong> conform to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</li>
<li><em>id</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.versionId</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.lastUpdated</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>identifier:pca-li</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>providedBy</em> <strong>SHALL</strong> reference an existing <code>Organization</code> within the scope of the requesting system.</li>
<li><em>status</em> <strong>SHALL NOT</strong> use the code 'suspended'.</li>
<li>If <em>type</em> is not present, then <em>address</em> <strong>SHALL</strong> be present.</li>
</ul>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>POST [publisher agent base url]/Location</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li><code>Location</code> resource that conforms to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the new <code>Location</code> resource.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Location</code> resource that conforms to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain the following <em>scoped role</em>:</p>
<ul>
<li><code> Organization/[id]:PCA:Om</code></li>
<li><code> Organization/[id]:PCA:Hsm</code></li>
<li><code> Organization/[id]:PS_ServicesMgr</code></li>
</ul>
<p>Where [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>managingOrganization</em> in the new <code>Location</code>.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 201: The resource was successfully created.</li>
<li>Code 400: The input resource could not be parsed or failed basic FHIR validation rules.</li>
<li>Code 404: The resource type is not supported, or not a FHIR end-point.</li>
<li>Code 422: The input resource violated applicable FHIR profiles or server data validation rules.</li>
</ul>
</div><code>read</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>read</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#read">FHIR specification</a>) of a <code>Location</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation retrieves an identified <code>Location</code> resource that conforms to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/Location/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the <code>Location</code> resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Location</code> resource that conforms to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain the following <em>scoped role</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_Read</code></li>
<li><code>Location/[id]:PS_Read</code></li>
<li><code>HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>managingOrganization</em> in the target <code>Location</code> being read.</p>
<p>if a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> being read.</p>
<p>if a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify a <code>HealthcareService</code> where its <em>location</em> references the target <code>Location</code> being read.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 404: The resource was not found.</li>
</ul>
</div><code>update</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>update</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#update">FHIR specification</a>) of a <code>Location</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:</p>
<ul>
<li>The resource <strong>SHALL</strong> conform to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</li>
<li><em>id</em> <strong>SHALL</strong> be identical to the value in the version of the <code>Location</code> identified in the 'if-match' HTTP header.</li>
<li><em>meta.versionId</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.lastUpdated</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>managingOrganization</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>Location</code> identified in the 'if-match' HTTP header.</li>
<li><em>identifier:pca-li</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>Location</code> identified in the 'if-match' HTTP header.</li>
<li><em>status</em> <strong>SHALL NOT</strong> use the code 'suspended'.</li>
<li>If <em>type</em> is not present, then <em>address</em> <strong>SHALL</strong> be present.</li>
<li>If <em>status</em> is 'inactive', then all healthcare services linked to the location <strong>SHALL</strong> have an <em>active</em> value of 'false'.</li>
</ul>
<p>If the 'if-match' HTTP header is not provided in the request, then the PCA Publisher Agent will reject the request and return the error code 400.</p>
<p>If the 'if-match' HTTP header does not match the current version, then the PCA Publisher Agent will reject the request and return the error code 412.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>PUT [publisher agent base url]/Location/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
<li><code>if-match [version id]</code> where [version id] is the version of the <code>Location</code> being updated.</li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li><code>Location</code> resource that conforms to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the <code>Location</code> resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Location</code> resource that conforms to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code> Organization/[id]:PCA:Om</code></li>
<li><code> Organization/[id]:PCA:Hsm</code></li>
<li><code> Location/[id]:PCA:Hsm</code></li>
<li><code> Organization/[id]:PS_ServiceMgr</code></li>
<li><code> Location/[id]:PS_ServiceMgr</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>managingOrganization</em> in the target <code>Location</code> being updated.</p>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify the target <code>Location</code> being updated.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 400: Client error: request did not include the <em>if-match</em> HTTP header.</li>
<li>Code 404: The resource was not found.</li>
<li>Code 412: The version id given in the <em>if-Match</em> HTTP request header does not match the current version.</li>
<li>Code 422: The input resource violated applicable FHIR profiles or server data validation rules.</li>
</ul>
</div></li></ul></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>This section defines the supported interactions for the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile of the <code>Location</code> resource type.</p>
<p>A <code>Location</code> resource conforming to the <a href="StructureDefinition-pca-location.html">PCA Location</a> profile represents a location at which healthcare services are offered by a PCA publisher.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/location.html#search">organization</a></td><td><code>reference</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/location.html#search">status</a></td><td><code>token</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/resource.html#search">_lastUpdated</a></td><td><code>date</code></td><td><div/></td></tr></tbody></table></div><div class="col-lg-5"> </div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="HealthcareService1-3" class="panel-title"><span style="float: right;">Resource Conformance: supported </span>HealthcareService</h4></div><div class="panel-body"><div class="container"><div class="row"><div class="col-lg-4"><span class="lead">Core FHIR Resource</span><br/><a href="http://hl7.org/fhir/R4/healthcareservice.html">HealthcareService</a></div><div class="col-lg-4"><span class="lead">Reference Policy</span><br/></div><div class="col-lg-4"><span class="lead">Interaction summary</span><br/><ul><li>Supports <br/><code>create</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>create</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#create">FHIR specification</a>) of a <code>HealthcareService</code> resource conforming to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile.</p>
<p><strong>Behaviour</strong>:</p>
<p>If any of the following data validation rules are violated in the input resource then the request is rejected and the error code 422 is returned:</p>
<ul>
<li>The resource <strong>SHALL</strong> conform to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile.</li>
<li><em>id</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.versionId</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.lastUpdated</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>identifier:pca-hsi</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>providedBy</em> <strong>SHALL</strong> reference an existing <code>Organization</code> within the scope of the requesting system.</li>
<li><em>location</em> <strong>SHALL</strong> reference an existing <code>Location</code> within the scope of the requesting system.</li>
<li><em>location</em> <strong>SHALL</strong> reference a <code>Location</code> for which <em>managingOrganization</em> references the same <code>Organization</code> as is referenced by <em>providedBy</em>.</li>
<li>One and only one <em>type</em> <strong>SHALL</strong> use the <em>iso21090-preferred</em> extension.</li>
<li><em>coverageArea</em> <strong>SHALL</strong> only be present if <em>eligibility</em> contains the 'coverage-restrictedResidents' code, and/or if the <em>type</em> element of the referenced <em>location</em> contains either the 'MOBL' (mobile) or 'VI' (virtual) code.</li>
<li>If present, <em>notAvailable.during</em> <strong>SHALL</strong> contain a complete date and <strong>SHALL NOT</strong> include time or timezone data.</li>
<li>If present, <em>availableTime.during</em> elements (including <em>availableTime</em> elements using the <em>availableTimeApplicability</em> extension) <strong>SHALL</strong> contain a complete date and <strong>SHALL NOT</strong> include time or timezone data.</li>
<li>If present, <em>availableTime</em> elements using the <em>availableTimeApplicability</em> extension <strong>SHALL</strong> include both a start and end date for the <em>during</em> element.</li>
<li>If present, <em>pca-active-period</em> SHALL have at least <em>value[x].start</em> or <em>value[x].end</em>.</li>
<li>If present, <em>pca-active-period.value[x].start</em> SHALL be later than '1900-01-01'.</li>
<li>If present, <em>pca-active-period.value[x].start</em> SHALL be equal to, or earlier than, the <em>period.start</em> or <em>period.end</em> values of any <code>PractitionerRole`` resources that reference this </code>HealthcareService```.</li>
<li>If present, <em>pca-active-period.value[x].end</em> SHALL be no more than 5 years from the current date.</li>
<li>If present, <em>pca-active-period.value[x].end</em> SHALL be equal to, or later than, the <em>period.start</em> or <em>period.end</em> values of any <code>PractitionerRole`` resources that reference this </code>HealthcareService```.</li>
<li><em>type</em> <strong>SHALL</strong> use a code that is not already being used by any existing <code>PCA Healthcare Service</code> resources for the same <code>PCA Location</code>.</li>
</ul>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>POST [publisher agent base url]/HealthcareService</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li><code>HealthcareService</code> resource that conforms to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile.</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the new <code>HealthcareService</code> resource.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>HealthcareService</code> resource that conforms to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code> Organization/[id]:PCA:Om</code></li>
<li><code> Organization/[id]:PCA:Hsm</code></li>
<li><code> Location/[id]:PCA:Hsm</code></li>
<li><code> Organization/[id]:PS_ServicesMgr</code></li>
<li><code> Location/[id]:PS_ServicesMgr</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in the new <code>HealthcareService</code>.</p>
<p>if a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in the new <code>HealthcareService</code>.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 201: The resource was successfully created.</li>
<li>Code 400: The input resource could not be parsed or failed basic FHIR validation rules.</li>
<li>Code 404: The resource type is not supported, or not a FHIR end-point.</li>
<li>Code 422: The input resource violated applicable FHIR profiles or server data validation rules.</li>
</ul>
</div><code>read</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>read</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#read">FHIR specification</a>) of a <code>HealthcareService</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation is used to retrieve an identified <code>HealthcareService</code> resource that conforms to one of the following profiles:</p>
<ul>
<li><a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a></li>
<li><a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a></li>
</ul>
<p>Different authorisation rules apply depending on the profile of the <code>HealthcareService</code> resource being retrieved; see the 'Required OAuth 2.0 scopes' section below.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/HealthcareService/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the <code>HealthcareService</code> resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>HealthcareService</code> resource that conforms to either the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> or <a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code> Organization/[id]:PS_Read</code></li>
<li><code> Location/[id]:PS_Read</code></li>
<li><code> HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>When retrieving a <code>HealthcareService</code> resource that conforms to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile:</p>
<ul>
<li>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in the target <code>HealthcareService</code> being read.</li>
<li>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in the target <code>HealthcareService</code> being read.</li>
<li>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the target <code>HealthcareService</code> being read.</li>
</ul>
<p>When retrieving a <code>HealthcareService</code> resource that conforms to the <a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a> profile:</p>
<ul>
<li>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the publishing organisation associated with the target PCA Publisher Agent.</li>
<li>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify any existing <code>Location</code> within the scope of the requesting system.</li>
<li>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify any existing <code>HealthcareService</code> within the scope of the requesting system.</li>
</ul>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 404: The resource was not found.</li>
</ul>
</div><code>update</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>update</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#update">FHIR specification</a>) of a <code>HealthcareService</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:</p>
<ul>
<li>The resource <strong>SHALL</strong> conform to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile.</li>
<li><em>id</em> <strong>SHALL</strong> be identical to the value in the version of the <code>HealthcareService</code> identified in the 'if-match' HTTP header.</li>
<li><em>meta.versionId</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.lastUpdated</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>providedBy</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>HealthcareService</code> identified in the 'if-match' HTTP header.</li>
<li><em>location</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>HealthcareService</code> identified in the 'if-match' HTTP header.</li>
<li><em>identifier:pca-hsi</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>HealthcareService</code> identified in the 'if-match' HTTP header.</li>
<li>One and only one <em>type</em> <strong>SHALL</strong> use the <em>iso21090-preferred</em> extension.</li>
<li><em>coverageArea</em> <strong>SHALL</strong> only be present if <em>eligibility</em> contains the 'coverage-restrictedResidents' code, and/or if the <em>type</em> element of the referenced <em>location</em> contains either the 'MOBL' (mobile) or 'VI' (virtual) code.</li>
<li>If present, <em>notAvailable.during</em> <strong>SHALL</strong> contain a complete date and <strong>SHALL NOT</strong> include time or timezone data.</li>
<li>If present, <em>availableTime.during</em> elements (including <em>availableTime</em> elements using the <em>availableTimeApplicability</em> extension) <strong>SHALL</strong> contain a complete date and <strong>SHALL NOT</strong> include time or timezone data.</li>
<li>If present, <em>availableTime</em> elements using the <em>availableTimeApplicability</em> extension <strong>SHALL</strong> include both a start and end date for the <em>during</em> element.</li>
<li>If present, <em>availableTime</em> elements using the <em>availableTimeApplicability</em> extension <strong>SHALL</strong> include both a start and end date for the <em>during</em> element.</li>
<li>If present, <em>pca-active-period</em> SHALL have at least <em>value[x].start</em> or <em>value[x].end</em>.</li>
<li>If present, <em>pca-active-period.value[x].start</em> SHALL be later than '1900-01-01'.</li>
<li>If present, <em>pca-active-period.value[x].start</em> SHALL be equal to, or earlier than, the <em>period.start</em> or <em>period.end</em> values of any <code>PractitionerRole`` resources that reference this </code>HealthcareService```.</li>
<li>If present, <em>pca-active-period.value[x].end</em> SHALL be no more than 5 years from the current date.</li>
<li>If present, <em>pca-active-period.value[x].end</em> SHALL be equal to, or later than, the <em>period.start</em> or <em>period.end</em> values of any <code>PractitionerRole`` resources that reference this </code>HealthcareService```.</li>
<li><em>type</em> <strong>SHALL</strong> use a code that is not already being used by any existing <code>PCA Healthcare Service</code> resources for the same <code>PCA Location</code>.</li>
</ul>
<p>If the 'if-match' HTTP header is not provided in the request, then the PCA Publisher Agent will reject the request and return the error code 400.</p>
<p>If the 'if-match' HTTP header does not match the current version, then the PCA Publisher Agent will reject the request and return the error code 412.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>PUT [publisher agent base url]/HealthcareService/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
<li><code>if-match [version id]</code> where [version id] is the version of the <code>HealthcareService</code> being updated.</li>
</ul>
<p><strong>Request Body</strong>:<br/>
<code>HealthcareService</code> resource that conforms to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile.</p>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the <code>HealthcareService</code> resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>HealthcareService</code> resource that conforms to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code> Organization/[id]:PCA:Om</code></li>
<li><code> Organization/[id]:PCA:Hsm</code></li>
<li><code> Location/[id]:PCA:Hsm</code></li>
<li><code> HealthcareService/[id]:PCA:Hsm</code></li>
<li><code> Organization/[id]:PS_ServiceMgr</code></li>
<li><code> Location/[id]:PS_ServiceMgr</code></li>
<li><code> HealthcareService/[id]:PS_ServiceMgr</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in the target <code>HealthcareService</code> being updated.</p>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in the target <code>HealthcareService</code> being updated.</p>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the target <code>HealthcareService</code> being updated.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 400: Client error: request did not include the <em>if-match</em> HTTP header.</li>
<li>Code 404: The resource was not found.</li>
<li>Code 412: The version id given in the <em>if-Match</em> HTTP request header does not match the current version.</li>
<li>Code 422: The input resource violated applicable FHIR profiles or server data validation rules.</li>
</ul>
</div><code>search-type</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>search</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#search">FHIR specification</a>) for <code>HealthcareService</code> resources that conform to the <a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a> profile.</p>
<p><strong>Behaviour</strong>:</p>
<p>The operation is used to find <code>HealthcareService</code> resources that that conform to the <a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a> profile and that match the search parameters.<br/>
Note that all <a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a> resources in the PCA service are accessible to all authorised client systems.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/HealthcareService/{?[parameters]}</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: Bundle that contains zero to many <code>HealthcareService</code> resources that conform to the <a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code> Organization/[id]:PCA:Om</code></li>
<li><code> Organization/[id]:PCA:Hsm</code></li>
<li><code> Location/[id]:PCA:Hsm</code></li>
<li><code> HealthcareService/[id]:PCA:Hsm</code></li>
<li><code> Organization/[id]:PS_Read</code></li>
<li><code> Location/[id]:PS_Read</code></li>
<li><code> HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the publishing organisation associated with the target PCA Publisher Agent.</p>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify any existing <code>Location</code> within the scope of the requesting system.</p>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify any existing <code>HealthcareService</code> within the scope of the requesting system.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: Search successfully performed (but may return zero matching results).</li>
<li>Code 403: Server refused to perform the search.</li>
</ul>
</div></li></ul></div></div><p/><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>This section defines the supported interactions for the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile and the <a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a> profile of the <code>HealthcareService</code> resource type.</p>
<p>A <code>HealthcareService</code> resource conforming to the <a href="StructureDefinition-pca-healthcare-service.html">PCA Healthcare Service</a> profile describes a healthcare service offered at a location by a PCA publisher.</p>
<p>A <code>HealthcareService</code> resource conforming to the <a href="StructureDefinition-pca-partner-service.html">PCA Partner Service</a> profile describes a partner service offered by a subscriber to which PCA publishers can publish their service offerings.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/resource.html#search">_profile</a></td><td><code>uri</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/healthcareservice.html#search">active</a></td><td><code>token</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/healthcareservice.html#search">organization</a></td><td><code>reference</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/healthcareservice.html#search">service-catgeory</a></td><td><code>token</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td>coverage-area.location.address-postalcode</td><td><code>string</code></td><td><div/></td></tr></tbody></table></div><div class="col-lg-5"> </div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="PractitionerRole1-4" class="panel-title"><span style="float: right;">Resource Conformance: supported </span>PractitionerRole</h4></div><div class="panel-body"><div class="container"><div class="row"><div class="col-lg-6"><span class="lead">Base System Profile</span><br/><a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a></div><div class="col-lg-3"><span class="lead">Profile Conformance</span><br/><b>SHALL</b></div><div class="col-lg-3"><span class="lead">Reference Policy</span><br/></div></div><p/><div class="row"><div class="col-lg-6"><span class="lead">Interaction summary</span><br/><ul><li>Supports <br/><code>create</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>create</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#create">FHIR specification</a>) of a <code>PractitionerRole</code> resource conforming to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile.</p>
<p><strong>Behaviour</strong>:</p>
<p>If the <code>Organization</code> associated with the target PCA Publisher Agent has not been approved to participate in the PCA service, then the request will be rejected and the error code 422 will be returned.</p>
<p>If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:</p>
<ul>
<li>The resource <strong>SHALL</strong> conform to the profile <a href="StructureDefinition-pca-practitioner-role.html">http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner-role</a>.</li>
<li><em>id</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.versionId</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.lastUpdated</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>identifier:pca-pri</em> <strong>SHALL</strong> not be present.</li>
<li><em>active</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>organization</em> <strong>SHALL</strong> not be present.</li>
<li><em>location</em> <strong>SHALL</strong> not be present.</li>
<li><em>healthcareService</em> <strong>SHALL</strong> reference an existing <code>HealthcareService</code> that exists within the target PCA Publisher Agent.</li>
<li><em>practitioner</em> <strong>SHALL</strong> reference an existing <code>Practitioner</code> that exists within the PCA service.</li>
<li>if <em>coding:hiServiceRole</em> is present and has the value 'ProvidesHealthcareToIndividuals', then the <code>Organization</code> associated with the target PCA Publisher Agent <strong>SHALL</strong> have authorised the Agency as a Contracted Service Provider (CSP).</li>
<li>If present, <em>period.start</em> SHALL be later than '1900-01-01'.</li>
<li>If present, <em>period.start</em> SHALL be equal to, or later than, the <em>pca-active-period.value[x].start</em> value (if present) of the <code>HealthcareService</code> referenced by the <em>healthcareService</em> element.</li>
<li>If present, <em>period.end</em> SHALL be no more than 5 years from the current date.</li>
<li>If present, <em>period.end</em> SHALL be equal to, or earlier than, the <em>pca-active-period.value[x].end</em> value (if present) of the <code>HealthcareService</code> referenced by the <em>healthcareService</em> element.</li>
</ul>
<p>Note: While the referenced <code>Practitioner</code> resource is managed via the PCA portal, it is also instantiated as a read-only 'proxy' within the PCA Publisher Agent. This means that the reference to <code>Practitioner</code> contained in the <code>PractitionerRole</code> is a local reference that is resolved within the PCA Publisher Agent. This 'proxy' has the same id as the resource within the PCA Portal for which it is a proxy.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>POST [publisher agent base url]/PractitionerRole</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li><code>PractitionerRole</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile.</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the new <code>PractitionerRole</code> resource.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>PractitionerRole</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code> Organization/[id]:PCA:Om</code></li>
<li><code> Organization/[id]:PCA:Hsm</code></li>
<li><code> Location/[id]:PCA:Hsm</code></li>
<li><code> HealthcareService/[id]:PCA:Hsm</code></li>
<li><code> Organization/[id]:PS_ServicesMgr</code></li>
<li><code> Location/[id]:PS_ServicesMgr</code></li>
<li><code> HealthcareService/[id]:PS_ServicesMgr</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> of the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the new <code>PractitionerRole</code>.</p>
<p>if a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> of the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the new <code>PractitionerRole</code>.</p>
<p>if a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the new <code>PractitionerRole</code>.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 201: The resource was successfully created.</li>
<li>Code 400: The input resource could not be parsed or failed basic FHIR validation rules.</li>
<li>Code 404: The resource type is not supported, or not a FHIR end-point.</li>
<li>Code 422: The input resource violated applicable FHIR profiles or server data validation rules.</li>
</ul>
</div><code>read</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>read</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#read">FHIR specification</a>) of a <code>PractitionerRole</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation retrieves an identified <code>PractitionerRole</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/PractitionerRole/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the <code>PractitionerRole</code> resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>PractitionerRole</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_Read</code></li>
<li><code>Location/[id]:PS_Read</code></li>
<li><code>HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the target <code>PractitionerRole</code> being read.</p>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the target <code>PractitionerRole</code> being read.</p>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the target <code>PractitionerRole</code> being read.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 404: The resource was not found.</li>
</ul>
</div><code>update</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>update</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#update">FHIR specification</a>) of a <code>PractitionerRole</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>If the <code>Organization</code> associated with the target PCA Publisher Agent has not been approved to participate in the PCA service, then the request will be rejected and the error code 422 will be returned.</p>
<p>If any of the following data validation rules are violated in the input resource then the request is rejected and the error code 422 is returned:</p>
<ul>
<li>The resource <strong>SHALL</strong> conform to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitoner Role</a> profile.</li>
<li><em>id</em> <strong>SHALL</strong> be identical to the value in the version of the <code>PractitionerRole</code> identified in the 'if-match' HTTP header.</li>
<li><em>meta.versionId</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.lastUpdated</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>identifier:pca-pri</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>PractitionerRole</code> identified in the 'if-match' HTTP header.</li>
<li><em>active</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>organization</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>PractitionerRole</code> identified in the 'if-match' HTTP header.</li>
<li><em>location</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>PractitionerRole</code> identified in the 'if-match' HTTP header.</li>
<li><em>healthcareService</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>PractitionerRole</code> identified in the 'if-match' HTTP header.</li>
<li><em>practitioner</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>PractitionerRole</code> identified in the 'if-match' HTTP header.</li>
<li>if <em>coding:hiServiceRole</em> is present and has the value 'ProvidesHealthcareToIndividuals', then the Organization associated with the target PCA Publisher Agent <strong>SHALL</strong> have authorised the Agency as a Contracted Service Provider (CSP).</li>
<li>If present, <em>period.start</em> SHALL be later than '1900-01-01'.</li>
<li>If present, <em>period.start</em> SHALL be equal to, or later than, the <em>pca-active-period.value[x].start</em> value (if present) of the <code>HealthcareService</code> referenced by the <em>healthcareService</em> element.</li>
<li>If present, <em>period.end</em> SHALL be no more than 5 years from the current date.</li>
<li>If present, <em>period.end</em> SHALL be equal to, or earlier than, the <em>pca-active-period.value[x].end</em> value (if present) of the <code>HealthcareService</code> referenced by the <em>healthcareService</em> element.</li>
</ul>
<p>If the 'if-match' HTTP header is not provided in the request, then the PCA Publisher Agent will reject the request and return the error code 400.</p>
<p>If the 'if-match' HTTP header does not match the current version, then the PCA Publisher Agent will reject the request and return the error code 412.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>PUT [publisher agent base url]/PractitionerRole/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
<li><code>if-match [version id]</code> where [version id] is the version of the PractitionerRole being updated.</li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li><code>PractitionerRole</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practtiioner Role</a> profile.</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the PractitionerRole resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>PractitionerRole</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_PractitionerMgr</code></li>
<li><code>Location/[id]:PS_PractitionerMgr</code></li>
<li><code>HealthcareService/[id]:PS_PractitionerMgr</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the target <code>PractitionerRole</code> being updated.</p>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the target <code>PractitionerRole</code> being updated.</p>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>HealthcareService</code> referenced by <em>healthcareService</em> in the target <code>PractitionerRole</code> being updated.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 400: Client error: request did not include the <em>if-match</em> HTTP header.</li>
<li>Code 404: The resource was not found.</li>
<li>Code 412: The version id given in the <em>if-Match</em> HTTP request header does not match the current version</li>
<li>Code 422: The input resource violated applicable FHIR profiles or server data validation rules.</li>
</ul>
</div></li></ul></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>This section defines the supported interactions for the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile of the <code>PractitionerRole</code> resource type.</p>
<p>Each <code>PractitionerRole</code> resource conforming to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Practitioner Role</a> profile describes a practitioner in a role at a healthcare service.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/resource.html#search">_lastUpdated</a></td><td><code>date</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/resource.html#search">_id</a></td><td><code>token</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/practitionerrole.html#search">active</a></td><td><code>token</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/practitionerrole.html#search">identifier</a></td><td><code>token</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/practitionerrole.html#search">organization</a></td><td><code>reference</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/practitionerrole.html#search">practitioner</a></td><td><code>reference</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/practitionerrole.html#search">service</a></td><td><code>reference</code></td><td><div/></td></tr></tbody></table></div><div class="col-lg-5"> </div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Practitioner1-5" class="panel-title"><span style="float: right;">Resource Conformance: supported </span>Practitioner</h4></div><div class="panel-body"><div class="container"><div class="row"><div class="col-lg-6"><span class="lead">Base System Profile</span><br/><a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a></div><div class="col-lg-3"><span class="lead">Profile Conformance</span><br/><b>SHALL</b></div><div class="col-lg-3"><span class="lead">Reference Policy</span><br/></div></div><p/><div class="row"><div class="col-lg-6"><span class="lead">Interaction summary</span><br/><ul><li>Supports <br/><code>read</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>read</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#read">FHIR specification</a>) of a <code>Practitioner</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation retrieves an identified <code>Practitioner</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a> profile.</p>
<p>The PCA Publisher Agent will include a <em>identifier:hpii</em> in the <code>Practitioner</code> resource returned if <strong>all</strong> of the following conditions are met:</p>
<ul>
<li>HPI-I and Ahpra number match in the HI service.</li>
<li>The <code>Organization</code> on whose behalf the request is made is a publisher organisation.</li>
<li>The <code>Organization</code> on whose behalf the request is made has been approved to participate in the PCA service.</li>
<li>The <code>Organization</code> on whose behalf the request is made has authorised the Agency as a Contracted Service Provider (CSP).</li>
<li>The client system is authorised to read an existing PractitionerRole where <em>practitioner</em> references the <code>Practitioner</code> resource returned <strong>and</strong> where <em>coding:hiServiceRole</em> has the value 'ProvidesHealthcareToIndividuals'.</li>
</ul>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/Practitioner/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the <code>Practitioner</code> resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Practitioner</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_Read</code></li>
<li><code>Location/[id]:PS_Read</code></li>
<li><code>HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the publishing organisation associated with the requesting system.</p>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify any existing <code>Location</code> within the scope of the requesting system.</p>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify any existing <code>HealthcareService</code> within the scope of the requesting system.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 404: The resource was not found.</li>
</ul>
</div><code>search-type</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>search</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#search">FHIR specification</a>) for a <code>Practitioner</code> resource for either a given Ahpra registration number or HPI-I identifier that conforms to the <a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a> profile.</p>
<p><strong>Behaviour</strong>:</p>
<p>The operation is used to find a <code>Practitioner</code> resource given their Ahpra registration number or HPI-I identifier. The PCA Publisher Agent will return zero or one <code>Practitioner</code> resource that conforms to the <a href="StructureDefinition-pca-partner-service.html">PCA Practitioner</a> profile.</p>
<p>The operation is only available to client systems acting on behalf of publisher organisations (see ‘Required OAuth 2.0 scopes’ below).</p>
<p>The PCA Publisher Agent will reject requests and return the error code 403 if the identifier query string is not present, or if the identifier query string does not qualify the identifier value with one of the following systems:</p>
<ul>
<li>http://hl7.org.au/id/ahpra-registration-number (when searching on Ahpra registration number)</li>
<li>http://ns.electronichealth.net.au/id/hi/hpii/1.0 (when searching on HPI-I)</li>
</ul>
<p>The PCA Publisher Agent return a <code>Bundle</code> containing exactly one <code>Practitioner</code> resource if the identifier query string matches the same record in either the Ahpra Register of practitioners or the HI Service, else it will return a <code>Bundle</code> contanining zero results.</p>
<p>The PCA Publisher Agent will only support searching by HPI-I if the client system’s organisation has has made the PCA a Contracted Service Provider (CSP).</p>
<p>The PCA Publisher Agent will include the <em>identifier:hpii</em> element in the <code>Practitioner</code> resource returned if the client system’s organisation has has made the PCA a Contracted Service Provider (CSP) and the <code>Practitioner</code> resource's <em>coding:hiServiceRole</em> element has the value ‘ProvidesHealthcareToIndividuals’.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/Practitioner/{?[parameter]}</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: Bundle that contains zero to one <code>Practitioner</code> resources that conforms to the <a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_ServicesMgr</code></li>
<li><code>Location/[id]:PS_ServicesMgr</code></li>
<li><code>HealthcareService/[id]:PS_ServicesMgr</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the publishing organisation associated with the requesting system.</p>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify any existing <code>Location</code> within the scope of the requesting system.</p>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify any existing <code>HealthcareService</code> within the scope of the requesting system.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: Search successfully performed (but may return zero matching results).</li>
<li>Code 403: Server refused to perform the search.</li>
</ul>
</div></li></ul></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>This section defines the supported interactions for the <a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a> profile of the <code>Practitioner</code> resource type.</p>
<p>Each <code>Practitioner</code> resource conforming the <a href="StructureDefinition-pca-practitioner.html">PCA Practitioner</a> profile is a read-only proxy for a corresponding <code>Practitioner</code> resource managed by the PCA portal.</p>
<p>Each 'proxy' has the same <em>id</em> and <em>versionId</em> as the resource within the PCA portal for which it is a proxy.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/practitioner.html#search">identifier</a></td><td><code>token</code></td><td><div/></td></tr></tbody></table></div><div class="col-lg-5"> </div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Provenance1-6" class="panel-title"><span style="float: right;">Resource Conformance: supported </span>Provenance</h4></div><div class="panel-body"><div class="container"><div class="row"><div class="col-lg-6"><span class="lead">Base System Profile</span><br/><a href="StructureDefinition-pca-provenance.html">PCA Provenance</a></div><div class="col-lg-3"><span class="lead">Profile Conformance</span><br/><b>SHALL</b></div><div class="col-lg-3"><span class="lead">Reference Policy</span><br/></div></div><p/><div class="row"><div class="col-lg-6"><span class="lead">Interaction summary</span><br/><ul><li>Supports <br/><code>read</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>read</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#read">FHIR specification</a>) of a <code>Provenance</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation retrieves an identified <code>Provenance</code> resource that conforms to the <a href="StructureDefinition-pca-practitioner-role.html">PCA Provenance</a> profile.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/Provenance/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Provenance</code> resource that conforms to the <a href="StructureDefinition-pca-provenance.html">PCA Provenance</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_Read</code></li>
<li><code>Location/[id]:PS_Read</code></li>
<li><code>HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>If the <code>Provenance</code> resource being read has a <em>target</em> that references an <code>Organization</code>, then:</p>
<ul>
<li>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>target</em> in the <code>Provenance</code> resource being read.</li>
</ul>
<p>If the <code>Provenance</code> resource being read has a <em>target</em> that references a <code>Practitioner</code>, then:</p>
<ul>
<li>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the publishing organisation associated with the requesting system.</li>
<li>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify any existing <code>Location</code> within the scope of the requesting system.</li>
<li>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify any existing <code>HealthcareService</code> within the scope of the requesting system.</li>
</ul>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 404: The resource was not found.</li>
</ul>
</div></li></ul></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>This section defines the supported interactions for the <a href="StructureDefinition-pca-provenance.html">PCA Provenance</a> profile of the <code>Provenance</code> resource type.</p>
<p>Each <code>Provenance</code> resource conforming to the <a href="StructureDefinition-pca-provenance.html">PCA Provenance</a> profile represents an activity performed by the PCA service (conditionally on behalf of a participating organisation when the target element references a PCA Organization resource) whereby specific data elements of a PCA Organization or PCA Practitioner resource have been initially retrieved, updated or verified from an external system of record.</p>
</div></blockquote></div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Contract1-7" class="panel-title"><span style="float: right;">Resource Conformance: supported </span>Contract</h4></div><div class="panel-body"><div class="container"><div class="row"><div class="col-lg-4"><span class="lead">Core FHIR Resource</span><br/><a href="http://hl7.org/fhir/R4/contract.html">Contract</a></div><div class="col-lg-4"><span class="lead">Reference Policy</span><br/></div><div class="col-lg-4"><span class="lead">Interaction summary</span><br/><ul><li>Supports <br/><code>create</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>create</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#create">FHIR specification</a>) of a <code>Contract</code> resource conforming to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile.</p>
<p>Please note: This operation will be available in Release 2.1 of PCA.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation records a decision made by an authorised representative of a publisher organisation to authorise the publication of a <code>HealthcareService</code> or <code>PractitionerRole</code> to a partner service.</p>
<p>Authorisation is implemented using this operation. Revocation is implemented by updating the <em>status</em> of the existing <code>Contract</code> to 'revoked'.</p>
<p>A <code>Contract</code> resource cannot be created with a <em>status</em> of 'cancelled' - this status can only by set by the PCA service and is used to indicate that the partner service associated with the publication authorisation is inactive.</p>
<p>If the invocation of a <code>Contract</code> resource with <em>status</em> of 'executed' is sucessful then the PCA service will make the following resources available to the PCA Subscriber Agent of the organisation referenced by <em>providedBy</em> of the partner service:</p>
<ul>
<li><em>target</em> resource (<code>HealthcareService</code> or <code>PractitionerRole</code>).</li>
<li><code>Organization</code>, <code>Location</code> and <code>Practitioner</code> resources that are referenced directly or indirectly by the target <code>HealthcareService</code> or <code>PractitionerRole</code>.</li>
<li>The newly created <code>Contract</code> resource.</li>
</ul>
<p>The PCA service will also continue to make available any new versions of these resources to the same PCA Subscriber Agent. This process continues until the existing <code>Contract</code> resource is updated with a <em>status</em> of 'revoked'.</p>
<p>Prior to invoking this operation the following PCA API operations are available to provide the information that is recorded in the <code>Contract</code> resource to be created.</p>
<ul>
<li>If not already identified or synchronised locally, then search for the relevant resource(s) using <a href="CapabilityStatement-pca-publisher-agent.html#search-system">search-system</a> (for service offering resources to publish) and <a href="CapabilityStatement-pca-publisher-agent.html">PartnerService search-type</a> (for partner services registered in the PCA service)</li>
<li>Get the current text of the information use statement for the selected partner service:
<ul>
<li>Get the partner service (i.e. a HealthcareService) using <a href="CapabilityStatement-pca-publisher-agent.html">PartnerService read</a></li>
<li>Get the reference to the latest version of the Information Use Statement (i.e. a <code>Contract</code> resource) from the <a href="StructureDefinition-pca-current-information-use-statement.html">pca-current-information-use-statement</a> extension in the partner service resource</li>
<li>Get the text of the information use statement using <a href="CapabilityStatement-pca-publisher-agent.html">Information Use Statement read</a></li>
</ul>
</li>
</ul>
<p>If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:</p>
<ul>
<li>The resource <strong>SHALL</strong> conform to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile.</li>
<li><em>id</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.versionId</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.lastUpdated</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>subject</em> <strong>SHALL</strong> reference an existing <code>HealthcareService</code> or <code>PractitionerRole</code> implemented by the PCA Publisher Agent (i.e. the target FHIR server)</li>
<li><em>instantiatesCanonical</em> <strong>SHALL</strong> reference the information use statement (i.e. a <code>Contract</code> resource) whose <em>legal.content[x].data</em> element was viewed by the person responsible for making the publication decision recorded via the new <code>Contract</code> resource.</li>
<li><em>author</em> <strong>SHALL</strong> be a local reference to a contained resource of type <a href="StructureDefinition-pca-publication-approver.html">PCA Publication Approver</a>.</li>
<li><em>status</em> <strong>SHALL</strong> use the code 'executed'.</li>
<li>The partner service referenced by the <em>subject</em> of the information use statement referenced in <em>instantiatesCanonical</em> <strong>SHALL</strong> have an <em>active</em> value of 'true'.</li>
</ul>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>POST [publisher agent base url]/Contract</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li><code>Contract</code> resource that conforms to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile.</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Contract</code> resource that conforms to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_PublicationMgr</code></li>
<li><code>Location/[id]:PS_PublicationMgr</code></li>
<li><code>HealthcareService/[id]:PS_PublicationMgr</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 201: The resource was successfully created.</li>
<li>Code 400: The input resource could not be parsed or failed basic FHIR validation rules.</li>
<li>Code 404: The resource type is not supported, or not a FHIR end-point.</li>
<li>Code 422: The input resource violated applicable FHIR profiles or server data validation rules.</li>
</ul>
</div><code>read</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>read</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#read">FHIR specification</a>) of a <code>Contract</code> resource.</p>
<p>Please note: This operation will be available in Release 2.1 of PCA.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation is used to retrieve an identified <code>Contract</code> resource that conforms to one of the following profiles:</p>
<ul>
<li><a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a></li>
<li><a href="StructureDefinition-pca-information-use-statement.html">PCA Information Use Statement</a></li>
</ul>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/Contract/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Contract</code> resource that conforms to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile or the <a href="StructureDefinition-pca-information-use-statement.html">PCA Information Use Statement</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_Read</code></li>
<li><code>Location/[id]:PS_Read</code></li>
<li><code>HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>When retrieving a <code>Contract</code> resource that conforms to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile:</p>
<ul>
<li>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being read references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being read references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
</li>
<li>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being read references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being read references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
</li>
<li>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being read references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being read references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
</li>
</ul>
<p>When retrieving a <code>Contract</code> resource that conforms to the <a href="StructureDefinition-pca-information-use-statement.html">PCA Information Use Statement</a> profile:</p>
<ul>
<li>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the publishing organisation associated with the target PCA Publisher Agent.</li>
<li>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify any existing <code>Location</code> within the scope of the requesting system.</li>
<li>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify any existing <code>HealthcareService</code> within the scope of the requesting</li>
</ul>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 404: The resource was not found.</li>
</ul>
</div><code>update</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>update</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#create">FHIR specification</a>) of a <code>Contract</code> resource.</p>
<p>Please note: This operation will be available in Release 2.1 of PCA.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation can be used to record a decision made by an authorised representative of a publisher organisation to revoke an existing authorisation to publish, or to record that a new version of a partner service's information use statement has been accepted:</p>
<ul>
<li>Revocation is implemented using this operation by updating the <em>status</em> of an existing <code>Contract</code> resource to 'revoked'.</li>
<li>Accepting a new version of a partner service's information use statement is implemented using this operation by updating the <em>instantiatesCanonical</em> of an existing <code>Contract</code> resource to reference a new information use statement.</li>
</ul>
<p>To re-authorise publication after revoking, create a new <code>Contract</code> resource.</p>
<p>If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:</p>
<ul>
<li>The resource <strong>SHALL</strong> conform to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile.</li>
<li><em>id</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>Contract</code> identified in the 'if-match' HTTP header.</li>
<li><em>meta.versionId</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>meta.lastUpdated</em> <strong>SHALL NOT</strong> be present.</li>
<li><em>subject</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>Contract</code> identified in the 'if-match' HTTP header.</li>
<li><em>author</em> <strong>SHALL</strong> be identical to the corresponding value in the version of the <code>Contract</code> identified in the 'if-match' HTTP header.</li>
<li>Updates to <em>instantiatesCanonical</em> <strong>SHALL</strong> only be permitted where the version of the <code>Contract</code> identified in the 'if-match' HTTP header has a <em>status</em> of 'executed', and <em>status</em> is not also being updated.</li>
<li>Updates to <em>status</em> <strong>SHALL</strong> only be permitted where the <em>status</em> is being updated to <em>revoked</em>, and <em>instantiatesCanonical</em> is not also being updated.</li>
<li>If <em>instantiatesCanonical</em> is being updated, the partner service referenced by the <em>subject</em> of the information use statement referenced in <em>instantiatesCanonical</em> <strong>SHALL</strong> have an <em>active</em> value of 'true'.</li>
<li>If <em>instantiatesCanonical</em> is being updated, the partner service referenced by the <em>subject</em> of the information use statement referenced in <em>instantiatesCanonical</em> <strong>SHALL</strong> be identical to the previous <em>subject</em> of the information use statement referenced in <em>instantiatesCanonical</em> in the version of the <code>Contract</code> identified in the 'if-match' HTTP header.</li>
</ul>
<p>If the 'if-match' HTTP header is not provided in the request, then the PCA Publisher Agent will reject the request and return the error code 400.</p>
<p>If the 'if-match' HTTP header does not match the current version, then the PCA Publisher Agent will reject the request and return the error code 412.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>PUT [publisher agent base url]/Contract</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
<li><code>if-match [version id]</code> where [version id] is the version of the <code>Contract</code> being updated.</li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li><code>Contract</code> resource that conforms to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile.</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
<li><code>ETag: [version id]</code> where [version id] identifies the version of the <code>Contract</code> resource returned.</li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Contract</code> resource that conforms to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_PublicationMgr</code></li>
<li><code>Location/[id]:PS_PublicationMgr</code></li>
<li><code>HealthcareService/[id]:PS_PublicationMgr</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> in the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then:</p>
<ul>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify that <code>HealthcareService</code>.</li>
<li>If the <em>subject</em> of the <code>Contract</code> being created references a <code>PractitionerRole</code> then [id] <strong>SHALL</strong> identify the <code>HealthcareService</code> referenced by <em>healthcareService</em> in that <code>PractitionerRole</code>.</li>
</ul>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 400: Client error: request did not include the <em>if-match</em> HTTP header.</li>
<li>Code 404: The resource was not found.</li>
<li>Code 412: The version id given in the <em>if-Match</em> HTTP request header does not match the current version</li>
<li>Code 422: The input resource violated applicable FHIR profiles or server data validation rules.</li>
</ul>
</div><code>search-type</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>search</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#search">FHIR specification</a>) for <code>Contract</code> resources.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation is used to find <code>Contract</code> resources that conform to the <a href="StructureDefinition-pca-information-use-statement.html">PCA Information Use Statement</a> profile and that match the search parameters.</p>
<p>Note that all <a href="StructureDefinition-pca-information-use-statement.html">PCA Information Use Statement</a> resources in the PCA service are accessible to all authorised client systems.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/Contract/{?[parameters]}</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Bundle</code> containing zero to many <code>Contract</code> resources that conform to the <a href="StructureDefinition-pca-information-use-statement.html">PCA Information Use Statement</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_Read</code></li>
<li><code>Location/[id]:PS_Read</code></li>
<li><code>HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then [id] <strong>SHALL</strong> identify the publishing organisation associated with the target PCA Publisher Agent.</p>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then [id] <strong>SHALL</strong> identify any existing <code>Location</code> within the scope of the requesting system.</p>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then [id] <strong>SHALL</strong> identify any existing <code>HealthcareService</code> within the scope of the requesting system.</p>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: Search successfully performed (but may return zero matching results).</li>
<li>Code 403: Server refused to perform the search.</li>
</ul>
</div></li></ul></div></div><p/><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>This section defines the supported interactions for the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile and the <a href="StructureDefinition-pca-information-use-statement.html">PCA Information Use Statement</a> profile of the <code>Contract</code> resource type.</p>
<p>A <code>Contract</code> resource conforming to the <a href="StructureDefinition-pca-publication-authorisation-record.html">PCA Publication Authorisation Record</a> profile records a decision regarding the publication of a specific service offering (either a <code>HealthcareService</code> or a <code>PractitionerRole</code>) to a specific partner service. The decision is either to authorise publication or to revoke a previous authority to publish.</p>
<p>A <code>Contract</code> resource conforming to the <a href="StructureDefinition-pca-information-use-statement.html">PCA Information Use Statement</a> profile represents a policy statement by a subscriber organisation's partner service that describes how they will use the information from publisher organisations that is disclosed to the partner service.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/resource.html#search">_profile</a></td><td><code>uri</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td><a href="http://hl7.org/fhir/R4/contract.html#search">subject</a></td><td><code>reference</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td>version</td><td><code>string</code></td><td><div/></td></tr></tbody></table></div><div class="col-lg-5"> </div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Task1-8" class="panel-title"><span style="float: right;">Resource Conformance: supported </span>Task</h4></div><div class="panel-body"><div class="container"><div class="row"><div class="col-lg-6"><span class="lead">Base System Profile</span><br/><a href="StructureDefinition-pca-match-record.html">PCA Match Record</a></div><div class="col-lg-3"><span class="lead">Profile Conformance</span><br/><b>SHALL</b></div><div class="col-lg-3"><span class="lead">Reference Policy</span><br/></div></div><p/><div class="row"><div class="col-lg-6"><span class="lead">Interaction summary</span><br/><ul><li>Supports <br/><code>read</code><div><p><strong>Definition</strong>:</p>
<p>This operation is a RESTful <strong>read</strong> interaction (as described in the <a href="https://www.hl7.org/fhir/http.html#read">FHIR specification</a>) of a <code>Task</code> resource.</p>
<p><strong>Behaviour</strong>:</p>
<p>This operation retrieves an identified <code>Task</code> resource that conforms to the <a href="StructureDefinition-pca-match-record.html">PCA Match Record</a> profile.</p>
<p><strong>HTTP interaction signature</strong>:</p>
<ul>
<li><code>GET [publisher agent base url]/Task/[id]</code></li>
</ul>
<p><strong>Mandatory Request Headers</strong>:</p>
<ul>
<li><code>Accept: application/fhir+json;charset=utf-8</code> or <code>Accept: application/fhir+xml;charset=utf-8</code></li>
<li><code>Authorization: Bearer [token]</code></li>
</ul>
<p><strong>Request Body</strong>:</p>
<ul>
<li>(No request body)</li>
</ul>
<p><strong>Mandatory Response Headers</strong>:</p>
<ul>
<li><code>Content-Type: application/fhir+json;charset=utf-8</code> or <code>Content-Type: application/fhir+xml;charset=utf-8</code></li>
</ul>
<p><strong>Response Body</strong>:</p>
<ul>
<li>Success: <code>Task</code> resource that conforms to the <a href="StructureDefinition-pca-match-record.html">PCA Match Record</a> profile.</li>
<li>Error: <code>OperationOutcome</code> resource (see <a href="https://www.hl7.org/fhir/operationoutcome.html">FHIR specification</a>).</li>
</ul>
<p><strong>Required OAuth 2.0 scopes</strong>:</p>
<p>The <em>scope</em> string <strong>SHALL</strong> contain one or more of the following <em>scoped roles</em>:</p>
<ul>
<li><code>Organization/[id]:PCA:Om</code></li>
<li><code>Organization/[id]:PCA:Hsm</code></li>
<li><code>Location/[id]:PCA:Hsm</code></li>
<li><code>HealthcareService/[id]:PCA:Hsm</code></li>
<li><code>Organization/[id]:PS_Read</code></li>
<li><code>Location/[id]:PS_Read</code></li>
<li><code>HealthcareService/[id]:PS_Read</code></li>
</ul>
<p>If a <em>scoped role</em> identifies an <code>Organization</code> then:</p>
<ul>
<li>If the <em>focus</em> of the <code>Task</code> being read references an <code>Organization</code>, then [id] <strong>SHALL</strong> identify that <code>Organization</code>.</li>
<li>If the <em>focus</em> of the <code>Task</code> being read references a <code>Location</code>, then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>managingOrganization</em> of the <code>Location</code>.</li>
<li>If the <em>focus</em> of the <code>Task</code> being read references a <code>HealthcareService</code>, then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> of that HealthcareService.</li>
<li>If the <em>focus</em> of the <code>Task</code> being read references a <code>PractitionerRole</code>, then [id] <strong>SHALL</strong> identify the <code>Organization</code> referenced by <em>providedBy</em> of the <code>HealthcareService</code> referenced by <em>healthcareService</em> of that <code>PractitionerRole</code>.</li>
</ul>
<p>If a <em>scoped role</em> identifies a <code>Location</code> then:</p>
<ul>
<li>If the <em>focus</em> of the <code>Task</code> being read references a <code>Location</code>, then [id] <strong>SHALL</strong> identify that <code>Location</code>.</li>
<li>If the <em>focus</em> of the <code>Task</code> being read references a <code>HealthcareService</code>, then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> of that <code>HealthcareService</code>.</li>
<li>If the <em>focus</em> of the <code>Task</code> being read references a <code>PractitionerRole</code>, then [id] <strong>SHALL</strong> identify the <code>Location</code> referenced by <em>location</em> of the <code>HealthcareService</code> referenced by <em>healthcareService</em> of that PractitionerRole.</li>
</ul>
<p>If a <em>scoped role</em> identifies a <code>HealthcareService</code> then:</p>
<ul>
<li>If the <em>focus</em> of the <code>Task</code> being read references a <code>HealthcareService</code>, then [id] <strong>SHALL</strong> identify that <code>HealthcareService</code>.</li>
<li>If the <em>focus</em> of the <code>Task</code> being read references a <code>PractitionerRole</code>, then [id] <strong>SHALL</strong> identify the <code>HealthcareService</code> referenced by <em>healthcareService</em> of that PractitionerRole.</li>
</ul>
<p><strong>Response Codes</strong>:</p>
<ul>
<li>Code 200: The resource was found and returned.</li>
<li>Code 404: The resource was not found.</li>
</ul>
</div></li></ul></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>This section defines the supported interactions for the <a href="StructureDefinition-pca-match-record.html">PCA Match Record</a> profile of the <code>Task</code> resource type.</p>
<p>A <code>Task</code> resource conforming to the <a href="StructureDefinition-pca-match-record.html">PCA Match Record</a> profile indicates the matching status of a service offering to a partner service’s local data store.</p>
</div></blockquote></div></div></div></div></div></div>
</text>
<url
value="http://pca.digitalhealth.gov.au/fhir/4.0/CapabilityStatement/pca-publisher-agent"/>
<version value="24.2.0.0"/>
<name value="PCAPublisherAgentCapabilityStatement"/>
<title value="PCA Publisher Agent Capability Statement"/>
<status value="active"/>
<experimental value="false"/>
<date value="2024-09-23T10:57:22+10:00"/>
<publisher value="Australian Digital Health Agency"/>
<contact>
<telecom>
<system value="email"/>
<value value="mailto:[email protected]"/>
</telecom>
</contact>
<description
value="This is the Capability statement for a PCA Publisher Agent FHIR server."/>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="AU"/>
</coding>
</jurisdiction>
<copyright
value="Copyright © 2024 Australian Digital Health Agency - All rights reserved. This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/."/>
<kind value="requirements"/>
<fhirVersion value="4.0.1"/>
<format value="application/fhir+json"/>
<format value="application/fhir+xml"/>
<rest>
<mode value="server"/>
<documentation
value="A PCA Publisher Agent manages the service offerings for one publisher organisation.
The PCA service instantiates one PCA Publisher Agent for each participating publisher organisation. That is, each publisher organisation interacts with a PCA Publisher Agent located at a *publisher agent base URL* that is unique to that organisation.
The *publisher agent base URL* for a particular organisation is available via the PCA portal on the 'Organisation Details' screen of the publisher organisation.
**Publication process**
A PCA Publisher Agent creates the ```Location```, ```HealthcareService``` and ```PractitionerRole``` resources (that are associated with existing ```Organization``` and ```Practitioner``` resources) that represent their service offerings. These resources are made available to a subscriber organisation when a publisher authorises publication of a ```HealthcareService``` or ```PractitionerRole``` resource to one or more of the subscriber organisation's partner services.
The authority to publish is represented using ```Contract``` resources which are also implemented by the PCA Publisher Agent (see the [Contract resource endpoint](CapabilityStatement-pca-publisher-agent.html#contract)).
**Identifier disclosure rules**
The PCA service enforces certain business rules regarding the disclosure of *Identifiers* (including subscriber-issued identifiers) in the resources that it makes available to subscribers.
The result of these rules may be that a copy of a resource received by one subscriber may contain *Identifiers* that are not included in the copy of the same resource that is received by a different subscriber.
In the case of HPI-Is these *identifier disclosure rules* ensure that relevant legal requirements are complied with.
Other *identifier disclosure rules* are defined by the PCA operator.
The *identifier disclosure rules* are applied automatically at the time that the resource is retrieved by the target PCA Subscriber Agent.
**Authorisation rules**
Authorised client systems are only permitted to interact with a PCA Publisher Agent API where the participating organisation associated with the PCA Publisher Agent has a publisher approval status of 'Approved'.
**Resource profiles and extensions**
This API specification defines the required resource profiles for each operation. In addition, the PCA Publisher Agent will reject any request to create or update a resource that contains any extensions (including modifier extensions) not explicitly defined in that resource profile.
"/>
<security>
<cors value="true"/>
<service>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/restful-security-service"/>
<code value="OAuth"/>
<display value="OAuth"/>
</coding>
</service>
<description value="This server implements OAuth2"/>
</security>
<resource>
<type value="Organization"/>
<profile
value="http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-organization"/>
<documentation
value="
This section defines the supported interactions for the [PCA Organization](StructureDefinition-pca-organization.html) profile of the ```Organization``` resource type.
"/>
<interaction>
<code value="read"/>
<documentation
value="**Definition**:
This operation is a RESTful **read** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#read)) of an ```Organization``` resource.
**Behaviour**:
This operation retrieves an identified ```Organization``` resource that conforms to the [PCA Organization](StructureDefinition-pca-organization.html) profile.
**HTTP interaction signature**:
```GET [publisher agent base url]/Organization/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the ```Organization``` resource returned.
**Response Body**:
* Success: ```Organization``` resource that conforms to the [PCA Organization](StructureDefinition-pca-organization.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_Read```
* ```Location/[id]:PS_Read```
* ```HealthcareService/[id]:PS_Read```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the target ```Organization``` being read.
if a *scoped role* identifies a ```Location``` then [id] **SHALL** identify any ```Location``` where its *managingOrganisation* references the target ```Organization``` being read.
if a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify any ```HealthcareService``` where its *providedBy* references the target ```Organization``` being read.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 404: The resource was not found. "/>
</interaction>
<versioning value="versioned"/>
<readHistory value="false"/>
<updateCreate value="false"/>
<conditionalCreate value="false"/>
<conditionalRead value="not-supported"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
</resource>
<resource>
<type value="Location"/>
<profile
value="http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-location"/>
<documentation
value="
This section defines the supported interactions for the [PCA Location](StructureDefinition-pca-location.html) profile of the ```Location``` resource type.
A ```Location``` resource conforming to the [PCA Location](StructureDefinition-pca-location.html) profile represents a location at which healthcare services are offered by a PCA publisher. "/>
<interaction>
<code value="create"/>
<documentation
value="**Definition**:
This operation is a RESTful **create** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#create)) of a ```Location``` resource conforming to the [PCA Location](StructureDefinition-pca-location.html) profile.
**Behaviour**:
If any of the following data validation rules are violated in the input resource then the request is rejected and the error code 422 is returned:
* The resource **SHALL** conform to the [PCA Location](StructureDefinition-pca-location.html) profile.
* *id* **SHALL NOT** be present.
* *meta.versionId* **SHALL NOT** be present.
* *meta.lastUpdated* **SHALL NOT** be present.
* *identifier:pca-li* **SHALL NOT** be present.
* *providedBy* **SHALL** reference an existing ```Organization``` within the scope of the requesting system.
* *status* **SHALL NOT** use the code 'suspended'.
* If *type* is not present, then *address* **SHALL** be present.
**HTTP interaction signature**:
* ```POST [publisher agent base url]/Location```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* ```Location``` resource that conforms to the [PCA Location](StructureDefinition-pca-location.html) profile.
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the new ```Location``` resource.
**Response Body**:
* Success: ```Location``` resource that conforms to the [PCA Location](StructureDefinition-pca-location.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain the following *scoped role*:
* ``` Organization/[id]:PCA:Om```
* ``` Organization/[id]:PCA:Hsm```
* ``` Organization/[id]:PS_ServicesMgr```
Where [id] **SHALL** identify the ```Organization``` referenced by *managingOrganization* in the new ```Location```.
**Response Codes**:
* Code 201: The resource was successfully created.
* Code 400: The input resource could not be parsed or failed basic FHIR validation rules.
* Code 404: The resource type is not supported, or not a FHIR end-point.
* Code 422: The input resource violated applicable FHIR profiles or server data validation rules. "/>
</interaction>
<interaction>
<code value="read"/>
<documentation
value="**Definition**:
This operation is a RESTful **read** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#read)) of a ```Location``` resource.
**Behaviour**:
This operation retrieves an identified ```Location``` resource that conforms to the [PCA Location](StructureDefinition-pca-location.html) profile.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/Location/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the ```Location``` resource returned.
**Response Body**:
* Success: ```Location``` resource that conforms to the [PCA Location](StructureDefinition-pca-location.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain the following *scoped role*:
* ```Organization/[id]:PCA:Om```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_Read```
* ```Location/[id]:PS_Read```
* ```HealthcareService/[id]:PS_Read```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *managingOrganization* in the target ```Location``` being read.
if a *scoped role* identifies a ```Location``` then [id] **SHALL** identify the ```Location``` being read.
if a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify a ```HealthcareService``` where its *location* references the target ```Location``` being read.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 404: The resource was not found. "/>
</interaction>
<interaction>
<code value="update"/>
<documentation
value="**Definition**:
This operation is a RESTful **update** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#update)) of a ```Location``` resource.
**Behaviour**:
If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:
* The resource **SHALL** conform to the [PCA Location](StructureDefinition-pca-location.html) profile.
* *id* **SHALL** be identical to the value in the version of the ```Location``` identified in the 'if-match' HTTP header.
* *meta.versionId* **SHALL NOT** be present.
* *meta.lastUpdated* **SHALL NOT** be present.
* *managingOrganization* **SHALL** be identical to the corresponding value in the version of the ```Location``` identified in the 'if-match' HTTP header.
* *identifier:pca-li* **SHALL** be identical to the corresponding value in the version of the ```Location``` identified in the 'if-match' HTTP header.
* *status* **SHALL NOT** use the code 'suspended'.
* If *type* is not present, then *address* **SHALL** be present.
* If *status* is 'inactive', then all healthcare services linked to the location **SHALL** have an *active* value of 'false'.
If the 'if-match' HTTP header is not provided in the request, then the PCA Publisher Agent will reject the request and return the error code 400.
If the 'if-match' HTTP header does not match the current version, then the PCA Publisher Agent will reject the request and return the error code 412.
**HTTP interaction signature**:
* ```PUT [publisher agent base url]/Location/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
* ```if-match [version id]``` where [version id] is the version of the ```Location``` being updated.
**Request Body**:
* ```Location``` resource that conforms to the [PCA Location](StructureDefinition-pca-location.html) profile.
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the ```Location``` resource returned.
**Response Body**:
* Success: ```Location``` resource that conforms to the [PCA Location](StructureDefinition-pca-location.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ``` Organization/[id]:PCA:Om```
* ``` Organization/[id]:PCA:Hsm```
* ``` Location/[id]:PCA:Hsm```
* ``` Organization/[id]:PS_ServiceMgr```
* ``` Location/[id]:PS_ServiceMgr```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *managingOrganization* in the target ```Location``` being updated.
If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify the target ```Location``` being updated.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 400: Client error: request did not include the *if-match* HTTP header.
* Code 404: The resource was not found.
* Code 412: The version id given in the *if-Match* HTTP request header does not match the current version.
* Code 422: The input resource violated applicable FHIR profiles or server data validation rules. "/>
</interaction>
<versioning value="versioned-update"/>
<readHistory value="false"/>
<updateCreate value="false"/>
<conditionalCreate value="false"/>
<conditionalRead value="not-supported"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
<searchParam>
<name value="organization"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Location-organization"/>
<type value="reference"/>
</searchParam>
<searchParam>
<name value="status"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Location-status"/>
<type value="token"/>
</searchParam>
<searchParam>
<name value="_lastUpdated"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Resource-lastUpdated"/>
<type value="date"/>
</searchParam>
</resource>
<resource>
<type value="HealthcareService"/>
<documentation
value="
This section defines the supported interactions for the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile and the [PCA Partner Service](StructureDefinition-pca-partner-service.html) profile of the ```HealthcareService``` resource type.
A ```HealthcareService``` resource conforming to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile describes a healthcare service offered at a location by a PCA publisher.
A ```HealthcareService``` resource conforming to the [PCA Partner Service](StructureDefinition-pca-partner-service.html) profile describes a partner service offered by a subscriber to which PCA publishers can publish their service offerings. "/>
<interaction>
<code value="create"/>
<documentation
value="**Definition**:
This operation is a RESTful **create** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#create)) of a ```HealthcareService``` resource conforming to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile.
**Behaviour**:
If any of the following data validation rules are violated in the input resource then the request is rejected and the error code 422 is returned:
* The resource **SHALL** conform to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile.
* *id* **SHALL NOT** be present.
* *meta.versionId* **SHALL NOT** be present.
* *meta.lastUpdated* **SHALL NOT** be present.
* *identifier:pca-hsi* **SHALL NOT** be present.
* *providedBy* **SHALL** reference an existing ```Organization``` within the scope of the requesting system.
* *location* **SHALL** reference an existing ```Location``` within the scope of the requesting system.
* *location* **SHALL** reference a ```Location``` for which *managingOrganization* references the same ```Organization``` as is referenced by *providedBy*.
* One and only one *type* **SHALL** use the *iso21090-preferred* extension.
* *coverageArea* **SHALL** only be present if *eligibility* contains the 'coverage-restrictedResidents' code, and/or if the *type* element of the referenced *location* contains either the 'MOBL' (mobile) or 'VI' (virtual) code.
* If present, *notAvailable.during* **SHALL** contain a complete date and **SHALL NOT** include time or timezone data.
* If present, *availableTime.during* elements (including *availableTime* elements using the *availableTimeApplicability* extension) **SHALL** contain a complete date and **SHALL NOT** include time or timezone data.
* If present, *availableTime* elements using the *availableTimeApplicability* extension **SHALL** include both a start and end date for the *during* element.
* If present, *pca-active-period* SHALL have at least *value[x].start* or *value[x].end*.
* If present, *pca-active-period.value[x].start* SHALL be later than '1900-01-01'.
* If present, *pca-active-period.value[x].start* SHALL be equal to, or earlier than, the *period.start* or *period.end* values of any ```PractitionerRole`` resources that reference this ```HealthcareService```.
* If present, *pca-active-period.value[x].end* SHALL be no more than 5 years from the current date.
* If present, *pca-active-period.value[x].end* SHALL be equal to, or later than, the *period.start* or *period.end* values of any ```PractitionerRole`` resources that reference this ```HealthcareService```.
* *type* **SHALL** use a code that is not already being used by any existing ```PCA Healthcare Service``` resources for the same ```PCA Location```.
**HTTP interaction signature**:
* ```POST [publisher agent base url]/HealthcareService```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* ```HealthcareService``` resource that conforms to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile.
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the new ```HealthcareService``` resource.
**Response Body**:
* Success: ```HealthcareService``` resource that conforms to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ``` Organization/[id]:PCA:Om```
* ``` Organization/[id]:PCA:Hsm```
* ``` Location/[id]:PCA:Hsm```
* ``` Organization/[id]:PS_ServicesMgr```
* ``` Location/[id]:PS_ServicesMgr```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in the new ```HealthcareService```.
if a *scoped role* identifies a ```Location``` then [id] **SHALL** identify the ```Location``` referenced by *location* in the new ```HealthcareService```.
**Response Codes**:
* Code 201: The resource was successfully created.
* Code 400: The input resource could not be parsed or failed basic FHIR validation rules.
* Code 404: The resource type is not supported, or not a FHIR end-point.
* Code 422: The input resource violated applicable FHIR profiles or server data validation rules. "/>
</interaction>
<interaction>
<code value="read"/>
<documentation
value="**Definition**:
This operation is a RESTful **read** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#read)) of a ```HealthcareService``` resource.
**Behaviour**:
This operation is used to retrieve an identified ```HealthcareService``` resource that conforms to one of the following profiles:
* [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html)
* [PCA Partner Service](StructureDefinition-pca-partner-service.html)
Different authorisation rules apply depending on the profile of the ```HealthcareService``` resource being retrieved; see the 'Required OAuth 2.0 scopes' section below.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/HealthcareService/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the ```HealthcareService``` resource returned.
**Response Body**:
* Success: ```HealthcareService``` resource that conforms to either the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) or [PCA Partner Service](StructureDefinition-pca-partner-service.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ``` Organization/[id]:PS_Read```
* ``` Location/[id]:PS_Read```
* ``` HealthcareService/[id]:PS_Read```
When retrieving a ```HealthcareService``` resource that conforms to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile:
* If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in the target ```HealthcareService``` being read.
* If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify the ```Location``` referenced by *location* in the target ```HealthcareService``` being read.
* If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify the target ```HealthcareService``` being read.
When retrieving a ```HealthcareService``` resource that conforms to the [PCA Partner Service](StructureDefinition-pca-partner-service.html) profile:
* If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the publishing organisation associated with the target PCA Publisher Agent.
* If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify any existing ```Location``` within the scope of the requesting system.
* If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify any existing ```HealthcareService``` within the scope of the requesting system.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 404: The resource was not found. "/>
</interaction>
<interaction>
<code value="update"/>
<documentation
value="**Definition**:
This operation is a RESTful **update** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#update)) of a ```HealthcareService``` resource.
**Behaviour**:
If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:
* The resource **SHALL** conform to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile.
* *id* **SHALL** be identical to the value in the version of the ```HealthcareService``` identified in the 'if-match' HTTP header.
* *meta.versionId* **SHALL NOT** be present.
* *meta.lastUpdated* **SHALL NOT** be present.
* *providedBy* **SHALL** be identical to the corresponding value in the version of the ```HealthcareService``` identified in the 'if-match' HTTP header.
* *location* **SHALL** be identical to the corresponding value in the version of the ```HealthcareService``` identified in the 'if-match' HTTP header.
* *identifier:pca-hsi* **SHALL** be identical to the corresponding value in the version of the ```HealthcareService``` identified in the 'if-match' HTTP header.
* One and only one *type* **SHALL** use the *iso21090-preferred* extension.
* *coverageArea* **SHALL** only be present if *eligibility* contains the 'coverage-restrictedResidents' code, and/or if the *type* element of the referenced *location* contains either the 'MOBL' (mobile) or 'VI' (virtual) code.
* If present, *notAvailable.during* **SHALL** contain a complete date and **SHALL NOT** include time or timezone data.
* If present, *availableTime.during* elements (including *availableTime* elements using the *availableTimeApplicability* extension) **SHALL** contain a complete date and **SHALL NOT** include time or timezone data.
* If present, *availableTime* elements using the *availableTimeApplicability* extension **SHALL** include both a start and end date for the *during* element.
* If present, *availableTime* elements using the *availableTimeApplicability* extension **SHALL** include both a start and end date for the *during* element.
* If present, *pca-active-period* SHALL have at least *value[x].start* or *value[x].end*.
* If present, *pca-active-period.value[x].start* SHALL be later than '1900-01-01'.
* If present, *pca-active-period.value[x].start* SHALL be equal to, or earlier than, the *period.start* or *period.end* values of any ```PractitionerRole`` resources that reference this ```HealthcareService```.
* If present, *pca-active-period.value[x].end* SHALL be no more than 5 years from the current date.
* If present, *pca-active-period.value[x].end* SHALL be equal to, or later than, the *period.start* or *period.end* values of any ```PractitionerRole`` resources that reference this ```HealthcareService```.
* *type* **SHALL** use a code that is not already being used by any existing ```PCA Healthcare Service``` resources for the same ```PCA Location```.
If the 'if-match' HTTP header is not provided in the request, then the PCA Publisher Agent will reject the request and return the error code 400.
If the 'if-match' HTTP header does not match the current version, then the PCA Publisher Agent will reject the request and return the error code 412.
**HTTP interaction signature**:
* ```PUT [publisher agent base url]/HealthcareService/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
* ```if-match [version id]``` where [version id] is the version of the ```HealthcareService``` being updated.
**Request Body**:
```HealthcareService``` resource that conforms to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile.
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the ```HealthcareService``` resource returned.
**Response Body**:
* Success: ```HealthcareService``` resource that conforms to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ``` Organization/[id]:PCA:Om```
* ``` Organization/[id]:PCA:Hsm```
* ``` Location/[id]:PCA:Hsm```
* ``` HealthcareService/[id]:PCA:Hsm```
* ``` Organization/[id]:PS_ServiceMgr```
* ``` Location/[id]:PS_ServiceMgr```
* ``` HealthcareService/[id]:PS_ServiceMgr```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in the target ```HealthcareService``` being updated.
If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify the ```Location``` referenced by *location* in the target ```HealthcareService``` being updated.
If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify the target ```HealthcareService``` being updated.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 400: Client error: request did not include the *if-match* HTTP header.
* Code 404: The resource was not found.
* Code 412: The version id given in the *if-Match* HTTP request header does not match the current version.
* Code 422: The input resource violated applicable FHIR profiles or server data validation rules. "/>
</interaction>
<interaction>
<code value="search-type"/>
<documentation
value="**Definition**:
This operation is a RESTful **search** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#search)) for ```HealthcareService``` resources that conform to the [PCA Partner Service](StructureDefinition-pca-partner-service.html) profile.
**Behaviour**:
The operation is used to find ```HealthcareService``` resources that that conform to the [PCA Partner Service](StructureDefinition-pca-partner-service.html) profile and that match the search parameters.
Note that all [PCA Partner Service](StructureDefinition-pca-partner-service.html) resources in the PCA service are accessible to all authorised client systems.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/HealthcareService/{?[parameters]}```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
**Response Body**:
* Success: Bundle that contains zero to many ```HealthcareService``` resources that conform to the [PCA Partner Service](StructureDefinition-pca-partner-service.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ``` Organization/[id]:PCA:Om```
* ``` Organization/[id]:PCA:Hsm```
* ``` Location/[id]:PCA:Hsm```
* ``` HealthcareService/[id]:PCA:Hsm```
* ``` Organization/[id]:PS_Read```
* ``` Location/[id]:PS_Read```
* ``` HealthcareService/[id]:PS_Read```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the publishing organisation associated with the target PCA Publisher Agent.
If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify any existing ```Location``` within the scope of the requesting system.
If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify any existing ```HealthcareService``` within the scope of the requesting system.
**Response Codes**:
* Code 200: Search successfully performed (but may return zero matching results).
* Code 403: Server refused to perform the search. "/>
</interaction>
<versioning value="versioned-update"/>
<readHistory value="false"/>
<updateCreate value="false"/>
<conditionalCreate value="false"/>
<conditionalRead value="not-supported"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
<searchParam>
<name value="_profile"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Resource-profile"/>
<type value="uri"/>
</searchParam>
<searchParam>
<name value="active"/>
<definition
value="http://hl7.org/fhir/SearchParameter/HealthcareService-active"/>
<type value="token"/>
</searchParam>
<searchParam>
<name value="organization"/>
<definition
value="http://hl7.org/fhir/SearchParameter/HealthcareService-organization"/>
<type value="reference"/>
</searchParam>
<searchParam>
<name value="service-catgeory"/>
<definition
value="http://hl7.org/fhir/SearchParameter/HealthcareService-service-category"/>
<type value="token"/>
</searchParam>
<searchParam>
<name value="coverage-area.location.address-postalcode"/>
<type value="string"/>
</searchParam>
</resource>
<resource>
<type value="PractitionerRole"/>
<profile
value="http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner-role"/>
<documentation
value="
This section defines the supported interactions for the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile of the ```PractitionerRole``` resource type.
Each ```PractitionerRole``` resource conforming to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile describes a practitioner in a role at a healthcare service. "/>
<interaction>
<code value="create"/>
<documentation
value="**Definition**:
This operation is a RESTful **create** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#create)) of a ```PractitionerRole``` resource conforming to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile.
**Behaviour**:
If the ```Organization``` associated with the target PCA Publisher Agent has not been approved to participate in the PCA service, then the request will be rejected and the error code 422 will be returned.
If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:
* The resource **SHALL** conform to the profile [http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner-role](StructureDefinition-pca-practitioner-role.html).
* *id* **SHALL NOT** be present.
* *meta.versionId* **SHALL NOT** be present.
* *meta.lastUpdated* **SHALL NOT** be present.
* *identifier:pca-pri* **SHALL** not be present.
* *active* **SHALL NOT** be present.
* *organization* **SHALL** not be present.
* *location* **SHALL** not be present.
* *healthcareService* **SHALL** reference an existing ```HealthcareService``` that exists within the target PCA Publisher Agent.
* *practitioner* **SHALL** reference an existing ```Practitioner``` that exists within the PCA service.
* if *coding:hiServiceRole* is present and has the value 'ProvidesHealthcareToIndividuals', then the ```Organization``` associated with the target PCA Publisher Agent **SHALL** have authorised the Agency as a Contracted Service Provider (CSP).
* If present, *period.start* SHALL be later than '1900-01-01'.
* If present, *period.start* SHALL be equal to, or later than, the *pca-active-period.value[x].start* value (if present) of the ```HealthcareService``` referenced by the *healthcareService* element.
* If present, *period.end* SHALL be no more than 5 years from the current date.
* If present, *period.end* SHALL be equal to, or earlier than, the *pca-active-period.value[x].end* value (if present) of the ```HealthcareService``` referenced by the *healthcareService* element.
Note: While the referenced ```Practitioner``` resource is managed via the PCA portal, it is also instantiated as a read-only 'proxy' within the PCA Publisher Agent. This means that the reference to ```Practitioner``` contained in the ```PractitionerRole``` is a local reference that is resolved within the PCA Publisher Agent. This 'proxy' has the same id as the resource within the PCA Portal for which it is a proxy.
**HTTP interaction signature**:
* ```POST [publisher agent base url]/PractitionerRole```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* ```PractitionerRole``` resource that conforms to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile.
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the new ```PractitionerRole``` resource.
**Response Body**:
* Success: ```PractitionerRole``` resource that conforms to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ``` Organization/[id]:PCA:Om```
* ``` Organization/[id]:PCA:Hsm```
* ``` Location/[id]:PCA:Hsm```
* ``` HealthcareService/[id]:PCA:Hsm```
* ``` Organization/[id]:PS_ServicesMgr```
* ``` Location/[id]:PS_ServicesMgr```
* ``` HealthcareService/[id]:PS_ServicesMgr```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* of the ```HealthcareService``` referenced by *healthcareService* in the new ```PractitionerRole```.
if a *scoped role* identifies a ```Location``` then [id] **SHALL** identify the ```Location``` referenced by *location* of the ```HealthcareService``` referenced by *healthcareService* in the new ```PractitionerRole```.
if a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify the ```HealthcareService``` referenced by *healthcareService* in the new ```PractitionerRole```.
**Response Codes**:
* Code 201: The resource was successfully created.
* Code 400: The input resource could not be parsed or failed basic FHIR validation rules.
* Code 404: The resource type is not supported, or not a FHIR end-point.
* Code 422: The input resource violated applicable FHIR profiles or server data validation rules. "/>
</interaction>
<interaction>
<code value="read"/>
<documentation
value="**Definition**:
This operation is a RESTful **read** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#read)) of a ```PractitionerRole``` resource.
**Behaviour**:
This operation retrieves an identified ```PractitionerRole``` resource that conforms to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/PractitionerRole/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the ```PractitionerRole``` resource returned.
**Response Body**:
* Success: ```PractitionerRole``` resource that conforms to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_Read```
* ```Location/[id]:PS_Read```
* ```HealthcareService/[id]:PS_Read```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in the ```HealthcareService``` referenced by *healthcareService* in the target ```PractitionerRole``` being read.
If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify the ```Location``` referenced by *location* in the ```HealthcareService``` referenced by *healthcareService* in the target ```PractitionerRole``` being read.
If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify the ```HealthcareService``` referenced by *healthcareService* in the target ```PractitionerRole``` being read.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 404: The resource was not found. "/>
</interaction>
<interaction>
<code value="update"/>
<documentation
value="**Definition**:
This operation is a RESTful **update** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#update)) of a ```PractitionerRole``` resource.
**Behaviour**:
If the ```Organization``` associated with the target PCA Publisher Agent has not been approved to participate in the PCA service, then the request will be rejected and the error code 422 will be returned.
If any of the following data validation rules are violated in the input resource then the request is rejected and the error code 422 is returned:
* The resource **SHALL** conform to the [PCA Practitoner Role](StructureDefinition-pca-practitioner-role.html) profile.
* *id* **SHALL** be identical to the value in the version of the ```PractitionerRole``` identified in the 'if-match' HTTP header.
* *meta.versionId* **SHALL NOT** be present.
* *meta.lastUpdated* **SHALL NOT** be present.
* *identifier:pca-pri* **SHALL** be identical to the corresponding value in the version of the ```PractitionerRole``` identified in the 'if-match' HTTP header.
* *active* **SHALL NOT** be present.
* *organization* **SHALL** be identical to the corresponding value in the version of the ```PractitionerRole``` identified in the 'if-match' HTTP header.
* *location* **SHALL** be identical to the corresponding value in the version of the ```PractitionerRole``` identified in the 'if-match' HTTP header.
* *healthcareService* **SHALL** be identical to the corresponding value in the version of the ```PractitionerRole``` identified in the 'if-match' HTTP header.
* *practitioner* **SHALL** be identical to the corresponding value in the version of the ```PractitionerRole``` identified in the 'if-match' HTTP header.
* if *coding:hiServiceRole* is present and has the value 'ProvidesHealthcareToIndividuals', then the Organization associated with the target PCA Publisher Agent **SHALL** have authorised the Agency as a Contracted Service Provider (CSP).
* If present, *period.start* SHALL be later than '1900-01-01'.
* If present, *period.start* SHALL be equal to, or later than, the *pca-active-period.value[x].start* value (if present) of the ```HealthcareService``` referenced by the *healthcareService* element.
* If present, *period.end* SHALL be no more than 5 years from the current date.
* If present, *period.end* SHALL be equal to, or earlier than, the *pca-active-period.value[x].end* value (if present) of the ```HealthcareService``` referenced by the *healthcareService* element.
If the 'if-match' HTTP header is not provided in the request, then the PCA Publisher Agent will reject the request and return the error code 400.
If the 'if-match' HTTP header does not match the current version, then the PCA Publisher Agent will reject the request and return the error code 412.
**HTTP interaction signature**:
* ```PUT [publisher agent base url]/PractitionerRole/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
* ```if-match [version id]``` where [version id] is the version of the PractitionerRole being updated.
**Request Body**:
* ```PractitionerRole``` resource that conforms to the [PCA Practtiioner Role](StructureDefinition-pca-practitioner-role.html) profile.
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the PractitionerRole resource returned.
**Response Body**:
* Success: ```PractitionerRole``` resource that conforms to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_PractitionerMgr```
* ```Location/[id]:PS_PractitionerMgr```
* ```HealthcareService/[id]:PS_PractitionerMgr```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in the ```HealthcareService``` referenced by *healthcareService* in the target ```PractitionerRole``` being updated.
If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify the ```Location``` referenced by *location* in the ```HealthcareService``` referenced by *healthcareService* in the target ```PractitionerRole``` being updated.
If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify the ```HealthcareService``` referenced by *healthcareService* in the target ```PractitionerRole``` being updated.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 400: Client error: request did not include the *if-match* HTTP header.
* Code 404: The resource was not found.
* Code 412: The version id given in the *if-Match* HTTP request header does not match the current version
* Code 422: The input resource violated applicable FHIR profiles or server data validation rules. "/>
</interaction>
<versioning value="versioned-update"/>
<readHistory value="false"/>
<updateCreate value="false"/>
<conditionalCreate value="false"/>
<conditionalRead value="not-supported"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
<searchParam>
<name value="_lastUpdated"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Resource-lastUpdated"/>
<type value="date"/>
</searchParam>
<searchParam>
<name value="_id"/>
<definition value="http://hl7.org/fhir/SearchParameter/Resource-id"/>
<type value="token"/>
</searchParam>
<searchParam>
<name value="active"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PractitionerRole-active"/>
<type value="token"/>
</searchParam>
<searchParam>
<name value="identifier"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PractitionerRole-identifier"/>
<type value="token"/>
</searchParam>
<searchParam>
<name value="organization"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PractitionerRole-organization"/>
<type value="reference"/>
</searchParam>
<searchParam>
<name value="practitioner"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PractitionerRole-practitioner"/>
<type value="reference"/>
</searchParam>
<searchParam>
<name value="service"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PractitionerRole-service"/>
<type value="reference"/>
</searchParam>
</resource>
<resource>
<type value="Practitioner"/>
<profile
value="http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner"/>
<documentation
value="
This section defines the supported interactions for the [PCA Practitioner](StructureDefinition-pca-practitioner.html) profile of the ```Practitioner``` resource type.
Each ```Practitioner``` resource conforming the [PCA Practitioner](StructureDefinition-pca-practitioner.html) profile is a read-only proxy for a corresponding ```Practitioner``` resource managed by the PCA portal.
Each 'proxy' has the same *id* and *versionId* as the resource within the PCA portal for which it is a proxy. "/>
<interaction>
<code value="read"/>
<documentation
value="**Definition**:
This operation is a RESTful **read** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#read)) of a ```Practitioner``` resource.
**Behaviour**:
This operation retrieves an identified ```Practitioner``` resource that conforms to the [PCA Practitioner](StructureDefinition-pca-practitioner.html) profile.
The PCA Publisher Agent will include a *identifier:hpii* in the ```Practitioner``` resource returned if **all** of the following conditions are met:
* HPI-I and Ahpra number match in the HI service.
* The ```Organization``` on whose behalf the request is made is a publisher organisation.
* The ```Organization``` on whose behalf the request is made has been approved to participate in the PCA service.
* The ```Organization``` on whose behalf the request is made has authorised the Agency as a Contracted Service Provider (CSP).
* The client system is authorised to read an existing PractitionerRole where *practitioner* references the ```Practitioner``` resource returned **and** where *coding:hiServiceRole* has the value 'ProvidesHealthcareToIndividuals'.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/Practitioner/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the ```Practitioner``` resource returned.
**Response Body**:
* Success: ```Practitioner``` resource that conforms to the [PCA Practitioner](StructureDefinition-pca-practitioner.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_Read```
* ```Location/[id]:PS_Read```
* ```HealthcareService/[id]:PS_Read```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the publishing organisation associated with the requesting system.
If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify any existing ```Location``` within the scope of the requesting system.
If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify any existing ```HealthcareService``` within the scope of the requesting system.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 404: The resource was not found. "/>
</interaction>
<interaction>
<code value="search-type"/>
<documentation
value="**Definition**:
This operation is a RESTful **search** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#search)) for a ```Practitioner``` resource for either a given Ahpra registration number or HPI-I identifier that conforms to the [PCA Practitioner](StructureDefinition-pca-practitioner.html) profile.
**Behaviour**:
The operation is used to find a ```Practitioner``` resource given their Ahpra registration number or HPI-I identifier. The PCA Publisher Agent will return zero or one ```Practitioner``` resource that conforms to the [PCA Practitioner](StructureDefinition-pca-partner-service.html) profile.
The operation is only available to client systems acting on behalf of publisher organisations (see ‘Required OAuth 2.0 scopes’ below).
The PCA Publisher Agent will reject requests and return the error code 403 if the identifier query string is not present, or if the identifier query string does not qualify the identifier value with one of the following systems:
* http://hl7.org.au/id/ahpra-registration-number (when searching on Ahpra registration number)
* http://ns.electronichealth.net.au/id/hi/hpii/1.0 (when searching on HPI-I)
The PCA Publisher Agent return a ```Bundle``` containing exactly one ```Practitioner``` resource if the identifier query string matches the same record in either the Ahpra Register of practitioners or the HI Service, else it will return a ```Bundle``` contanining zero results.
The PCA Publisher Agent will only support searching by HPI-I if the client system’s organisation has has made the PCA a Contracted Service Provider (CSP).
The PCA Publisher Agent will include the *identifier:hpii* element in the ```Practitioner``` resource returned if the client system’s organisation has has made the PCA a Contracted Service Provider (CSP) and the ```Practitioner``` resource's *coding:hiServiceRole* element has the value ‘ProvidesHealthcareToIndividuals’.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/Practitioner/{?[parameter]}```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
**Response Body**:
* Success: Bundle that contains zero to one ```Practitioner``` resources that conforms to the [PCA Practitioner](StructureDefinition-pca-practitioner.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_ServicesMgr```
* ```Location/[id]:PS_ServicesMgr```
* ```HealthcareService/[id]:PS_ServicesMgr```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the publishing organisation associated with the requesting system.
If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify any existing ```Location``` within the scope of the requesting system.
If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify any existing ```HealthcareService``` within the scope of the requesting system.
**Response Codes**:
* Code 200: Search successfully performed (but may return zero matching results).
* Code 403: Server refused to perform the search. "/>
</interaction>
<versioning value="versioned"/>
<readHistory value="false"/>
<updateCreate value="false"/>
<conditionalCreate value="false"/>
<conditionalRead value="not-supported"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
<searchParam>
<name value="identifier"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Practitioner-identifier"/>
<type value="token"/>
</searchParam>
</resource>
<resource>
<type value="Provenance"/>
<profile
value="http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-provenance"/>
<documentation
value="
This section defines the supported interactions for the [PCA Provenance](StructureDefinition-pca-provenance.html) profile of the ```Provenance``` resource type.
Each ```Provenance``` resource conforming to the [PCA Provenance](StructureDefinition-pca-provenance.html) profile represents an activity performed by the PCA service (conditionally on behalf of a participating organisation when the target element references a PCA Organization resource) whereby specific data elements of a PCA Organization or PCA Practitioner resource have been initially retrieved, updated or verified from an external system of record. "/>
<interaction>
<code value="read"/>
<documentation
value="**Definition**:
This operation is a RESTful **read** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#read)) of a ```Provenance``` resource.
**Behaviour**:
This operation retrieves an identified ```Provenance``` resource that conforms to the [PCA Provenance](StructureDefinition-pca-practitioner-role.html) profile.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/Provenance/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
**Response Body**:
* Success: ```Provenance``` resource that conforms to the [PCA Provenance](StructureDefinition-pca-provenance.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_Read```
* ```Location/[id]:PS_Read```
* ```HealthcareService/[id]:PS_Read```
If the ```Provenance``` resource being read has a *target* that references an ```Organization```, then:
* If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the ```Organization``` referenced by *target* in the ```Provenance``` resource being read.
If the ```Provenance``` resource being read has a *target* that references a ```Practitioner```, then:
* If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the publishing organisation associated with the requesting system.
* If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify any existing ```Location``` within the scope of the requesting system.
* If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify any existing ```HealthcareService``` within the scope of the requesting system.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 404: The resource was not found. "/>
</interaction>
<versioning value="no-version"/>
<readHistory value="false"/>
<updateCreate value="false"/>
<conditionalCreate value="false"/>
<conditionalRead value="not-supported"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
</resource>
<resource>
<type value="Contract"/>
<documentation
value="
This section defines the supported interactions for the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile and the [PCA Information Use Statement](StructureDefinition-pca-information-use-statement.html) profile of the ```Contract``` resource type.
A ```Contract``` resource conforming to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile records a decision regarding the publication of a specific service offering (either a ```HealthcareService``` or a ```PractitionerRole```) to a specific partner service. The decision is either to authorise publication or to revoke a previous authority to publish.
A ```Contract``` resource conforming to the [PCA Information Use Statement](StructureDefinition-pca-information-use-statement.html) profile represents a policy statement by a subscriber organisation's partner service that describes how they will use the information from publisher organisations that is disclosed to the partner service. "/>
<interaction>
<code value="create"/>
<documentation
value="**Definition**:
This operation is a RESTful **create** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#create)) of a ```Contract``` resource conforming to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile.
Please note: This operation will be available in Release 2.1 of PCA.
**Behaviour**:
This operation records a decision made by an authorised representative of a publisher organisation to authorise the publication of a ```HealthcareService``` or ```PractitionerRole``` to a partner service.
Authorisation is implemented using this operation. Revocation is implemented by updating the *status* of the existing ```Contract``` to 'revoked'.
A ```Contract``` resource cannot be created with a *status* of 'cancelled' - this status can only by set by the PCA service and is used to indicate that the partner service associated with the publication authorisation is inactive.
If the invocation of a ```Contract``` resource with *status* of 'executed' is sucessful then the PCA service will make the following resources available to the PCA Subscriber Agent of the organisation referenced by *providedBy* of the partner service:
* *target* resource (```HealthcareService``` or ```PractitionerRole```).
* ```Organization```, ```Location``` and ```Practitioner``` resources that are referenced directly or indirectly by the target ```HealthcareService``` or ```PractitionerRole```.
* The newly created ```Contract``` resource.
The PCA service will also continue to make available any new versions of these resources to the same PCA Subscriber Agent. This process continues until the existing ```Contract``` resource is updated with a *status* of 'revoked'.
Prior to invoking this operation the following PCA API operations are available to provide the information that is recorded in the ```Contract``` resource to be created.
* If not already identified or synchronised locally, then search for the relevant resource(s) using [search-system](CapabilityStatement-pca-publisher-agent.html#search-system) (for service offering resources to publish) and [PartnerService search-type](CapabilityStatement-pca-publisher-agent.html) (for partner services registered in the PCA service)
* Get the current text of the information use statement for the selected partner service:
* Get the partner service (i.e. a HealthcareService) using [PartnerService read](CapabilityStatement-pca-publisher-agent.html)
* Get the reference to the latest version of the Information Use Statement (i.e. a ```Contract``` resource) from the [pca-current-information-use-statement](StructureDefinition-pca-current-information-use-statement.html) extension in the partner service resource
* Get the text of the information use statement using [Information Use Statement read](CapabilityStatement-pca-publisher-agent.html)
If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:
* The resource **SHALL** conform to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile.
* *id* **SHALL NOT** be present.
* *meta.versionId* **SHALL NOT** be present.
* *meta.lastUpdated* **SHALL NOT** be present.
* *subject* **SHALL** reference an existing ```HealthcareService``` or ```PractitionerRole``` implemented by the PCA Publisher Agent (i.e. the target FHIR server)
* *instantiatesCanonical* **SHALL** reference the information use statement (i.e. a ```Contract``` resource) whose *legal.content[x].data* element was viewed by the person responsible for making the publication decision recorded via the new ```Contract``` resource.
* *author* **SHALL** be a local reference to a contained resource of type [PCA Publication Approver](StructureDefinition-pca-publication-approver.html).
* *status* **SHALL** use the code 'executed'.
* The partner service referenced by the *subject* of the information use statement referenced in *instantiatesCanonical* **SHALL** have an *active* value of 'true'.
**HTTP interaction signature**:
* ```POST [publisher agent base url]/Contract```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* ```Contract``` resource that conforms to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile.
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
**Response Body**:
* Success: ```Contract``` resource that conforms to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_PublicationMgr```
* ```Location/[id]:PS_PublicationMgr```
* ```HealthcareService/[id]:PS_PublicationMgr```
If a *scoped role* identifies an ```Organization``` then:
* If the *subject* of the ```Contract``` being created references a ```HealthcareService``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in that ```HealthcareService```.
* If the *subject* of the ```Contract``` being created references a ```PractitionerRole``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
If a *scoped role* identifies a ```Location``` then:
* If the *subject* of the ```Contract``` being created references a ```HealthcareService``` then [id] **SHALL** identify the ```Location``` referenced by *location* in that ```HealthcareService```.
* If the *subject* of the ```Contract``` being created references a ```PractitionerRole``` then [id] **SHALL** identify the ```Location``` referenced by *location* in the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
If a *scoped role* identifies a ```HealthcareService``` then:
* If the *subject* of the ```Contract``` being created references a ```HealthcareService``` then [id] **SHALL** identify that ```HealthcareService```.
* If the *subject* of the ```Contract``` being created references a ```PractitionerRole``` then [id] **SHALL** identify the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
**Response Codes**:
* Code 201: The resource was successfully created.
* Code 400: The input resource could not be parsed or failed basic FHIR validation rules.
* Code 404: The resource type is not supported, or not a FHIR end-point.
* Code 422: The input resource violated applicable FHIR profiles or server data validation rules. "/>
</interaction>
<interaction>
<code value="read"/>
<documentation
value="**Definition**:
This operation is a RESTful **read** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#read)) of a ```Contract``` resource.
Please note: This operation will be available in Release 2.1 of PCA.
**Behaviour**:
This operation is used to retrieve an identified ```Contract``` resource that conforms to one of the following profiles:
* [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html)
* [PCA Information Use Statement](StructureDefinition-pca-information-use-statement.html)
**HTTP interaction signature**:
* ```GET [publisher agent base url]/Contract/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
**Response Body**:
* Success: ```Contract``` resource that conforms to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile or the [PCA Information Use Statement](StructureDefinition-pca-information-use-statement.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_Read```
* ```Location/[id]:PS_Read```
* ```HealthcareService/[id]:PS_Read```
When retrieving a ```Contract``` resource that conforms to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile:
* If a *scoped role* identifies an ```Organization``` then:
* If the *subject* of the ```Contract``` being read references a ```HealthcareService``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in that ```HealthcareService```.
* If the *subject* of the ```Contract``` being read references a ```PractitionerRole``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
* If a *scoped role* identifies a ```Location``` then:
* If the *subject* of the ```Contract``` being read references a ```HealthcareService``` then [id] **SHALL** identify the ```Location``` referenced by *location* in that ```HealthcareService```.
* If the *subject* of the ```Contract``` being read references a ```PractitionerRole``` then [id] **SHALL** identify the ```Location``` referenced by *location* in the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
* If a *scoped role* identifies a ```HealthcareService``` then:
* If the *subject* of the ```Contract``` being read references a ```HealthcareService``` then [id] **SHALL** identify that ```HealthcareService```.
* If the *subject* of the ```Contract``` being read references a ```PractitionerRole``` then [id] **SHALL** identify the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
When retrieving a ```Contract``` resource that conforms to the [PCA Information Use Statement](StructureDefinition-pca-information-use-statement.html) profile:
* If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the publishing organisation associated with the target PCA Publisher Agent.
* If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify any existing ```Location``` within the scope of the requesting system.
* If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify any existing ```HealthcareService``` within the scope of the requesting
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 404: The resource was not found. "/>
</interaction>
<interaction>
<code value="update"/>
<documentation
value="**Definition**:
This operation is a RESTful **update** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#create)) of a ```Contract``` resource.
Please note: This operation will be available in Release 2.1 of PCA.
**Behaviour**:
This operation can be used to record a decision made by an authorised representative of a publisher organisation to revoke an existing authorisation to publish, or to record that a new version of a partner service's information use statement has been accepted:
* Revocation is implemented using this operation by updating the *status* of an existing ```Contract``` resource to 'revoked'.
* Accepting a new version of a partner service's information use statement is implemented using this operation by updating the *instantiatesCanonical* of an existing ```Contract``` resource to reference a new information use statement.
To re-authorise publication after revoking, create a new ```Contract``` resource.
If any of the following data validation rules are violated in the input resource, then the request is rejected and the error code 422 is returned:
* The resource **SHALL** conform to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile.
* *id* **SHALL** be identical to the corresponding value in the version of the ```Contract``` identified in the 'if-match' HTTP header.
* *meta.versionId* **SHALL NOT** be present.
* *meta.lastUpdated* **SHALL NOT** be present.
* *subject* **SHALL** be identical to the corresponding value in the version of the ```Contract``` identified in the 'if-match' HTTP header.
* *author* **SHALL** be identical to the corresponding value in the version of the ```Contract``` identified in the 'if-match' HTTP header.
* Updates to *instantiatesCanonical* **SHALL** only be permitted where the version of the ```Contract``` identified in the 'if-match' HTTP header has a *status* of 'executed', and *status* is not also being updated.
* Updates to *status* **SHALL** only be permitted where the *status* is being updated to *revoked*, and *instantiatesCanonical* is not also being updated.
* If *instantiatesCanonical* is being updated, the partner service referenced by the *subject* of the information use statement referenced in *instantiatesCanonical* **SHALL** have an *active* value of 'true'.
* If *instantiatesCanonical* is being updated, the partner service referenced by the *subject* of the information use statement referenced in *instantiatesCanonical* **SHALL** be identical to the previous *subject* of the information use statement referenced in *instantiatesCanonical* in the version of the ```Contract``` identified in the 'if-match' HTTP header.
If the 'if-match' HTTP header is not provided in the request, then the PCA Publisher Agent will reject the request and return the error code 400.
If the 'if-match' HTTP header does not match the current version, then the PCA Publisher Agent will reject the request and return the error code 412.
**HTTP interaction signature**:
* ```PUT [publisher agent base url]/Contract```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
* ```if-match [version id]``` where [version id] is the version of the ```Contract``` being updated.
**Request Body**:
* ```Contract``` resource that conforms to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile.
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
* ```ETag: [version id]``` where [version id] identifies the version of the ```Contract``` resource returned.
**Response Body**:
* Success: ```Contract``` resource that conforms to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_PublicationMgr```
* ```Location/[id]:PS_PublicationMgr```
* ```HealthcareService/[id]:PS_PublicationMgr```
If a *scoped role* identifies an ```Organization``` then:
* If the *subject* of the ```Contract``` being created references a ```HealthcareService``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in that ```HealthcareService```.
* If the *subject* of the ```Contract``` being created references a ```PractitionerRole``` then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* in the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
If a *scoped role* identifies a ```Location``` then:
* If the *subject* of the ```Contract``` being created references a ```HealthcareService``` then [id] **SHALL** identify the ```Location``` referenced by *location* in that ```HealthcareService```.
* If the *subject* of the ```Contract``` being created references a ```PractitionerRole``` then [id] **SHALL** identify the ```Location``` referenced by *location* in the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
If a *scoped role* identifies a ```HealthcareService``` then:
* If the *subject* of the ```Contract``` being created references a ```HealthcareService``` then [id] **SHALL** identify that ```HealthcareService```.
* If the *subject* of the ```Contract``` being created references a ```PractitionerRole``` then [id] **SHALL** identify the ```HealthcareService``` referenced by *healthcareService* in that ```PractitionerRole```.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 400: Client error: request did not include the *if-match* HTTP header.
* Code 404: The resource was not found.
* Code 412: The version id given in the *if-Match* HTTP request header does not match the current version
* Code 422: The input resource violated applicable FHIR profiles or server data validation rules. "/>
</interaction>
<interaction>
<code value="search-type"/>
<documentation
value="**Definition**:
This operation is a RESTful **search** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#search)) for ```Contract``` resources.
**Behaviour**:
This operation is used to find ```Contract``` resources that conform to the [PCA Information Use Statement](StructureDefinition-pca-information-use-statement.html) profile and that match the search parameters.
Note that all [PCA Information Use Statement](StructureDefinition-pca-information-use-statement.html) resources in the PCA service are accessible to all authorised client systems.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/Contract/{?[parameters]}```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
**Response Body**:
* Success: ```Bundle``` containing zero to many ```Contract``` resources that conform to the [PCA Information Use Statement](StructureDefinition-pca-information-use-statement.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_Read```
* ```Location/[id]:PS_Read```
* ```HealthcareService/[id]:PS_Read```
If a *scoped role* identifies an ```Organization``` then [id] **SHALL** identify the publishing organisation associated with the target PCA Publisher Agent.
If a *scoped role* identifies a ```Location``` then [id] **SHALL** identify any existing ```Location``` within the scope of the requesting system.
If a *scoped role* identifies a ```HealthcareService``` then [id] **SHALL** identify any existing ```HealthcareService``` within the scope of the requesting system.
**Response Codes**:
* Code 200: Search successfully performed (but may return zero matching results).
* Code 403: Server refused to perform the search. "/>
</interaction>
<versioning value="versioned-update"/>
<readHistory value="false"/>
<updateCreate value="false"/>
<conditionalCreate value="false"/>
<conditionalRead value="not-supported"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
<searchParam>
<name value="_profile"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Resource-profile"/>
<type value="uri"/>
</searchParam>
<searchParam>
<name value="subject"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Contract-subject"/>
<type value="reference"/>
</searchParam>
<searchParam>
<name value="version"/>
<type value="string"/>
</searchParam>
</resource>
<resource>
<type value="Task"/>
<profile
value="http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-match-record"/>
<documentation
value="
This section defines the supported interactions for the [PCA Match Record](StructureDefinition-pca-match-record.html) profile of the ```Task``` resource type.
A ```Task``` resource conforming to the [PCA Match Record](StructureDefinition-pca-match-record.html) profile indicates the matching status of a service offering to a partner service’s local data store. "/>
<interaction>
<code value="read"/>
<documentation
value="**Definition**:
This operation is a RESTful **read** interaction (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#read)) of a ```Task``` resource.
**Behaviour**:
This operation retrieves an identified ```Task``` resource that conforms to the [PCA Match Record](StructureDefinition-pca-match-record.html) profile.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/Task/[id]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
**Response Body**:
* Success: ```Task``` resource that conforms to the [PCA Match Record](StructureDefinition-pca-match-record.html) profile.
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain one or more of the following *scoped roles*:
* ```Organization/[id]:PCA:Om```
* ```Organization/[id]:PCA:Hsm```
* ```Location/[id]:PCA:Hsm```
* ```HealthcareService/[id]:PCA:Hsm```
* ```Organization/[id]:PS_Read```
* ```Location/[id]:PS_Read```
* ```HealthcareService/[id]:PS_Read```
If a *scoped role* identifies an ```Organization``` then:
* If the *focus* of the ```Task``` being read references an ```Organization```, then [id] **SHALL** identify that ```Organization```.
* If the *focus* of the ```Task``` being read references a ```Location```, then [id] **SHALL** identify the ```Organization``` referenced by *managingOrganization* of the ```Location```.
* If the *focus* of the ```Task``` being read references a ```HealthcareService```, then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* of that HealthcareService.
* If the *focus* of the ```Task``` being read references a ```PractitionerRole```, then [id] **SHALL** identify the ```Organization``` referenced by *providedBy* of the ```HealthcareService``` referenced by *healthcareService* of that ```PractitionerRole```.
If a *scoped role* identifies a ```Location``` then:
* If the *focus* of the ```Task``` being read references a ```Location```, then [id] **SHALL** identify that ```Location```.
* If the *focus* of the ```Task``` being read references a ```HealthcareService```, then [id] **SHALL** identify the ```Location``` referenced by *location* of that ```HealthcareService```.
* If the *focus* of the ```Task``` being read references a ```PractitionerRole```, then [id] **SHALL** identify the ```Location``` referenced by *location* of the ```HealthcareService``` referenced by *healthcareService* of that PractitionerRole.
If a *scoped role* identifies a ```HealthcareService``` then:
* If the *focus* of the ```Task``` being read references a ```HealthcareService```, then [id] **SHALL** identify that ```HealthcareService```.
* If the *focus* of the ```Task``` being read references a ```PractitionerRole```, then [id] **SHALL** identify the ```HealthcareService``` referenced by *healthcareService* of that PractitionerRole.
**Response Codes**:
* Code 200: The resource was found and returned.
* Code 404: The resource was not found. "/>
</interaction>
<versioning value="versioned"/>
<readHistory value="false"/>
<updateCreate value="false"/>
<conditionalCreate value="false"/>
<conditionalRead value="not-supported"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
</resource>
<interaction>
<code value="search-system"/>
<documentation
value="**Definition**:
This operation is a RESTful *search* interaction (whole system interaction), across multiple resource types (as described in the [FHIR specification](https://www.hl7.org/fhir/http.html#search)).
**Behaviour**:
This operation is used by a client system operated by a publisher organisation to get resources that match the specified search parameters and that are within the scope of the publisher organisation.
The following search parameters are supported:
* *_lastUpdated* is used to get the resources that have been added or changed since the requesting system last synchronised their local data store with PCA Publisher Agent. This search parameter supports the ```gt``` and ```lt``` comparison prefixes.
* *_type* is used to filter the resources returned by their resource type. The available types are:
* ```HealthcareService``` (returns resources conforming to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile)
* ```PractitionerRole``` (returns resources conforming to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile)
* ```Organization``` (returns resources conforming to the [PCA Organization](StructureDefinition-pca-organization.html) profile)
* ```Location``` (returns resources conforming to the [PCA Location](StructureDefinition-pca-location.html) profile)
* ```Practitioner``` (returns resources conforming to the [PCA Practitioner](StructureDefinition-pca-practitioner.html) profile)
* ```Provenance``` (returns resources conforming to the [PCA Provenance](StructureDefinition-pca-provenance.html) profile)
* ```Contract``` (returns resources conforming to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile)
* ```Task``` (returns resources conforming to the [PCA Match Record](StructureDefinition-pca-match-record.html) profile)
* *_include* (and *_include:iterate*) are used in order that all the resources that match the *_lastUpdated* and *_type* filters will be accompanied, in the result Bundle, with all the other resources which they reference (directly or indirectly).
Note that the use of *_include* (and *_include:iterate*) means that a resource may be present in the result ```Bundle``` either because it matched the other query parameters or because it was referenced (possibly indirectly) by another resource that matched the other query parameters.
All of the following query parameters are required in order to receive the complete set of resources that have been created or changed since *[last_synchronized]*:
``` _lastUpdated=[last_synchronized] ```
```_type=HealthcareService,PractitionerRole,Practitioner,Organization,Location,Provenance,Contract,Task ```
```_include=Location:organization ```
```_include=HealthcareService:organization ```
```_include=HealthcareService:location ```
```_include=PractitionerRole:organization ```
```_include=PractitionerRole:location ```
```_include=PractitionerRole:service ```
```_include=PractitionerRole:practitioner ```
```_include=Provenance:target ```
```_include=Contract:subject ```
```_include:iterate=HealthcareService:organization ```
```_include:iterate=HealthcareService:location ```
```_include:iterate=PractitionerRole:organization ```
```_include:iterate=PractitionerRole:location ```
```_include:iterate=PractitionerRole:service ```
```_include:iterate=PractitionerRole:practitioner ```
This operation supports 'paging' ([see FHIR specification](https://www.hl7.org/fhir/search.html#Paging)). If there are too many resources to return in one ```Bundle```, the FHIR server adds a *next* link to the response ```Bundle```. The contents of the result ```Bundle``` therefore comprise all instances of the requested resource types whose *lastUpdated* timestamp is greater than the <lastSync> in the request query expression and less than or equal to <lastInBundle> where <lastInBundle> is the greatest *lastUpdated* value of all resources included in the result ```Bundle```. The Publisher Agent FHIR server sets the *next* link to the filter expression that was used in the original request except that <lastSync> is replaced with <lastInBundle>. If the *next* link is not present in the ```Bundle```, then there are no more service offerings available.
**HTTP interaction signature**:
* ```GET [publisher agent base url]/?[parameters]```
**Mandatory Request Headers**:
* ```Accept: application/fhir+json;charset=utf-8``` or ```Accept: application/fhir+xml;charset=utf-8```
* ```Authorization: Bearer [token]```
**Request Body**:
* (No request body)
**Mandatory Response Headers**:
* ```Content-Type: application/fhir+json;charset=utf-8``` or ```Content-Type: application/fhir+xml;charset=utf-8```
**Response Body**:
* Success: ```Bundle``` that contains zero to many resources (where the resource type was included in the filter expression of the search request) that conform to the following [PCA profiles](profiles.html):
* ```HealthcareService``` resources conforming to the [PCA Healthcare Service](StructureDefinition-pca-healthcare-service.html) profile
* ```PractitionerRole``` resources conforming to the [PCA Practitioner Role](StructureDefinition-pca-practitioner-role.html) profile
* ```Organization``` resources conforming to the [PCA Organization](StructureDefinition-pca-organization.html) profile
* ```Location``` resources conforming to the [PCA Location](StructureDefinition-pca-location.html) profile
* ```Practitioner``` resources conforming to the [PCA Practitioner](StructureDefinition-pca-practitioner.html) profile
* ```Provenance``` resources conforming to the [PCA Provenance](StructureDefinition-pca-provenance.html) profile
* ```Contract``` resources conforming to the [PCA Publication Authorisation Record](StructureDefinition-pca-publication-authorisation-record.html) profile
* ```Task``` resources conforming to the [PCA Match Record](StructureDefinition-pca-match-record.html) profile
* Error: ```OperationOutcome``` resource (see [FHIR specification](https://www.hl7.org/fhir/operationoutcome.html)).
**Required OAuth 2.0 scopes**:
The *scope* string **SHALL** contain the following *scoped role*:
* ```Organization/[id]:PS_Read```
Where [id] **SHALL** identify the ```Organization``` associated with the target PCA Publisher Agent.
**Response Codes**:
* Code 200: Search successfully performed (but may return zero matching results).
* Code 403: Server refused to perform the search. "/>
</interaction>
<searchParam>
<name value="_lastUpdated"/>
<definition
value="http://hl7.org/fhir/SearchParameter/Resource-lastUpdated"/>
<type value="date"/>
</searchParam>
<searchParam>
<name value="_type"/>
<type value="token"/>
</searchParam>
<searchParam>
<name value="_include"/>
<type value="special"/>
</searchParam>
<searchParam>
<name value="_include:iterate"/>
<type value="special"/>
</searchParam>
<searchParam>
<name value="_page"/>
<type value="special"/>
</searchParam>
<searchParam>
<name value="_count"/>
<type value="special"/>
</searchParam>
<searchParam>
<name value="_resultId"/>
<type value="special"/>
</searchParam>
</rest>
</CapabilityStatement>