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 Publisher Agent manages the service offerings for one publisher organisation.
\nThe 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.
\nThe publisher agent base URL for a particular organisation is available via the PCA portal on the 'Organisation Details' screen of the publisher organisation.
\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 Publisher Agent API where the participating organisation associated with the PCA Publisher Agent has a publisher approval status of 'Approved'.
\nResource profiles and extensions
\nThis 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.
\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 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:
\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 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:
\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)_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).
\nNote 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]:
\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
This 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 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:
\nGET [publisher 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 profilePractitionerRole
resources conforming to the PCA Practitioner Role profileOrganization
resources conforming to the PCA Organization profileLocation
resources conforming to the PCA Location profilePractitioner
resources conforming to the PCA Practitioner profileProvenance
resources conforming to the PCA Provenance profileContract
resources conforming to the PCA Publication Authorisation Record profileTask
resources conforming to the PCA Match Record profileError: OperationOutcome
resource (see FHIR specification).
Required OAuth 2.0 scopes:
\nThe scope string SHALL contain the following scoped role:
\nOrganization/[id]:PS_Read
Where [id] SHALL identify the Organization
associated with the target PCA Publisher Agent.
Response Codes:
\nThe 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 | C | Searches | _include | _revinclude | Operations |
---|---|---|---|---|---|---|---|---|---|
Organization | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-organization | y | |||||||
Location | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-location | y | y | y | organization, status, _lastUpdated | ||||
HealthcareService | y | 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 | y | _lastUpdated, _id, active, identifier, organization, practitioner, service | ||||
Practitioner | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-practitioner | y | y | identifier | |||||
Provenance | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-provenance | y | |||||||
Contract | y | y | y | y | _profile, subject, version | ||||
Task | http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-match-record | y |
read
.This section defines the supported interactions for the PCA Organization profile of the
\nOrganization
resource type.
create
, read
, update
.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.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | organization | reference | |
SHALL | status | token | |
SHALL | _lastUpdated | date |
create
, read
, update
, 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 |
create
, read
, update
.This section defines the supported interactions for the PCA Practitioner Role profile of the
\nPractitionerRole
resource type.Each
\nPractitionerRole
resource conforming to the PCA Practitioner Role profile describes a practitioner in a role at a healthcare service.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | _lastUpdated | date | |
SHALL | _id | token | |
SHALL | active | token | |
SHALL | identifier | token | |
SHALL | organization | reference | |
SHALL | practitioner | reference | |
SHALL | service | reference |
read
, search-type
.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
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | identifier | token |
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.
create
, read
, update
, search-type
.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
.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.