application/fhir+json
, application/fhir+xml
Note to Implementers: FHIR Capabilities
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.
server
A PCA Subscriber Agent manages the service offerings for one subscriber organisation (also referred to as a 'business partner' in the PCA portal).
\nThe PCA service instantiates one PCA Subscriber Agent for each participating subscriber organisation. That is, each subscriber organisation interacts with a PCA Subscriber Agent located at a subscriber agent base url that is unique to that organisation.
\nThe subscriber agent base URL for a particular organisation is available via the PCA portal on the 'Organisation Details' screen of the subscriber organisation.
\nA service offering is made available to a subscriber organisation when a publisher authorises publication of a resource to one or more of the subscriber organisation's partner services.
\nPublication process
\nA 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).
Identifier disclosure rules
\nThe PCA service enforces certain business rules regarding the disclosure of Identifiers (including subscriber-issued identifiers) in the resources that it makes available to subscribers.
\nThe 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.
\nIn the case of HPI-Is these identifier disclosure rules ensure that relevant legal requirements are complied with.
\nOther identifier disclosure rules are defined by the PCA operator.
\nThe identifier disclosure rules are applied automatically at the time that the resource is retrieved by the target PCA Subscriber Agent.
\nAuthorisation rules
\nAuthorised client systems are only permitted to interact with a PCA Subscriber Agent API where the participating organisation associated with the PCA Subscriber Agent has a subscriber approval status of 'Approved'.
\nResource profiles and extensions
\nThis API specification defines the required resource profiles for each operation. The PCA Subscriber 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.
\nOAuth
This server implements OAuth2
\n
search-system
interaction described as follows:Definition:
\nThis operation is a RESTful search interaction (whole system interaction), across multiple resource types (as described in the FHIR specification).
Behaviour:
\nThis operation is used by a client system operated by a subscriber organisation to get resources that match the specified search parameters and that have been published to the subscriber organisation's partner services.
The following search parameters are supported:
\n_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 Subscriber 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:
\nHealthcareService
(returns resources conforming to the PCA Healthcare Service profile)
PractitionerRole
(returns resources conforming to the PCA Practitioner Role profile)
Organization
(returns resources conforming to the PCA Organization profile)
Location
(returns resources conforming to the PCA Location profile)
Practitioner
(returns resources conforming to the PCA Practitioner profile)
Provenance
(returns resources conforming to the PCA Provenance profile)
Contract
(returns resources conforming to the PCA Publication Authorisation Record profile)
Task
(returns resources conforming to the PCA Match Record profile)
Contract
resource with 'status' of 'revoked' indiates that a service offering that was previously published to a partner service is no longer available to that partner service. In this case the Contract
resource will reference a target Organization
, Location
, HealthcareService
, or PractitionerRole
that is not included in the Bundle
(but its id will identify the resource which is no longer published to the subscriber)._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.
_filter is used to only get the resources that have been published to a specific PCA Partner Service of the subscriber organisation. If the _filter parameter is not present, the operation will return resources that have been published to all of the subscriber organisation's partner services. The _filter parameter supports the following query expression:
\nHealthcareService: id eq [FHIR ID of partner service]
All of the following query parameters are required in order to receive the complete set of resources that have been created, changed or published to all the subscriber organisation's partner services since [last_synchronized]:
\n_lastUpdated=[last_synchronized]
\n_type=HealthcareService,PractitionerRole,Practitioner,Organization,Location,Provenance,Contract,Task
\n_include=Location:organization
\n_include=HealthcareService:organization
\n_include=HealthcareService:location
\n_include=PractitionerRole:organization
\n_include=PractitionerRole:location
\n_include=PractitionerRole:service
\n_include=PractitionerRole:practitioner
\n_include=Provenance:target
\n_include=Contract:subject
\n_include:iterate=HealthcareService:organization
\n_include:iterate=HealthcareService:location
\n_include:iterate=PractitionerRole:organization
\n_include:iterate=PractitionerRole:location
\n_include:iterate=PractitionerRole:service
\n_include:iterate=PractitionerRole:practitioner
As described above the resources returned in the Bundle exclude any Identifiers (e.g. HPI-Is) that cannot be disclosed to the subscriber.
\nThis operation supports 'paging' (see FHIR specification). 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 Subscriber 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:
\nGET [subscriber agent base url]/?[parameters]
Mandatory Request Headers:
\nAccept: application/fhir+json;charset=utf-8
or Accept: application/fhir+xml;charset=utf-8
Authorization: Bearer [token]
Request Body:
\nMandatory Response Headers:
\nContent-Type: application/fhir+json;charset=utf-8
or Content-Type: application/fhir+xml;charset=utf-8
Response Body:
\nSuccess: 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:
HealthcareService
resources conforming to the PCA Healthcare Service profile
PractitionerRole
resources conforming to the PCA Practitioner Role profile
Organization
resources conforming to the PCA Organization profile
Location
resources conforming to the PCA Location profile
Practitioner
resources conforming to the PCA Practitioner profile
Provenance
resources conforming to the PCA Provenance profile
Contract
resources conforming to the PCA Publication Authorisation Record profile
Contract
resources will be returned that reference each of the HealthcareService
or PractitionerRole
resources that are included in the Bundle
- these Contract
resources have a status of “executed” if the associated PCA Partner Service is active, or a status of “cancelled” if the associated PCA Partner Service is inactive).Contract
resources will also be returned that reference HealthcareService
or PractitionerRole
resources that are not in the Bundle
but for which authority to publish has been revoked - these Contract
resources will have a status of “revoked”).Task
resources conforming to the PCA Match Record profile
Error: OperationOutcome
resource (see FHIR specification).
Required OAuth 2.0 scopes:
\nThe scope string SHALL contain the following scoped role:
\n Organization/[id]:SS_Receiver
Where [id] SHALL identify the Organization
associated with the target PCA Subscriber Agent.
Response Codes:
\n_filter
parameter could not be found or is inactive.The summary table lists the resources that are part of this configuration, and for each resource it lists:
_include
_revinclude
Resource Type | Profile | R | S | U | P | C | D | Searches | _include | _revinclude | Operations |
---|---|---|---|---|---|---|---|---|---|---|---|
Organization | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-organization | y | y | ||||||||
Location | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-location | y | y | ||||||||
HealthcareService | y | y | y | _profile, active, organization, service-catgeory, coverage-area.location.address-postalcode | |||||||
PractitionerRole | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner-role | y | y | PractitionerRole:practitioner , PractitionerRole:healthcareService , PractitionerRole:organization , PractitionerRole:location | |||||||
Practitioner | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner | y | |||||||||
Provenance | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-provenance | y | |||||||||
Contract | y | y | _profile, subject, version | ||||||||
Task | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-match-record | y | y | y | |||||||
Subscription | http://hl7.org/fhir/StructureDefinition/Subscription | y | y | y |
read
, patch
.This section defines the supported interactions for the PCA Organization profile of the
\nOrganization
resource type.
read
, patch
.This section defines the supported interactions for the PCA Location profile of the
\nLocation
resource type.A
\nLocation
resource conforming to the PCA Location profile represents a location at which healthcare services are offered by a PCA publisher.
read
, patch
, search-type
.This section defines the supported interactions for the PCA Healthcare Service profile and the PCA Partner Service profile of the
\nHealthcareService
resource type.A
\nHealthcareService
resource conforming to the PCA Healthcare Service profile describes a healthcare service offered at a location by a PCA publisher.A
\nHealthcareService
resource conforming to the PCA Partner Service profile describes a partner service offered by a subscriber to which PCA publishers can publish their service offerings.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | _profile | uri | |
SHALL | active | token | |
SHALL | organization | reference | |
SHALL | service-catgeory | token | |
SHALL | coverage-area.location.address-postalcode | string |
read
, patch
.This section defines the supported interactions for the PCA Practitioner Role profile of the
\nPractitionerRole
resource type.
\nEachPractitionerRole
resource conforming to the PCA Practitioner Role profile describes a practitioner in a role at a healthcare service.
read
.This section defines the supported interactions for the PCA Practitioner profile of the
\nPractitioner
resource type.Each
\nPractitioner
resource conforming the PCA Practitioner profile is a read-only proxy for a correspondingPractitioner
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.
\n
read
.This section defines the supported interactions for the PCA Provenance profile of the
\nProvenance
resource type.Each
\nProvenance
resource conforming to the PCA Provenance 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.
This section defines the supported interactions for the PCA Publication Authorisation Record profile and the PCA Information Use Statement profile of the
\nContract
resource type.A
\nContract
resource conforming to the PCA Publication Authorisation Record profile records a decision regarding the publication of a specific service offering (either aHealthcareService
or aPractitionerRole
) to a specific partner service. The decision is either to authorise publication or to revoke a previous authority to publish.A
\nContract
resource conforming to the PCA Information Use Statement 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.
read
, create
, update
.This section defines the supported interactions for the PCA Match Record profile of the
\nTask
resource type.A
\nTask
resource conforming to the PCA Match Record profile indicates the matching status of a service offering to a partner service’s local data store.
create
, search-type
, delete
.This section defines the supported interactions for the PCA Subscription profile of the
\nSubscription
resource type.The PCA Subscription profile of
\nSubscription
is used by subscribing systems to register for notifications from the PCA service when new or updated service offerings are available, or when publication of existing service offerings has been newly revoked.