{ "info": { "_postman_id": "368cf204-362a-49af-9c76-118a80499c22", "name": "01 - Developers Portal", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "11415471", "_collection_link": "https://gold-water-608612.postman.co/workspace/FHIR---Developers-Portal~a5eac805-93ee-4d1b-a8d8-96b2fee4a02f/collection/11415471-368cf204-362a-49af-9c76-118a80499c22?action=share&source=collection_link&creator=11415471" }, "item": [ { "name": "1.0 - IAM", "item": [ { "name": "1.1 - Authorisation", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Correctly returned an access token\", function () {", " const responseJson = pm.response.json();", " pm.expect(responseJson).to.haveOwnProperty(\"accessToken\");", "", " token = responseJson.accessToken", " pm.collectionVariables.set(\"token\", \"Bearer \" + token);", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "client_credentials", "type": "text" }, { "key": "client_secret", "value": "{{client_secret}}", "type": "text" }, { "key": "client_id", "value": "{{client_id}}", "type": "text" } ] }, "url": { "raw": "https://iam.int.nhsd.healthdirect.org.au/iam/oauth/token", "protocol": "https", "host": [ "iam", "int", "nhsd", "healthdirect", "org", "au" ], "path": [ "iam", "oauth", "token" ] } }, "response": [] } ] }, { "name": "2.0 - Organization", "item": [ { "name": "2.1 - Get by NHSD ID", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Correct entity returned\", function () {", " const responseJson = pm.response.json();", " var id = pm.request.url.path[2]", "", " pm.expect(responseJson.id).to.eql(id);", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/Organization/:id", "host": [ "{{url}}" ], "path": [ "Organization", ":id" ], "variable": [ { "key": "id", "value": "0cbe6074-9f28-4494-8a11-dd9777306ab8" } ] } }, "response": [] }, { "name": "2.2 - Search by organisation name", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Check name matches\", function () {", " const responseJson = pm.response.json();", "", " var name = decodeURI(pm.request.url.query.get('name'))", "", " var entities = responseJson.entry;", " for(entity of entities){", " pm.expect(entity.resource.name).to.eql(name);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/Organization?name=786 Test Medical Centre", "host": [ "{{url}}" ], "path": [ "Organization" ], "query": [ { "key": "name", "value": "786 Test Medical Centre" } ] } }, "response": [] }, { "name": "2.3 - Search by organisation identifier", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Check identifier matches\", function () {", " var startUri = 'nhsd:/reference/common/organisationIdentifierType/'", "", " const responseJson = pm.response.json();", "", " var value = decodeURI(pm.request.url.query.get('identifier'))", "", " var entities = responseJson.entry;", " for(entity of entities){", " var valuesArray = [];", "", " var identifiers = entity.resource.identifier", " for(identifier of identifiers){", " var code = identifier.type.coding[0].code.toLowerCase()", " var resValue = identifier.value", " valuesArray.push(startUri + code + \"|\" + resValue);", " }", "", " pm.expect(valuesArray).includes(value);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/Organization?identifier=nhsd:/reference/common/organisationIdentifierType/abn|70442033624", "host": [ "{{url}}" ], "path": [ "Organization" ], "query": [ { "key": "identifier", "value": "nhsd:/reference/common/organisationIdentifierType/abn|70442033624" } ] } }, "response": [] }, { "name": "2.4 - Search by related organisation", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Check related organisation matches\", function () {", " const responseJson = pm.response.json();", "", " var value = decodeURI(pm.request.url.query.get('partof'))", "", " var entities = responseJson.entry;", " for(entity of entities){", " var id = entity.resource.partOf.id", " pm.expect(id).to.eql(value);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/Organization?partof=6857a815-7e2b-496d-848f-06dd11694097", "host": [ "{{url}}" ], "path": [ "Organization" ], "query": [ { "key": "partof", "value": "6857a815-7e2b-496d-848f-06dd11694097" } ] } }, "response": [] } ] }, { "name": "3.0 - Healthcare Service", "item": [ { "name": "3.1 - Get by NHSD ID", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Correct entity based on id search returned\", function () {", " const responseJson = pm.response.json();", " var id = pm.request.url.path[2]", "", " pm.expect(responseJson.id).to.eql(id);", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService/:id", "host": [ "{{url}}" ], "path": [ "HealthcareService", ":id" ], "variable": [ { "key": "id", "value": "10d6717a-a225-4ae5-8f4c-590118ca018f" } ] } }, "response": [] }, { "name": "3.2 - Search by service type", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check service type matches\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('service-type')).toLowerCase().split(\"|\")[1]", "", " var entities = responseJson.entry;", " for(entity of entities){", " var respValues = [];", "", " var items = entity.resource.type", " for(item of items){", " var respValue = item.coding[0].code.toLowerCase()", " respValues.push(respValue);", " }", "", " pm.expect(respValues).includes(reqValue);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?service-type=nhsd:/reference/taxonomies/snomed-servicetype|788007007", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "service-type", "value": "nhsd:/reference/taxonomies/snomed-servicetype|788007007" } ] } }, "response": [] }, { "name": "3.3 - Search by multiple service types (OR)", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check multiple service types match (OR)\", function () {", " const responseJson = pm.response.json();", "", " var tempArray = decodeURI(pm.request.url.query.get('service-type')).toLowerCase().split(',')", "", " var reqValues = [];", " for(item of tempArray){", " reqValues.push(item.split('|')[1])", " }", " ", " var entities = responseJson.entry;", " for(entity of entities){", " var respValues = [];", "", " var items = entity.resource.type", " for(item of items){", " var respValue = item.coding[0].code.toLowerCase()", " respValues.push(respValue);", " }", "", " pm.expect(respValues).includes.oneOf(reqValues);", " }", "", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?service-type=nhsd:/reference/taxonomies/snomed-servicetype|1238861000168104,nhsd:/reference/taxonomies/snomed-servicetype|1241801000168105", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "service-type", "value": "nhsd:/reference/taxonomies/snomed-servicetype|1238861000168104,nhsd:/reference/taxonomies/snomed-servicetype|1241801000168105" } ] } }, "response": [] }, { "name": "3.4 - Search by billing option", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check billing option matches\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('serviceProvisionCode')).toLowerCase().split(\"|\")[1]", "", " var entities = responseJson.entry;", " for(entity of entities){", " var respValues = [];", "", " var items = entity.resource.serviceProvisionCode", " for(item of items){", " var respValue = item.coding[0].code.toLowerCase()", " respValues.push(respValue);", " }", "", " pm.expect(respValues).includes(reqValue);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?serviceProvisionCode=http://hl7.org.au/fhir/CodeSystem/service-provision-conditions|BBO", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "serviceProvisionCode", "value": "http://hl7.org.au/fhir/CodeSystem/service-provision-conditions|BBO" } ] } }, "response": [] }, { "name": "3.5 - Search by open now", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check if open now\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('openNow')).toLowerCase()", "", " if(reqValue == \"true\"){", " reqValue = \"current-status|open\"", " }else{", " reqValue = \"current-status|closed\"", " }", "", " var entities = responseJson.entry;", " for(entity of entities){", " var respValues = [];", "", " var items = entity.resource.meta.extension", " for(item of items){", " var system = item.extension[0].url.toLowerCase()", " var code = item.extension[0].valueString.toLowerCase()", " ", " respValues.push(system + \"|\" + code);", " }", "", " pm.expect(respValues).includes(reqValue);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?openNow=true", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "openNow", "value": "true" } ] } }, "response": [] }, { "name": "3.6 - Search by open in", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?openIn=30", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "openIn", "value": "30" } ] } }, "response": [] }, { "name": "3.7 - Search by open at", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?openAt=2024-12-25T13:47:43.000+10:00", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "openAt", "value": "2024-12-25T13:47:43.000+10:00" } ] } }, "response": [] }, { "name": "3.8 - Search by characteristic", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check characteristics match\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('characteristic')).toLowerCase().split(\"|\")[1]", "", " var entities = responseJson.entry;", " for(entity of entities){", " var respValues = [];", "", " var items = entity.resource.characteristic", " for(item of items){", " var respValue = item.coding[0].code.toLowerCase()", " respValues.push(respValue);", " }", "", " pm.expect(respValues).includes(reqValue);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?characteristic=http://fhir.nhsd.com.au/CodeSystem/rc-facility|wheelchairAccess", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "characteristic", "value": "http://fhir.nhsd.com.au/CodeSystem/rc-facility|wheelchairAccess" } ] } }, "response": [] }, { "name": "3.9 - Search by identifier", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check identifiers match\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('identifier')).toLowerCase().split(\"|\")[1]", "", " var entities = responseJson.entry;", " for(entity of entities){", " var respValues = [];", "", " var items = entity.resource.identifier", " for(item of items){", " var respValue = item.value.toLowerCase()", " ", " respValues.push(respValue);", " }", "", " pm.expect(respValues).includes(reqValue);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?identifier=nhsd:/reference/common/providerLocationServiceIdentifierType/healthLink|eve42514", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "identifier", "value": "nhsd:/reference/common/providerLocationServiceIdentifierType/healthLink|eve42514" } ] } }, "response": [] }, { "name": "3.10 - Search by location suburb", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check suburb location search\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('location.address-city')).toLowerCase()", "", " var entities = responseJson.entry;", " for(entity of entities){", " var resource = entity.resource.resourceType", " if(resource === \"HealthcareService\"){", " var locId = entity.resource.location[0].id", " var location = entities.filter(item => item.resource.id === locId);", " var suburb = location[0].resource.address.city.toLowerCase();", " pm.expect(reqValue).to.equal(suburb);", " }", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?location.physicalType=si&location.address-city=BENDIGO&_include=HealthcareService:location", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "location.physicalType", "value": "si" }, { "key": "location.address-city", "value": "BENDIGO" }, { "key": "_include", "value": "HealthcareService:location" } ] } }, "response": [] }, { "name": "3.11 - Search by location postcode", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check postcode location search\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('location.address-postalcode')).toLowerCase()", "", " var entities = responseJson.entry;", " for(entity of entities){", " var resource = entity.resource.resourceType", " if(resource === \"HealthcareService\"){", " var locId = entity.resource.location[0].id", " var location = entities.filter(item => item.resource.id === locId);", " var postcode = location[0].resource.address.postalCode.toLowerCase();", " pm.expect(reqValue).to.equal(postcode);", " }", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?location.physicalType=si&location.address-postalcode=3585&_include=HealthcareService:location", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "location.physicalType", "value": "si" }, { "key": "location.address-postalcode", "value": "3585" }, { "key": "_include", "value": "HealthcareService:location" } ] } }, "response": [] }, { "name": "3.12 - Search by location state", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check state location search\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('location.address-state')).toLowerCase()", "", " var entities = responseJson.entry;", " for(entity of entities){", " var resource = entity.resource.resourceType", " if(resource === \"HealthcareService\"){", " var locId = entity.resource.location[0].id", " var location = entities.filter(item => item.resource.id === locId);", " var state = location[0].resource.address.state.toLowerCase();", " pm.expect(reqValue).to.equal(state);", " }", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?location.physicalType=si&location.address-state=VIC&_include=HealthcareService:location", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "location.physicalType", "value": "si" }, { "key": "location.address-state", "value": "VIC" }, { "key": "_include", "value": "HealthcareService:location" } ] } }, "response": [] }, { "name": "3.13 - Search by location proximity", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check proximity search\", function () {", " const responseJson = pm.response.json();", "", " var distance = 0.0;", " var distanceUrl = \"http://fhir.nhsd.com.au/StructureDefinition/proximity-distance\";", " var entities = responseJson.entry;", " ", " for(entity of entities){", " var items = entity.resource.meta.extension;", " var item = items.filter(item => item.url === distanceUrl);", " var value = item[0].valueQuantity.value;", "", " pm.expect(distance).lte(value);", " distance = value", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?location.physicalType=si&location.near=-27.4237155914306641:153.035675048828125", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "location.physicalType", "value": "si" }, { "key": "location.near", "value": "-27.4237155914306641:153.035675048828125" } ] } }, "response": [] }, { "name": "3.14 - Search by location proximity within a specified distance", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check proximity search and distance limit\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = Number(decodeURI(pm.request.url.query.get('location.near-distance')).toLowerCase().split(\"|\")[0])", "", " var distance = 0.0;", " var distanceUrl = \"http://fhir.nhsd.com.au/StructureDefinition/proximity-distance\";", " var entities = responseJson.entry;", " ", " for(entity of entities){", " var items = entity.resource.meta.extension;", " var item = items.filter(item => item.url === distanceUrl);", " var value = item[0].valueQuantity.value;", "", " pm.expect(distance).lte(value);", " pm.expect(distance).lte(reqValue)", " distance = value", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?location.physicalType=si&location.near=-27.4237155914306641:153.035675048828125&location.near-distance=100|http://unitsofmeasure.org|m", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "location.physicalType", "value": "si" }, { "key": "location.near", "value": "-27.4237155914306641:153.035675048828125" }, { "key": "location.near-distance", "value": "100|http://unitsofmeasure.org|m" } ] } }, "response": [] }, { "name": "3.15 - Search by coverage area postcode", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check location search based on coverage area postcode\", function () {", " const responseJson = pm.response.json();", "", " var entities = responseJson.entry;", " for(entity of entities){", " var item = entity.resource.contained[0].physicalType.coding[0].code;", " pm.expect(item).to.eql(\"AREA\")", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/HealthcareService?location.physicalType=virtual&coverageArea.address-postalcode=3568", "host": [ "{{url}}" ], "path": [ "HealthcareService" ], "query": [ { "key": "location.physicalType", "value": "virtual" }, { "key": "coverageArea.address-postalcode", "value": "3568" } ] } }, "response": [] } ] }, { "name": "4.0 - Practitioner Role", "item": [ { "name": "4.1 - Get by NHSD ID", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Correct entity based on id search returned\", function () {", " const responseJson = pm.response.json();", " var id = pm.request.url.path[2]", "", " pm.expect(responseJson.id).to.eql(id);", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/PractitionerRole/:id", "host": [ "{{url}}" ], "path": [ "PractitionerRole", ":id" ], "variable": [ { "key": "id", "value": "b60a7a44-3db7-42c0-81bc-acc483bc29f2" } ] } }, "response": [] }, { "name": "4.2 - Search by identifier", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check identifiers match\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('identifier')).toLowerCase().split(\"|\")[1]", "", " var entities = responseJson.entry;", " for(entity of entities){", " var respValues = [];", "", " var items = entity.resource.identifier", " for(item of items){", " var respValue = item.value.toLowerCase()", " ", " respValues.push(respValue);", " }", "", " pm.expect(respValues).includes(reqValue);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/PractitionerRole?identifier=http://ns.electronichealth.net.au/id/medicare-provider-number|034238AJ", "host": [ "{{url}}" ], "path": [ "PractitionerRole" ], "query": [ { "key": "identifier", "value": "http://ns.electronichealth.net.au/id/medicare-provider-number|034238AJ" } ] } }, "response": [] } ] }, { "name": "5.0 - Practitioner", "item": [ { "name": "5.1 - Get by NHSD ID", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Correct entity based on id search returned\", function () {", " const responseJson = pm.response.json();", " var id = pm.request.url.path[2]", "", " pm.expect(responseJson.id).to.eql(id);", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/Practitioner/:id", "host": [ "{{url}}" ], "path": [ "Practitioner", ":id" ], "variable": [ { "key": "id", "value": "390d88a5-79b3-4228-86dd-bc272bd5e8bb" } ] } }, "response": [] }, { "name": "5.2 - Search by name", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check name matches based on token functionality (individuals names, delimited by space)\", function () {", " const responseJson = pm.response.json();", "", " var reqValues = decodeURI(pm.request.url.query.get('name')).toLowerCase().split(\" \")", "", " var entities = responseJson.entry;", " for(entity of entities){", " var respValue = entity.resource.name[0].text.toLowerCase()", "", " pm.expect(respValue).to.contain.oneOf(reqValues);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/Practitioner?name=Audrey Josephine Hayes", "host": [ "{{url}}" ], "path": [ "Practitioner" ], "query": [ { "key": "name", "value": "Audrey Josephine Hayes" } ] } }, "response": [] }, { "name": "5.3 - Search by identifier", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "pm.test(\"Check identifiers match\", function () {", " const responseJson = pm.response.json();", "", " var reqValue = decodeURI(pm.request.url.query.get('identifier')).toLowerCase().split(\"|\")[1]", "", " var entities = responseJson.entry;", " for(entity of entities){", " var respValues = [];", "", " var items = entity.resource.identifier", " for(item of items){", " var respValue = item.value.toLowerCase()", " ", " respValues.push(respValue);", " }", "", " pm.expect(respValues).includes(reqValue);", " }", "});" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "x-api-key", "value": "{{apiKey}}", "type": "text" }, { "key": "Authorization", "value": "{{token}}", "type": "text" } ], "url": { "raw": "{{url}}/Practitioner?identifier=http://hl7.org.au/id/ahpra-registration-number|MED0000991161", "host": [ "{{url}}" ], "path": [ "Practitioner" ], "query": [ { "key": "identifier", "value": "http://hl7.org.au/id/ahpra-registration-number|MED0000991161" } ] } }, "response": [] } ] } ], "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "packages": {}, "exec": [ "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "packages": {}, "exec": [ "pm.test(\"Check the response is ok - HTTP status code is 200\", function () {", " if(pm.response.code === 400){", " console.log(\"Bad request. Please review you inputs and try again\")", " }", " if(pm.response.code === 401){", " console.log(\"Error is likely due to expired security token. Generate a new security token by running request 1.1 - Authorization\")", " }", " if(pm.response.code === 403){", " console.log(\"The error is likely caused by incorrect credentials. Please update in the evironment variables and generate a new security token by running request 1.1 - Authorization\")", " }", " if(pm.response.code === 404){", " console.log(\"Records not found matching the search criteria. Please try again using different criteria. If you are expecting to have a record returned please contact the NHSD\")", " }", " if(pm.response.code === 500){", " console.log(\"If you continue to see this error. Please contact the NHSD to resolve with the details of the call made\")", " }", "", " pm.response.to.have.status(200);", "});" ] } } ], "variable": [ { "key": "url", "value": "https://api.fhir.int.nhsd.healthdirect.org.au/v4", "type": "string" }, { "key": "apiKey", "value": "", "type": "string" }, { "key": "client_secret", "value": "", "type": "string" }, { "key": "client_id", "value": "", "type": "string" }, { "key": "token", "value": "", "type": "string" } ] }