From fec0cd40156d7c7342d33460c9af30d76ba7ed09 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Wed, 18 Jan 2023 14:12:51 +0000 Subject: [PATCH 01/30] AMB-1384: Updated spec to reflect use of API key auth --- specification/service-search-api.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/service-search-api.yaml b/specification/service-search-api.yaml index 2e39df1..000ea03 100644 --- a/specification/service-search-api.yaml +++ b/specification/service-search-api.yaml @@ -49,7 +49,7 @@ info: * unattended (end user not present) To use this access mode, use the following security pattern: - * [application-restricted RESTful API - signed JWT authentication](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/application-restricted-restful-apis-signed-jwt-authentication) + * [application-restricted RESTful API - API key authentication](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/application-restricted-restful-apis-api-key-authentication) ## Environments and testing From fcf0a44a762452bf9374e59102f777928a83ed27 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 10:03:45 +0000 Subject: [PATCH 02/30] AMB-1381: Added policy to rewrite response url hostnames --- .../policies/javascript.CacheRequestHost.xml | 6 ++++++ .../policies/javascript.RewriteHostName.xml | 6 ++++++ .../apiproxy/resources/jsc/CacheRequestHost.js | 1 + .../live/apiproxy/resources/jsc/RewriteHostName.js | 14 ++++++++++++++ tests/test_search_postcode.py | 4 ++-- 5 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 proxies/live/apiproxy/policies/javascript.CacheRequestHost.xml create mode 100644 proxies/live/apiproxy/policies/javascript.RewriteHostName.xml create mode 100644 proxies/live/apiproxy/resources/jsc/CacheRequestHost.js create mode 100644 proxies/live/apiproxy/resources/jsc/RewriteHostName.js diff --git a/proxies/live/apiproxy/policies/javascript.CacheRequestHost.xml b/proxies/live/apiproxy/policies/javascript.CacheRequestHost.xml new file mode 100644 index 0000000..0dc41a5 --- /dev/null +++ b/proxies/live/apiproxy/policies/javascript.CacheRequestHost.xml @@ -0,0 +1,6 @@ + + + javascript.CacheRequestHost + + jsc://CacheRequestHost.js + diff --git a/proxies/live/apiproxy/policies/javascript.RewriteHostName.xml b/proxies/live/apiproxy/policies/javascript.RewriteHostName.xml new file mode 100644 index 0000000..6db930d --- /dev/null +++ b/proxies/live/apiproxy/policies/javascript.RewriteHostName.xml @@ -0,0 +1,6 @@ + + + javascript.RewriteHostName + + jsc://RewriteHostName.js + diff --git a/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js b/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js new file mode 100644 index 0000000..ae8fe83 --- /dev/null +++ b/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js @@ -0,0 +1 @@ +context.setVariable("request_hostname", request.headers.host); diff --git a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js new file mode 100644 index 0000000..7a3d652 --- /dev/null +++ b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js @@ -0,0 +1,14 @@ +var response = context.getVariable("response.content"); +var json = JSON.parse(response) + +// Loop over each item in the search result array, re-writing the hostname to that of the initial request +json.place.forEach(value => { + var request_hostname = context.getVariable("request_hostname") + var rewritten_url = value.url.replace("api.nhs.uk", request_hostname); + value.url = rewritten_url; + value.url = value.url.replace("api-version=1", "api-version=2"); + value.url = value.url.replace("service-search", "service-search-api"); +}); + +// Update the response payload with the corrected urls +context.setVariable("message.content", JSON.stringify(json)); diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index 40dc09d..29c4e9a 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -104,7 +104,6 @@ def test_invalid_api_version(self, get_api_key): assert_that(response.status_code).is_equal_to(expected_status_code) assert_that(response.json()).is_equal_to(expected_body) - @pytest.mark.skip @pytest.mark.integration def test_response_payload_urls_are_corrected(self, get_api_key): """ @@ -127,9 +126,10 @@ def test_response_payload_urls_are_corrected(self, get_api_key): results = response.json()['place'] for item in results: - url_response = requests.get( + url_response = requests.post( url=item['url'], params={"apikey": api_key}, headers=make_headers(api_key) ) + import pdb; pdb.set_trace() assert_that(url_response.status_code).is_equal_to(expected_status_code) From ec2e4a5d5e8380f674a5e43749e94b3b21afbba3 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 10:07:32 +0000 Subject: [PATCH 03/30] AMB-1381: Removed breakpoint --- tests/test_search_postcode.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index 29c4e9a..b4e3266 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -131,5 +131,4 @@ def test_response_payload_urls_are_corrected(self, get_api_key): params={"apikey": api_key}, headers=make_headers(api_key) ) - import pdb; pdb.set_trace() assert_that(url_response.status_code).is_equal_to(expected_status_code) From 6d3a1942237e6a5fe1c02d0041e0dbaa36d3b1e6 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 10:20:16 +0000 Subject: [PATCH 04/30] AMB-1381: Added host rewrite policy to endpoints --- proxies/live/apiproxy/proxies/default.xml | 6 +++++- proxies/live/apiproxy/targets/target.xml | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/proxies/live/apiproxy/proxies/default.xml b/proxies/live/apiproxy/proxies/default.xml index 1e1aa0e..e7976c0 100644 --- a/proxies/live/apiproxy/proxies/default.xml +++ b/proxies/live/apiproxy/proxies/default.xml @@ -41,7 +41,11 @@ - + + + javascript.CacheRequestHostname + + diff --git a/proxies/live/apiproxy/targets/target.xml b/proxies/live/apiproxy/targets/target.xml index a6b3463..52cf28f 100644 --- a/proxies/live/apiproxy/targets/target.xml +++ b/proxies/live/apiproxy/targets/target.xml @@ -15,6 +15,14 @@ + + + + + javascript.RewriteResponseHost + + + From 13d51c1c308a75f5fc5f6e5203f193ee46796344 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 10:30:03 +0000 Subject: [PATCH 05/30] AMB-1381: Fixed incorrect policy names --- proxies/live/apiproxy/proxies/default.xml | 2 +- proxies/live/apiproxy/targets/target.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/proxies/live/apiproxy/proxies/default.xml b/proxies/live/apiproxy/proxies/default.xml index e7976c0..29ba98a 100644 --- a/proxies/live/apiproxy/proxies/default.xml +++ b/proxies/live/apiproxy/proxies/default.xml @@ -43,7 +43,7 @@ - javascript.CacheRequestHostname + javascript.CacheRequestHost diff --git a/proxies/live/apiproxy/targets/target.xml b/proxies/live/apiproxy/targets/target.xml index 52cf28f..7522541 100644 --- a/proxies/live/apiproxy/targets/target.xml +++ b/proxies/live/apiproxy/targets/target.xml @@ -19,7 +19,7 @@ - javascript.RewriteResponseHost + javascript.RewriteHostName From e5ec8b680574e69f3a41bdf27e2a140d73433dc9 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 13:13:27 +0000 Subject: [PATCH 06/30] AMB-1381: Tweaked placement of js policy --- proxies/live/apiproxy/proxies/default.xml | 1 + .../live/apiproxy/resources/jsc/RewriteHostName.js | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/proxies/live/apiproxy/proxies/default.xml b/proxies/live/apiproxy/proxies/default.xml index 29ba98a..452e28d 100644 --- a/proxies/live/apiproxy/proxies/default.xml +++ b/proxies/live/apiproxy/proxies/default.xml @@ -42,6 +42,7 @@ + javascript.CacheRequestHost diff --git a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js index 7a3d652..1f024a1 100644 --- a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js @@ -1,14 +1,16 @@ var response = context.getVariable("response.content"); var json = JSON.parse(response) -// Loop over each item in the search result array, re-writing the hostname to that of the initial request -json.place.forEach(value => { +if (json.place) { + // Loop over each item in the search result array, re-writing the hostname to that of the initial request + json.place.forEach(value => { var request_hostname = context.getVariable("request_hostname") var rewritten_url = value.url.replace("api.nhs.uk", request_hostname); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); value.url = value.url.replace("service-search", "service-search-api"); -}); + }); -// Update the response payload with the corrected urls -context.setVariable("message.content", JSON.stringify(json)); + // Update the response payload with the corrected urls + context.setVariable("message.content", JSON.stringify(json)); +} From 61ff31adbc3fcb893831ec86afd772d7aadd2058 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 13:15:51 +0000 Subject: [PATCH 07/30] AMB-1381: Tweaked placement of js policy --- proxies/live/apiproxy/proxies/default.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/proxies/live/apiproxy/proxies/default.xml b/proxies/live/apiproxy/proxies/default.xml index 452e28d..85409de 100644 --- a/proxies/live/apiproxy/proxies/default.xml +++ b/proxies/live/apiproxy/proxies/default.xml @@ -42,10 +42,14 @@ - - - javascript.CacheRequestHost - + + + AssignMessage.SetApimGuids + + + javascript.CacheRequestHostname + + From 84eb5d04c3b9649b34af433a71bc9f3c1a51b92f Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 15:15:16 +0000 Subject: [PATCH 08/30] AMB-1381: Added empty body to url requests When we don't pass a body we hit a 500 error trying to follow the url in the response because the `Content-Length` header gets set to 0. --- tests/test_search_postcode.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index b4e3266..290db7e 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -121,14 +121,14 @@ def test_response_payload_urls_are_corrected(self, get_api_key): url=f"{config.BASE_URL}/{config.BASE_PATH}/{self.endpoint}", params={"api-version": "2", "apikey": api_key, "search": search}, headers=make_headers(api_key), - json={} + json={}, ) results = response.json()['place'] for item in results: url_response = requests.post( url=item['url'], - params={"apikey": api_key}, - headers=make_headers(api_key) + headers=make_headers(api_key), + json={}, ) assert_that(url_response.status_code).is_equal_to(expected_status_code) From 3058d82049e151e7e95c522ea412c998ff079916 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 15:28:28 +0000 Subject: [PATCH 09/30] AMB-1381: Fixed typo in policy name --- proxies/live/apiproxy/proxies/default.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxies/live/apiproxy/proxies/default.xml b/proxies/live/apiproxy/proxies/default.xml index 85409de..d1ab2fa 100644 --- a/proxies/live/apiproxy/proxies/default.xml +++ b/proxies/live/apiproxy/proxies/default.xml @@ -47,7 +47,7 @@ AssignMessage.SetApimGuids - javascript.CacheRequestHostname + javascript.CacheRequestHost From f11a1fa20ecbbc0935a7c302dde9cfb6af68b6ad Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 16:11:10 +0000 Subject: [PATCH 10/30] AMB-1381: Ported host rewrite policies to sandbox --- .../policies/javascript.CacheRequestHost.xml | 6 ++++++ .../policies/javascript.RewriteHostName.xml | 6 ++++++ proxies/sandbox/apiproxy/proxies/default.xml | 11 ++++++++++- .../apiproxy/resources/jsc/CacheRequestHost.js | 1 + .../apiproxy/resources/jsc/RewriteHostName.js | 16 ++++++++++++++++ proxies/sandbox/apiproxy/targets/sandbox.xml | 8 ++++++++ tests/test_search_postcode.py | 2 ++ 7 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 proxies/sandbox/apiproxy/policies/javascript.CacheRequestHost.xml create mode 100644 proxies/sandbox/apiproxy/policies/javascript.RewriteHostName.xml create mode 100644 proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js create mode 100644 proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js diff --git a/proxies/sandbox/apiproxy/policies/javascript.CacheRequestHost.xml b/proxies/sandbox/apiproxy/policies/javascript.CacheRequestHost.xml new file mode 100644 index 0000000..0dc41a5 --- /dev/null +++ b/proxies/sandbox/apiproxy/policies/javascript.CacheRequestHost.xml @@ -0,0 +1,6 @@ + + + javascript.CacheRequestHost + + jsc://CacheRequestHost.js + diff --git a/proxies/sandbox/apiproxy/policies/javascript.RewriteHostName.xml b/proxies/sandbox/apiproxy/policies/javascript.RewriteHostName.xml new file mode 100644 index 0000000..6db930d --- /dev/null +++ b/proxies/sandbox/apiproxy/policies/javascript.RewriteHostName.xml @@ -0,0 +1,6 @@ + + + javascript.RewriteHostName + + jsc://RewriteHostName.js + diff --git a/proxies/sandbox/apiproxy/proxies/default.xml b/proxies/sandbox/apiproxy/proxies/default.xml index 0924853..d9dad36 100644 --- a/proxies/sandbox/apiproxy/proxies/default.xml +++ b/proxies/sandbox/apiproxy/proxies/default.xml @@ -39,7 +39,16 @@ - + + + + AssignMessage.SetApimGuids + + + javascript.CacheRequestHost + + + diff --git a/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js b/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js new file mode 100644 index 0000000..ae8fe83 --- /dev/null +++ b/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js @@ -0,0 +1 @@ +context.setVariable("request_hostname", request.headers.host); diff --git a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js new file mode 100644 index 0000000..1f024a1 --- /dev/null +++ b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js @@ -0,0 +1,16 @@ +var response = context.getVariable("response.content"); +var json = JSON.parse(response) + +if (json.place) { + // Loop over each item in the search result array, re-writing the hostname to that of the initial request + json.place.forEach(value => { + var request_hostname = context.getVariable("request_hostname") + var rewritten_url = value.url.replace("api.nhs.uk", request_hostname); + value.url = rewritten_url; + value.url = value.url.replace("api-version=1", "api-version=2"); + value.url = value.url.replace("service-search", "service-search-api"); + }); + + // Update the response payload with the corrected urls + context.setVariable("message.content", JSON.stringify(json)); +} diff --git a/proxies/sandbox/apiproxy/targets/sandbox.xml b/proxies/sandbox/apiproxy/targets/sandbox.xml index 22be523..74caad5 100644 --- a/proxies/sandbox/apiproxy/targets/sandbox.xml +++ b/proxies/sandbox/apiproxy/targets/sandbox.xml @@ -14,6 +14,14 @@ + + + + + javascript.RewriteHostName + + + AssignMessage.AddCors diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index 290db7e..4706de9 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -124,6 +124,8 @@ def test_response_payload_urls_are_corrected(self, get_api_key): json={}, ) + import pdb; pdb.set_trace() + results = response.json()['place'] for item in results: url_response = requests.post( From 9768fc5795af17f25d2de3a63fe05e5e073889c3 Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Wed, 18 Jan 2023 12:09:31 +0000 Subject: [PATCH 11/30] Updated postcode and place testing --- sandbox/handlers.js | 2 +- specification/examples/search-place_v2.json | 16 + .../examples/search-postcode_v2.json | 10483 +++++++++++++++- specification/service-search-api.yaml | 2 +- tests/test_search_postcode.py | 47 +- 5 files changed, 10535 insertions(+), 15 deletions(-) create mode 100644 specification/examples/search-place_v2.json diff --git a/sandbox/handlers.js b/sandbox/handlers.js index 0ffdda9..fa3b5e5 100644 --- a/sandbox/handlers.js +++ b/sandbox/handlers.js @@ -1,7 +1,7 @@ "use strict"; const log = require("loglevel"); -const searchPostcodeOrPlaceResponse = require("./responses/search-postcode_v2.json"); +const searchPostcodeOrPlaceResponse = require("./responses/search-place_v2.json"); const organisationsResponse = require("./responses/organisations_v2.json"); const organisationsNotFoundResponse = require("./responses/organisations-not-found_v2.json"); const organisationsSingleResponse = require("./responses/organisations-single_v2.json"); diff --git a/specification/examples/search-place_v2.json b/specification/examples/search-place_v2.json new file mode 100644 index 0000000..3d61153 --- /dev/null +++ b/specification/examples/search-place_v2.json @@ -0,0 +1,16 @@ +{ + "place": [ + { + "Latitude": 53.478941671902611, + "Longitude": -2.245277998298477, + "text": "Manchester, North West", + "url": "https://api.nhs.uk/service-search/search-postcode-or-place?api-version=1&search=manchester&latitude=53.4789416719026&longitude=-2.24527799829848" + }, + { + "Latitude": 53.514265448236706, + "Longitude": -2.4199003923191209, + "text": "New Manchester, North West", + "url": "https://api.nhs.uk/service-search/search-postcode-or-place?api-version=1&search=manchester&latitude=53.5142654482367&longitude=-2.41990039231912" + } + ] +} \ No newline at end of file diff --git a/specification/examples/search-postcode_v2.json b/specification/examples/search-postcode_v2.json index 3d61153..bbcb7b4 100644 --- a/specification/examples/search-postcode_v2.json +++ b/specification/examples/search-postcode_v2.json @@ -1,16 +1,10479 @@ { - "place": [ + "@search.nextPageParameters": { + "orderby": "geo.distance(Geocode, geography'POINT(-0.119923853656975 51.5222114437343)')", + "skip": 50 + }, + "value": [ { - "Latitude": 53.478941671902611, - "Longitude": -2.245277998298477, - "text": "Manchester, North West", - "url": "https://api.nhs.uk/service-search/search-postcode-or-place?api-version=1&search=manchester&latitude=53.4789416719026&longitude=-2.24527799829848" + "@search.score": 1.0, + "SearchKey": "X1841", + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust", + "OrganisationTypeId": "TRU", + "OrganisationType": "Acute Trust", + "OrganisationStatus": "Visible", + "SummaryText": "

Great Ormond Street Hospital for Children NHS Foundation Trust is the country's leading centre for treating sick children and has the widest range of specialists under one roof.

\r\n

As a specialist, tertiary care hospital, you will need to be referred by your current doctor. This may be your local paediatrician or occasionally, your GP may be able to refer you. For more information, please visit www.gosh.nhs.uk/gettingreferred

\r\n

Together with the UCL Institute of Child Health we are one of the world's leading research centres for children. 

\r\n

For more information, please visit our website at www.gosh.nhs.uk

", + "URL": "http://www.gosh.nhs.uk/", + "Address1": "Great Ormond Street", + "Address2": "", + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.522209167480469, + "Longitude": -0.11990952491760254, + "Postcode": "WC1N 3JH", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.11991, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "PALS", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "pals@gosh.nhs.uk" + }, + { + "ContactType": "PALS", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7829 7862" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7405 9200" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "http://www.gosh.nhs.uk/" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2010-06-18T19:48:48Z", + "HospitalDepartment": null, + "Services": "2014-11-28T14:34:42Z", + "ContactDetails": "2014-08-21T16:11:11Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [ + { + "ODSCode": "RP401", + "OrganisationName": "Great Ormond Street Hospital " + }, + { + "ODSCode": "RP402", + "OrganisationName": "North Middlesex Hospital (Gosh Satellite)" + }, + { + "ODSCode": "RP403", + "OrganisationName": "Acute Wards - Gosh Satellite" + }, + { + "ODSCode": "RP404", + "OrganisationName": "Child Development Centre (St Ann's)" + }, + { + "ODSCode": "RP405", + "OrganisationName": "St. Bartholomews Hospital" + }, + { + "ODSCode": "RP406", + "OrganisationName": "Paediatric Outpatients" + }, + { + "ODSCode": "RP407", + "OrganisationName": "Childrens Outpatients & Maternity Unit" + }, + { + "ODSCode": "RP408", + "OrganisationName": "St Johns Hospital" + }, + { + "ODSCode": "RP410", + "OrganisationName": "Colchester General Hospital" + }, + { + "ODSCode": "RP411", + "OrganisationName": "Essex County Hospital" + }, + { + "ODSCode": "RP412", + "OrganisationName": "Child Development Centre" + }, + { + "ODSCode": "RP413", + "OrganisationName": "King George Hospital" + }, + { + "ODSCode": "RP415", + "OrganisationName": "The Royal London Hospital" + }, + { + "ODSCode": "RP417", + "OrganisationName": "National Hosp For Neurology/Neuroscience" + }, + { + "ODSCode": "RP419", + "OrganisationName": "Outpatients Department" + }, + { + "ODSCode": "RP421", + "OrganisationName": "The Breast Unit (Nightingale Centre)" + }, + { + "ODSCode": "RP422", + "OrganisationName": "Southend Hospital" + }, + { + "ODSCode": "RP425", + "OrganisationName": "Queens Hospital" + }, + { + "ODSCode": "RP426", + "OrganisationName": "Gosh Inpatients At Chelsea And Westminster Hospital" + }, + { + "ODSCode": "RP427", + "OrganisationName": "Child Development Centre (Wood St Health Centre)" + }, + { + "ODSCode": "RP429", + "OrganisationName": "Broomfield Hospital" + }, + { + "ODSCode": "RP430", + "OrganisationName": "Harlow NHS Walk- In Centre" + }, + { + "ODSCode": "RP431", + "OrganisationName": "St Margaret's Hospital" + }, + { + "ODSCode": "RP432", + "OrganisationName": "Nuffield Hearing And Speech Centre" + }, + { + "ODSCode": "RP433", + "OrganisationName": "Uch Macmillan Cancer Care Centre" + }, + { + "ODSCode": "RP434", + "OrganisationName": "The Royal Devon & Exeter, Heavitree" + }, + { + "ODSCode": "RP435", + "OrganisationName": "Gosh Inpatients At The Portland Hospital" + } + ], + "Metrics": [], + "distanceMiles": 0.00063531181556406241 }, { - "Latitude": 53.514265448236706, - "Longitude": -2.4199003923191209, - "text": "New Manchester, North West", - "url": "https://api.nhs.uk/service-search/search-postcode-or-place?api-version=1&search=manchester&latitude=53.5142654482367&longitude=-2.41990039231912" + "@search.score": 1.0, + "SearchKey": "X1097", + "ODSCode": "RP401", + "OrganisationName": "Great Ormond Street Hospital ", + "OrganisationTypeId": "HOS", + "OrganisationType": "Hospital", + "OrganisationStatus": "Visible", + "SummaryText": "

Great Ormond Street Hospital for Children NHS Foundation Trust is the country's leading centre for treating sick children and has the widest range of specialists under one roof.

\r\n

As a specialist, tertiary care hospital, you will need to be referred by your current doctor. This may be your local paediatrician or occasionally, your GP may be able to refer you. For more information, please visit www.gosh.nhs.uk/gettingreferred

\r\n

Together with the UCL Institute of Child Health we are one of the world's leading research centres for children. 

\r\n

For more information, please visit our website at www.gosh.nhs.uk

\r\n

 

", + "URL": "http://www.gosh.nhs.uk", + "Address1": "Great Ormond Street", + "Address2": "", + "Address3": "", + "City": "London", + "County": "Greater London", + "Latitude": 51.522209167480469, + "Longitude": -0.11990952491760254, + "Postcode": "WC1N 3JH", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.11991, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "NHS Sector", + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Services": [ + { + "ServiceName": "Anaesthesia services", + "ServiceCode": "SRV0232", + "ServiceDescription": "

The Anaesthesia department at Great Ormond Street Hospital provides world-class anaesthetic services for all surgical specialties within the hospital.

\r\n

Many children undergo surgical procedures at the forefront of current practice or require procedures that extend the boundaries of what is thought to be possible. All of this is done with a patient population in whom rare genetic and structural conditions are commonplace.

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Cardiothoracic surgery", + "ServiceCode": "SRV0015", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Numbers of patients too low to report a waiting time ", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "NULL" + } + ] + }, + { + "ServiceName": "Children's & Adolescent Services", + "ServiceCode": "SRV0017", + "ServiceDescription": "

Audiological medicine is a medical speciality providing diagnosis and management of patients with disorders of hearing and balance. Hearing problems also include tinnitus and auditory processing disorders.

\r\n

A range of technology is used to assist patients with hearing deficits including digital hearing aids, bone anchored hearing aids, cochlear implants and vibrotactile aids. The team of audiologists, clinical scientists and audiovestibular physicians provide an integrated service.

\r\n

At Great Ormond Street Hospital we see patients as young as newborns right through to the late teenage years, and accept referrals from within the hospital and from external consultants.

We provide a routine service for the fitting of digital hearing aids, being a second wave site on the NHS national Modernising Hearing Aid Services programme.  

In addition, we have developed a number of protocols and contributed to the formulation of several national guidelines for the management of children with the following conditions:

\r\n
    \r\n
  • auditory neuropathy/auditory dys-synchrony (designated as a national centre)
  • \r\n
  • auditory processing disorders
  • \r\n
  • balance disorders in children
  • \r\n
  • bone anchored hearing aids
  • \r\n
  • management of patients with ototoxicity
  • \r\n
", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Ear, Nose & Throat" + }, + { + "Name": "Urology" + }, + { + "Name": "Orthopaedics" + }, + { + "Name": "Dentistry / Orthodontics" + }, + { + "Name": "Plastic Surgery" + }, + { + "Name": "Ophthal - Strabismus / Ocular Motility" + }, + { + "Name": "Child and adolescent audiology" + }, + { + "Name": "General ophthalmology - Child and adolescent" + }, + { + "Name": "Respiratory" + }, + { + "Name": "General surgery - Child and adolescent" + }, + { + "Name": "Metabolic Disorders" + }, + { + "Name": "Haematology" + }, + { + "Name": "Ophthal - Orthoptics" + }, + { + "Name": "Endocrinology" + }, + { + "Name": "Oral and Maxillofacial Surgery" + }, + { + "Name": "Neurology" + }, + { + "Name": "Rheumatology" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Critical care", + "ServiceCode": "SRV0384", + "ServiceDescription": "

Great Ormond Street Hospital has the largest paediatric intensive care service in Europe, comprising a Paediatric Intensive Care Unit (PICU), Neonatal Intensive Care Unit (NICU) and Cardiac Intensive Care Unit (CICU), as well as the largest dedicated children’s acute transport service (CATS) in the UK.

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Endocrinology and Metabolic Medicine", + "ServiceCode": "SRV0037", + "ServiceDescription": "
\r\n

The Department of Endocrinology and Diabetes at Great Ormond Street Hospital provides the largest specialist service for children and young persons with endocrine problems and diabetes mellitus in Europe, and receives national and international referrals. 

\r\n

The Metabolic Medicine department is the principal provider of specialist child metabolic medicine services, both emergency and elective, for London (North Thames) and the surrounding counties. The department also provides a national and international service for the management of rare and complex paediatric metabolic conditions.

\r\n

 

\r\n
", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Genetics", + "ServiceCode": "SRV0046", + "ServiceDescription": "

The Clinical genetics department offers clinical assessments and other investigations, including genetic tests, for children and adults with complex medical problems, to aid diagnosis of genetic conditions. It provides genetic counselling for families about the likely recurrence of congenital abnormalities and medical problems. 

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Immunology", + "ServiceCode": "SRV0053", + "ServiceDescription": "

The Immunology department at Great Ormond Street Hospital offers a comprehensive diagnostic and treatment service for children up to the age of 16 years with suspected or confirmed Primary Immunodeficiency.

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Neurophysiology services", + "ServiceCode": "SRV0222", + "ServiceDescription": "

The Neurophysiology department at Great Ormond Street Hospital works closely with the Neurology service to monitor children undergoing diagnosis or treatment for epilepsy and other brain disorders.

\r\n

 

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Neuro-psychology services", + "ServiceCode": "SRV0065", + "ServiceDescription": "

The Neuropsychology department at Great Ormond Street Hospital provides diagnostic assessments of children and adolescents with specific learning and/or behavioural difficulties that are associated with brain injury or disease.

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Occupational therapy services", + "ServiceCode": "SRV0067", + "ServiceDescription": "

The Occupational therapy department at Great Ormond Street Hospital works on a number of wards and service certain outpatient clinics. The occupational therapists form part of the multidisciplinary teams in these clinical areas.

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Paediatric intensive care", + "ServiceCode": "SRV0539", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Palliative care", + "ServiceCode": "SRV0360", + "ServiceDescription": "

The Paediatric Palliative Care team at Great Ormond Street Hospital is the lead centre for paediatric palliative care in the North Thames region of London. The multi-professional team work closely with children with life-threatening or life-limiting conditions and their families.

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Pharmacy", + "ServiceCode": "SRV0387", + "ServiceDescription": "

The Pharmacy department at Great Ormond Street Hospital is responsible for all medicines produced and dispensed to outpatients, day patients and inpatients. 

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Respiratory Medicine", + "ServiceCode": "SRV0092", + "ServiceDescription": "

The Respiratory Medicine and Transitional Care Unit at Great Ormond Street Hospital has a multidisciplinary approach to the investigation and management of children with acute or chronic lung disease or complex respiratory conditions.

The unit also runs weekly cystic fibrosis clinics providing shared care with regional paediatricians and general practitioners whenever possible.

", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Numbers of patients too low to report a waiting time ", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "NULL" + } + ] + }, + { + "ServiceName": "Speech and language services", + "ServiceCode": "SRV0095", + "ServiceDescription": "
\r\n

The Speech and Language Therapy team at Great Ormond Street Hospital provide a specialist service for children with disorders of communication and feeding.

\r\n
", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "PALS", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7829 7862" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "+44 (0)20 7405 9200" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "http://www.gosh.nhs.uk" + } + ], + "Facilities": [ + { + "Id": 28, + "Name": "Car Parking", + "Value": "No", + "FacilityGroupName": "Parking" + }, + { + "Id": 30, + "Name": "Disabled parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 8, + "Name": "Access to TV", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 9, + "Name": "Internet access", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 10, + "Name": "Public telephone", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 14, + "Name": "Single sex accommodation only", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 21, + "Name": "Translation services", + "Value": "Yes", + "FacilityGroupName": "Counselling and Support" + }, + { + "Id": 24, + "Name": "Cafe", + "Value": "Yes", + "FacilityGroupName": "Food and amenities on-site" + }, + { + "Id": 27, + "Name": "Shop", + "Value": "Yes", + "FacilityGroupName": "Food and amenities on-site" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2010-06-18T19:48:48Z", + "HospitalDepartment": null, + "Services": "2010-06-18T19:48:48Z", + "ContactDetails": "2014-08-21T16:08:42Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 43, + "MetricName": "Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 46, + "MetricName": "Has Translation Service", + "DisplayName": "Translation services", + "Description": "Translation services", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Translation services available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Has induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Signing service available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 8175, + "MetricName": "Care Quality Commission inspection ratings shadowed", + "DisplayName": "Care Quality Commission inspection ratings", + "Description": "Care Quality Commission inspection ratings", + "Value": "2", + "Value2": null, + "Value3": null, + "Text": "Good", + "LinkUrl": "http://www.cqc.org.uk/location/RP401", + "LinkText": "Visit CQC profile", + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": "NHS Sector", + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "cqc-good", + "BandingName": "Good" + }, + { + "MetricID": 99002, + "MetricName": "Business Card: Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "parking-no", + "BandingName": "No" + } + ], + "distanceMiles": 0.00063531181556406241 + }, + { + "@search.score": 1.0, + "SearchKey": "N10958222", + "ODSCode": null, + "OrganisationName": "Great Ormond Street Hospital for Children NHS Trust", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.gosh.nhs.uk/medical-information/clinical-specialties/infectious-diseases-information-parents-and-visitors/conditions-we-treat", + "Address1": "Great Ormond Street Hospital", + "Address2": "Great Ormond Street", + "Address3": null, + "City": null, + "County": null, + "Latitude": 51.522209167480469, + "Longitude": -0.11990952491760254, + "Postcode": "WC1N 3JH", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.11991, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "HIV advice and advocacy", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "HIV treatment", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "HIV support", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "HIV testing ", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "Ben.Douglas@gosh.nhs.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.gosh.nhs.uk/medical-information/clinical-specialties/infectious-diseases-information-parents-and-visitors/conditions-we-treat" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7405 9200 Switchboard" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Further information", + "ElementText": "See full information about this service on the NAM aidsmap website", + "ElementOrder": 1, + "MetricId": "88042" + }, + { + "ElementTitle": "Description of service", + "ElementText": "Clinical expertise in the diagnosis and management of HIV infection and AIDS. Testing of babies and children for HIV including pre- and post-test counselling; monitoring and treatment of children with HIV and AIDS; Support to child, family and carers; Support, advice, information and training on paediatric HIV infection; Transitioning of young HIV positive people to adult services.", + "ElementOrder": 2, + "MetricId": "88041" + }, + { + "ElementTitle": "Catchment area", + "ElementText": "Open access, birth – 16 years", + "ElementOrder": 3, + "MetricId": "88036" + }, + { + "ElementTitle": "About NAM", + "ElementText": "NAM is one of the world’s leading sources of independent, accurate information on HIV and AIDS, with many years’ experience producing and delivering HIV information to support people affected by HIV and to inform the wider response to the epidemic.\n\nWe produce a wide range of patient information resources, supporting people throughout their lives in making informed decisions about their health and treatment, and helping them live longer, healthier lives. We also provide a comprehensive news service on issues relating to HIV, its treatment and living with HIV, and materials to support healthcare and other professionals working with HIV-positive people.\n\nAll these resources can be read and downloaded at www.aidsmap.com", + "ElementOrder": 4, + "MetricId": "88019" + }, + { + "ElementTitle": "Twitter", + "ElementText": "https://www.twitter.com/GreatOrmondSt", + "ElementOrder": 5, + "MetricId": "88104" + }, + { + "ElementTitle": "Facebook", + "ElementText": "https://www.facebook.com/GreatOrmondSt", + "ElementOrder": 6, + "MetricId": "88078" + }, + { + "ElementTitle": "Additional information", + "ElementText": "Weblink", + "ElementOrder": 7, + "MetricId": "88068" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "NAM", + "ProvidedByImage": "NAM.png", + "ProvidedByUrl": "www.aidsmap.com", + "ProvidedOn": "2022-12-07T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "415", + "ServiceName": "HIV advice and advocacy" + }, + { + "ServiceId": "417", + "ServiceName": "HIV support" + }, + { + "ServiceId": "418", + "ServiceName": "HIV testing " + }, + { + "ServiceId": "419", + "ServiceName": "HIV treatment" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.00063531181556406241 + }, + { + "@search.score": 1.0, + "SearchKey": "N10877719", + "ODSCode": null, + "OrganisationName": "Great Ormond Street Hospital", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "Great Ormond Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.522209167480469, + "Longitude": -0.11990952491760254, + "Postcode": "WC1N 3JH", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.11991, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Patient advice and liaison services (PALS)", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7829 7862" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "About PALS", + "ElementText": "The Patient Advice and Liaison Service, known as PALS, has been introduced to ensure that the NHS listens to patients, their relatives, carers and friends, and answers their questions and resolves their concerns as quickly as possible.\nPALS also helps the NHS to improve services by listening to what matters to patients and their loved ones and making changes, when appropriate.", + "ElementOrder": 1, + "MetricId": "88021" + }, + { + "ElementTitle": "Information", + "ElementText": "The PALS office is found in the main reception to the left of the main desk as you come through the main entrance.", + "ElementOrder": 2, + "MetricId": "88043" + }, + { + "ElementTitle": "Trust", + "ElementText": "Great Ormond Street Hospital for Children NHS Foundation Trust", + "ElementOrder": 3, + "MetricId": "88058" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "NHS website", + "ProvidedByImage": null, + "ProvidedByUrl": "www.nhs.uk", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "363", + "ServiceName": "Patient advice and liaison services (PALS)" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.00063531181556406241 + }, + { + "@search.score": 1.0, + "SearchKey": "X42233", + "ODSCode": "F83058", + "OrganisationName": "The Holborn Medical Centre", + "OrganisationTypeId": "GPB", + "OrganisationType": "GpBranch", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "http://www.holbornmedicalcentre.com", + "Address1": "64 - 66 Lamb's Conduit Street", + "Address2": "Holborn", + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.522232055664063, + "Longitude": -0.11852475255727768, + "Postcode": "WC1N 3NA", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.118525, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "93C", + "OrganisationName": "NHS North Central London Icb - 93C" + }, + "Services": [ + { + "ServiceName": "Asthma Clinic", + "ServiceCode": "SRV0280", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Learning disability health check", + "ServiceCode": "SRV0492", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "08:50", + "ClosingTime": "18:30", + "Times": "08:50-18:30", + "OffsetOpeningTime": 530, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "09:00", + "ClosingTime": "18:20", + "Times": "09:00-18:20", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1100, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:50", + "ClosingTime": "20:00", + "Times": "08:50-20:00", + "OffsetOpeningTime": 530, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "09:00", + "ClosingTime": "19:50", + "Times": "09:00-19:50", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1190, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:50", + "ClosingTime": "18:30", + "Times": "08:50-18:30", + "OffsetOpeningTime": 530, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "09:00", + "ClosingTime": "18:20", + "Times": "09:00-18:20", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1100, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:50", + "ClosingTime": "20:00", + "Times": "08:50-20:00", + "OffsetOpeningTime": 530, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "09:00", + "ClosingTime": "19:50", + "Times": "09:00-19:50", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1190, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:50", + "ClosingTime": "20:00", + "Times": "08:50-20:00", + "OffsetOpeningTime": 530, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "09:00", + "ClosingTime": "19:50", + "Times": "09:00-19:50", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1190, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02030770044" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "http://www.holbornmedicalcentre.com" + } + ], + "Facilities": [ + { + "Id": 1, + "Name": "Braille translation service", + "Value": "Don't know", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "Don't know", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 3, + "Name": "Disabled WC", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "Don't know", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "Don't know", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 35, + "Name": "Step free access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2019-12-23T14:12:21Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2013-03-26T15:41:04Z", + "HospitalDepartment": null, + "Services": "2013-03-26T15:39:17Z", + "ContactDetails": "2017-07-27T16:22:40Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": "Yes", + "Dentist": [] + }, + "GPRegistration": { + "RegistrationLink": "", + "AcceptingOutOfArea": true + }, + "CCG": { + "ODSCode": "93C", + "OrganisationName": "NHS North Central London Icb - 93C" + }, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "Data not available", + "Value2": null, + "Value3": null, + "Text": "Data not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "NULL", + "BandingName": "Data not available" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Has induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "Data not available", + "Value2": null, + "Value3": null, + "Text": "Data not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "NULL", + "BandingName": "Data not available" + }, + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + } + ], + "distanceMiles": 0.060162165512464137 + }, + { + "@search.score": 1.0, + "SearchKey": "X10912", + "ODSCode": "FQ038", + "OrganisationName": "NIEMANS CHEMIST", + "OrganisationTypeId": "PHA", + "OrganisationType": "Pharmacy", + "OrganisationStatus": "Visible", + "SummaryText": "

Welcome to Boutalls Pharmacy. We aim to provide our local community with a professional service of the highest standard and one that specifically meets the needs of our customers

", + "URL": null, + "Address1": "60 LAMBS CONDUIT STREET", + "Address2": "LONDON", + "Address3": " ", + "City": " ", + "County": "", + "Latitude": 51.522068023681641, + "Longitude": -0.11843058466911316, + "Postcode": "WC1N 3LW", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.118431, + 51.5221 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "Community", + "OrganisationAliases": [ + { + "OrganisationAlias": "Niemans Chemist", + "OrganisationAliasId": "17653" + } + ], + "ParentOrganisation": { + "ODSCode": "QMJ", + "OrganisationName": "North London Partners in Health & Care (STP)" + }, + "Services": [ + { + "ServiceName": "Appliance dispensing", + "ServiceCode": "SRV0177", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Appointment booking for consultations not required", + "ServiceCode": "SRV0521", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Emergency contraception (Non-NHS)", + "ServiceCode": "SRV0530", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Inhaler recycling", + "ServiceCode": "SRV0523", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Medication review service", + "ServiceCode": "SRV0261", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Minor ailment service", + "ServiceCode": "SRV0198", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Multi-lingual staff", + "ServiceCode": "SRV0524", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "New medicine service", + "ServiceCode": "SRV0257", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "NHS blood pressure checking service", + "ServiceCode": "SRV0560", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "NHS Health Check", + "ServiceCode": "SRV0504", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Prescription collection from local General Practices", + "ServiceCode": "SRV0519", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Prescription delivery service", + "ServiceCode": "SRV0522", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Private consultation room", + "ServiceCode": "SRV0526", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Seasonal flu vaccination service (at risk groups)", + "ServiceCode": "SRV0277", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Seasonal flu vaccination service (not at risk groups)", + "ServiceCode": "SRV0514", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Stop smoking service (Non-NHS)", + "ServiceCode": "SRV0515", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Travel clinic", + "ServiceCode": "SRV0516", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": null, + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "Additional", + "AdditionalOpeningDate": "Dec 25 2022", + "IsOpen": false + }, + { + "Weekday": "Monday", + "OpeningTime": "09:00", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "09:00", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "09:00", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "09:00", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "09:00", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": false + }, + { + "Weekday": "Sunday", + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": false + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02074051039" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "boutallspharmacy@nhs.net" + } + ], + "Facilities": [ + { + "Id": 28, + "Name": "Car Parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + }, + { + "Id": 29, + "Name": "Cycle parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + }, + { + "Id": 30, + "Name": "Disabled parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2022-12-30T17:30:41.337Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2019-10-22T11:22:25Z", + "HospitalDepartment": null, + "Services": "2022-12-30T17:31:12.913Z", + "ContactDetails": "2022-12-30T17:30:30.237Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 43, + "MetricName": "Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + }, + { + "MetricID": 99002, + "MetricName": "Business Card: Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "parking", + "BandingName": "Yes" + } + ], + "distanceMiles": 0.064953850361720925 + }, + { + "@search.score": 1.0, + "SearchKey": "N10866815", + "ODSCode": null, + "OrganisationName": "The Royal London Hospital For Integrated Medicine", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "60 Great Ormond Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.5217399597168, + "Longitude": -0.12138480693101884, + "Postcode": "WC1N 3HR", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.121385, + 51.5217 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Patient advice and liaison services (PALS)", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "uclh.pals@nhs.net" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3447 3042" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "About PALS", + "ElementText": "The Patient Advice and Liaison Service, known as PALS, has been introduced to ensure that the NHS listens to patients, their relatives, carers and friends, and answers their questions and resolves their concerns as quickly as possible.\nPALS also helps the NHS to improve services by listening to what matters to patients and their loved ones and making changes, when appropriate.", + "ElementOrder": 1, + "MetricId": "88021" + }, + { + "ElementTitle": "Trust", + "ElementText": "University College London Hospitals NHS Foundation Trust", + "ElementOrder": 3, + "MetricId": "88058" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "NHS website", + "ProvidedByImage": null, + "ProvidedByUrl": "www.nhs.uk", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "363", + "ServiceName": "Patient advice and liaison services (PALS)" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.0707498544440353 + }, + { + "@search.score": 1.0, + "SearchKey": "X1820", + "ODSCode": "RRV60", + "OrganisationName": "The Royal London Hospital For Integrated Medicine", + "OrganisationTypeId": "HOS", + "OrganisationType": "Hospital", + "OrganisationStatus": "Visible", + "SummaryText": "

The Royal London Hospital for Integrated Medicine, the leading centre for complementary medicine in the NHS, provides the following services: allergy & nutritional medicine, children's clinic, complementary cancer care, The Marigold clinic, podiatry & chiropody, integrated complementary medicine, musculoskeletal medicine, pharmacy services, rheumatology, skin services, stress & mood disorder, women's clinic.  The hospital is part of University College London Hospitals NHS Foundation Trust (UCLH),

\r\n

Useful links:

\r\n", + "URL": "https://www.uclh.nhs.uk/our-services/our-hospitals/royal-london-hospital-integrated-medicine", + "Address1": "60 Great Ormond Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": "", + "Latitude": 51.5217399597168, + "Longitude": -0.12138480693101884, + "Postcode": "WC1N 3HR", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.121385, + 51.5217 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "NHS Sector", + "OrganisationAliases": [ + { + "OrganisationAlias": "RLHH", + "OrganisationAliasId": "257" + } + ], + "ParentOrganisation": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Services": [ + { + "ServiceName": "Complementary Medicine", + "ServiceCode": "SRV0021", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/INTMED/Pages/Home.aspx

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Oncology (established diagnosis)" + }, + { + "Name": "General Medicine" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Dermatology", + "ServiceCode": "SRV0028", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/MEDSPEC/DERM/Pages/Home.aspx

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 47 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Ear, Nose & Throat", + "ServiceCode": "SRV0032", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/ENTS

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 38 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Gastrointestinal and Liver services", + "ServiceCode": "SRV0042", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/GI

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 41 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "General Medicine", + "ServiceCode": "SRV0044", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/MEDSPEC/GENMED

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Chronic Fatigue Syndrome" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 26 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Gynaecology", + "ServiceCode": "SRV0049", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/WH/GYNAE

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Dilatation and curettage (D&C)" + }, + { + "Name": "Hysteroscopy" + }, + { + "Name": "Hysterectomy" + }, + { + "Name": "Colposcopy" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 42 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Haematology", + "ServiceCode": "SRV0050", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/PATH/PATHHT

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Infectious Diseases", + "ServiceCode": "SRV0054", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/HTD

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Chronic Fatigue Syndrome" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Mental Health - Adults of all ages", + "ServiceCode": "SRV0061", + "ServiceDescription": "

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Neurology", + "ServiceCode": "SRV0064", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 29 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Ophthalmology", + "ServiceCode": "SRV0070", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/SURGERY/OPTHAL

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Cataract surgery treatment" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Numbers of patients too low to report a waiting time ", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "NULL" + } + ] + }, + { + "ServiceName": "Oral and Maxillofacial Surgery", + "ServiceCode": "SRV0071", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/EDH/MAXMED

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 31 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Pain Management", + "ServiceCode": "SRV0076", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro/PMC

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Palliative Medicine", + "ServiceCode": "SRV0077", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Cancer/CSS/PALC/Pages/Home.aspx

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Physiotherapy", + "ServiceCode": "SRV0081", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/INTMED/IMMM/IMPHYS

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Podiatry", + "ServiceCode": "SRV0083", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/INTMED/IMPOD

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Respiratory Medicine", + "ServiceCode": "SRV0092", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/MEDSPEC/RESP

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 21 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Sleep Medicine", + "ServiceCode": "SRV0094", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/MEDSPEC/UCLHsleep

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "PALS", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "uclh.pals@nhs.net" + }, + { + "ContactType": "PALS", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3447 3042" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "uclh.enquiry.rlhim.patients@nhs.net" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3456 7890" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "https://www.uclh.nhs.uk/our-services/our-hospitals/royal-london-hospital-integrated-medicine" + } + ], + "Facilities": [ + { + "Id": 8, + "Name": "Access to TV", + "Value": "No", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 9, + "Name": "Internet access", + "Value": "No", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 10, + "Name": "Public telephone", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 14, + "Name": "Single sex accommodation only", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 24, + "Name": "Cafe", + "Value": "No", + "FacilityGroupName": "Food and amenities on-site" + }, + { + "Id": 27, + "Name": "Shop", + "Value": "No", + "FacilityGroupName": "Food and amenities on-site" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2010-06-18T19:48:48Z", + "HospitalDepartment": null, + "Services": "2012-05-31T12:15:26Z", + "ContactDetails": "2020-12-16T09:26:24Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 8175, + "MetricName": "Care Quality Commission inspection ratings shadowed", + "DisplayName": "Care Quality Commission inspection ratings", + "Description": "Care Quality Commission inspection ratings", + "Value": "5", + "Value2": null, + "Value3": null, + "Text": "No rating", + "LinkUrl": "http://www.cqc.org.uk/location/RRV60", + "LinkText": "Visit CQC profile", + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": "NHS Sector", + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "cqc-norating", + "BandingName": "No rating" + } + ], + "distanceMiles": 0.0707498544440353 + }, + { + "@search.score": 1.0, + "SearchKey": "X22308", + "ODSCode": "V004199", + "OrganisationName": "Conduit Dental Practice ", + "OrganisationTypeId": "DEN", + "OrganisationType": "Dentist", + "OrganisationStatus": "Visible", + "SummaryText": "

POLITE NOTICE

\r\n

Unfortunately because our practice is rather small in it's layout, having friends and family attend with you takes up the seats that are for patients who have an appointment. Please only bring one additional person with you if you are nervous or having a surgical procedure. Thank you for your understanding.

", + "URL": null, + "Address1": "41 Lambs Conduit Street", + "Address2": "Holborn", + "Address3": null, + "City": "London", + "County": "", + "Latitude": 51.521530151367188, + "Longitude": -0.11848162114620207, + "Postcode": "WC1N 3NG", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.118482, + 51.5215 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "QMJ", + "OrganisationName": "North London Partners in Health & Care (STP)" + }, + "Services": [], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "09:00", + "ClosingTime": "14:00", + "Times": "09:00-14:00", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 840, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "09:00", + "ClosingTime": "13:30", + "Times": "09:00-13:30", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 810, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "14:30", + "ClosingTime": "18:00", + "Times": "14:30-18:00", + "OffsetOpeningTime": 870, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "09:00", + "ClosingTime": "13:30", + "Times": "09:00-13:30", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 810, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "14:30", + "ClosingTime": "18:00", + "Times": "14:30-18:00", + "OffsetOpeningTime": 870, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "09:00", + "ClosingTime": "13:30", + "Times": "09:00-13:30", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 810, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "14:30", + "ClosingTime": "18:00", + "Times": "14:30-18:00", + "OffsetOpeningTime": 870, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "09:00", + "ClosingTime": "13:30", + "Times": "09:00-13:30", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 810, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "14:30", + "ClosingTime": "18:00", + "Times": "14:30-18:00", + "OffsetOpeningTime": 870, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "conduitdental@smilepad.co.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7405 4030" + } + ], + "Facilities": [ + { + "Id": 1, + "Name": "Braille translation service", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 3, + "Name": "Disabled WC", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 35, + "Name": "Step free access", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 28, + "Name": "Car Parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + }, + { + "Id": 29, + "Name": "Cycle parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + }, + { + "Id": 30, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Parking" + } + ], + "Staff": [ + { + "Title": "", + "GivenName": "Matthew", + "FamilyName": "Wylie", + "Role": "Dentist", + "Qualification": "FDS RCS MB BS & BDS" + }, + { + "Title": "", + "GivenName": "Derek", + "FamilyName": "Levenstein", + "Role": "Principal Dentist", + "Qualification": "BDS RAND 1986" + }, + { + "Title": "", + "GivenName": "Nicholas", + "FamilyName": "Petousis", + "Role": "Dentist", + "Qualification": "BDS (HONS) MSc" + }, + { + "Title": "", + "GivenName": "Tamie White", + "FamilyName": "", + "Role": "CQC Manager", + "Qualification": "NVQ Level 3 & 5 Business & Management. " + }, + { + "Title": "", + "GivenName": "Julie Barnham", + "FamilyName": "", + "Role": "Dental Nurse Receptionist", + "Qualification": "NVQ L3 Oral Health Care Dental Nursing & Indp Asses City & Guilds" + }, + { + "Title": "", + "GivenName": "Rupert", + "FamilyName": "Young", + "Role": "Dentist", + "Qualification": "BDS Bristol" + } + ], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2020-03-05T12:55:43Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": "2022-08-08T12:46:18Z", + "Facilities": "2018-08-16T11:59:36Z", + "HospitalDepartment": null, + "Services": "2020-04-03T12:11:27Z", + "ContactDetails": "2018-08-16T11:59:37Z", + "AcceptingPatients": "2022-08-08T12:46:18Z" + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [ + { + "Id": 5, + "Name": "Only by referral from a dental practitioner", + "AcceptingPatients": false + }, + { + "Id": 3, + "Name": "Children (up to the age of 18)", + "AcceptingPatients": null + }, + { + "Id": 1, + "Name": "Adults (18 and over)", + "AcceptingPatients": null + }, + { + "Id": 2, + "Name": "Adults entitled to free dental care", + "AcceptingPatients": null + }, + { + "Id": 4, + "Name": "Urgent care appointments offered", + "AcceptingPatients": false + } + ] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 43, + "MetricName": "Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Disabled parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Disabled access not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Has induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Signing service not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 99002, + "MetricName": "Business Card: Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "parking", + "BandingName": "Yes" + } + ], + "distanceMiles": 0.07784362356556157 + }, + { + "@search.score": 1.0, + "SearchKey": "X119517", + "ODSCode": "RP417", + "OrganisationName": "National Hosp For Neurology/Neuroscience", + "OrganisationTypeId": "CLI", + "OrganisationType": "Clinic", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "Queen Square", + "Address2": "", + "Address3": "", + "City": "London", + "County": "Greater London", + "Latitude": 51.522171020507805, + "Longitude": -0.12198685854673386, + "Postcode": "WC1N 3BG", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.121987, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "Independent Sector", + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "RP4", + "OrganisationName": "Great Ormond Street Hospital for Children NHS Foundation Trust" + }, + "Services": [], + "OpeningTimes": [], + "Contacts": [], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2016-03-15T01:35:27.08Z", + "HospitalDepartment": null, + "Services": "2016-03-15T01:35:27.08Z", + "ContactDetails": "2016-03-15T01:35:27.08Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.088729644017890769 + }, + { + "@search.score": 1.0, + "SearchKey": "N10871925", + "ODSCode": null, + "OrganisationName": "National Hospital For Neurology And Neurosurgery Queen Square", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": null, + "Address2": "Queen Square", + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.522171020507805, + "Longitude": -0.12198685854673386, + "Postcode": "WC1N 3BG", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.121987, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Patient advice and liaison services (PALS)", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "uclh.pals@nhs.net" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3448 3237" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "About PALS", + "ElementText": "The Patient Advice and Liaison Service, known as PALS, has been introduced to ensure that the NHS listens to patients, their relatives, carers and friends, and answers their questions and resolves their concerns as quickly as possible.\nPALS also helps the NHS to improve services by listening to what matters to patients and their loved ones and making changes, when appropriate.", + "ElementOrder": 1, + "MetricId": "88021" + }, + { + "ElementTitle": "Trust", + "ElementText": "University College London Hospitals NHS Foundation Trust", + "ElementOrder": 3, + "MetricId": "88058" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "NHS website", + "ProvidedByImage": null, + "ProvidedByUrl": "www.nhs.uk", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "363", + "ServiceName": "Patient advice and liaison services (PALS)" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.088729644017890769 + }, + { + "@search.score": 1.0, + "SearchKey": "X1107", + "ODSCode": "RRVNQ", + "OrganisationName": "National Hospital For Neurology and Neurosurgery, Queen Square", + "OrganisationTypeId": "HOS", + "OrganisationType": "Hospital", + "OrganisationStatus": "Visible", + "SummaryText": "

The National Hospital for Neurology and Neurosciences is a leading centre for the diagnosis, treatment and care of patients with a wide range of neurological conditions such as epilepsy, MS, Alzheimer's, stroke and head injuries. With its neighbour, the Institute of Neurology, it is a major international centre for research and training.  The Hospital is part of University College London Hospitals NHS Foundation Trust (UCLH).

\r\n

Useful links:

\r\n", + "URL": "https://www.uclh.nhs.uk/our-services/our-hospitals/national-hospital-neurology-and-neurosurgery", + "Address1": null, + "Address2": "Queen Square", + "Address3": null, + "City": "London", + "County": "", + "Latitude": 51.522171020507805, + "Longitude": -0.12198685854673386, + "Postcode": "WC1N 3BG", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.121987, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "NHS Sector", + "OrganisationAliases": [ + { + "OrganisationAlias": "NHNN", + "OrganisationAliasId": "258" + } + ], + "ParentOrganisation": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Services": [ + { + "ServiceName": "Cognitive behavioural therapy services", + "ServiceCode": "SRV0019", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro/CDC

\n

Useful links:

\n\n", + "Contacts": [ + { + "ContactMethodType": "Telephone", + "ContactValue": "020 7391 8888" + }, + { + "ContactMethodType": "PhoneExt", + "ContactValue": null + } + ], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Epilepsy services", + "ServiceCode": "SRV0250", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro/EPIL/Pages/Home.aspx

\n

Useful links:

\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Intensive Care", + "ServiceCode": "SRV0534", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Multiple sclerosis services", + "ServiceCode": "SRV0219", + "ServiceDescription": "

Full service information on the UCLH website:

\r\n

https://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro/MS2/Pages/MultipleSclerosisMS.aspx 

\r\n

Useful links:

\r\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Neurological cancer services", + "ServiceCode": "SRV0155", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro/NONC/Pages/Home.aspx

\n

Useful links:

\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Neurology", + "ServiceCode": "SRV0064", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Cognitive Disorders" + }, + { + "Name": "Epilepsy" + }, + { + "Name": "Headache and migraine" + }, + { + "Name": "Neuromuscular" + }, + { + "Name": "Sleep - see Sleep Medicine" + }, + { + "Name": "Stroke (not TIA)" + }, + { + "Name": "Parkinsons / Movement Disorders" + }, + { + "Name": "General neurology" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 29 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Neurophysiology services", + "ServiceCode": "SRV0222", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro/NPHY/Pages/Home.aspx

\n

Useful links:

\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Neuro-psychology services", + "ServiceCode": "SRV0065", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/Neuro/NPSY2/Pages/Home.aspx

\n

Useful links:

\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Neurosurgery", + "ServiceCode": "SRV0066", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Spinal surgical proceedure" + }, + { + "Name": "Movement Disorders" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Up to 29 weeks for 9/10 patients", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "Exclamation" + } + ] + }, + { + "ServiceName": "Ophthalmology", + "ServiceCode": "SRV0070", + "ServiceDescription": "

Full service information on the UCLH website:

\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/SURGERY/OPTHAL

\n

Useful links:

\n\n", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Neuro-Ophthalmology" + }, + { + "Name": "Cataract surgery treatment" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [ + { + "MetricID": 74, + "MetricName": "RTT 92%", + "Description": "Weeks within which 92% of patients were treated", + "Text": "Numbers of patients too low to report a waiting time ", + "LinkText": null, + "MetricDisplayTypeID": 5, + "BandingClassification": "NULL" + } + ] + }, + { + "ServiceName": "Orthotics and Prosthetics", + "ServiceCode": "SRV0084", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [ + { + "Name": "Orthotics" + } + ], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Rehabilitation", + "ServiceCode": "SRV0090", + "ServiceDescription": "
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Full service information on the UCLH website:

\r\n

http://www.uclh.nhs.uk/OurServices/ServiceA-Z/CARDIACS/CHR

\r\n

Useful links:

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
", + "Contacts": [], + "ServiceProvider": { + "ODSCode": "RRV", + "OrganisationName": "University College London Hospitals NHS Foundation Trust" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "PALS", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "uclh.pals@nhs.net" + }, + { + "ContactType": "PALS", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3448 3237" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3456 7890" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "https://www.uclh.nhs.uk/our-services/our-hospitals/national-hospital-neurology-and-neurosurgery" + } + ], + "Facilities": [ + { + "Id": 4, + "Name": "Induction loop", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "Select one", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 8, + "Name": "Access to TV", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 11, + "Name": "Family accommodation", + "Value": "Don't know", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 9, + "Name": "Internet access", + "Value": "No", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 12, + "Name": "Mobile phones permitted", + "Value": "Don't know", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 13, + "Name": "Private rooms only", + "Value": "Don't know", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 10, + "Name": "Public telephone", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 14, + "Name": "Single sex accommodation only", + "Value": "Yes", + "FacilityGroupName": "Accommodation" + }, + { + "Id": 24, + "Name": "Cafe", + "Value": "No", + "FacilityGroupName": "Food and amenities on-site" + }, + { + "Id": 27, + "Name": "Shop", + "Value": "No", + "FacilityGroupName": "Food and amenities on-site" + }, + { + "Id": 26, + "Name": "Pharmacy", + "Value": "Select one", + "FacilityGroupName": "Food and amenities on-site" + }, + { + "Id": 25, + "Name": "Patient library", + "Value": "Select one", + "FacilityGroupName": "Food and amenities on-site" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2020-07-27T12:48:38Z", + "HospitalDepartment": null, + "Services": "2020-05-22T10:26:29Z", + "ContactDetails": "2020-12-16T09:22:56Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Does not have induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Signing service available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": "NHS Sector", + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 8175, + "MetricName": "Care Quality Commission inspection ratings shadowed", + "DisplayName": "Care Quality Commission inspection ratings", + "Description": "Care Quality Commission inspection ratings", + "Value": "2", + "Value2": null, + "Value3": null, + "Text": "Good", + "LinkUrl": "http://www.cqc.org.uk/location/RRVNQ", + "LinkText": "Visit CQC profile", + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": "NHS Sector", + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "cqc-good", + "BandingName": "Good" + } + ], + "distanceMiles": 0.088729644017890769 + }, + { + "@search.score": 1.0, + "SearchKey": "N10957049", + "ODSCode": null, + "OrganisationName": "National Hospital for Neurology & Neurosurgery", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.mstrust.org.uk", + "Address1": "Box 38", + "Address2": "Therapy Services", + "Address3": "Queen Square", + "City": null, + "County": "London", + "Latitude": 51.522171020507805, + "Longitude": -0.12198685854673386, + "Postcode": "WC1N 3BG", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.121987, + 51.5222 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Multiple sclerosis nurse services", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.mstrust.org.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3448 1102" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Referral method", + "ElementText": "from a consultant at the National Hospital or self referral from people known to a consultant at the National Hospital", + "ElementOrder": 1, + "MetricId": "88049" + }, + { + "ElementTitle": "Area served", + "ElementText": "London", + "ElementOrder": 2, + "MetricId": "88035" + }, + { + "ElementTitle": "About MS Trust", + "ElementText": "The MS Trust is a charity that works with and for people in the UK with multiple sclerosis. Our vision is to enable people with MS to live their lives to the full.\n\nWe provide:\n\nInformation that is tailored to what people want to know\n\nEducation for health professionals about what people with MS need\n\nResearch into better management of MS\n\nSupport for anyone affected by MS", + "ElementOrder": 3, + "MetricId": "88018" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "MS Trust", + "ProvidedByImage": "mstrust.jpg", + "ProvidedByUrl": "www.mstrust.org.uk", + "ProvidedOn": "2022-12-07T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "426", + "ServiceName": "Multiple sclerosis nurse services" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.088729644017890769 + }, + { + "@search.score": 1.0, + "SearchKey": "N11006668", + "ODSCode": null, + "OrganisationName": "Schuller Opticians", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.schulleropticians.co.uk", + "Address1": "44 Lambs Conduit Street", + "Address2": null, + "Address3": "London", + "City": null, + "County": null, + "Latitude": 51.5214958190918, + "Longitude": -0.1180361732840538, + "Postcode": "WC1N 3LJ", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.118036, + 51.5215 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "NHS sight tests", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7404 2002" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "info@schulleropticians.co.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.schulleropticians.co.uk" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Service details", + "ElementText": "NHS Sight Tests", + "ElementOrder": 1, + "MetricId": "88052" + }, + { + "ElementTitle": "Useful Links", + "ElementText": "visiting-an-optician\nfree-nhs-eye-tests-and-optical-vouchers", + "ElementOrder": 2, + "MetricId": "13036" + }, + { + "ElementTitle": "About", + "ElementText": "The NHS Business Services Authority is an Arm’s Length Body of the Department of Health and Social Care. We manage over £35 billion of NHS spend annually, delivering a range of national services to NHS organisations, NHS contractors, patients and the public. \nOur purpose is to be a catalyst for better health and our vision is to be the delivery partner of choice for the NHS.", + "ElementOrder": 3, + "MetricId": "88001" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "NHS Business Services Authority", + "ProvidedByImage": "BSA.jpg", + "ProvidedByUrl": "www.nhsbsa.nhs.uk", + "ProvidedOn": "2023-01-13T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "10037", + "ServiceName": "NHS sight tests" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.09502511795430521 + }, + { + "@search.score": 1.0, + "SearchKey": "X18810", + "ODSCode": "op_5K7_6010__000001_WC1N3LJ", + "OrganisationName": "Schuller Opticians", + "OrganisationTypeId": "OPT", + "OrganisationType": "Optician", + "OrganisationStatus": "Visible", + "SummaryText": "", + "URL": "http://www.schulleropticians.co.uk", + "Address1": "44 Lambs Conduit Street", + "Address2": "", + "Address3": "London", + "City": "", + "County": "", + "Latitude": 51.5214958190918, + "Longitude": -0.1180361732840538, + "Postcode": "WC1N 3LJ", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.118036, + 51.5215 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "Q71", + "OrganisationName": "London Area Team" + }, + "Services": [], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "09:30", + "ClosingTime": "17:30", + "Times": "09:30-17:30", + "OffsetOpeningTime": 570, + "OffsetClosingTime": 1050, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "09:30", + "ClosingTime": "17:30", + "Times": "09:30-17:30", + "OffsetOpeningTime": 570, + "OffsetClosingTime": 1050, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "09:30", + "ClosingTime": "16:00", + "Times": "09:30-16:00", + "OffsetOpeningTime": 570, + "OffsetClosingTime": 960, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "09:30", + "ClosingTime": "17:30", + "Times": "09:30-17:30", + "OffsetOpeningTime": 570, + "OffsetClosingTime": 1050, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "09:30", + "ClosingTime": "17:30", + "Times": "09:30-17:30", + "OffsetOpeningTime": 570, + "OffsetClosingTime": 1050, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "09:30", + "ClosingTime": "17:30", + "Times": "09:30-17:30", + "OffsetOpeningTime": 570, + "OffsetClosingTime": 1050, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "info@schulleropticians.co.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7404 2002" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "http://www.schulleropticians.co.uk" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2010-11-12T04:56:03.73Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2010-11-12T04:55:36.38Z", + "HospitalDepartment": null, + "Services": "2010-11-12T04:55:36.38Z", + "ContactDetails": "2010-11-12T04:55:36.38Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.09502511795430521 + }, + { + "@search.score": 1.0, + "SearchKey": "X152924", + "ODSCode": "1-5863501145", + "OrganisationName": "Lavender Court Care Home Ltd", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "Crown House", + "Address2": "27 Old Gloucester Street", + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "01872571151" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2019-09-26T01:35:22.26Z", + "HospitalDepartment": null, + "Services": "2019-09-26T01:35:22.26Z", + "ContactDetails": "2019-09-26T01:35:22.26Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X153575", + "ODSCode": "GC7", + "OrganisationName": "Tp Transcription Limited", + "OrganisationTypeId": "IND", + "OrganisationType": "Independent Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "27 Old Gloucester Street", + "Address2": "", + "Address3": "", + "City": "London", + "County": "", + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2020-01-07T01:35:20.48Z", + "HospitalDepartment": null, + "Services": "2020-01-07T01:35:20.48Z", + "ContactDetails": "2020-01-07T01:35:20.48Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [ + { + "ODSCode": "GC701", + "OrganisationName": "Tp Transcription Limited (Old Gloucester Street)" + } + ], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X151602", + "ODSCode": "1-6087949576", + "OrganisationName": "Raida Care London Ltd", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.surecare.co.uk", + "Address1": "Monomark House", + "Address2": "27 Old Gloucester Street", + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02038872915" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.surecare.co.uk" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2019-06-03T09:52:14.847Z", + "HospitalDepartment": null, + "Services": "2019-06-03T09:52:14.847Z", + "ContactDetails": "2019-06-03T09:52:14.847Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X133981", + "ODSCode": "DKM", + "OrganisationName": "One-Msk", + "OrganisationTypeId": "IND", + "OrganisationType": "Independent Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "27 Old Gloucester Street", + "Address2": "", + "Address3": "", + "City": "London", + "County": "Greater London", + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2017-10-03T05:15:50.693Z", + "HospitalDepartment": null, + "Services": "2017-10-03T05:15:50.693Z", + "ContactDetails": "2017-10-03T05:15:50.693Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [ + { + "ODSCode": "DKM01", + "OrganisationName": "One-Msk (Crayfields Business Park)" + } + ], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X165562", + "ODSCode": "1-10918672702", + "OrganisationName": "Brook House Care Ltd", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "27 Old Gloucester Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "01628528228" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2021-11-11T01:35:26.583Z", + "HospitalDepartment": null, + "Services": "2021-11-11T01:35:26.583Z", + "ContactDetails": "2021-11-11T01:35:26.583Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "N10979075", + "ODSCode": null, + "OrganisationName": "National Association of Deafened People (NADP)", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.nadp.org.uk", + "Address1": "Crown House", + "Address2": "27 Old Gloucester Street", + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Disability information and support", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Hearing impairment information and support", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Carers travel and transport", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Home aids and adaptions", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Carers emotional support services", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "enquiries@nadp.org.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.nadp.org.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "0845 055 9663" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "About", + "ElementText": "NADP supports all those who have suffered hearing loss during their lifetime. Whether your loss is profound or mild you will have some difficulties in your day to day life. NADP exists to ease your life after your hearing deteriorates.\n\nNADP provides information and support for deafened people who have lost all or most of their useful hearing, and for their families and friends, to help enable them to regain their independence and enjoy the best quality of life. NADP is run by and for deafened people. The Executive Committee consists of volunteers who are themselves deafened people, and therefore can relate personally to the needs of their members.", + "ElementOrder": 1, + "MetricId": "88001" + }, + { + "ElementTitle": "Opening times", + "ElementText": "Please contact for more details about specific events", + "ElementOrder": 2, + "MetricId": "88047" + }, + { + "ElementTitle": "Catchment area", + "ElementText": "Nationwide", + "ElementOrder": 4, + "MetricId": "88036" + }, + { + "ElementTitle": "Target group", + "ElementText": "Deafened people and professionals working within social and health areas related to the field of deafness.", + "ElementOrder": 5, + "MetricId": "88054" + }, + { + "ElementTitle": "Further information", + "ElementText": "Our Key Activities NADP provides information through its publications. These contain information for both deafened people and professionals working within social and health areas related to the field of deafness. The booklets are also useful to help other groups within the community such as employers. NADP publishes a quarterly newsletter, ‘Network’ to keep members in touch with each other and to provide information and updates on any developments that may affect them. Network is distributed amongst all members, local groups, etc. NADP provides information and advice on employment, telecommunications, equipment and other subjects. NADP has a number of local groups and other contacts in various parts of the country which arrange social events and provide support at grass root levels. For details, please contact the membership secretary or write to the address on the home page NADP also has an email discussion group. This is restricted to NADP members. If you would like to join it, send an email message to the membership secretary", + "ElementOrder": 6, + "MetricId": "88042" + }, + { + "ElementTitle": "Referral method", + "ElementText": "Self-referral", + "ElementOrder": 7, + "MetricId": "88049" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "Serco Global Services", + "ProvidedByImage": null, + "ProvidedByUrl": "www.sercoglobal.com", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "374", + "ServiceName": "Carers emotional support services" + }, + { + "ServiceId": "369", + "ServiceName": "Carers travel and transport" + }, + { + "ServiceId": "334", + "ServiceName": "Disability information and support" + }, + { + "ServiceId": "349", + "ServiceName": "Hearing impairment information and support" + }, + { + "ServiceId": "370", + "ServiceName": "Home aids and adaptions" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X85668", + "ODSCode": "1-509756899", + "OrganisationName": "Broome End Ltd", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "27 Old Gloucester Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "01279816455" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2013-02-14T03:30:21.33Z", + "HospitalDepartment": null, + "Services": "2013-02-14T03:30:21.33Z", + "ContactDetails": "2013-02-14T03:30:21.33Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X153576", + "ODSCode": "GC701", + "OrganisationName": "Tp Transcription Limited (Old Gloucester Street)", + "OrganisationTypeId": "CLI", + "OrganisationType": "Clinic", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "27 Old Gloucester Street", + "Address2": "", + "Address3": "", + "City": "London", + "County": "", + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "NHS Sector", + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "GC7", + "OrganisationName": "Tp Transcription Limited" + }, + "Services": [], + "OpeningTimes": [], + "Contacts": [], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2020-01-07T01:35:20.48Z", + "HospitalDepartment": null, + "Services": "2020-01-07T01:35:20.48Z", + "ContactDetails": "2020-01-07T01:35:20.48Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X166429", + "ODSCode": "1-11428344499", + "OrganisationName": "CCNH Limited", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "27 Old Gloucester Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "01275872694" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2022-01-07T01:35:21.477Z", + "HospitalDepartment": null, + "Services": "2022-01-07T01:35:21.477Z", + "ContactDetails": "2022-01-07T01:35:21.477Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X164875", + "ODSCode": "1-9730844620", + "OrganisationName": "Autonomy Health Ltd", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "27 OLD GLOUCESTER STREET", + "Address2": null, + "Address3": null, + "City": "LONDON", + "County": null, + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "07852304842" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2021-10-07T01:35:27.69Z", + "HospitalDepartment": null, + "Services": "2021-10-07T01:35:27.69Z", + "ContactDetails": "2021-10-07T01:35:27.69Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X165471", + "ODSCode": "1-10718520515", + "OrganisationName": "Alpha Supported Living LTD", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "27 OLD GLOUCESTER STREET", + "Address2": null, + "Address3": null, + "City": "LONDON", + "County": null, + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "07984065165" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2021-11-05T01:35:26.99Z", + "HospitalDepartment": null, + "Services": "2021-11-05T01:35:26.99Z", + "ContactDetails": "2021-11-05T01:35:26.99Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "X171541", + "ODSCode": "1-14172462527", + "OrganisationName": "Harlon Healthcare Limited", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.harlonhealthcare.com", + "Address1": "27 Old Gloucester Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.520591735839837, + "Longitude": -0.12219597399234772, + "Postcode": "WC1N 3AX", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122196, + 51.5206 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "01322632652" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.harlonhealthcare.com" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2022-12-18T01:35:31.87Z", + "HospitalDepartment": null, + "Services": "2022-12-18T01:35:31.87Z", + "ContactDetails": "2022-12-18T01:35:31.87Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.14853839678842862 + }, + { + "@search.score": 1.0, + "SearchKey": "N10471830", + "ODSCode": null, + "OrganisationName": "Corams Fields", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.coramsfields.org/", + "Address1": "93", + "Address2": "Guilford Street", + "Address3": null, + "City": null, + "County": null, + "Latitude": 51.524421691894531, + "Longitude": -0.11999133974313736, + "Postcode": "WC1N 1DN", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.119991, + 51.5244 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Sports and Fitness", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Football", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "General sports", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "info@coramsfields.org.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.coramsfields.org/" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Facilities", + "ElementText": "Artificial Grass Pitch;Sports Hall", + "ElementOrder": 1, + "MetricId": "88079" + }, + { + "ElementTitle": "Access", + "ElementText": "Pay and Play;Sports Club / Community Association", + "ElementOrder": 2, + "MetricId": "88067" + }, + { + "ElementTitle": "Disabled access", + "ElementText": "This site has disability access.", + "ElementOrder": 3, + "MetricId": "88077" + }, + { + "ElementTitle": "Car parking", + "ElementText": "This site has no car parking.", + "ElementOrder": 4, + "MetricId": "440040" + }, + { + "ElementTitle": "About", + "ElementText": "Sports facility information is being provided on the NHS Choices website to help people get active. Information is drawn from Active Places a database of sport facilities in England maintained by Sport England and the sport facility sector. For more information please see www.activeplacespower.com Contains Data © Sport England. Please email activeplaces.data@sportengland.org to provide Active Places data feedback.", + "ElementOrder": 6, + "MetricId": "88001" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "Active Places", + "ProvidedByImage": "BEI.jpg", + "ProvidedByUrl": "www.activeplacespower.com", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "1475", + "ServiceName": "Football" + }, + { + "ServiceId": "673", + "ServiceName": "General sports" + }, + { + "ServiceId": "1795", + "ServiceName": "Sports and Fitness" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.15273360157772861 + }, + { + "@search.score": 1.0, + "SearchKey": "N10483784", + "ODSCode": null, + "OrganisationName": "Nuffield Health (Bloomsbury)", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.nuffieldhealth.com/gyms/bloomsbury", + "Address1": null, + "Address2": "Mecklenburgh Place", + "Address3": null, + "City": null, + "County": null, + "Latitude": 51.5241813659668, + "Longitude": -0.11832912266254424, + "Postcode": "WC1N 2AY", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.118329, + 51.5242 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Sports and Fitness", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Swimming", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "General Gym", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Movement & Dance", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Squash", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "General sports", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "bloomsburymanagement2@nuffieldhealth.com" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.nuffieldhealth.com/gyms/bloomsbury" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Facilities", + "ElementText": "Health and Fitness Gym;Squash Courts;Studio;Swimming Pool", + "ElementOrder": 1, + "MetricId": "88079" + }, + { + "ElementTitle": "Access", + "ElementText": "Registered Membership use", + "ElementOrder": 2, + "MetricId": "88067" + }, + { + "ElementTitle": "Disabled access", + "ElementText": "This site has disability access.", + "ElementOrder": 3, + "MetricId": "88077" + }, + { + "ElementTitle": "Car parking", + "ElementText": "This site has no car parking.", + "ElementOrder": 4, + "MetricId": "440040" + }, + { + "ElementTitle": "About", + "ElementText": "Sports facility information is being provided on the NHS Choices website to help people get active. Information is drawn from Active Places a database of sport facilities in England maintained by Sport England and the sport facility sector. For more information please see www.activeplacespower.com Contains Data © Sport England. Please email activeplaces.data@sportengland.org to provide Active Places data feedback.", + "ElementOrder": 6, + "MetricId": "88001" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "Active Places", + "ProvidedByImage": "BEI.jpg", + "ProvidedByUrl": "www.activeplacespower.com", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "673", + "ServiceName": "General sports" + }, + { + "ServiceId": "1795", + "ServiceName": "Sports and Fitness" + }, + { + "ServiceId": "1452", + "ServiceName": "Squash" + }, + { + "ServiceId": "1445", + "ServiceName": "Swimming" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.15239209039992993 + }, + { + "@search.score": 1.0, + "SearchKey": "N10505032", + "ODSCode": null, + "OrganisationName": "Clockwork Pharmacy", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.clockworkpharmacy.com", + "Address1": "150 Southampton Row", + "Address2": null, + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.521438598632813, + "Longitude": -0.12337200343608856, + "Postcode": "WC1B 5AN", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123372, + 51.5214 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Emergency contraception", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.clockworkpharmacy.com" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7837 7143" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Opening times", + "ElementText": "Contact in advance to check availability.", + "ElementOrder": 1, + "MetricId": "88047" + }, + { + "ElementTitle": "Venue Type", + "ElementText": "Pharmacy", + "ElementOrder": 6, + "MetricId": "88107" + }, + { + "ElementTitle": "Service details", + "ElementText": "Pharmacy providing: \n\n• Advice and free supply of Emergency Hormonal Contraception (morning after pill) to young women in Camden aged under 25.", + "ElementOrder": 15, + "MetricId": "88052" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "Serco Global Services", + "ProvidedByImage": null, + "ProvidedByUrl": "www.sercoglobal.com", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "731", + "ServiceName": "Emergency contraception" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.15755611564693661 + }, + { + "@search.score": 1.0, + "SearchKey": "X163038", + "ODSCode": "FMK19", + "OrganisationName": "Zen Pharmacy", + "OrganisationTypeId": "PHA", + "OrganisationType": "Pharmacy", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.zenhealthcare.co.uk", + "Address1": "150 SOUTHAMPTON ROW", + "Address2": "", + "Address3": "", + "City": "LONDON", + "County": "", + "Latitude": 51.521438598632813, + "Longitude": -0.12337200343608856, + "Postcode": "WC1B 5AN", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123372, + 51.5214 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "Community", + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "QMJ", + "OrganisationName": "North London Partners in Health & Care (STP)" + }, + "Services": [ + { + "ServiceName": "Pharmacy Service: Collect Lateral Flow Device ", + "ServiceCode": "SRV0557", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Pharmacy Service: Community Pharmacy", + "ServiceCode": "EPS0002", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Pharmacy Service: Electronic Prescription Service", + "ServiceCode": "EPS0001", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "09:00", + "ClosingTime": "19:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1140, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "09:00", + "ClosingTime": "19:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1140, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "09:00", + "ClosingTime": "19:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1140, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Sunday", + "OpeningTime": "12:00", + "ClosingTime": "19:00", + "Times": null, + "OffsetOpeningTime": 720, + "OffsetClosingTime": 1140, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "09:00", + "ClosingTime": "19:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1140, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "09:00", + "ClosingTime": "19:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1140, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "09:00", + "ClosingTime": "19:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1140, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": null, + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "Additional", + "AdditionalOpeningDate": "Dec 25 2022", + "IsOpen": false + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "zen3@zenhealthcare.co.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02078377143" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.zenhealthcare.co.uk" + } + ], + "Facilities": [ + { + "Id": 1, + "Name": "Braille translation service", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 3, + "Name": "Disabled WC", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "Don't know", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 35, + "Name": "Step free access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "Don't know", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2021-12-01T13:45:16Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2021-11-30T13:05:47Z", + "HospitalDepartment": null, + "Services": "2021-03-05T01:35:21Z", + "ContactDetails": "2022-01-11T12:33:35.833Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Disabled parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Does not have induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "Data not available", + "Value2": null, + "Value3": null, + "Text": "Data not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "NULL", + "BandingName": "Data not available" + }, + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + } + ], + "distanceMiles": 0.15755611564693661 + }, + { + "@search.score": 1.0, + "SearchKey": "N10502234", + "ODSCode": null, + "OrganisationName": "Action Space (Main Office)", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.actionspace.org", + "Address1": "Cockpit Arts", + "Address2": "Cockpit Yard ", + "Address3": "Northington Street", + "City": "London ", + "County": "Greater London", + "Latitude": 51.521434783935547, + "Longitude": -0.11646749079227448, + "Postcode": "WC1N 2NP", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.116467, + 51.5214 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Carers respite and breaks", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Carer centres and services", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "info@actionspace.org" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.actionspace.org" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7209 4289" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "About", + "ElementText": "Action Space is an arts organisation supporting beginning, emerging and established artists with learning disabilities by providing studio space, art materials and exhibition opportunities.", + "ElementOrder": 1, + "MetricId": "88001" + }, + { + "ElementTitle": "Opening times", + "ElementText": "Please contact for more details", + "ElementOrder": 2, + "MetricId": "88047" + }, + { + "ElementTitle": "Access", + "ElementText": "Disabled access.", + "ElementOrder": 3, + "MetricId": "88067" + }, + { + "ElementTitle": "Catchment area", + "ElementText": "Camden", + "ElementOrder": 4, + "MetricId": "88036" + }, + { + "ElementTitle": "Target group", + "ElementText": "For Artists with Learning Disabilities.", + "ElementOrder": 5, + "MetricId": "88054" + }, + { + "ElementTitle": "Referral method", + "ElementText": "Self referral or referral via professional.", + "ElementOrder": 7, + "MetricId": "88049" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "Serco Global Services", + "ProvidedByImage": null, + "ProvidedByUrl": "www.sercoglobal.com", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "371", + "ServiceName": "Carer centres and services" + }, + { + "ServiceId": "376", + "ServiceName": "Carers respite and breaks" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.1579776790805236 + }, + { + "@search.score": 1.0, + "SearchKey": "X95988", + "ODSCode": "1-517158161", + "OrganisationName": "Blue Mar Limited", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.bluemarltd.com", + "Address1": "1 Doughty Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.522945404052734, + "Longitude": -0.116347573697567, + "Postcode": "WC1N 2PH", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.116348, + 51.5229 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "01752343001" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.bluemarltd.com" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2013-10-23T03:30:24.797Z", + "HospitalDepartment": null, + "Services": "2013-10-23T03:30:24.797Z", + "ContactDetails": "2013-10-23T03:30:24.797Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.16188509563847994 + }, + { + "@search.score": 1.0, + "SearchKey": "X10146", + "ODSCode": "FNK76", + "OrganisationName": "Holborn Pharmacy", + "OrganisationTypeId": "PHA", + "OrganisationType": "Pharmacy", + "OrganisationStatus": "Visible", + "SummaryText": "

 

\r\n

We have Fit to Fly RAPID ANTIGEN TESTS  FOR SALE.

\r\n

 We have Rapid Antigen Tests for sale (home use) as well.

\r\n

The NHS Test and Trace programme, launched in England on 28 May 2020, aims to ensure that any member of the public who develops symptoms of coronavirus (COVID-19) infection – i.e. a new cough, fever, and/or anosmia – is tested quickly (by visiting  NHS.UK or call NHS 111 if they do not have internet access) and their close ‘contacts’ identified

\r\n

 

\r\n

Holborn Pharmacy has been established at this location since 1987, and has become a fabric of the local community.  It is run by Mr Pradip Patel and strives to provide a high level of care and advice to all customers. We continue to provide new pharmacy services, as the  role of Pharmacy evolves  within the NHS structure.

\r\n

The arrival of the Coronavirus to the UK- look out for temperature and dry cough followed by breathing difficulty. Use hand sanitiser's in public places, and ring 111 if you suspect you have it, and stay indoors. Ring us for advice. We have surgical mask's, nitril gloves in stock, The virus  has a name COVID-19. wash hands with antibactierial l handwash frequently.

\r\n

If you have temperature isolate for 7 days and take plenty of fluids.

\r\n

New years resolutions on stopping drinking and smoking, please come in for a chat.

\r\n

Also throughout 2022,  the emphasis will be knowing the different aspects of Dementia.

\r\n

Please take a look at the following website and become a Dememtia Friend

\r\n
https://www.dementiafriends.org.uk/   Become a Dementia Friend. Learn more about what it is like to live with dementia and turn that understanding into action.
\r\n

 

\r\n

 

\r\n

 

", + "URL": null, + "Address1": "88 SOUTHAMPTON ROW", + "Address2": "LONDON", + "Address3": " ", + "City": " ", + "County": "", + "Latitude": 51.519981384277344, + "Longitude": -0.121759794652462, + "Postcode": "WC1B 4BB", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.12176, + 51.52 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "Community", + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "QMJ", + "OrganisationName": "North London Partners in Health & Care (STP)" + }, + "Services": [ + { + "ServiceName": "Appliance dispensing", + "ServiceCode": "SRV0177", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Appointment booking available for consultations", + "ServiceCode": "SRV0520", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Appointment booking for consultations not required", + "ServiceCode": "SRV0521", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Emergency contraception (Non-NHS)", + "ServiceCode": "SRV0530", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Healthcheck", + "ServiceCode": "SRV0529", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Inhaler technique service (Non-NHS)", + "ServiceCode": "SRV0512", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Medication review service", + "ServiceCode": "SRV0261", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Minor ailment service", + "ServiceCode": "SRV0198", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Multi-lingual staff", + "ServiceCode": "SRV0524", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "New medicine service", + "ServiceCode": "SRV0257", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Prescription collection from local General Practices", + "ServiceCode": "SRV0519", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Prescription delivery service", + "ServiceCode": "SRV0522", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Private consultation room", + "ServiceCode": "SRV0526", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Seasonal flu vaccination service (at risk groups)", + "ServiceCode": "SRV0277", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Seasonal flu vaccination service (not at risk groups)", + "ServiceCode": "SRV0514", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Stop smoking service (NHS)", + "ServiceCode": "SRV0273", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Stop smoking service (Non-NHS)", + "ServiceCode": "SRV0515", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Travel clinic", + "ServiceCode": "SRV0516", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Type 2 diabetes screening", + "ServiceCode": "SRV0517", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Vaccination service (NHS)", + "ServiceCode": "SRV0508", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Vaccination service (Non-NHS)", + "ServiceCode": "SRV0518", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Monday", + "OpeningTime": "08:30", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:30", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:30", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:30", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "08:30", + "ClosingTime": "18:00", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "09:00", + "ClosingTime": "17:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Sunday", + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": false + }, + { + "Weekday": null, + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "Additional", + "AdditionalOpeningDate": "Dec 25 2022", + "IsOpen": false + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02074052825" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "hol88@btinternet.com" + } + ], + "Facilities": [ + { + "Id": 1, + "Name": "Braille translation service", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 3, + "Name": "Disabled WC", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 35, + "Name": "Step free access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 28, + "Name": "Car Parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + }, + { + "Id": 29, + "Name": "Cycle parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + }, + { + "Id": 30, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Parking" + } + ], + "Staff": [ + { + "Title": "MR", + "GivenName": "Pradip", + "FamilyName": "Patel", + "Role": "Pharmacist", + "Qualification": "" + }, + { + "Title": "MR", + "GivenName": "Piyush ", + "FamilyName": "Patel", + "Role": "Pharmacy Assistant and Healthy Living Champion", + "Qualification": "" + } + ], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2022-12-29T11:25:03.233Z", + "BankHolidayOpeningTimes": "2022-12-29T11:25:15.35Z", + "DentistsAcceptingPatients": null, + "Facilities": "2022-03-25T14:49:57Z", + "HospitalDepartment": null, + "Services": "2022-12-29T11:25:56.477Z", + "ContactDetails": "2022-12-29T11:24:52.04Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 43, + "MetricName": "Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Disabled parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Does not have induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Signing service available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + }, + { + "MetricID": 99002, + "MetricName": "Business Card: Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "parking", + "BandingName": "Yes" + } + ], + "distanceMiles": 0.17311391765583656 + }, + { + "@search.score": 1.0, + "SearchKey": "N10959166", + "ODSCode": null, + "OrganisationName": "Society of Sexual Health Advisers (SSHA)", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "ssha.info/", + "Address1": "Health Sector", + "Address2": "128 Theobald's Road", + "Address3": "London", + "City": null, + "County": null, + "Latitude": 51.5196647644043, + "Longitude": -0.12043236196041109, + "Postcode": "WC1X 8TN", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.120432, + 51.5197 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "HIV advice and advocacy", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "info@ssha.info" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "ssha.info/" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3371 2013" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Further information", + "ElementText": "See full information about this service on the NAM aidsmap website", + "ElementOrder": 1, + "MetricId": "88042" + }, + { + "ElementTitle": "Description of service", + "ElementText": "The Society of Sexual Health Advisers (SSHA) is a UK national organisation with approximately 300 members out of an estimated 350 sexual health advisers in the country. It provides an opportunity for members to meet and work towards further professional development.", + "ElementOrder": 2, + "MetricId": "88041" + }, + { + "ElementTitle": "Catchment area", + "ElementText": "UK, Eire, Channel Islands, Isle of Man", + "ElementOrder": 3, + "MetricId": "88036" + }, + { + "ElementTitle": "About NAM", + "ElementText": "NAM is one of the world’s leading sources of independent, accurate information on HIV and AIDS, with many years’ experience producing and delivering HIV information to support people affected by HIV and to inform the wider response to the epidemic.\n\nWe produce a wide range of patient information resources, supporting people throughout their lives in making informed decisions about their health and treatment, and helping them live longer, healthier lives. We also provide a comprehensive news service on issues relating to HIV, its treatment and living with HIV, and materials to support healthcare and other professionals working with HIV-positive people.\n\nAll these resources can be read and downloaded at www.aidsmap.com", + "ElementOrder": 4, + "MetricId": "88019" + }, + { + "ElementTitle": "Twitter", + "ElementText": "https://www.twitter.com/ssha_info", + "ElementOrder": 5, + "MetricId": "88104" + }, + { + "ElementTitle": "Facebook", + "ElementText": "https://www.facebook.com/SSHA-Society-of-Sexual-Health-Advisers-229008673837762/", + "ElementOrder": 6, + "MetricId": "88078" + }, + { + "ElementTitle": "Additional information", + "ElementText": "Weblink", + "ElementOrder": 7, + "MetricId": "88068" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "NAM", + "ProvidedByImage": "NAM.png", + "ProvidedByUrl": "www.aidsmap.com", + "ProvidedOn": "2022-12-07T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "415", + "ServiceName": "HIV advice and advocacy" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.17730289036112917 + }, + { + "@search.score": 1.0, + "SearchKey": "N10502145", + "ODSCode": null, + "OrganisationName": "The Intensive Care Society", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.ics.ac.uk", + "Address1": "Churchill House", + "Address2": "35 Red Lion Square", + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.519435882568359, + "Longitude": -0.11964899301528932, + "Postcode": "WC1R 4SG", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.119649, + 51.5194 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Carer national organisations", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Carer centres and services", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "info@ics.ac.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.ics.ac.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7280 4350" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "About", + "ElementText": "The Intensive Care Society is the representative body in the UK for intensive care professionals and patients and is dedicated to the delivery of the highest quality of critical care to patients.", + "ElementOrder": 1, + "MetricId": "88001" + }, + { + "ElementTitle": "Opening times", + "ElementText": "Monday - Friday 9am - 5pm", + "ElementOrder": 2, + "MetricId": "88047" + }, + { + "ElementTitle": "Access", + "ElementText": "Disabled access", + "ElementOrder": 3, + "MetricId": "88067" + }, + { + "ElementTitle": "Catchment area", + "ElementText": "Nation-wide", + "ElementOrder": 4, + "MetricId": "88036" + }, + { + "ElementTitle": "Target group", + "ElementText": "General public", + "ElementOrder": 5, + "MetricId": "88054" + }, + { + "ElementTitle": "Referral method", + "ElementText": "Self-referral or referral via professional", + "ElementOrder": 7, + "MetricId": "88049" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "Serco Global Services", + "ProvidedByImage": null, + "ProvidedByUrl": "www.sercoglobal.com", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "371", + "ServiceName": "Carer centres and services" + }, + { + "ServiceId": "384", + "ServiceName": "Carer national organisations" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.19212722020928369 + }, + { + "@search.score": 1.0, + "SearchKey": "X18815", + "ODSCode": "op_5k7_7001__000003_WC1N1AF", + "OrganisationName": "Brunswick Visionplus Ltd", + "OrganisationTypeId": "OPT", + "OrganisationType": "Optician", + "OrganisationStatus": "Visible", + "SummaryText": "", + "URL": "http://www.specsavers.co.uk/brunswickcentre", + "Address1": "Unit 31 Brunswick Centre", + "Address2": "", + "Address3": "London", + "City": "", + "County": "", + "Latitude": 51.524272918701165, + "Longitude": -0.12351492792367937, + "Postcode": "WC1N 1AF", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123515, + 51.5243 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "Q71", + "OrganisationName": "London Area Team" + }, + "Services": [], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "10:00", + "ClosingTime": "20:00", + "Times": "10:00-20:00", + "OffsetOpeningTime": 600, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:30", + "ClosingTime": "20:00", + "Times": "08:30-20:00", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "10:00", + "ClosingTime": "18:30", + "Times": "10:00-18:30", + "OffsetOpeningTime": 600, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Sunday", + "OpeningTime": "11:00", + "ClosingTime": "17:00", + "Times": "11:00-17:00", + "OffsetOpeningTime": 660, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "09:30", + "ClosingTime": "20:00", + "Times": "09:30-20:00", + "OffsetOpeningTime": 570, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:30", + "ClosingTime": "20:00", + "Times": "08:30-20:00", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:30", + "ClosingTime": "20:00", + "Times": "08:30-20:00", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7520 0010" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "http://www.specsavers.co.uk/brunswickcentre" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2010-11-12T04:56:03.73Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2010-11-12T04:55:36.38Z", + "HospitalDepartment": null, + "Services": "2010-11-12T04:55:36.38Z", + "ContactDetails": "2010-11-12T04:55:36.38Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.21003843685249668 + }, + { + "@search.score": 1.0, + "SearchKey": "X41133", + "ODSCode": "F83048", + "OrganisationName": "Brunswick Medical Centre", + "OrganisationTypeId": "GPB", + "OrganisationType": "GpBranch", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "http://www.camdengp.co.uk", + "Address1": "39 Brunswick Centre", + "Address2": null, + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.524272918701165, + "Longitude": -0.12351492792367937, + "Postcode": "WC1N 1AF", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123515, + 51.5243 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "93C", + "OrganisationName": "NHS North Central London Icb - 93C" + }, + "Services": [ + { + "ServiceName": "Asthma Clinic", + "ServiceCode": "SRV0280", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Child health and development", + "ServiceCode": "SRV0309", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Child Immunisations", + "ServiceCode": "SRV0282", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "COPD clinic with spirometry", + "ServiceCode": "SRV0284", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Dressings clinic (nurse led)", + "ServiceCode": "SRV0296", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Drug and alcohol Services", + "ServiceCode": "SRV0290", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Learning disability health check", + "ServiceCode": "SRV0492", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Obesity management clinic", + "ServiceCode": "SRV0293", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Phlebotomy", + "ServiceCode": "SRV0299", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Smoking cessation clinic", + "ServiceCode": "SRV0301", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Travel health without yellow fever", + "ServiceCode": "SRV0303", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Young person's clinic", + "ServiceCode": "SRV0305", + "ServiceDescription": "Sexual Health Screening", + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "09:00", + "ClosingTime": "13:00", + "Times": "09:00-13:00", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 780, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "09:00", + "ClosingTime": "13:00", + "Times": "09:00-13:00", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 780, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "brunswickmedicalcentre@nhs.net" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02078373057" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "http://www.camdengp.co.uk" + } + ], + "Facilities": [ + { + "Id": 1, + "Name": "Braille translation service", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 3, + "Name": "Disabled WC", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 35, + "Name": "Step free access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 28, + "Name": "Car Parking", + "Value": "No", + "FacilityGroupName": "Parking" + }, + { + "Id": 29, + "Name": "Cycle parking", + "Value": "Yes", + "FacilityGroupName": "Parking" + }, + { + "Id": 30, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Parking" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2020-07-14T15:27:33Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2016-11-14T16:55:23Z", + "HospitalDepartment": null, + "Services": "2016-11-09T17:45:40Z", + "ContactDetails": "2020-04-01T13:34:46Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": "Yes", + "Dentist": [] + }, + "GPRegistration": { + "RegistrationLink": "", + "AcceptingOutOfArea": true + }, + "CCG": { + "ODSCode": "93C", + "OrganisationName": "NHS North Central London Icb - 93C" + }, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 43, + "MetricName": "Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Disabled parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Has induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Signing service available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + }, + { + "MetricID": 99002, + "MetricName": "Business Card: Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "parking-no", + "BandingName": "No" + } + ], + "distanceMiles": 0.21003843685249668 + }, + { + "@search.score": 1.0, + "SearchKey": "N11003915", + "ODSCode": null, + "OrganisationName": "Brunswick Visionplus Ltd", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.specsavers.co.uk/brunswickcentre", + "Address1": "Unit 31 Brunswick Centre", + "Address2": null, + "Address3": "London", + "City": null, + "County": null, + "Latitude": 51.524272918701165, + "Longitude": -0.12351492792367937, + "Postcode": "WC1N 1AF", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123515, + 51.5243 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "NHS sight tests", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7520 0010" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.specsavers.co.uk/brunswickcentre" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Service details", + "ElementText": "NHS Sight Tests", + "ElementOrder": 1, + "MetricId": "88052" + }, + { + "ElementTitle": "Useful Links", + "ElementText": "visiting-an-optician\nfree-nhs-eye-tests-and-optical-vouchers", + "ElementOrder": 2, + "MetricId": "13036" + }, + { + "ElementTitle": "About", + "ElementText": "The NHS Business Services Authority is an Arm’s Length Body of the Department of Health and Social Care. We manage over £35 billion of NHS spend annually, delivering a range of national services to NHS organisations, NHS contractors, patients and the public. \nOur purpose is to be a catalyst for better health and our vision is to be the delivery partner of choice for the NHS.", + "ElementOrder": 3, + "MetricId": "88001" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "NHS Business Services Authority", + "ProvidedByImage": "BSA.jpg", + "ProvidedByUrl": "www.nhsbsa.nhs.uk", + "ProvidedOn": "2023-01-13T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "10037", + "ServiceName": "NHS sight tests" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.21003843685249668 + }, + { + "@search.score": 1.0, + "SearchKey": "X11067", + "ODSCode": "FQ977", + "OrganisationName": "Boots", + "OrganisationTypeId": "PHA", + "OrganisationType": "Pharmacy", + "OrganisationStatus": "Visible", + "SummaryText": "

For Boots stores special opening hours, e.g. Christmas and Bank Holidays, please click on this link to Boots.com for more detail... Boots store locator

", + "URL": "www.boots.com", + "Address1": "40-42 BRUNSWICK SHOPP CTR", + "Address2": "MARCHMONT STREET", + "Address3": "", + "City": "LONDON", + "County": "", + "Latitude": 51.5241813659668, + "Longitude": -0.12390795350074768, + "Postcode": "WC1N 1AE", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123908, + 51.5242 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "Community", + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "QMJ", + "OrganisationName": "North London Partners in Health & Care (STP)" + }, + "Services": [ + { + "ServiceName": "Collect Lateral Flow Device", + "ServiceCode": "SRV0557", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Domiciliary support service", + "ServiceCode": "SRV0497", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Emergency contraception (NHS)", + "ServiceCode": "SRV0498", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Emergency contraception (Non-NHS)", + "ServiceCode": "SRV0530", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Inhaler technique service (NHS)", + "ServiceCode": "SRV0503", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Medication review service", + "ServiceCode": "SRV0261", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Minor ailment service", + "ServiceCode": "SRV0198", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "New medicine service", + "ServiceCode": "SRV0257", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Pharmacy Service: Community Pharmacy", + "ServiceCode": "EPS0002", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Pharmacy Service: Electronic Prescription Service", + "ServiceCode": "EPS0001", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Prescription collection from local General Practices", + "ServiceCode": "SRV0519", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Private consultation room", + "ServiceCode": "SRV0526", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Public Health", + "ServiceCode": "SRV0527", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Seasonal flu vaccination service (at risk groups)", + "ServiceCode": "SRV0277", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Seasonal flu vaccination service (not at risk groups)", + "ServiceCode": "SRV0514", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Supervised consumption of medicines", + "ServiceCode": "SRV0258", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Monday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": null, + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "09:00", + "ClosingTime": "17:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Sunday", + "OpeningTime": "11:00", + "ClosingTime": "17:00", + "Times": null, + "OffsetOpeningTime": 660, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02072785040" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "springdental@glos-care.nhs.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.Boots.com" + } + ], + "Facilities": [ + { + "Id": 1, + "Name": "Braille translation service", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 3, + "Name": "Disabled WC", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 35, + "Name": "Step free access", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 28, + "Name": "Car Parking", + "Value": "No", + "FacilityGroupName": "Parking" + }, + { + "Id": 29, + "Name": "Cycle parking", + "Value": "No", + "FacilityGroupName": "Parking" + }, + { + "Id": 30, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Parking" + }, + { + "Id": 145, + "Name": "Baby changing facility", + "Value": "No", + "FacilityGroupName": "Other facilities" + }, + { + "Id": 146, + "Name": "Consultation room available", + "Value": "Yes", + "FacilityGroupName": "Other facilities" + }, + { + "Id": 144, + "Name": "Toilet available", + "Value": "No", + "FacilityGroupName": "Other facilities" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2023-01-03T06:05:00.473Z", + "BankHolidayOpeningTimes": "2023-01-03T06:05:01.24Z", + "DentistsAcceptingPatients": null, + "Facilities": "2022-09-16T03:06:42Z", + "HospitalDepartment": null, + "Services": "2022-01-15T03:44:53Z", + "ContactDetails": "2023-01-03T06:05:02.873Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 43, + "MetricName": "Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Disabled parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Has induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Signing service not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + }, + { + "MetricID": 99002, + "MetricName": "Business Card: Has Car Parking", + "DisplayName": "Car parking", + "Description": "Is there car parking at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "parking-no", + "BandingName": "No" + } + ], + "distanceMiles": 0.21876047022033812 + }, + { + "@search.score": 1.0, + "SearchKey": "N11004478", + "ODSCode": null, + "OrganisationName": "Drury Porter Eyecare", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "druryportereyecare.co.uk/", + "Address1": "70 Brunswick Centre", + "Address2": "Bloomsbury", + "Address3": "London", + "City": "Russell Square", + "County": null, + "Latitude": 51.5241813659668, + "Longitude": -0.12390795350074768, + "Postcode": "WC1N 1AE", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123908, + 51.5242 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "NHS sight tests", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "druryportereyecare.co.uk/" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "info@druryportereyecare.co.uk" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7837 3276" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Service details", + "ElementText": "NHS Sight Tests", + "ElementOrder": 1, + "MetricId": "88052" + }, + { + "ElementTitle": "Useful Links", + "ElementText": "visiting-an-optician\nfree-nhs-eye-tests-and-optical-vouchers", + "ElementOrder": 2, + "MetricId": "13036" + }, + { + "ElementTitle": "About", + "ElementText": "The NHS Business Services Authority is an Arm’s Length Body of the Department of Health and Social Care. We manage over £35 billion of NHS spend annually, delivering a range of national services to NHS organisations, NHS contractors, patients and the public. \nOur purpose is to be a catalyst for better health and our vision is to be the delivery partner of choice for the NHS.", + "ElementOrder": 3, + "MetricId": "88001" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "NHS Business Services Authority", + "ProvidedByImage": "BSA.jpg", + "ProvidedByUrl": "www.nhsbsa.nhs.uk", + "ProvidedOn": "2023-01-13T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "10037", + "ServiceName": "NHS sight tests" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.21876047022033812 + }, + { + "@search.score": 1.0, + "SearchKey": "N10504187", + "ODSCode": null, + "OrganisationName": "Boots Uk", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "www.boots.com", + "Address1": "40-42 Brunswick Shopping Centre", + "Address2": "Marchmont Street", + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.5241813659668, + "Longitude": -0.12390795350074768, + "Postcode": "WC1N 1AE", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123908, + 51.5242 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Emergency contraception", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "www.boots.com" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 7278 5040" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "Opening times", + "ElementText": "Contact in advance to check availability.", + "ElementOrder": 1, + "MetricId": "88047" + }, + { + "ElementTitle": "Venue Type", + "ElementText": "Pharmacy", + "ElementOrder": 6, + "MetricId": "88107" + }, + { + "ElementTitle": "Service details", + "ElementText": "Pharmacy providing: \n\n• Advice and free supply of Emergency Hormonal Contraception (morning after pill) to young women in Camden aged under 25.", + "ElementOrder": 15, + "MetricId": "88052" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "Serco Global Services", + "ProvidedByImage": null, + "ProvidedByUrl": "www.sercoglobal.com", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "731", + "ServiceName": "Emergency contraception" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.21876047022033812 + }, + { + "@search.score": 1.0, + "SearchKey": "X114621", + "ODSCode": "NMG46", + "OrganisationName": "Gray's Inn Road Medical Centre (Connect Health)", + "OrganisationTypeId": "CLI", + "OrganisationType": "Clinic", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "77 Gray's Inn Road", + "Address2": "", + "Address3": "", + "City": "London", + "County": "Greater London", + "Latitude": 51.522842407226562, + "Longitude": -0.11454984545707704, + "Postcode": "WC1X 8TT", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.11455, + 51.5228 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "NHS Sector", + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "NMG", + "OrganisationName": "Connect Health" + }, + "Services": [], + "OpeningTimes": [], + "Contacts": [], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2016-01-06T15:36:48Z", + "HospitalDepartment": null, + "Services": "2016-01-06T15:36:48Z", + "ContactDetails": "2016-01-06T15:36:48Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.23509638042492703 + }, + { + "@search.score": 1.0, + "SearchKey": "X108487", + "ODSCode": "1-1529075548", + "OrganisationName": "Forest Pines Care Limited", + "OrganisationTypeId": "TRU", + "OrganisationType": "SocialCare Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "c/o The Pitstock Group", + "Address2": "155 Grays Inn Road", + "Address3": null, + "City": "London", + "County": null, + "Latitude": 51.525051116943359, + "Longitude": -0.11702469736337662, + "Postcode": "WC1X 8UE", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.117025, + 51.5251 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "01564820146" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2015-03-25T03:31:17.05Z", + "HospitalDepartment": null, + "Services": "2015-03-25T03:31:17.05Z", + "ContactDetails": "2015-03-25T03:31:17.05Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.23242960014062874 + }, + { + "@search.score": 1.0, + "SearchKey": "X42069", + "ODSCode": "F83042", + "OrganisationName": "Grays Inn Road Medical Practice", + "OrganisationTypeId": "GPB", + "OrganisationType": "GpBranch", + "OrganisationStatus": "Visible", + "SummaryText": "
    \r\n
\r\n

REGISTER NOW http://graysinnmedical.co.uk/registration

\r\n
    \r\n
  • WE ACCEPT OUT OF AREA PATIENTS 
  • \r\n
  • Fast appointment 
  • \r\n
  • Fast Prescription 
  • \r\n
  • Videocall appointment: Facetime / WhatsApp videocall / Skype available  
  • \r\n
  • Electronic prescribing to nearest pharmacy following videocall 
  • \r\n
\r\n

High quality care delivered as conveniently as possible. 

\r\n

Try our range of free videocalling appointments and see how quickly you'll be seen !

\r\n

Register online by clicking on the above link. 

\r\n

Patients of Gray's Inn Medical and Daleham Gardens Surgery can be seen at either site without having to re-register. Our patients can use whichever practice is more convenient

\r\n

 

\r\n

 

", + "URL": "http://www.graysinnmedical.co.uk/", + "Address1": "77 Grays Inn Road", + "Address2": "Holborn", + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.522789001464851, + "Longitude": -0.1145232617855072, + "Postcode": "WC1X 8TS", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.114523, + 51.5228 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [ + { + "OrganisationAlias": "Drs Solomon & Fard", + "OrganisationAliasId": "1953" + }, + { + "OrganisationAlias": "Gray's Inn Medical Practice ", + "OrganisationAliasId": "19770" + } + ], + "ParentOrganisation": { + "ODSCode": "93C", + "OrganisationName": "NHS North Central London Icb - 93C" + }, + "Services": [ + { + "ServiceName": "Asthma Clinic", + "ServiceCode": "SRV0280", + "ServiceDescription": "At the practice we offer specialised Asthma Assessment Clinics provided by our practice Nurse supported from the Doctors. \r\nThese are AM and PM clinics to suit the needs of our patients.", + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Learning disability health check", + "ServiceCode": "SRV0492", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "08:00", + "ClosingTime": "10:30", + "Times": "08:00-10:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 630, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:00", + "ClosingTime": "18:30", + "Times": "08:00-18:30", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1110, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "graysinnmedical@nhs.net" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02074059360" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "http://www.graysinnmedical.co.uk/" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2019-11-21T16:29:07Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2012-06-28T03:39:25Z", + "HospitalDepartment": null, + "Services": "2015-04-07T09:24:42Z", + "ContactDetails": "2019-07-18T13:45:33Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": "Yes", + "Dentist": [] + }, + "GPRegistration": { + "RegistrationLink": "", + "AcceptingOutOfArea": true + }, + "CCG": { + "ODSCode": "93C", + "OrganisationName": "NHS North Central London Icb - 93C" + }, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + } + ], + "distanceMiles": 0.23556655916582545 + }, + { + "@search.score": 1.0, + "SearchKey": "X10304", + "ODSCode": "FNV83", + "OrganisationName": "Starr Pharmacy", + "OrganisationTypeId": "PHA", + "OrganisationType": "Pharmacy", + "OrganisationStatus": "Visible", + "SummaryText": "

Welcome to Starr Pharmacy. We aim to provide our local community with a professional service of the highest standard and one that specifically meets the needs of our customers

", + "URL": "", + "Address1": "81 GRAYS INN ROAD", + "Address2": "", + "Address3": "LONDON", + "City": " ", + "County": "", + "Latitude": 51.522678375244141, + "Longitude": -0.11447009444236755, + "Postcode": "WC1X 8TP", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.11447, + 51.5227 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "Community", + "OrganisationAliases": [ + { + "OrganisationAlias": "Niemans Chemist", + "OrganisationAliasId": "17654" + } + ], + "ParentOrganisation": { + "ODSCode": "QMJ", + "OrganisationName": "North London Partners in Health & Care (STP)" + }, + "Services": [ + { + "ServiceName": "Appointment booking for consultations not required", + "ServiceCode": "SRV0521", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Emergency contraception (Non-NHS)", + "ServiceCode": "SRV0530", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Inhaler recycling", + "ServiceCode": "SRV0523", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Medication review service", + "ServiceCode": "SRV0261", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Minor ailment service", + "ServiceCode": "SRV0198", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Multi-lingual staff", + "ServiceCode": "SRV0524", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Needle and syringe exchange", + "ServiceCode": "SRV0274", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "New medicine service", + "ServiceCode": "SRV0257", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "NHS blood pressure checking service", + "ServiceCode": "SRV0560", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Prescription collection from local General Practices", + "ServiceCode": "SRV0519", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Prescription delivery service", + "ServiceCode": "SRV0522", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Private consultation room", + "ServiceCode": "SRV0526", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Seasonal flu vaccination service (at risk groups)", + "ServiceCode": "SRV0277", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Seasonal flu vaccination service (not at risk groups)", + "ServiceCode": "SRV0514", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Stop smoking service (Non-NHS)", + "ServiceCode": "SRV0515", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Supervised consumption of medicines", + "ServiceCode": "SRV0258", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Monday", + "OpeningTime": "09:00", + "ClosingTime": "17:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "09:00", + "ClosingTime": "17:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "09:00", + "ClosingTime": "17:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "09:00", + "ClosingTime": "17:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "09:00", + "ClosingTime": "17:00", + "Times": null, + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": false + }, + { + "Weekday": "Sunday", + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": false + }, + { + "Weekday": null, + "OpeningTime": null, + "ClosingTime": null, + "Times": null, + "OffsetOpeningTime": 0, + "OffsetClosingTime": 0, + "OpeningTimeType": "Additional", + "AdditionalOpeningDate": "Dec 25 2022", + "IsOpen": false + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02074055665" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "starrpharmacy@nhs.net" + } + ], + "Facilities": [ + { + "Id": 1, + "Name": "Braille translation service", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 3, + "Name": "Disabled WC", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 35, + "Name": "Step free access", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2022-12-30T17:29:06.587Z", + "BankHolidayOpeningTimes": "2022-12-30T17:29:16.297Z", + "DentistsAcceptingPatients": null, + "Facilities": "2020-08-11T08:56:30Z", + "HospitalDepartment": null, + "Services": "2022-12-30T17:30:04.223Z", + "ContactDetails": "2022-12-30T17:28:57.2Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled parking available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Does not have induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Signing service available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + } + ], + "distanceMiles": 0.236657231459145 + }, + { + "@search.score": 1.0, + "SearchKey": "X105622", + "ODSCode": "NWN", + "OrganisationName": "Realhealth(Uk) Limited", + "OrganisationTypeId": "IND", + "OrganisationType": "Independent Trust", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "F M C B Consultancy Ltd", + "Address2": "22A Theobalds Road", + "Address3": "", + "City": "London", + "County": "Greater London", + "Latitude": 51.521377563476563, + "Longitude": -0.11443748325109482, + "Postcode": "WC1X 8PF", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.114437, + 51.5214 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [], + "OpeningTimes": [], + "Contacts": [], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": null, + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2014-11-08T03:30:25.343Z", + "HospitalDepartment": null, + "Services": "2014-11-08T03:30:25.343Z", + "ContactDetails": "2014-11-08T03:30:25.343Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [ + { + "ODSCode": "NWN01", + "OrganisationName": "Realhealth(Uk) Limited" + } + ], + "Metrics": [], + "distanceMiles": 0.24278808488202724 + }, + { + "@search.score": 1.0, + "SearchKey": "X42190", + "ODSCode": "F83044", + "OrganisationName": "The Bloomsbury Surgery", + "OrganisationTypeId": "GPB", + "OrganisationType": "GpBranch", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": "https://www.bloomsburysurgery.nhs.uk/", + "Address1": "1 Handel Street", + "Address2": null, + "Address3": null, + "City": "London", + "County": "Greater London", + "Latitude": 51.525638580322266, + "Longitude": -0.122882142663002, + "Postcode": "WC1N 1PD", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.122882, + 51.5256 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "93C", + "OrganisationName": "NHS North Central London Icb - 93C" + }, + "Services": [ + { + "ServiceName": "Asthma Clinic", + "ServiceCode": "SRV0280", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Child health and development", + "ServiceCode": "SRV0309", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Child Immunisations", + "ServiceCode": "SRV0282", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Learning disability health check", + "ServiceCode": "SRV0492", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Long-Acting Reversible Contraception (LARC - eg IUD or implant)", + "ServiceCode": "SRV0294", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Minor surgery (e.g. removal of moles and skin lesions) - provided in-house", + "ServiceCode": "SRV0298", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Primary care counselling service", + "ServiceCode": "SRV0285", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Travel health with yellow fever", + "ServiceCode": "SRV0302", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": null, + "OrganisationName": null + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "08:30", + "ClosingTime": "13:00", + "Times": "08:30-13:00", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 780, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": "08:30-18:30", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Friday", + "OpeningTime": "13:00", + "ClosingTime": "18:00", + "Times": "13:00-18:00", + "OffsetOpeningTime": 780, + "OffsetClosingTime": 1080, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:30", + "ClosingTime": "13:00", + "Times": "08:30-13:00", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 780, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": "08:30-18:30", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "13:00", + "ClosingTime": "18:00", + "Times": "13:00-18:00", + "OffsetOpeningTime": 780, + "OffsetClosingTime": 1080, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:30", + "ClosingTime": "13:00", + "Times": "08:30-13:00", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 780, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": "08:30-18:30", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "13:00", + "ClosingTime": "18:00", + "Times": "13:00-18:00", + "OffsetOpeningTime": 780, + "OffsetClosingTime": 1080, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:00", + "ClosingTime": "13:00", + "Times": "08:00-13:00", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 780, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": "08:30-18:30", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "13:00", + "ClosingTime": "18:00", + "Times": "13:00-18:00", + "OffsetOpeningTime": 780, + "OffsetClosingTime": 1080, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:00", + "ClosingTime": "13:00", + "Times": "08:00-13:00", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 780, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:30", + "ClosingTime": "18:30", + "Times": "08:30-18:30", + "OffsetOpeningTime": 510, + "OffsetClosingTime": 1110, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "13:00", + "ClosingTime": "18:00", + "Times": "13:00-18:00", + "OffsetOpeningTime": 780, + "OffsetClosingTime": 1080, + "OpeningTimeType": "Surgery", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Email", + "ContactValue": "bloomsburysurgery@nhs.net" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "02078378559" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "https://www.bloomsburysurgery.nhs.uk/" + } + ], + "Facilities": [ + { + "Id": 1, + "Name": "Braille translation service", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 2, + "Name": "Disabled parking", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 3, + "Name": "Disabled WC", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 4, + "Name": "Induction loop", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 5, + "Name": "Text Relay", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 6, + "Name": "Signing service available", + "Value": "No", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 35, + "Name": "Step free access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + }, + { + "Id": 7, + "Name": "Wheelchair access", + "Value": "Yes", + "FacilityGroupName": "Accessibility" + } + ], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2019-01-18T13:08:55Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2019-11-29T16:14:51Z", + "HospitalDepartment": null, + "Services": "2019-11-29T16:14:51Z", + "ContactDetails": "2019-11-29T16:14:51Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": "Yes", + "Dentist": [] + }, + "GPRegistration": { + "RegistrationLink": "", + "AcceptingOutOfArea": true + }, + "CCG": { + "ODSCode": "93C", + "OrganisationName": "NHS North Central London Icb - 93C" + }, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [ + { + "MetricID": 44, + "MetricName": "Has Disabled Car Parking", + "DisplayName": "Disabled parking", + "Description": "Is disabled car parking available at this organisation?", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Disabled parking not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 45, + "MetricName": "Has Disabled Access", + "DisplayName": "Disabled access", + "Description": "Disabled access", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Disabled access available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 47, + "MetricName": "Has Induction Loop", + "DisplayName": "Induction loop", + "Description": "Induction loop in place", + "Value": "yes", + "Value2": null, + "Value3": null, + "Text": "Has induction loop", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Yes" + }, + { + "MetricID": 48, + "MetricName": "Has Signing Service", + "DisplayName": "Signing services", + "Description": "Signing services", + "Value": "no", + "Value2": null, + "Value3": null, + "Text": "Signing service not available", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 4, + "MetricDisplayTypeName": "BooleanImage", + "HospitalSectorType": null, + "MetricText": null, + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "no", + "BandingName": "No" + }, + { + "MetricID": 10051, + "MetricName": "Electronic prescription service", + "DisplayName": "Electronic prescription service", + "Description": "Electronic prescription service", + "Value": "Yes", + "Value2": null, + "Value3": null, + "Text": "", + "LinkUrl": null, + "LinkText": null, + "MetricDisplayTypeID": 5, + "MetricDisplayTypeName": "BandingImage", + "HospitalSectorType": null, + "MetricText": "[BandingName]", + "DefaultText": null, + "IsMetaMetric": true, + "BandingClassification": "yes", + "BandingName": "Electronic prescription service available" + } + ], + "distanceMiles": 0.26876910968174567 + }, + { + "@search.score": 1.0, + "SearchKey": "N10993009", + "ODSCode": null, + "OrganisationName": "Hunter Street Health Centre", + "OrganisationTypeId": "GDOS", + "OrganisationType": "Generic Directory of Services", + "OrganisationStatus": "Visible", + "SummaryText": null, + "URL": null, + "Address1": "8 Hunter Street", + "Address2": "Camden", + "Address3": "London", + "City": null, + "County": null, + "Latitude": 51.525672912597656, + "Longitude": -0.12324119359254836, + "Postcode": "WC1N 1BN", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.123241, + 51.5257 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": null, + "OrganisationAliases": [], + "ParentOrganisation": null, + "Services": [ + { + "ServiceName": "Healthy start vitamins", + "ServiceCode": "", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": null, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "020 3317 2345" + } + ], + "Facilities": [], + "Staff": [], + "GSD": { + "Metrics": [ + { + "ElementTitle": "About Healthy Start vitamins", + "ElementText": "To collect your free vitamins, you’ll have to show your NHS Healthy Start card.\nAsk your midwife or health visitor if you need any further advice or visit www.healthystart.nhs.uk/getting-vitamins/", + "ElementOrder": 1, + "MetricId": "88011" + }, + { + "ElementTitle": "Sells HS vitamins", + "ElementText": "Yes", + "ElementOrder": 4, + "MetricId": "88097" + }, + { + "ElementTitle": "Vitamins given out free outside of the Healthy Start Scheme", + "ElementText": "Yes", + "ElementOrder": 5, + "MetricId": "88080" + } + ], + "DataSupplier": [ + { + "ProvidedBy": "Healthy Start", + "ProvidedByImage": "HealthyStart.jpg", + "ProvidedByUrl": "www.healthystart.nhs.uk", + "ProvidedOn": "2023-01-09T00:00:00Z" + } + ], + "GsdServices": [ + { + "ServiceId": "348", + "ServiceName": "Healthy start vitamins" + } + ] + }, + "LastUpdatedDates": null, + "AcceptingPatients": null, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.27844122871247179 + }, + { + "@search.score": 1.0, + "SearchKey": "X90157", + "ODSCode": "NLU19", + "OrganisationName": "sk:n London Holborn", + "OrganisationTypeId": "CLI", + "OrganisationType": "Clinic", + "OrganisationStatus": "Visible", + "SummaryText": "

sk:n are the UK’s leading skin clinic with 43 clinics across the UK. At sk:n, we have a mission: to inspire greater confidence through better skin. Medical expertise is at the heart of everything we do; our teams of highly skilled doctors, nurses and practitioners provide the most regulated treatment approach in a meticulously clinical environment, ensuring the best possible results for their patients. No other chain of clinic offers more specialised and clinically proven treatments, or uses more advanced technology to do so. Treatments range from dermatology services, including acne and acne scarring, and laser hair removal to anti-wrinkle injectables and tattoo removal.

\r\n

For more information, or to book a consultation and discover why sk:n has just been voted as the best UK clinic group in the UK and Ireland at the 2016 Aesthetic Awards, visit the website.

\r\n

 

", + "URL": "https://www.sknclinics.co.uk/clinics/london/london-procter-street", + "Address1": "Unit 3A", + "Address2": "25 Procter Street", + "Address3": "Holborn", + "City": "London", + "County": "", + "Latitude": 51.5180549621582, + "Longitude": -0.11937433481216432, + "Postcode": "WC1V 6DW", + "Geocode": { + "type": "Point", + "coordinates": [ + -0.119374, + 51.5181 + ], + "crs": { + "type": "name", + "properties": { + "name": "EPSG:4326" + } + } + }, + "OrganisationSubType": "NHS Sector", + "OrganisationAliases": [], + "ParentOrganisation": { + "ODSCode": "NLU", + "OrganisationName": "Sk:N (Lasercare Clinics Ltd)" + }, + "Services": [ + { + "ServiceName": "Dermatology", + "ServiceCode": "SRV0028", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": "NLU", + "OrganisationName": "Sk:N (Lasercare Clinics Ltd)" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Laser/cosmetic services - not available on NHS", + "ServiceCode": "SRV0308", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": "NLU", + "OrganisationName": "Sk:N (Lasercare Clinics Ltd)" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + }, + { + "ServiceName": "Minor surgery (e.g. removal of moles and skin lesions) - provided in-house", + "ServiceCode": "SRV0298", + "ServiceDescription": null, + "Contacts": [], + "ServiceProvider": { + "ODSCode": "NLU", + "OrganisationName": "Sk:N (Lasercare Clinics Ltd)" + }, + "Treatments": [], + "OpeningTimes": [], + "AgeRange": [], + "Metrics": [] + } + ], + "OpeningTimes": [ + { + "Weekday": "Friday", + "OpeningTime": "08:00", + "ClosingTime": "19:00", + "Times": "08:00-19:00", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1140, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Monday", + "OpeningTime": "08:00", + "ClosingTime": "20:00", + "Times": "08:00-20:00", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Saturday", + "OpeningTime": "09:00", + "ClosingTime": "18:00", + "Times": "09:00-18:00", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1080, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Sunday", + "OpeningTime": "10:00", + "ClosingTime": "17:00", + "Times": "10:00-17:00", + "OffsetOpeningTime": 600, + "OffsetClosingTime": 1020, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Thursday", + "OpeningTime": "09:00", + "ClosingTime": "20:00", + "Times": "09:00-20:00", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Tuesday", + "OpeningTime": "09:00", + "ClosingTime": "20:00", + "Times": "09:00-20:00", + "OffsetOpeningTime": 540, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + }, + { + "Weekday": "Wednesday", + "OpeningTime": "08:00", + "ClosingTime": "20:00", + "Times": "08:00-20:00", + "OffsetOpeningTime": 480, + "OffsetClosingTime": 1200, + "OpeningTimeType": "General", + "AdditionalOpeningDate": "", + "IsOpen": true + } + ], + "Contacts": [ + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Telephone", + "ContactValue": "03300 371 269" + }, + { + "ContactType": "Primary", + "ContactAvailabilityType": "Office hours", + "ContactMethodType": "Website", + "ContactValue": "https://www.sknclinics.co.uk/clinics/london/london-procter-street" + } + ], + "Facilities": [], + "Staff": [], + "GSD": null, + "LastUpdatedDates": { + "OpeningTimes": "2017-03-03T12:26:34Z", + "BankHolidayOpeningTimes": null, + "DentistsAcceptingPatients": null, + "Facilities": "2013-04-24T03:30:21Z", + "HospitalDepartment": null, + "Services": "2013-04-24T03:30:21Z", + "ContactDetails": "2017-03-03T12:27:07Z", + "AcceptingPatients": null + }, + "AcceptingPatients": { + "GP": null, + "Dentist": [] + }, + "GPRegistration": null, + "CCG": null, + "RelatedIAPTCCGs": [], + "CCGLocalAuthority": [], + "Trusts": [], + "Metrics": [], + "distanceMiles": 0.2881413878557918 } - ] + ], + "@odata.nextLink": "https://nhsuksearchproduks.search.windows.net/indexes('syndicationprofiles-2-2-c-prod')/docs/search.post.search?api-version=2017-11-11" } \ No newline at end of file diff --git a/specification/service-search-api.yaml b/specification/service-search-api.yaml index 000ea03..ae124d1 100644 --- a/specification/service-search-api.yaml +++ b/specification/service-search-api.yaml @@ -453,7 +453,7 @@ components: "application/json": examples: SearchPostcodeV2: - $ref: "examples/search-postcode_v2.json" + $ref: "examples/search-place_v2.json" schema: type: object properties: diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index 290db7e..b2d5a0d 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -12,10 +12,11 @@ class TestSearchPostcode: @pytest.mark.sandbox @pytest.mark.integration - def test_search_postcode(self, get_api_key): + def test_search_place(self, get_api_key): # Given expected_status_code = 200 - expected_body = load_example("search-postcode_v2.json") + expected_body = load_example("search-place_v2.json") + expected_place = expected_body["place"][0]['text'] api_key = get_api_key["apikey"] search = "manchester" @@ -28,10 +29,50 @@ def test_search_postcode(self, get_api_key): headers=make_headers(api_key), json=body ) + + jsonResponse = response.json() + result = None + for place in jsonResponse["place"]: + if place['text'] == expected_place: + result = place['text'] + # Then assert_that(response.status_code).is_equal_to(expected_status_code) - assert_that(response.json()).is_equal_to(expected_body) + assert_that(result).is_equal_to(expected_place) + + @pytest.mark.sandbox + @pytest.mark.integration + def test_search_postcode(self, get_api_key): + + #We used ODS code since it will never change - for the given postcode, that ODS code should always appear in the results + + # Given + expected_status_code = 200 + expected_body = load_example("search-postcode_v2.json") + expected_ODS_code = expected_body['value'][1]['ODSCode'] + + api_key = get_api_key["apikey"] + search = "WC1N 3JH" + body = {} + + # When + response = requests.post( + url=f"{config.BASE_URL}/{config.BASE_PATH}/{self.endpoint}", + params={"api-version": "2", "apikey": api_key, "search": search}, + headers=make_headers(api_key), + json=body + ) + + jsonResponse = response.json() + result = None + for place in jsonResponse["value"]: + if place['ODSCode'] == expected_ODS_code: + result = place['ODSCode'] + + # Then + assert_that(response.status_code).is_equal_to(expected_status_code) + assert_that(result).is_equal_to(expected_ODS_code) @pytest.mark.skip(reason="returns list of places, each request gives back different size responses") @pytest.mark.sandbox From a7a18404a7e1fbba445051a21906e4856fa36869 Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Wed, 18 Jan 2023 12:17:02 +0000 Subject: [PATCH 12/30] Fix test formatting --- tests/test_search_postcode.py | 49 +++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index b2d5a0d..9136a1d 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -16,7 +16,7 @@ def test_search_place(self, get_api_key): # Given expected_status_code = 200 expected_body = load_example("search-place_v2.json") - expected_place = expected_body["place"][0]['text'] + expected_place = expected_body["place"][0]["text"] api_key = get_api_key["apikey"] search = "manchester" @@ -27,30 +27,29 @@ def test_search_place(self, get_api_key): url=f"{config.BASE_URL}/{config.BASE_PATH}/{self.endpoint}", params={"api-version": "2", "apikey": api_key, "search": search}, headers=make_headers(api_key), - json=body + json=body, ) - + jsonResponse = response.json() result = None for place in jsonResponse["place"]: - if place['text'] == expected_place: - result = place['text'] - + if place["text"] == expected_place: + result = place["text"] # Then assert_that(response.status_code).is_equal_to(expected_status_code) assert_that(result).is_equal_to(expected_place) - + @pytest.mark.sandbox @pytest.mark.integration def test_search_postcode(self, get_api_key): - - #We used ODS code since it will never change - for the given postcode, that ODS code should always appear in the results - + + # We used ODS code since it will never change - for the given postcode, that ODS code should always appear in the results + # Given expected_status_code = 200 expected_body = load_example("search-postcode_v2.json") - expected_ODS_code = expected_body['value'][1]['ODSCode'] + expected_ODS_code = expected_body["value"][1]["ODSCode"] api_key = get_api_key["apikey"] search = "WC1N 3JH" @@ -61,20 +60,22 @@ def test_search_postcode(self, get_api_key): url=f"{config.BASE_URL}/{config.BASE_PATH}/{self.endpoint}", params={"api-version": "2", "apikey": api_key, "search": search}, headers=make_headers(api_key), - json=body + json=body, ) - + jsonResponse = response.json() result = None for place in jsonResponse["value"]: - if place['ODSCode'] == expected_ODS_code: - result = place['ODSCode'] - + if place["ODSCode"] == expected_ODS_code: + result = place["ODSCode"] + # Then assert_that(response.status_code).is_equal_to(expected_status_code) assert_that(result).is_equal_to(expected_ODS_code) - @pytest.mark.skip(reason="returns list of places, each request gives back different size responses") + @pytest.mark.skip( + reason="returns list of places, each request gives back different size responses" + ) @pytest.mark.sandbox @pytest.mark.integration def test_place_not_found(self, get_api_key): @@ -91,7 +92,7 @@ def test_place_not_found(self, get_api_key): url=f"{config.BASE_URL}/{config.BASE_PATH}/{self.endpoint}", params={"api-version": "2", "apikey": api_key, "search": search}, headers=make_headers(api_key), - json=body + json=body, ) # Then @@ -114,7 +115,7 @@ def test_not_found_api_version(self, get_api_key): url=f"{config.BASE_URL}/{config.BASE_PATH}/{self.endpoint}", params={"search": search, "apikey": api_key}, headers=make_headers(api_key), - json=body + json=body, ) # Then @@ -136,9 +137,13 @@ def test_invalid_api_version(self, get_api_key): # When response = requests.post( url=f"{config.BASE_URL}/{config.BASE_PATH}/{self.endpoint}", - params={"search": search, "api-version": invalid_api_version, "apikey": api_key}, + params={ + "search": search, + "api-version": invalid_api_version, + "apikey": api_key, + }, headers=make_headers(api_key), - json=body + json=body, ) # Then @@ -165,7 +170,7 @@ def test_response_payload_urls_are_corrected(self, get_api_key): json={}, ) - results = response.json()['place'] + results = response.json()["place"] for item in results: url_response = requests.post( url=item['url'], From 035c1a2be9cdd5fed3aa15a7d49c4d1fd766af8f Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Wed, 18 Jan 2023 12:24:32 +0000 Subject: [PATCH 13/30] fixing linting --- openapitools.json | 7 +++++++ tests/test_search_postcode.py | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 openapitools.json diff --git a/openapitools.json b/openapitools.json new file mode 100644 index 0000000..c871d87 --- /dev/null +++ b/openapitools.json @@ -0,0 +1,7 @@ +{ + "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", + "spaces": 2, + "generator-cli": { + "version": "6.2.1" + } +} diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index 9136a1d..c885237 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -44,7 +44,8 @@ def test_search_place(self, get_api_key): @pytest.mark.integration def test_search_postcode(self, get_api_key): - # We used ODS code since it will never change - for the given postcode, that ODS code should always appear in the results + # We used ODS code since it will never change - for the given postcode, + # that ODS code should always appear in the results # Given expected_status_code = 200 From 7e39029b304efb28cf389408fb1db4e46f842da6 Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Wed, 18 Jan 2023 15:18:29 +0000 Subject: [PATCH 14/30] fixing sandbox test --- sandbox/handlers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sandbox/handlers.js b/sandbox/handlers.js index fa3b5e5..0ffdda9 100644 --- a/sandbox/handlers.js +++ b/sandbox/handlers.js @@ -1,7 +1,7 @@ "use strict"; const log = require("loglevel"); -const searchPostcodeOrPlaceResponse = require("./responses/search-place_v2.json"); +const searchPostcodeOrPlaceResponse = require("./responses/search-postcode_v2.json"); const organisationsResponse = require("./responses/organisations_v2.json"); const organisationsNotFoundResponse = require("./responses/organisations-not-found_v2.json"); const organisationsSingleResponse = require("./responses/organisations-single_v2.json"); From c85e6c1df1d12e90db0fb5dd78b857102ab42688 Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Wed, 18 Jan 2023 15:45:06 +0000 Subject: [PATCH 15/30] fixing sandbox tests --- sandbox/handlers.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sandbox/handlers.js b/sandbox/handlers.js index 0ffdda9..020413d 100644 --- a/sandbox/handlers.js +++ b/sandbox/handlers.js @@ -1,7 +1,8 @@ "use strict"; const log = require("loglevel"); -const searchPostcodeOrPlaceResponse = require("./responses/search-postcode_v2.json"); +const searchPlaceResponse = require("./responses/search-place_v2.json"); +const searchPostcodeResponse = require("./responses/search-postcode_v2.json"); const organisationsResponse = require("./responses/organisations_v2.json"); const organisationsNotFoundResponse = require("./responses/organisations-not-found_v2.json"); const organisationsSingleResponse = require("./responses/organisations-single_v2.json"); @@ -54,7 +55,9 @@ async function searchPostcodeOrPlace(req, res, next) { if (queryStringParameters?.["api-version"] !== "2") { res.status(404).json(resourceNotFound); } else if (search === "manchester") { - res.status(200).json(searchPostcodeOrPlaceResponse); + res.status(200).json(searchPlaceResponse); + } else if (search === "WC1N 3JH") { + res.status(200).json(searchPostcodeResponse); } else { res.status(500).json(populateSearchPostcodeOrPlaceInvalidResponse(search)); } From f7edf43bdac0a7a4e3374b4da67c1b6fa5a1f8b7 Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Thu, 19 Jan 2023 08:48:59 +0000 Subject: [PATCH 16/30] updated postcode check to lowercase --- sandbox/handlers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sandbox/handlers.js b/sandbox/handlers.js index 020413d..dfcaf7a 100644 --- a/sandbox/handlers.js +++ b/sandbox/handlers.js @@ -56,7 +56,7 @@ async function searchPostcodeOrPlace(req, res, next) { res.status(404).json(resourceNotFound); } else if (search === "manchester") { res.status(200).json(searchPlaceResponse); - } else if (search === "WC1N 3JH") { + } else if (search === "wc1n 3jh") { res.status(200).json(searchPostcodeResponse); } else { res.status(500).json(populateSearchPostcodeOrPlaceInvalidResponse(search)); From 500acc9076bfa3401dec619997026e3c05bee756 Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Thu, 19 Jan 2023 09:37:43 +0000 Subject: [PATCH 17/30] spec update --- specification/service-search-api.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/service-search-api.yaml b/specification/service-search-api.yaml index ae124d1..18ce178 100644 --- a/specification/service-search-api.yaml +++ b/specification/service-search-api.yaml @@ -215,7 +215,8 @@ paths: | Scenario | Request | Response | | ---------------------- | ------------------------ | ---------------------------------------- | - | Place found | `search`=`manchester` | HTTP status 200 with 2 locations | + | Postcode found | `search`=`manchester` | HTTP status 200 with 2 locations | + | Place found | `search`=`WC1N 3JH` | HTTP status 200 with 50 locations | | Postcode not found | `search`=`LS42PB` | HTTP status 500 with problem description | | No search parameter | No search parameter | HTTP status 500 with problem description | | Invalid API version | No api-version parameter | HTTP status 404 with problem description | From 795bade4e6ee24ed31b3942bfebaad2d4da13cd8 Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Thu, 19 Jan 2023 09:39:22 +0000 Subject: [PATCH 18/30] fixed typo --- specification/service-search-api.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/service-search-api.yaml b/specification/service-search-api.yaml index 18ce178..8d0e5dd 100644 --- a/specification/service-search-api.yaml +++ b/specification/service-search-api.yaml @@ -215,8 +215,8 @@ paths: | Scenario | Request | Response | | ---------------------- | ------------------------ | ---------------------------------------- | - | Postcode found | `search`=`manchester` | HTTP status 200 with 2 locations | - | Place found | `search`=`WC1N 3JH` | HTTP status 200 with 50 locations | + | Place found | `search`=`manchester` | HTTP status 200 with 2 locations | + | Postcode found | `search`=`WC1N 3JH` | HTTP status 200 with 50 locations | | Postcode not found | `search`=`LS42PB` | HTTP status 500 with problem description | | No search parameter | No search parameter | HTTP status 500 with problem description | | Invalid API version | No api-version parameter | HTTP status 404 with problem description | From 518467ec213d0cd7ea1a90cd2ecd64df4ceee1e6 Mon Sep 17 00:00:00 2001 From: LKFULLER1 Date: Fri, 20 Jan 2023 10:36:20 +0000 Subject: [PATCH 19/30] gitignore openapitools.json --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 91edc96..5de30c4 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ __pycache__/ smoketest-report.xml **/.env **/integration_tests_report.xml + +openapitools.json From ae080f8c61d96adc77da8e02eb978c8435e809c9 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 15:28:28 +0000 Subject: [PATCH 20/30] AMB-1381: Fixed typo in policy name --- proxies/live/apiproxy/proxies/default.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxies/live/apiproxy/proxies/default.xml b/proxies/live/apiproxy/proxies/default.xml index 85409de..d1ab2fa 100644 --- a/proxies/live/apiproxy/proxies/default.xml +++ b/proxies/live/apiproxy/proxies/default.xml @@ -47,7 +47,7 @@ AssignMessage.SetApimGuids
- javascript.CacheRequestHostname + javascript.CacheRequestHost From fa7f024a3542b6d0b855fbff0407cb385982364e Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 16:11:10 +0000 Subject: [PATCH 21/30] AMB-1381: Ported host rewrite policies to sandbox --- .../policies/javascript.CacheRequestHost.xml | 6 ++++++ .../policies/javascript.RewriteHostName.xml | 6 ++++++ proxies/sandbox/apiproxy/proxies/default.xml | 11 ++++++++++- .../apiproxy/resources/jsc/CacheRequestHost.js | 1 + .../apiproxy/resources/jsc/RewriteHostName.js | 16 ++++++++++++++++ proxies/sandbox/apiproxy/targets/sandbox.xml | 8 ++++++++ tests/test_search_postcode.py | 2 +- 7 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 proxies/sandbox/apiproxy/policies/javascript.CacheRequestHost.xml create mode 100644 proxies/sandbox/apiproxy/policies/javascript.RewriteHostName.xml create mode 100644 proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js create mode 100644 proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js diff --git a/proxies/sandbox/apiproxy/policies/javascript.CacheRequestHost.xml b/proxies/sandbox/apiproxy/policies/javascript.CacheRequestHost.xml new file mode 100644 index 0000000..0dc41a5 --- /dev/null +++ b/proxies/sandbox/apiproxy/policies/javascript.CacheRequestHost.xml @@ -0,0 +1,6 @@ + + + javascript.CacheRequestHost + + jsc://CacheRequestHost.js + diff --git a/proxies/sandbox/apiproxy/policies/javascript.RewriteHostName.xml b/proxies/sandbox/apiproxy/policies/javascript.RewriteHostName.xml new file mode 100644 index 0000000..6db930d --- /dev/null +++ b/proxies/sandbox/apiproxy/policies/javascript.RewriteHostName.xml @@ -0,0 +1,6 @@ + + + javascript.RewriteHostName + + jsc://RewriteHostName.js + diff --git a/proxies/sandbox/apiproxy/proxies/default.xml b/proxies/sandbox/apiproxy/proxies/default.xml index 0924853..d9dad36 100644 --- a/proxies/sandbox/apiproxy/proxies/default.xml +++ b/proxies/sandbox/apiproxy/proxies/default.xml @@ -39,7 +39,16 @@ - + + + + AssignMessage.SetApimGuids + + + javascript.CacheRequestHost + + + diff --git a/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js b/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js new file mode 100644 index 0000000..ae8fe83 --- /dev/null +++ b/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js @@ -0,0 +1 @@ +context.setVariable("request_hostname", request.headers.host); diff --git a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js new file mode 100644 index 0000000..1f024a1 --- /dev/null +++ b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js @@ -0,0 +1,16 @@ +var response = context.getVariable("response.content"); +var json = JSON.parse(response) + +if (json.place) { + // Loop over each item in the search result array, re-writing the hostname to that of the initial request + json.place.forEach(value => { + var request_hostname = context.getVariable("request_hostname") + var rewritten_url = value.url.replace("api.nhs.uk", request_hostname); + value.url = rewritten_url; + value.url = value.url.replace("api-version=1", "api-version=2"); + value.url = value.url.replace("service-search", "service-search-api"); + }); + + // Update the response payload with the corrected urls + context.setVariable("message.content", JSON.stringify(json)); +} diff --git a/proxies/sandbox/apiproxy/targets/sandbox.xml b/proxies/sandbox/apiproxy/targets/sandbox.xml index 22be523..74caad5 100644 --- a/proxies/sandbox/apiproxy/targets/sandbox.xml +++ b/proxies/sandbox/apiproxy/targets/sandbox.xml @@ -14,6 +14,14 @@ + + + + + javascript.RewriteHostName + + + AssignMessage.AddCors diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index c885237..52c4886 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -171,7 +171,7 @@ def test_response_payload_urls_are_corrected(self, get_api_key): json={}, ) - results = response.json()["place"] + results = response.json()['place'] for item in results: url_response = requests.post( url=item['url'], From 06f3a5d92ebb2751bfcfb93dfaa99a95e97b0f62 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Fri, 20 Jan 2023 16:33:29 +0000 Subject: [PATCH 22/30] AMB-1381: Removed leftover breakpoint --- tests/test_search_postcode.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/test_search_postcode.py b/tests/test_search_postcode.py index c7042af..52c4886 100644 --- a/tests/test_search_postcode.py +++ b/tests/test_search_postcode.py @@ -171,8 +171,6 @@ def test_response_payload_urls_are_corrected(self, get_api_key): json={}, ) - import pdb; pdb.set_trace() - results = response.json()['place'] for item in results: url_response = requests.post( From d5fa5a0effe4df30c53fd429640d2666fb56d85b Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Mon, 23 Jan 2023 11:03:27 +0000 Subject: [PATCH 23/30] AMB-1381: Updated spec example to use INT url hostname --- specification/examples/search-place_v2.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/examples/search-place_v2.json b/specification/examples/search-place_v2.json index 3d61153..aade346 100644 --- a/specification/examples/search-place_v2.json +++ b/specification/examples/search-place_v2.json @@ -4,13 +4,13 @@ "Latitude": 53.478941671902611, "Longitude": -2.245277998298477, "text": "Manchester, North West", - "url": "https://api.nhs.uk/service-search/search-postcode-or-place?api-version=1&search=manchester&latitude=53.4789416719026&longitude=-2.24527799829848" + "url": "https://int.api.service.nhs.uk/service-search/search-postcode-or-place?api-version=1&search=manchester&latitude=53.4789416719026&longitude=-2.24527799829848" }, { "Latitude": 53.514265448236706, "Longitude": -2.4199003923191209, "text": "New Manchester, North West", - "url": "https://api.nhs.uk/service-search/search-postcode-or-place?api-version=1&search=manchester&latitude=53.5142654482367&longitude=-2.41990039231912" + "url": "https://int.api.service.nhs.uk/service-search/search-postcode-or-place?api-version=1&search=manchester&latitude=53.5142654482367&longitude=-2.41990039231912" } ] -} \ No newline at end of file +} From 71fd9373f50a85f08083e578945fdf4d867705c1 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Mon, 23 Jan 2023 12:37:13 +0000 Subject: [PATCH 24/30] AMB-1381: Added regex to more accurately extract and replace hostname env --- proxies/live/apiproxy/resources/jsc/CacheRequestHost.js | 4 +++- proxies/live/apiproxy/resources/jsc/RewriteHostName.js | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js b/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js index ae8fe83..e260d2b 100644 --- a/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js +++ b/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js @@ -1 +1,3 @@ -context.setVariable("request_hostname", request.headers.host); +const env_regex = /^([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm +var hostname_env = str.replace(env_regex, request.headers.host) +context.setVariable("request_hostname_env", hostname_env); diff --git a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js index 1f024a1..712ba8d 100644 --- a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js @@ -4,8 +4,9 @@ var json = JSON.parse(response) if (json.place) { // Loop over each item in the search result array, re-writing the hostname to that of the initial request json.place.forEach(value => { - var request_hostname = context.getVariable("request_hostname") - var rewritten_url = value.url.replace("api.nhs.uk", request_hostname); + var request_hostname = context.getVariable("request_hostname_env") + var hostname_regex = /(?<=(https:\/\/))([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm + var rewritten_url = value.url.replace(hostname_regex, request_hostname); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); value.url = value.url.replace("service-search", "service-search-api"); From 8dc23e9781690d4a34acdfd4202e0de7e10807fe Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Mon, 23 Jan 2023 12:45:27 +0000 Subject: [PATCH 25/30] AMB-1381: Ported regex change to sandbox proxy --- proxies/live/apiproxy/resources/jsc/CacheRequestHost.js | 5 +++-- proxies/live/apiproxy/resources/jsc/RewriteHostName.js | 6 +++--- proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js | 5 ++++- proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js | 7 ++++--- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js b/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js index e260d2b..0efd3ff 100644 --- a/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js +++ b/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js @@ -1,3 +1,4 @@ -const env_regex = /^([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm -var hostname_env = str.replace(env_regex, request.headers.host) +const env_regex = /^([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm; +var hostname_env = request.headers.host; +hostname_env.replace(env_regex, request.headers.host); context.setVariable("request_hostname_env", hostname_env); diff --git a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js index 712ba8d..04beda6 100644 --- a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js @@ -1,11 +1,11 @@ var response = context.getVariable("response.content"); -var json = JSON.parse(response) +var json = JSON.parse(response); if (json.place) { // Loop over each item in the search result array, re-writing the hostname to that of the initial request json.place.forEach(value => { - var request_hostname = context.getVariable("request_hostname_env") - var hostname_regex = /(?<=(https:\/\/))([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm + var request_hostname = context.getVariable("request_hostname_env"); + var hostname_regex = /(?<=(https:\/\/))([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm; var rewritten_url = value.url.replace(hostname_regex, request_hostname); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); diff --git a/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js b/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js index ae8fe83..0efd3ff 100644 --- a/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js +++ b/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js @@ -1 +1,4 @@ -context.setVariable("request_hostname", request.headers.host); +const env_regex = /^([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm; +var hostname_env = request.headers.host; +hostname_env.replace(env_regex, request.headers.host); +context.setVariable("request_hostname_env", hostname_env); diff --git a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js index 1f024a1..04beda6 100644 --- a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js @@ -1,11 +1,12 @@ var response = context.getVariable("response.content"); -var json = JSON.parse(response) +var json = JSON.parse(response); if (json.place) { // Loop over each item in the search result array, re-writing the hostname to that of the initial request json.place.forEach(value => { - var request_hostname = context.getVariable("request_hostname") - var rewritten_url = value.url.replace("api.nhs.uk", request_hostname); + var request_hostname = context.getVariable("request_hostname_env"); + var hostname_regex = /(?<=(https:\/\/))([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm; + var rewritten_url = value.url.replace(hostname_regex, request_hostname); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); value.url = value.url.replace("service-search", "service-search-api"); From 36dc42eb1c4d66d8b820f48a5eae62ce19a51829 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Mon, 23 Jan 2023 13:23:29 +0000 Subject: [PATCH 26/30] AMB-1381: Fixed regex look-behind issue --- proxies/live/apiproxy/resources/jsc/CacheRequestHost.js | 4 ++-- proxies/live/apiproxy/resources/jsc/RewriteHostName.js | 4 +++- proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js | 4 ++-- proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js | 4 +++- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js b/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js index 0efd3ff..cc430d7 100644 --- a/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js +++ b/proxies/live/apiproxy/resources/jsc/CacheRequestHost.js @@ -1,4 +1,4 @@ -const env_regex = /^([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm; +const env_regex = /^([a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; var hostname_env = request.headers.host; -hostname_env.replace(env_regex, request.headers.host); +hostname_env = hostname_env.match(env_regex, request.headers.host)[0]; context.setVariable("request_hostname_env", hostname_env); diff --git a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js index 04beda6..3f1f796 100644 --- a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js @@ -5,7 +5,9 @@ if (json.place) { // Loop over each item in the search result array, re-writing the hostname to that of the initial request json.place.forEach(value => { var request_hostname = context.getVariable("request_hostname_env"); - var hostname_regex = /(?<=(https:\/\/))([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm; + // Annoyingly, Apigee's version of JS doesn't support regex look-behinds, + // so we grab the env string including https:// prefix + var hostname_regex = /(^https:\/\/[a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; var rewritten_url = value.url.replace(hostname_regex, request_hostname); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); diff --git a/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js b/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js index 0efd3ff..cc430d7 100644 --- a/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js +++ b/proxies/sandbox/apiproxy/resources/jsc/CacheRequestHost.js @@ -1,4 +1,4 @@ -const env_regex = /^([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm; +const env_regex = /^([a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; var hostname_env = request.headers.host; -hostname_env.replace(env_regex, request.headers.host); +hostname_env = hostname_env.match(env_regex, request.headers.host)[0]; context.setVariable("request_hostname_env", hostname_env); diff --git a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js index 04beda6..3f1f796 100644 --- a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js @@ -5,7 +5,9 @@ if (json.place) { // Loop over each item in the search result array, re-writing the hostname to that of the initial request json.place.forEach(value => { var request_hostname = context.getVariable("request_hostname_env"); - var hostname_regex = /(?<=(https:\/\/))([a-zA-Z]+)(?=(\.api\.service\.nhs\.uk))/gm; + // Annoyingly, Apigee's version of JS doesn't support regex look-behinds, + // so we grab the env string including https:// prefix + var hostname_regex = /(^https:\/\/[a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; var rewritten_url = value.url.replace(hostname_regex, request_hostname); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); From 36a00f3fda7d2dfc5724c74735392ab68e824237 Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Mon, 23 Jan 2023 14:04:21 +0000 Subject: [PATCH 27/30] AMB-1381: Fixed re-written hostname prefix --- proxies/live/apiproxy/resources/jsc/RewriteHostName.js | 2 +- proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js index 3f1f796..87a8801 100644 --- a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js @@ -8,7 +8,7 @@ if (json.place) { // Annoyingly, Apigee's version of JS doesn't support regex look-behinds, // so we grab the env string including https:// prefix var hostname_regex = /(^https:\/\/[a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; - var rewritten_url = value.url.replace(hostname_regex, request_hostname); + var rewritten_url = value.url.replace(hostname_regex, "https://" + request_hostname); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); value.url = value.url.replace("service-search", "service-search-api"); diff --git a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js index 3f1f796..87a8801 100644 --- a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js @@ -8,7 +8,7 @@ if (json.place) { // Annoyingly, Apigee's version of JS doesn't support regex look-behinds, // so we grab the env string including https:// prefix var hostname_regex = /(^https:\/\/[a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; - var rewritten_url = value.url.replace(hostname_regex, request_hostname); + var rewritten_url = value.url.replace(hostname_regex, "https://" + request_hostname); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); value.url = value.url.replace("service-search", "service-search-api"); From 7f8c68bcc2a255273b7f1c76c80f57bff3c25bcb Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Mon, 23 Jan 2023 14:46:06 +0000 Subject: [PATCH 28/30] AMB-1381: Fixed rewritten url --- proxies/live/apiproxy/resources/jsc/RewriteHostName.js | 2 +- proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js index 87a8801..9a9f225 100644 --- a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js @@ -8,7 +8,7 @@ if (json.place) { // Annoyingly, Apigee's version of JS doesn't support regex look-behinds, // so we grab the env string including https:// prefix var hostname_regex = /(^https:\/\/[a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; - var rewritten_url = value.url.replace(hostname_regex, "https://" + request_hostname); + var rewritten_url = value.url.replace(hostname_regex, "https://" + request_hostname + ".api.service.nhs.uk"); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); value.url = value.url.replace("service-search", "service-search-api"); diff --git a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js index 87a8801..9a9f225 100644 --- a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js @@ -8,7 +8,7 @@ if (json.place) { // Annoyingly, Apigee's version of JS doesn't support regex look-behinds, // so we grab the env string including https:// prefix var hostname_regex = /(^https:\/\/[a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; - var rewritten_url = value.url.replace(hostname_regex, "https://" + request_hostname); + var rewritten_url = value.url.replace(hostname_regex, "https://" + request_hostname + ".api.service.nhs.uk"); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); value.url = value.url.replace("service-search", "service-search-api"); From b96d42997db5ecc4df74c85f37750c70dffaa4ff Mon Sep 17 00:00:00 2001 From: Jack McCaffrey Date: Mon, 23 Jan 2023 15:15:03 +0000 Subject: [PATCH 29/30] AMB-1381: Fixed regex --- proxies/live/apiproxy/resources/jsc/RewriteHostName.js | 2 +- proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js index 9a9f225..edb0459 100644 --- a/proxies/live/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/live/apiproxy/resources/jsc/RewriteHostName.js @@ -7,7 +7,7 @@ if (json.place) { var request_hostname = context.getVariable("request_hostname_env"); // Annoyingly, Apigee's version of JS doesn't support regex look-behinds, // so we grab the env string including https:// prefix - var hostname_regex = /(^https:\/\/[a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; + var hostname_regex = /(^https:\/\/([a-zA-Z\-]+\.)+)nhs\.uk/gm; var rewritten_url = value.url.replace(hostname_regex, "https://" + request_hostname + ".api.service.nhs.uk"); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); diff --git a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js index 9a9f225..edb0459 100644 --- a/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js +++ b/proxies/sandbox/apiproxy/resources/jsc/RewriteHostName.js @@ -7,7 +7,7 @@ if (json.place) { var request_hostname = context.getVariable("request_hostname_env"); // Annoyingly, Apigee's version of JS doesn't support regex look-behinds, // so we grab the env string including https:// prefix - var hostname_regex = /(^https:\/\/[a-zA-Z\-]+)(?=(\.api\.service\.nhs\.uk))/gm; + var hostname_regex = /(^https:\/\/([a-zA-Z\-]+\.)+)nhs\.uk/gm; var rewritten_url = value.url.replace(hostname_regex, "https://" + request_hostname + ".api.service.nhs.uk"); value.url = rewritten_url; value.url = value.url.replace("api-version=1", "api-version=2"); From 2fb151e0258048ff3103bc7c64a403844f5a7117 Mon Sep 17 00:00:00 2001 From: artronics Date: Tue, 24 Jan 2023 12:07:11 +0000 Subject: [PATCH 30/30] AMB-000 run smoke tests --- azure/azure-release-pipeline.yml | 4 ++-- azure/templates/run-smoke-tests.yml | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 azure/templates/run-smoke-tests.yml diff --git a/azure/azure-release-pipeline.yml b/azure/azure-release-pipeline.yml index 92779aa..c312f72 100644 --- a/azure/azure-release-pipeline.yml +++ b/azure/azure-release-pipeline.yml @@ -51,10 +51,10 @@ extends: - environment: sandbox proxy_path: sandbox post_deploy: - - template: ./templates/run-integration-tests.yml + - template: ./templates/run-smoke-tests.yml - environment: int depends_on: - internal_qa - internal_qa_sandbox post_deploy: - - template: ./templates/run-integration-tests.yml + - template: ./templates/run-smoke-tests.yml diff --git a/azure/templates/run-smoke-tests.yml b/azure/templates/run-smoke-tests.yml new file mode 100644 index 0000000..c237fba --- /dev/null +++ b/azure/templates/run-smoke-tests.yml @@ -0,0 +1,24 @@ +steps: + - bash: | + make install-python + workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME) + displayName: Setup pytests + + - bash: | + export RELEASE_RELEASEID=$(Build.BuildId) + export SOURCE_COMMIT_ID=$(Build.SourceVersion) + export APIGEE_ENVIRONMENT="$(ENVIRONMENT)" + export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)" + export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)" + export APIGEE_API_TOKEN="$(secret.AccessToken)" + + poetry run pytest -v -m smoketest -o junit_logging=all --junitxml=smoke_tests_report.xml + workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/tests + displayName: run smoke tests + + - task: PublishTestResults@2 + displayName: 'Publish smoketest results' + condition: always() + inputs: + testResultsFiles: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/tests/smoke_tests_report.xml' + failTaskOnFailedTests: true