NHSD FHIR API

Real-time, read-only HL7 FHIR API over the National Health Services Directory, aligned to the HL7 AU Provider Directory (AU-PD) implementation guide. Supports querying Organization, HealthcareService, PractitionerRole, and Practitioner resources — including geospatial (location.near), open-now/open-at, service-type (SNOMED CT-AU), and identifier searches — for over 400,000 service and practitioner records. Secured with OAuth 2.0 client-credentials plus an x-api-key header.

Postman Collection

nhsd-developers-portal.postman_collection.json Raw ↑
{
	"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&locatio

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/healthdirect/refs/heads/main/collections/nhsd-developers-portal.postman_collection.json