ID DG-3042 Type Guide Version 1.0 Status Active Created date 02/06/2023 Updated date 05/06/2023 This is the current version. IntroductionThe tables below list the API calls available to developers who wish to connect software to PCA™. The APIs are categorised as follows: Client registration APIsPublisher operation APIsSubscriber operation APIsSystem of record APIsTesting utilities (PCA API) Client registration APIsSystem-basedThe following table outlines the client registration operations available through the API:RefAPIURLHTTP ActionDetailed ActionSC1.1Register client${env}/PcaAuthApi/v2/auth/registerPOSTRegister client with PCA™SC1.2Deregister client${env}/PcaAuthApi/v2/auth/register/[client_id]DELETEDeregister the client from the PCA™SC2.1Get access token${env}/PcaAuthApi/v2/auth/tokenPOSTGet access token to be used for interaction with PCA™SC2.2Introspect${env}/PcaAuthApi/v2/auth/introspectPOSTDetermine the set of metadata for a given tokenPublisher operation APIsThe following table outlines the publisher operations available through the API on the PCA™ Publisher Agent:RefAPIURLHTTP ActionDetailed ActionPO1.1Capability statement${base}/metadata?GETReturns the capability statement for the publisher agentPO2.1Create location${base}/LocationPOSTRegister a location for organisationPO2.2Get location${base}/Location/[loc_id]GETGet location detailsPO2.3Update location${base}/Location/[loc_id]PUTUpdate location detailsPO2.4Search locations${base}/Location?GETSearch for locations based on search parametersPO3.1Create healthcare service${base}/HealthcareServicePOSTRegister a location for organisationPO3.2Get healthcare service${base}/HealthcareService/[hcs_id]GETGet healthcare service detailsPO3.3Update healthcare service${base}/HealthcareService/[hcs_id]PUTUpdate healthcare service detailsPO4.1Search partner services${base}/HealthcareService?_profile=http://pca.digitalhealth.gov.au/fhir/4.0/StructureDefinition/pca-partner-serviceGETSearch for partner services based on search parametersPO4.2Get partner service${base}/HealthcareService/[prs_id]GETGet partner service detailsPO4.3Get information use statement${base}/Contract/[ius_id]GETGet information use statementPO5.1Get practitioner${base}/Practitioner?identifier=[ahpraRegistrationNumber]GETGet practitioner details using their AHPRA numberPO6.1Create practitioner role${base}/PractitionerRoleCREATERegister a practitioner role at a healthcare servicePO6.2Get practitioner role${base}/PractitionerRole/[prr_id]GETGet practitioner role detailsPO6.3Update practitioner role${base}/PractitionerRole/[prr_id]PUTUpdate practitioner role detailsPO7.1Get matched records${base}/?_type=TaskGETGet a status of matched recordsSubscriber operation APIsThe 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:RefAPIURLHTTP ActionDetailed ActionSO1.1Capability statement${base}/metadataGETReturns the capability statement for the subscriber agentSO2.1Register notification${base}/SubscriptionPOSTRegister notification channelSO2.2Get registered notification channels${base}/SubscriptionGETGet registered notification channelsSO2.3Deregister notification${base}/Subscription/${subscription_id}DELETEDeregister notification channelSO3.1Get service offerings based on date parameter${base}?_type={resourceName}&_lastUpdated={timeStamp} GETGet resources based on date parametere.g. _lastUpdated=gt2019-11-18T15:56:48%2B11:00SO3.2Get service offerings based on date parameter - include and iterate over references${base}?_type={resourceName}&_lastUpdated={timeStamp}&_include={resourceName}:{searchParamater}&_include:iterate={resourceName}:{searchParamater}GETGet resources based on date parameter and include and iterate on references:e.g. _include=HealthcareService:organizationSO4.1Patch healthcare service${base}/HealthcareService/[hcs_id]PATCHPatch healthcare service detailsSO5.1Submit match record${base}/TaskPOSTSubmit match recordsSystem of record APIsThe following table outlines the system of record APIs:RefAPIURLHTTP ActionDetailed ActionSR1.1ABR search${env}/PcaSystemOfRecordApi/v2/api/AbrSearch/search?abn={abn}GETSearch by ABNSR1.2ABR ABN${env}/PcaSystemOfRecordApi/v2/api/AbrSearch/abn?abn={abn}GETLookup and validation of the ABNSR2.1Address autocomplete${env}/PcaSystemOfRecordApi/v2/api/AddressSearch/addressautocomplete?address={address}GETSearch to return closely matching addresses which can then be selected from by the userSR2.2Address metadata${env}/PcaSystemOfRecordApi/v2/api/AddressSearch/addressmetadata?id={address_id}GETReturn the full metadata associated with an address selected from address autocomplete API.SR3.1Location autocomplete${env}/PcaSystemOfRecordApi/v2/api/AddressSearch/locationautocomplete?address={location}GETSearch to return matching suburb or post code which can then be selected from by the userSR3.2Location metadata${env}/PcaSystemOfRecordApi/v2/api/AddressSearch/locationmetadata?id={location_id}GETReturn the full metadata associated with an location selected from location autocomplete API.SR4.1AHPRA lookup${env}/PcaSystemOfRecordApi/v2/api/Ahpra/search?ahpraProfessionNumber={ahpra_profession_number}GETLookup and validation of the AHPRA numberSR5.1HI search HPIO${env}/PcaSystemOfRecordApi/v2/api/HiSearch/organisation/hpio?user={username}&hpioLinkedToCsp={hpioLinkedToCsp}&hpio={hpio}GETHealth identifier validation for organisation using HPIOSR5.2HI search ABN${env}/PcaSystemOfRecordApi/v2/api/HiSearch/organisation/abn?user={username}&hpioLinkedToCsp={hpioLinkedToCsp}&abn={abn}GETHealth identifier validation for organisation using ABNSR5.3HI search HPII${env}/PcaSystemOfRecordApi/v2/api/HiSearch/provider?user={username}&hpioLinkedToCsp={hpioLinkedToCsp}&familyName={familyname}&id={id}&idType=hpiiGETHealth identifier validation for individual using HPIISR5.4HI search AHPRA${env}/PcaSystemOfRecordApi/v2/api/HiSearch/provider?user={username}&hpioLinkedToCsp={hpioLinkedToCsp}&familyName={familyname}&id={id}&idType=ahpraGETHealth identifier validation for individual using AHPRA registration idSR6.1Medicare validate{{env}}/PcaSystemOfRecordApi/v2/api/Medicare/validate?providerNumber={providerNumber}&givenName={givenName}&familyName={familyName}&postcode={postcode}GET Validate Medicare Provider NumberSR7.1Terminology valueset${env}/PcaSystemOfRecordApi/v2/api/TerminologyManager/valueset?valueSet={valueset}GETReturns a valueset See below *SR7.2Terminology allparents${env}/PcaSystemOfRecordApi/v2/api/TerminologyManager/allparents?valueSet={valueset}&code={code}GETReturns parents of code for a valuesetSR7.3Terminology children${env}/PcaSystemOfRecordApi/v2/api/TerminologyManager/children?valueSet={valueset}&code={code}GETReturns children of code for a valuesetTesting utilities (PCA™ API)You can use a client such as Postman for testing.Find the latest collections and environment imports in the ZIP file linked below:Provider Connect Australia - SVT Postman Collections v2.40Quick start guide to testingStep DetailsStep 1:Install Postman and create a PCA™ workspaceStep 2:Unzip the latest postman collections archive aboveStep 3:Import all extracted files into PCA™ workspaceStep 4:Create an Organisation (PCA™ portal) and obtain PCA Operator approval Step 5:Register client (CR1.1)Step 6:Authorise your client (PCA™ portal) for the OrganisationStep 7:Get access token (CR2.1)Step 8:Source org_id by calling introspect token (CR2.2)Step 9:Run any publisher, subscriber or system of record operations Home | Back: Implementation patterns | Next: Code samples