Quick intro
The APIs are based on these categories:
Client registration APIs
System-based
The following table outlines the client registration operations available through the API:
Ref | API | URL | HTTP Action | Detailed Action |
---|---|---|---|---|
SC1.1 | Register client | ${env}/PcaAuthApi/v2/auth/register | POST | Register client with PCA™ |
SC1.2 | Deregister client | ${env}/PcaAuthApi/v2/auth/register/[client_id] | DELETE | Deregister the client from the PCA™ |
SC2.1 | Get access token | ${env}/PcaAuthApi/v2/auth/token | POST | Get access token to be used for interaction with PCA™ |
SC2.2 | Introspect | ${env}/PcaAuthApi/v2/auth/introspect | POST | Determine the set of metadata for a given token |
Publisher operation APIs
The following table outlines the publisher operations available through the API on the PCA™ Publisher Agent:
Ref | API | URL | HTTP Action | Detailed Action |
---|---|---|---|---|
PO1.1 | Capability statement | ${base}/metadata? | GET | Returns the capability statement for the publisher agent |
PO2.1 | Create location | ${base}/Location | POST | Register a location for organisation |
PO2.2 | Get location | ${base}/Location/[loc_id] | GET | Get location details |
PO2.3 | Update location | ${base}/Location/[loc_id] | PUT | Update location details |
PO2.4 | Search locations | ${base}/Location? | GET | Search for locations based on search parameters |
PO3.1 | Create healthcare service | ${base}/HealthcareService | POST | Register a location for organisation |
PO3.2 | Get healthcare service | ${base}/HealthcareService/[hcs_id] | GET | Get healthcare service details |
PO3.3 | Update healthcare service | ${base}/HealthcareService/[hcs_id] | PUT | Update healthcare service details |
PO4.1 | Search partner services | ${base}/HealthcareService?_profile=http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-partner-service | GET | Search for partner services based on search parameters |
PO4.2 | Get partner service | ${base}/HealthcareService/[prs_id] | GET | Get partner service details |
PO4.3 | Get information use statement | ${base}/Contract/[ius_id] | GET | Get information use statement |
PO5.1 | Get practitioner | ${base}/Practitioner?identifier=[ahpraRegistrationNumber] | GET | Get practitioner details using their AHPRA number |
PO6.1 | Create practitioner role | ${base}/PractitionerRole | CREATE | Register a practitioner role at a healthcare service |
PO6.2 | Get practitioner role | ${base}/PractitionerRole/[prr_id] | GET | Get practitioner role details |
PO6.3 | Update practitioner role | ${base}/PractitionerRole/[prr_id] | PUT | Update practitioner role details |
PO7.1 | Get matched records | ${base}/?_type=Task | GET | Get a status of matched records |
Subscriber operation APIs
The following table outlines the subscriber operations through the API on the PCA™ Subscriber Agent:
The following table outlines the subscriber operations through the API on the PCA™ Subscriber Agent:
Ref | API | URL | HTTP Action | Detailed Action |
---|---|---|---|---|
SO1.1 | Capability statement | ${base}/metadata | GET | Returns the capability statement for the subscriber agent |
SO2.1 | Register notification | ${base}/Subscription | POST | Register notification channel |
SO2.2 | Get registered notification channels | ${base}/Subscription | GET | Get registered notification channels |
SO2.3 | Deregister notification | ${base}/Subscription/${subscription_id} | DELETE | Deregister notification channel |
SO3.1 | Get service offerings based on date parameter | ${base}?_type={resourceName}&_lastUpdated={timeStamp}
| GET | Get resources based on date parameter e.g. _lastUpdated=gt2019-11-18T15:56:48%2B11:00 |
SO3.2 | Get service offerings based on date parameter - include and iterate over references | ${base}?_type={resourceName}&_lastUpdated={timeStamp}&_include={resourceName}:{searchParamater}&_include:iterate={resourceName}:{searchParamater} | GET | Get resources based on date parameter and include and iterate on references: |
SO4.1 | Patch healthcare service | ${base}/HealthcareService/[hcs_id] | PATCH | Patch healthcare service details |
SO5.1 | Submit match record | ${base}/Task | POST | Submit match records |
System of record APIs
The following table outlines the system of record APIs:
Ref | API | URL | HTTP Action | Detailed Action |
---|---|---|---|---|
SR1.1 | ABR search | ${env}/PcaSystemOfRecordApi/v2/api/AbrSearch/search?abn={abn} | GET | Search by ABN |
SR1.2 | ABR ABN | ${env}/PcaSystemOfRecordApi/v2/api/AbrSearch/abn?abn={abn} | GET | Lookup and validation of the ABN |
SR2.1 | Address autocomplete | ${env}/PcaSystemOfRecordApi/v2/api/AddressSearch/addressautocomplete?address={address} | GET | Search to return closely matching addresses which can then be selected from by the user |
SR2.2 | Address metadata | ${env}/PcaSystemOfRecordApi/v2/api/AddressSearch/addressmetadata?id={address_id} | GET | Return the full metadata associated with an address selected from address autocomplete API. |
SR3.1 | Location autocomplete | ${env}/PcaSystemOfRecordApi/v2/api/AddressSearch/locationautocomplete?address={location} | GET | Search to return matching suburb or post code which can then be selected from by the user |
SR3.2 | Location metadata | ${env}/PcaSystemOfRecordApi/v2/api/AddressSearch/locationmetadata?id={location_id} | GET | Return the full metadata associated with an location selected from location autocomplete API. |
SR4.1 | AHPRA lookup | ${env}/PcaSystemOfRecordApi/v2/api/Ahpra/search?ahpraProfessionNumber={ahpra_profession_number} | GET | Lookup and validation of the AHPRA number |
SR5.1 | HI search HPIO | ${env}/PcaSystemOfRecordApi/v2/api/HiSearch/organisation/hpio?user={username}&hpioLinkedToCsp={hpioLinkedToCsp}&hpio={hpio} | GET | Health identifier validation for organisation using HPIO |
SR5.2 | HI search ABN | ${env}/PcaSystemOfRecordApi/v2/api/HiSearch/organisation/abn?user={username}&hpioLinkedToCsp={hpioLinkedToCsp}&abn={abn} | GET | Health identifier validation for organisation using ABN |
SR5.3 | HI search HPII | ${env}/PcaSystemOfRecordApi/v2/api/HiSearch/provider?user={username}&hpioLinkedToCsp={hpioLinkedToCsp}&familyName={familyname}&id={id}&idType=hpii | GET | Health identifier validation for individual using HPII |
SR5.4 | HI search AHPRA | ${env}/PcaSystemOfRecordApi/v2/api/HiSearch/provider?user={username}&hpioLinkedToCsp={hpioLinkedToCsp}&familyName={familyname}&id={id}&idType=ahpra | GET | Health identifier validation for individual using AHPRA registration id |
SR6.1 | Medicare validate | {{env}}/PcaSystemOfRecordApi/v2/api/Medicare/validate?providerNumber={providerNumber}&givenName={givenName}&familyName={familyName}&postcode={postcode} | GET | Validate Medicare Provider Number |
SR7.1 | Terminology valueset | ${env}/PcaSystemOfRecordApi/v2/api/TerminologyManager/valueset?valueSet={valueset} | GET | Returns a valueset See below * |
SR7.2 | Terminology allparents | ${env}/PcaSystemOfRecordApi/v2/api/TerminologyManager/allparents?valueSet={valueset}&code={code} | GET | Returns parents of code for a valueset |
SR7.3 | Terminology children | ${env}/PcaSystemOfRecordApi/v2/api/TerminologyManager/children?valueSet={valueset}&code={code} | GET | Returns children of code for a valueset |
Testing utilities (PCA™ API)
You can use a client such as Postman for testing.
The latest collections and environment imports are in the ZIP file linked below:
Quick start guide
Step | Details |
---|---|
1 | Install Postman and create a PCA™ workspace |
2 | Unzip the latest postman collections archive above |
3 | Import all extracted files into PCA™ workspace |
4 | Create an Organisation (PCA™ portal) |
5 | Register client (CR1.1) |
6 | Authorise client (PCA™ portal) for the Organisation |
7 | Get access token (CR2.1) |
8 | Source org_id by calling introspect token (CR2.2) |
9 | Run any publisher, subscriber or system of record operations |
Home | Back: Implementation patterns | Next: Code samples