diff --git a/sandbox/app.py b/sandbox/app.py index 80aaadd..fa90e5e 100644 --- a/sandbox/app.py +++ b/sandbox/app.py @@ -38,6 +38,20 @@ ] PATIENT_EXAMPLES = { + "patient-check/5000000001": "example_50000000001", + "patient-check/5000000002": "example_50000000002", + "patient-check/5000000003": "example_50000000003", + "patient-check/5000000004": "example_50000000004", + "patient-check/5000000005": "example_50000000005", + "patient-check/5000000006": "example_50000000006", + "patient-check/5000000007": "example_50000000007", + "patient-check/5000000008": "example_50000000008", + "patient-check/5000000009": "example_50000000009", + "patient-check/5000000010": "example_50000000010", + "patient-check/5000000011": "example_50000000011", + "patient-check/5000000012": "example_50000000012", + "patient-check/5000000013": "example_50000000013", + "patient-check/5000000014": "example_50000000014", "patient-check/50000000001": "example_50000000001", "patient-check/50000000002": "example_50000000002", "patient-check/50000000003": "example_50000000003", @@ -52,6 +66,20 @@ "patient-check/50000000012": "example_50000000012", "patient-check/50000000013": "example_50000000013", "patient-check/50000000014": "example_50000000014", + "patient-check/9686368973": "example_5000000001", + "patient-check/9686368906": "example_5000000002", + "patient-check/9658218873": "example_5000000003", + "patient-check/9658218881": "example_5000000004", + "patient-check/9658218903": "example_5000000005", + "patient-check/9658218989": "example_5000000006", + "patient-check/9658218997": "example_5000000007", + "patient-check/9658219004": "example_5000000008", + "patient-check/9658219012": "example_5000000009", + "patient-check/9658220142": "example_5000000010", + "patient-check/9658220150": "example_5000000011", + "patient-check/9450114080": "example_5000000012", + "patient-check/9466447939": "example_5000000013", + "patient-check/9657933617": "example_5000000014", "patient-check/90000000400": "code400", "patient-check/90000000404": "code404", "patient-check/90000000422": "code422", diff --git a/specification/eligibility-signposting-api.yaml b/specification/eligibility-signposting-api.yaml index ed06f97..2d89f72 100644 --- a/specification/eligibility-signposting-api.yaml +++ b/specification/eligibility-signposting-api.yaml @@ -1,8 +1,8 @@ openapi: 3.0.1 info: title: Patient Eligibility Signposting API - version: 1.0.11-alpha - description: "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-signposting) - the nationally curated single source of eligibility status and signposted actions for individuals. For example, you can request eligibility for one or more vaccination types to understand if NHS England holds information which suggest that the person could or should take further steps toward receiving those vaccinations, and optionally, a list of the steps NHS England would recommend.\n\nWhere someone is deemed eligible, they will also be classified as actionable or not actionable. When deemed not actionable, one or more reasons will be returned. These reasons can range from personal care setting impacts to current lack of availability of vaccines and more.\n\nThe API returns most of its data in both code and text form. Unless agreed in writing with NHS England, where text is provided it should be displayed to the user as-is.\n\nUse this API to request:\n* eligibility for all supported categories and conditions\n* eligibility for specified supported categories and/or conditions\n* request that actions be included in the response\n* request that actions not be included in the response\n\nYou cannot currently use this API to:\n* request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\n\nThis API is read-only and can return a list of processed suggestions, each relating to a 'condition' (e.g. COVID, RSV, BOWEL, EYE, BREAST etc.), including the following information for each:\n* a code representing the condition (COVID, RSV, BOWEL, EYE, BREAST)\n* an overall status (NotEligible, NotActionable, Actionable)\n* a list of eligibility cohort groups to which the person belongs (when eligible)\n* a list of the cohort groups that could have made the person eligible (when not eligible)\n* a list of rules/reasons that deem a person to be NotActionable\n* a list of actions that should be shown to the consumer\n\n#### Definitions of overall status\nThe overall status values indicate the following:\n\n* NotEligible - the individual does not currently meet eligibility criteria\n* NotActionable - the individual is eligible but does not need to take any further action at this time\n* Actionable - the individual is eligible and should follow one of the recommended actions provided\n\n### Patients included in the Patient Eligibility Signposting API\nThe API will return data for all patients who are in the NHS PDS system that are registered with an English GP practice (or one administered by England) or who we believe to be resident in England.\n\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n\n## Who can use this API\nThis API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-signposting/legal-basis) to do so. Make sure you have a valid use case before you go too far with your development. You must demonstrate you have a [valid use case](https://digital.nhs.uk/services/eligibility-signposting/legal-basis) as part of digital onboarding.\n\nYou must do this before you can go live (see 'Onboarding' below).\n\n### Who can access Eligibility Signposting Information\nPatients who receive health and social care or make use of NHS services in England, Wales and the Isle of Man can access their own Eligibility Signposting data through onboarded services.\n\nHealth and care organisations in England and the Isle of Man can access our information for legitimate direct care purposes. Legitimate direct care examples include NHS organisations delivering healthcare, local authorities delivering care, third sector and private sector health and care organisations, and developers delivering systems to health and care organisations.\n\n\n### Existing API users\nTo find out which healthcare software development organisations and products are already using this API, see [Patient Eligibility Signposting API - integrated products](https://digital.nhs.uk/services/eligibility-signposting/integrated-products).\n\n## Access modes\nThis API currently has only one access mode:\n* patient access (user-restricted)\n\nWe are considering the possibility of adding other modes in the future:\n* healthcare worker access\n* application restricted access\n\n### Patient access\nIf the end user is a patient then you must use this access mode. Use this access mode to obtain data for that patient.\n\nThis access mode is [user-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#user-restricted-apis), meaning an end user must be present, authenticated and authorised.\n\nThe end user must be:\n* a patient who receives health and social care or makes use of NHS services\n* strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)\n\nTo use this access mode, you must currently use the following security pattern:\n\n|\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------| ------------------------------------------------------------|---------------------------------------------------------|\n|[NHS login - separate authentication and authorisation](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/user-restricted-restful-apis-nhs-login-separate-authentication-and-authorisation) |OAuth 2.0 token exchange with signed JWT |Gives access to user information. |Need to integrate and onboard separately with NHS login. |\n\nPatient access mode users must be authenticated to a high proofing level (P9) and to one of the following [vectors of trust](https://nhsconnect.github.io/nhslogin/vectors-of-trust/):\n* P9.Cp.Cd\n* P9.Cp.Ck\n* P9.Cm\n\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n\n### Restricted access\nThis access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\n\nThis access mode is [application-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis), meaning we authenticate and authorise the calling application but not the end user.\n\nThis access mode is not designed to be accessed by an end user. You might use this access mode as part of a back-end process to:\n* retrieve eligibility signposting information into a system in advance of a clinic\n* retrieve eligibility signposting information into a system to be used in a disconnected manner\n\nTo use this access mode, use this security pattern:\n* [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)\n\n## Roadmap\nThe [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-signposting/roadmap-and-strategy) roadmap shows the planned changes for the API.\n\nTo see our roadmap, or to suggest, comment or vote on features for this API, see our [interactive product backlog](https://nhs-digital-api-management.featureupvote.com/suggestions/612352/eligibility-signposting-api-vaccinations).\n\nIf you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\n\n## Service level\nThis API is a silver service, meaning it is operational 24 hours a day, 365 days a year and supported 8am to 6pm, Monday to Friday excluding bank holidays.\n\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n\n## Rate limits\nThe default rate limit is 25TPS (Transactions Per Second), per app. If you require a higher rate limit please [contact us](https://digital.nhs.uk/developer/help-and-support). or raise this during the onboarding process.\n\n## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\n\nThe error messages returned by this API conform to the FHIR global standard for health care data exchange, specifically to FHIR R4 (v4.0.1). This is to aid consumers that integrate to FHIR based APIS and are in any case not overly complex.\n\nThere are [libraries and SDKs](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) available to help with FHIR API integration.\n\n## Network access\nThis API is available on the internet and, indirectly, on the [Health and Social Care Network (HSCN)](https://digital.nhs.uk/services/health-and-social-care-network).\n\nFor more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n\n## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action\n* 400 to 499 if it failed because of a client error by your application\n* 500 to 599 if it failed because of an error on our server\n\nErrors specific to each API are shown in the Endpoints section, under Response. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#http-status-codes) for more on errors.\n\nYour API-calling application should have a mechanism to automatically try again, for example by giving status information to your end user, before giving up. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#error-handling) for more information about error handling.\n\n## Open source\nYou might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n\n| Resource | Description | Links |\n|---------------------------|----------------------------------------------------------------------|--------------------------------------------------------------------------------|\n| Patient Eligibility Signposting API| Source code including API proxy, sandbox and specification and code. | [GitHub repo](https://github.com/NHSDigital/eligibility-signposting-api) |\n\nWe currently don't have any open source client libraries or sample code for this API. If you think this would be useful, you can [upvote the suggestion on our Interactive Product Backlog](https://nhs-digital-api-management.featureupvote.com/suggestions/107439/client-libraries-and-reference-implementations).\n\n\n\n## Environments and testing\n| Environment | Base URL |\n| ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting/patient-check/{id}` |\n| Integration test | `https://int.api.service.nhs.uk/eligibility-signposting/patient-check/{id}` |\n| Production | `https://api.service.nhs.uk/eligibility-signposting/patient-check/{id}` |\n\n### Sandbox testing\nOur [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#sandbox-testing):\n* is for early developer testing\n* only covers a limited set of scenarios\n* is open access, so does not allow you to test authorisation\n\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\n\nAlternatively, you can try out the sandbox using our Postman collection:\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\n\n### Integration testing\nOur [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* is for formal integration testing\n* includes authorisation, with options for user-restricted access (NHS Login)\n\n### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\n\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\n\n## Onboarding\nYou need to get your software approved by us before it can go live with this API. We call this onboarding. The onboarding process can sometimes be quite long, so it is worth planning well ahead.\n\nAs part of this process, you need to demonstrate your technical conformance to the requirements for this API.\n\nYou also need to demonstrate that you can manage risks. This might impact the design of your software. For details, see [Onboarding support information](https://digital.nhs.uk/services/eligibility-signposting/onboarding-support-information).\n\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n\n\n## Related APIs\nThe following APIs are related to this API:\n" + version: 1.0.12-alpha + description: "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-signposting) - the nationally curated single source of eligibility status and signposted actions for individuals. For example, you can request eligibility for one or more vaccination types to understand if NHS England holds information which suggest that the person could or should take further steps toward receiving those vaccinations, and optionally, a list of the steps NHS England would recommend.\n\nWhere someone is deemed eligible, they will also be classified as actionable or not actionable. When deemed not actionable, one or more reasons will be returned. These reasons can range from personal care setting impacts to current lack of availability of vaccines and more.\n\nThe API returns most of its data in both code and text form. Unless agreed in writing with NHS England, where text is provided it should be displayed to the user as-is.\n\nUse this API to request:\n* eligibility for all supported categories and conditions\n* eligibility for specified supported categories and/or conditions\n* request that actions be included in the response\n* request that actions not be included in the response\n\nYou cannot currently use this API to:\n* request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\n\nThis API is read-only and can return a list of processed suggestions, each relating to a 'condition' (e.g. COVID, RSV, BOWEL, EYE, BREAST etc.), including the following information for each:\n* a code representing the condition (COVID, RSV, BOWEL, EYE, BREAST)\n* an overall status (NotEligible, NotActionable, Actionable)\n* a list of eligibility cohort groups to which the person belongs (when eligible)\n* a list of the cohort groups that could have made the person eligible (when not eligible)\n* a list of rules/reasons that deem a person to be NotActionable\n* a list of actions that should be shown to the consumer\n\n#### Definitions of overall status\nThe overall status values indicate the following:\n\n* NotEligible - the individual does not currently meet eligibility criteria\n* NotActionable - the individual is eligible but does not need to take any further action at this time\n* Actionable - the individual is eligible and should follow one of the recommended actions provided\n\n### Patients included in the Patient Eligibility Signposting API\nThe API will return data for all patients who are in the NHS PDS system that are registered with an English GP practice (or one administered by England) or who we believe to be resident in England.\n\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n\n## Who can use this API\nThis API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-signposting/legal-basis) to do so. Make sure you have a valid use case before you go too far with your development. You must demonstrate you have a [valid use case](https://digital.nhs.uk/services/eligibility-signposting/legal-basis) as part of digital onboarding.\n\nYou must do this before you can go live (see 'Onboarding' below).\n\n### Who can access Eligibility Signposting Information\nPatients who receive health and social care or make use of NHS services in England, Wales and the Isle of Man can access their own Eligibility Signposting data through onboarded services.\n\nHealth and care organisations in England and the Isle of Man can access our information for legitimate direct care purposes. Legitimate direct care examples include NHS organisations delivering healthcare, local authorities delivering care, third sector and private sector health and care organisations, and developers delivering systems to health and care organisations.\n\n\n### Existing API users\nTo find out which healthcare software development organisations and products are already using this API, see [Patient Eligibility Signposting API - integrated products](https://digital.nhs.uk/services/eligibility-signposting/integrated-products).\n\n## Access modes\nThis API currently has only one access mode:\n* patient access (user-restricted)\n\nWe are considering the possibility of adding other modes in the future:\n* healthcare worker access\n* application restricted access\n\n### Patient access\nIf the end user is a patient then you must use this access mode. Use this access mode to obtain data for that patient.\n\nThis access mode is [user-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#user-restricted-apis), meaning an end user must be present, authenticated and authorised.\n\nThe end user must be:\n* a patient who receives health and social care or makes use of NHS services\n* strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)\n\nTo use this access mode, you must currently use the following security pattern:\n\n|\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------| ------------------------------------------------------------|---------------------------------------------------------|\n|[NHS login - separate authentication and authorisation](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/user-restricted-restful-apis-nhs-login-separate-authentication-and-authorisation) |OAuth 2.0 token exchange with signed JWT |Gives access to user information. |Need to integrate and onboard separately with NHS login. |\n\nPatient access mode users must be authenticated to a high proofing level (P9) and to one of the following [vectors of trust](https://nhsconnect.github.io/nhslogin/vectors-of-trust/):\n* P9.Cp.Cd\n* P9.Cp.Ck\n* P9.Cm\n\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n\n### Restricted access\nThis access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\n\nThis access mode is [application-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis), meaning we authenticate and authorise the calling application but not the end user.\n\nThis access mode is not designed to be accessed by an end user. You might use this access mode as part of a back-end process to:\n* retrieve eligibility signposting information into a system in advance of a clinic\n* retrieve eligibility signposting information into a system to be used in a disconnected manner\n\nTo use this access mode, use this security pattern:\n* [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)\n\n## Roadmap\nThe [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-signposting/roadmap-and-strategy) roadmap shows the planned changes for the API.\n\nTo see our roadmap, or to suggest, comment or vote on features for this API, see our [interactive product backlog](https://nhs-digital-api-management.featureupvote.com/suggestions/612352/eligibility-signposting-api-vaccinations).\n\nIf you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\n\n## Service level\nThis API is a silver service, meaning it is operational 24 hours a day, 365 days a year and supported 8am to 6pm, Monday to Friday excluding bank holidays.\n\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n\n## Rate limits\nThe default rate limit is 25TPS (Transactions Per Second), per app. If you require a higher rate limit please [contact us](https://digital.nhs.uk/developer/help-and-support). or raise this during the onboarding process.\n\n## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\n\nThe error messages returned by this API conform to the FHIR global standard for health care data exchange, specifically to FHIR R4 (v4.0.1). This is to aid consumers that integrate to FHIR based APIS and are in any case not overly complex.\n\nThere are [libraries and SDKs](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) available to help with FHIR API integration.\n\n## Network access\nThis API is available on the internet and, indirectly, on the [Health and Social Care Network (HSCN)](https://digital.nhs.uk/services/health-and-social-care-network).\n\nFor more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n\n## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action\n* 400 to 499 if it failed because of a client error by your application\n* 500 to 599 if it failed because of an error on our server\n\nErrors specific to each API are shown in the Endpoints section, under Response. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#http-status-codes) for more on errors.\n\nYour API-calling application should have a mechanism to automatically try again, for example by giving status information to your end user, before giving up. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#error-handling) for more information about error handling.\n\n## Open source\nYou might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n\n| Resource | Description | Links |\n|---------------------------|----------------------------------------------------------------------|--------------------------------------------------------------------------------|\n| Patient Eligibility Signposting API| Source code including API proxy, sandbox and specification and code. | [GitHub repo](https://github.com/NHSDigital/eligibility-signposting-api) |\n\nWe currently don't have any open source client libraries or sample code for this API. If you think this would be useful, you can [upvote the suggestion on our Interactive Product Backlog](https://nhs-digital-api-management.featureupvote.com/suggestions/107439/client-libraries-and-reference-implementations).\n\n\n\n## Environments and testing\n| Environment | Base URL |\n| ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` |\n| Integration test | `https://int.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` |\n| Production | `https://api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` |\n\n### Sandbox testing\nOur [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#sandbox-testing):\n* is for early developer testing\n* only covers a limited set of scenarios\n* is open access, so does not allow you to test authorisation\n\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\n\nAlternatively, you can try out the sandbox using our Postman collection:\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\n\n### Integration testing\nOur [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* is for formal integration testing\n* includes authorisation, with options for user-restricted access (NHS Login)\n\n### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\n\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\n\n## Onboarding\nYou need to get your software approved by us before it can go live with this API. We call this onboarding. The onboarding process can sometimes be quite long, so it is worth planning well ahead.\n\nAs part of this process, you need to demonstrate your technical conformance to the requirements for this API.\n\nYou also need to demonstrate that you can manage risks. This might impact the design of your software. For details, see [Onboarding support information](https://digital.nhs.uk/services/eligibility-signposting/onboarding-support-information).\n\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n\n\n## Related APIs\nThe following APIs are related to this API:\n" contact: url: https://developer.nhs.uk/apis/eligibility-signposting-api termsOfService: https://developer.nhs.uk/apis/eligibility-signposting-api @@ -220,7 +220,7 @@ paths: processedSuggestions: - condition: "RSV" status: "Actionable" - statusText: "Actionable - Individual is eligible and we suggest that they follow one or more of the provided actions" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -246,7 +246,7 @@ paths: processedSuggestions: - condition: "RSV" status: "Actionable" - statusText: "You are eligible and we recommend you take one of the suggested actions" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -264,7 +264,7 @@ paths: processedSuggestions: - condition: "RSV" status: "Actionable" - statusText: "You are eligible and we recommend you take one of the suggested actions" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_catchup" cohortText: "You turned 80 between 2nd September 2024 and 31st August 2025" @@ -282,7 +282,7 @@ paths: processedSuggestions: - condition: "RSV" status: "Actionable" - statusText: "Actionable - Individual is eligible and we suggest that they follow one or more of the provided actions" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -300,7 +300,7 @@ paths: actionCode: "ContactGP" description: "Contact your GP surgery to get vaccinated" example_50000000005: - summary: RSV - Actionable due to membership of an Age Cohort including suggested actions (not booking) + summary: RSV - Actionable due to membership of an Age Cohort including suggested actions (with local booking) value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -308,7 +308,7 @@ paths: processedSuggestions: - condition: "RSV" status: "Actionable" - statusText: "Actionable - Individual is eligible and we suggest that they follow one or more of the provided actions" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -329,7 +329,7 @@ paths: processedSuggestions: - condition: "RSV" status: "NotActionable" - statusText: "You are eligible, however no further action needs to be taken at this time" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -347,7 +347,7 @@ paths: processedSuggestions: - condition: "RSV" status: "NotActionable" - statusText: "You are eligible, however no further action needs to be taken at this time" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -372,7 +372,7 @@ paths: processedSuggestions: - condition: "RSV" status: "NotActionable" - statusText: "You are eligible, however no further action needs to be taken at this time" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -390,7 +390,7 @@ paths: processedSuggestions: - condition: "RSV" status: "NotActionable" - statusText: "You are eligible, however no further action needs to be taken at this time" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -408,7 +408,7 @@ paths: processedSuggestions: - condition: "RSV" status: "NotActionable" - statusText: "You are eligible, however no further action needs to be taken at this time" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." @@ -426,7 +426,7 @@ paths: processedSuggestions: - condition: "RSV" status: "NotActionable" - statusText: "You are eligible, however no further action needs to be taken at this time" + statusText: "You should have the RSV vaccine" eligibilityCohorts: - cohortCode: "unknown_cohort_membership" cohortText: "Our records do not say why you are eligible" @@ -444,14 +444,14 @@ paths: processedSuggestions: - condition: "RSV" status: "NotActionable" - statusText: "You are eligible, however no further action needs to be taken at this time" + statusText: "You should have the RSV vaccine" eligibilityCohorts: [] suitabilityRules: - ruleType: "S" ruleCode: "AlreadyVaccinated" ruleText: "You are already vaccinated. Our records suggest you were vaccinated on 13/05/2025" example_50000000014: - summary: RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 2 includes no cohorts) + summary: RSV - Not Eligible value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -459,7 +459,7 @@ paths: processedSuggestions: - condition: "RSV" status: "NotEligible" - statusText: "Our records suggest that you are not eligible for a vaccination" + statusText: "We do not believe you should have this vaccine" eligibilityCohorts: - cohortCode: "rsv_age_rolling" cohortText: "You are not aged 75 to 79 years old." diff --git a/specification/postman/collection.json b/specification/postman/collection.json index e5800e6..8976e19 100644 --- a/specification/postman/collection.json +++ b/specification/postman/collection.json @@ -1,10 +1,10 @@ { "_": { - "postman_id": "6061721a-2df1-4122-a216-167d8c23e860" + "postman_id": "c627464e-3e3d-4050-85e9-fef67f0cc98e" }, "item": [ { - "id": "57d89603-4c62-421b-bbcf-2cf370405534", + "id": "5c82c3f6-f259-4425-9d42-4659815c3555", "name": "Eligibility", "description": { "content": "", @@ -14,7 +14,7 @@ "event": [] }, { - "id": "a0956cd1-3ab4-4f62-9be8-65a4851a1606", + "id": "00f31028-e529-45ad-bc0d-1ff26948a38d", "name": "Signposting", "description": { "content": "", @@ -24,7 +24,7 @@ "event": [] }, { - "id": "b9368a68-ff14-425c-93b5-38dc5cff47ca", + "id": "51e77d9e-f2d3-45e2-b166-e496f36de636", "name": "NextActions", "description": { "content": "", @@ -34,7 +34,7 @@ "event": [] }, { - "id": "de24cd55-95a2-41e6-b39b-34b6d651588f", + "id": "3b9c5f4e-4583-43de-9319-6efb2eb8fb00", "name": "Check Eligibility", "request": { "name": "Check Eligibility", @@ -153,7 +153,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "6b8f2bf1-933c-449c-b7fa-98ff646e4fb0", + "id": "da1104a7-609d-4e46-bef1-e2e948fb6709", "name": "RSV - Actionable due to membership of an Age Cohort including suggested actions (with booking)", "originalRequest": { "url": { @@ -247,14 +247,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"Actionable - Individual is eligible and we suggest that they follow one or more of the provided actions\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"AuthLink\",\n \"actionCode\": \"BookNBS\",\n \"description\": \"Book or Amend an RSV vaccinations appointment at a pharmacy\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\"\n },\n {\n \"actionType\": \"Link\",\n \"actionCode\": \"FindWalkin\",\n \"description\": \"Find a walk-in service for RSV vaccinations\",\n \"urlLink\": \"www.england.nhs.uk/rsv-east\"\n },\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"AuthLink\",\n \"actionCode\": \"BookNBS\",\n \"description\": \"Book or Amend an RSV vaccinations appointment at a pharmacy\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\"\n },\n {\n \"actionType\": \"Link\",\n \"actionCode\": \"FindWalkin\",\n \"description\": \"Find a walk-in service for RSV vaccinations\",\n \"urlLink\": \"www.england.nhs.uk/rsv-east\"\n },\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "67c0a5f4-5fe1-4f1e-98d9-4d99dc92b7ba", + "id": "2e39c109-0ab9-4dd0-a888-2f843bcdfd53", "name": "RSV - Actionable due to membership of an Age Cohort including suggested action (not booking)", "originalRequest": { "url": { @@ -348,14 +348,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"You are eligible and we recommend you take one of the suggested actions\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "693148c9-c2ac-48be-8238-64a2bc32d095", + "id": "22c154ea-60aa-47ae-b844-db668a79e603", "name": "RSV - Actionable due to membership of an alternative Age Cohort including suggested action (not booking)", "originalRequest": { "url": { @@ -449,14 +449,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"You are eligible and we recommend you take one of the suggested actions\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_catchup\",\n \"cohortText\": \"You turned 80 between 2nd September 2024 and 31st August 2025\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_catchup\",\n \"cohortText\": \"You turned 80 between 2nd September 2024 and 31st August 2025\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "8b67a86e-cb70-4038-9aa2-01179ca877b7", + "id": "ef73fd50-a9a2-48c2-a7a9-89f436862944", "name": "RSV - Actionable due to membership of an Age Cohort including suggested action (existing national booking)", "originalRequest": { "url": { @@ -550,15 +550,15 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"Actionable - Individual is eligible and we suggest that they follow one or more of the provided actions\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"AuthLink\",\n \"actionCode\": \"AmendNBS\",\n \"description\": \"Check or Amend your vaccination appointment at a pharmacy\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\"\n },\n {\n \"actionType\": \"Link\",\n \"actionCode\": \"FindWalkin\",\n \"description\": \"Find a walk-in service for RSV vaccinations\",\n \"urlLink\": \"www.england.nhs.uk/rsv-east\"\n },\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"AuthLink\",\n \"actionCode\": \"AmendNBS\",\n \"description\": \"Check or Amend your vaccination appointment at a pharmacy\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\"\n },\n {\n \"actionType\": \"Link\",\n \"actionCode\": \"FindWalkin\",\n \"description\": \"Find a walk-in service for RSV vaccinations\",\n \"urlLink\": \"www.england.nhs.uk/rsv-east\"\n },\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "e18f9c43-b458-4795-96d4-59dfcb395d24", - "name": "RSV - Actionable due to membership of an Age Cohort including suggested actions (not booking)", + "id": "49b4a9cb-6a37-4710-9b0a-a9757c907197", + "name": "RSV - Actionable due to membership of an Age Cohort including suggested actions (with local booking)", "originalRequest": { "url": { "path": [ @@ -651,14 +651,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"Actionable - Individual is eligible and we suggest that they follow one or more of the provided actions\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactProvider\",\n \"description\": \"Check or Amend your vaccination appointment by contacting your provider\"\n },\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"Actionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"Actionable\"\n }\n ],\n \"actions\": [\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactProvider\",\n \"description\": \"Check or Amend your vaccination appointment by contacting your provider\"\n },\n {\n \"actionType\": \"InfoText\",\n \"actionCode\": \"ContactGP\",\n \"description\": \"Contact your GP surgery to get vaccinated\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "145c34e5-bf6b-4120-9f71-16e40f7748be", + "id": "7d15aa4c-410b-4549-8073-ed45a0765aeb", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of already vaccinated", "originalRequest": { "url": { @@ -752,14 +752,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You are eligible, however no further action needs to be taken at this time\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"AlreadyVaccinated\",\n \"ruleText\": \"You are already vaccinated. Our records suggest you were vaccinated on 21/03/2025\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"AlreadyVaccinated\",\n \"ruleText\": \"You are already vaccinated. Our records suggest you were vaccinated on 21/03/2025\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "54bb9abb-34ab-4e43-b112-36d212dac538", + "id": "4262d3a6-1874-4aa6-947f-685ec6c5e785", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of no available vaccinations (not available type 1)", "originalRequest": { "url": { @@ -853,14 +853,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You are eligible, however no further action needs to be taken at this time\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"NotAvailable\",\n \"ruleText\": \"Vaccinations are not currently available\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"NotAvailable\",\n \"ruleText\": \"Vaccinations are not currently available\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "face1879-238c-407e-a26d-a9cae501debb", + "id": "a37b5bed-9fae-436c-bc5c-89344e87f81e", "name": "RSV - No RSV response as no active campaign (not available type 2)", "originalRequest": { "url": { @@ -961,7 +961,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "ad604fa3-22bf-49bd-a3c1-0bf3de1a3718", + "id": "ff5482ff-1bc2-4452-9b71-d70fa8d98cdf", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of dose not yet due", "originalRequest": { "url": { @@ -1055,14 +1055,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You are eligible, however no further action needs to be taken at this time\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"NotYetDue\",\n \"ruleText\": \"Your next dose is not yet due.\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"NotYetDue\",\n \"ruleText\": \"Your next dose is not yet due.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "f544bd93-4a89-4596-a443-b1d2c7c77f27", + "id": "b5ca9cc4-a4f5-4556-8a41-b5b6c3f9021c", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of dose not far enough apart", "originalRequest": { "url": { @@ -1156,14 +1156,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You are eligible, however no further action needs to be taken at this time\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"TooClose\",\n \"ruleText\": \"Your previous vaccination was less than 91 days ago.\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"TooClose\",\n \"ruleText\": \"Your previous vaccination was less than 91 days ago.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "ac16989a-d551-4814-a6c9-57db33b9735c", + "id": "496200b4-6fef-43df-975c-a508da845fbb", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of vaccination given in current setting (e.g. care home)", "originalRequest": { "url": { @@ -1257,14 +1257,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You are eligible, however no further action needs to be taken at this time\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"OtherSetting\",\n \"ruleText\": \"You are in a setting or organisation that will arrange your vaccination for you. For example a care home or other government setting.\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"OtherSetting\",\n \"ruleText\": \"You are in a setting or organisation that will arrange your vaccination for you. For example a care home or other government setting.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "0fa7f2f6-ca86-4074-b9f3-07eee929308e", + "id": "1c816fb5-b04b-4b90-8621-36d6777b08e7", "name": "RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 1 includes unknown cohort)", "originalRequest": { "url": { @@ -1358,14 +1358,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You are eligible, however no further action needs to be taken at this time\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"unknown_cohort_membership\",\n \"cohortText\": \"Our records do not say why you are eligible\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"AlreadyVaccinated\",\n \"ruleText\": \"You are already vaccinated. Our records suggest you were vaccinated on 13/05/2025\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"unknown_cohort_membership\",\n \"cohortText\": \"Our records do not say why you are eligible\",\n \"cohortStatus\": \"NotActionable\"\n }\n ],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"AlreadyVaccinated\",\n \"ruleText\": \"You are already vaccinated. Our records suggest you were vaccinated on 13/05/2025\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "6b1fafa1-7bc7-4974-8166-3cc6bbf192a3", + "id": "42305fff-0586-45a0-90e0-9c7022985d6e", "name": "RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 2 includes no cohorts)", "originalRequest": { "url": { @@ -1459,15 +1459,15 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You are eligible, however no further action needs to be taken at this time\",\n \"eligibilityCohorts\": [],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"AlreadyVaccinated\",\n \"ruleText\": \"You are already vaccinated. Our records suggest you were vaccinated on 13/05/2025\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotActionable\",\n \"statusText\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"AlreadyVaccinated\",\n \"ruleText\": \"You are already vaccinated. Our records suggest you were vaccinated on 13/05/2025\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "dcde4d66-7d48-4467-9bdb-ba75ab84da77", - "name": "RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 2 includes no cohorts)", + "id": "04a8f805-6f5b-418c-8a40-7c1bda62a935", + "name": "RSV - Not Eligible", "originalRequest": { "url": { "path": [ @@ -1560,14 +1560,14 @@ "value": "application/json" } ], - "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotEligible\",\n \"statusText\": \"Our records suggest that you are not eligible for a vaccination\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are not aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotEligible\"\n },\n {\n \"cohortCode\": \"rsv_age_catchup\",\n \"cohortText\": \"You did not turn 80 between 2nd September 2024 and 31st August 2025\",\n \"cohortStatus\": \"NotEligible\"\n }\n ]\n }\n ]\n}", + "body": "{\n \"responseId\": \"1a233ba5-e1eb-4080-a086-2962f6fc3473\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"processedSuggestions\": [\n {\n \"condition\": \"RSV\",\n \"status\": \"NotEligible\",\n \"statusText\": \"We do not believe you should have this vaccine\",\n \"eligibilityCohorts\": [\n {\n \"cohortCode\": \"rsv_age_rolling\",\n \"cohortText\": \"You are not aged 75 to 79 years old.\",\n \"cohortStatus\": \"NotEligible\"\n },\n {\n \"cohortCode\": \"rsv_age_catchup\",\n \"cohortText\": \"You did not turn 80 between 2nd September 2024 and 31st August 2025\",\n \"cohortStatus\": \"NotEligible\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "7202d6c3-cdd2-402e-a666-de2f6718bb72", + "id": "571659fb-ec80-40ca-b225-be1c884ba81c", "name": "Invalid input data.", "originalRequest": { "url": { @@ -1668,7 +1668,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "0bfb5521-db22-46d4-a827-8c2cabef4cd3", + "id": "3a70a67e-109a-4e5e-9c26-9443ae32d80b", "name": "Person not found.", "originalRequest": { "url": { @@ -1769,7 +1769,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "f416f4c2-2375-4e80-9e50-3f69fdcdd953", + "id": "bc672c3f-66c5-459d-8f1b-22da360406bd", "name": "Unrecognised input data. (Unprocessable Content)", "originalRequest": { "url": { @@ -1870,7 +1870,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "808f6e21-b447-47dd-9c2b-9579442e881c", + "id": "c3eb222d-877c-4385-a4ce-49d48c2c1651", "name": "Internal server error.", "originalRequest": { "url": { @@ -1972,7 +1972,7 @@ { "listen": "test", "script": { - "id": "feb4a2ea-a6f9-4ded-9a16-d69bbc7b03e2", + "id": "73d417d0-5df6-4687-8969-c0ab6f096024", "type": "text/javascript", "exec": [ "// Validate status 2xx \npm.test(\"[GET]::/patient-check/:id - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", @@ -1997,20 +1997,20 @@ } ], "info": { - "_postman_id": "6061721a-2df1-4122-a216-167d8c23e860", + "_postman_id": "c627464e-3e3d-4050-85e9-fef67f0cc98e", "name": "Patient Eligibility Signposting API", "version": { - "raw": "1.0.11-alpha", + "raw": "1.0.12-alpha", "major": 1, "minor": 0, - "patch": 11, + "patch": 12, "prerelease": "alpha", "build": [], - "string": "1.0.11-alpha" + "string": "1.0.12-alpha" }, "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": { - "content": "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-signposting) - the nationally curated single source of eligibility status and signposted actions for individuals. For example, you can request eligibility for one or more vaccination types to understand if NHS England holds information which suggest that the person could or should take further steps toward receiving those vaccinations, and optionally, a list of the steps NHS England would recommend.\n\nWhere someone is deemed eligible, they will also be classified as actionable or not actionable. When deemed not actionable, one or more reasons will be returned. These reasons can range from personal care setting impacts to current lack of availability of vaccines and more.\n\nThe API returns most of its data in both code and text form. Unless agreed in writing with NHS England, where text is provided it should be displayed to the user as-is.\n\nUse this API to request:\n* eligibility for all supported categories and conditions\n* eligibility for specified supported categories and/or conditions\n* request that actions be included in the response\n* request that actions not be included in the response\n\nYou cannot currently use this API to:\n* request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\n\nThis API is read-only and can return a list of processed suggestions, each relating to a 'condition' (e.g. COVID, RSV, BOWEL, EYE, BREAST etc.), including the following information for each:\n* a code representing the condition (COVID, RSV, BOWEL, EYE, BREAST)\n* an overall status (NotEligible, NotActionable, Actionable)\n* a list of eligibility cohort groups to which the person belongs (when eligible)\n* a list of the cohort groups that could have made the person eligible (when not eligible)\n* a list of rules/reasons that deem a person to be NotActionable\n* a list of actions that should be shown to the consumer\n\n#### Definitions of overall status\nThe overall status values indicate the following:\n\n* NotEligible - the individual does not currently meet eligibility criteria\n* NotActionable - the individual is eligible but does not need to take any further action at this time\n* Actionable - the individual is eligible and should follow one of the recommended actions provided\n\n### Patients included in the Patient Eligibility Signposting API\nThe API will return data for all patients who are in the NHS PDS system that are registered with an English GP practice (or one administered by England) or who we believe to be resident in England.\n\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n\n## Who can use this API\nThis API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-signposting/legal-basis) to do so. Make sure you have a valid use case before you go too far with your development. You must demonstrate you have a [valid use case](https://digital.nhs.uk/services/eligibility-signposting/legal-basis) as part of digital onboarding.\n\nYou must do this before you can go live (see 'Onboarding' below).\n\n### Who can access Eligibility Signposting Information\nPatients who receive health and social care or make use of NHS services in England, Wales and the Isle of Man can access their own Eligibility Signposting data through onboarded services.\n\nHealth and care organisations in England and the Isle of Man can access our information for legitimate direct care purposes. Legitimate direct care examples include NHS organisations delivering healthcare, local authorities delivering care, third sector and private sector health and care organisations, and developers delivering systems to health and care organisations.\n\n\n### Existing API users\nTo find out which healthcare software development organisations and products are already using this API, see [Patient Eligibility Signposting API - integrated products](https://digital.nhs.uk/services/eligibility-signposting/integrated-products).\n\n## Access modes\nThis API currently has only one access mode:\n* patient access (user-restricted)\n\nWe are considering the possibility of adding other modes in the future:\n* healthcare worker access\n* application restricted access\n\n### Patient access\nIf the end user is a patient then you must use this access mode. Use this access mode to obtain data for that patient.\n\nThis access mode is [user-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#user-restricted-apis), meaning an end user must be present, authenticated and authorised.\n\nThe end user must be:\n* a patient who receives health and social care or makes use of NHS services\n* strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)\n\nTo use this access mode, you must currently use the following security pattern:\n\n|\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------| ------------------------------------------------------------|---------------------------------------------------------|\n|[NHS login - separate authentication and authorisation](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/user-restricted-restful-apis-nhs-login-separate-authentication-and-authorisation) |OAuth 2.0 token exchange with signed JWT |Gives access to user information. |Need to integrate and onboard separately with NHS login. |\n\nPatient access mode users must be authenticated to a high proofing level (P9) and to one of the following [vectors of trust](https://nhsconnect.github.io/nhslogin/vectors-of-trust/):\n* P9.Cp.Cd\n* P9.Cp.Ck\n* P9.Cm\n\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n\n### Restricted access\nThis access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\n\nThis access mode is [application-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis), meaning we authenticate and authorise the calling application but not the end user.\n\nThis access mode is not designed to be accessed by an end user. You might use this access mode as part of a back-end process to:\n* retrieve eligibility signposting information into a system in advance of a clinic\n* retrieve eligibility signposting information into a system to be used in a disconnected manner\n\nTo use this access mode, use this security pattern:\n* [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)\n\n## Roadmap\nThe [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-signposting/roadmap-and-strategy) roadmap shows the planned changes for the API.\n\nTo see our roadmap, or to suggest, comment or vote on features for this API, see our [interactive product backlog](https://nhs-digital-api-management.featureupvote.com/suggestions/612352/eligibility-signposting-api-vaccinations).\n\nIf you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\n\n## Service level\nThis API is a silver service, meaning it is operational 24 hours a day, 365 days a year and supported 8am to 6pm, Monday to Friday excluding bank holidays.\n\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n\n## Rate limits\nThe default rate limit is 25TPS (Transactions Per Second), per app. If you require a higher rate limit please [contact us](https://digital.nhs.uk/developer/help-and-support). or raise this during the onboarding process.\n\n## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\n\nThe error messages returned by this API conform to the FHIR global standard for health care data exchange, specifically to FHIR R4 (v4.0.1). This is to aid consumers that integrate to FHIR based APIS and are in any case not overly complex.\n\nThere are [libraries and SDKs](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) available to help with FHIR API integration.\n\n## Network access\nThis API is available on the internet and, indirectly, on the [Health and Social Care Network (HSCN)](https://digital.nhs.uk/services/health-and-social-care-network).\n\nFor more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n\n## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action\n* 400 to 499 if it failed because of a client error by your application\n* 500 to 599 if it failed because of an error on our server\n\nErrors specific to each API are shown in the Endpoints section, under Response. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#http-status-codes) for more on errors.\n\nYour API-calling application should have a mechanism to automatically try again, for example by giving status information to your end user, before giving up. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#error-handling) for more information about error handling.\n\n## Open source\nYou might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n\n| Resource | Description | Links |\n|---------------------------|----------------------------------------------------------------------|--------------------------------------------------------------------------------|\n| Patient Eligibility Signposting API| Source code including API proxy, sandbox and specification and code. | [GitHub repo](https://github.com/NHSDigital/eligibility-signposting-api) |\n\nWe currently don't have any open source client libraries or sample code for this API. If you think this would be useful, you can [upvote the suggestion on our Interactive Product Backlog](https://nhs-digital-api-management.featureupvote.com/suggestions/107439/client-libraries-and-reference-implementations).\n\n\n\n## Environments and testing\n| Environment | Base URL |\n| ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting/patient-check/{id}` |\n| Integration test | `https://int.api.service.nhs.uk/eligibility-signposting/patient-check/{id}` |\n| Production | `https://api.service.nhs.uk/eligibility-signposting/patient-check/{id}` |\n\n### Sandbox testing\nOur [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#sandbox-testing):\n* is for early developer testing\n* only covers a limited set of scenarios\n* is open access, so does not allow you to test authorisation\n\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\n\nAlternatively, you can try out the sandbox using our Postman collection:\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\n\n### Integration testing\nOur [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* is for formal integration testing\n* includes authorisation, with options for user-restricted access (NHS Login)\n\n### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\n\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\n\n## Onboarding\nYou need to get your software approved by us before it can go live with this API. We call this onboarding. The onboarding process can sometimes be quite long, so it is worth planning well ahead.\n\nAs part of this process, you need to demonstrate your technical conformance to the requirements for this API.\n\nYou also need to demonstrate that you can manage risks. This might impact the design of your software. For details, see [Onboarding support information](https://digital.nhs.uk/services/eligibility-signposting/onboarding-support-information).\n\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n\n\n## Related APIs\nThe following APIs are related to this API:\n", + "content": "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-signposting) - the nationally curated single source of eligibility status and signposted actions for individuals. For example, you can request eligibility for one or more vaccination types to understand if NHS England holds information which suggest that the person could or should take further steps toward receiving those vaccinations, and optionally, a list of the steps NHS England would recommend.\n\nWhere someone is deemed eligible, they will also be classified as actionable or not actionable. When deemed not actionable, one or more reasons will be returned. These reasons can range from personal care setting impacts to current lack of availability of vaccines and more.\n\nThe API returns most of its data in both code and text form. Unless agreed in writing with NHS England, where text is provided it should be displayed to the user as-is.\n\nUse this API to request:\n* eligibility for all supported categories and conditions\n* eligibility for specified supported categories and/or conditions\n* request that actions be included in the response\n* request that actions not be included in the response\n\nYou cannot currently use this API to:\n* request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\n\nThis API is read-only and can return a list of processed suggestions, each relating to a 'condition' (e.g. COVID, RSV, BOWEL, EYE, BREAST etc.), including the following information for each:\n* a code representing the condition (COVID, RSV, BOWEL, EYE, BREAST)\n* an overall status (NotEligible, NotActionable, Actionable)\n* a list of eligibility cohort groups to which the person belongs (when eligible)\n* a list of the cohort groups that could have made the person eligible (when not eligible)\n* a list of rules/reasons that deem a person to be NotActionable\n* a list of actions that should be shown to the consumer\n\n#### Definitions of overall status\nThe overall status values indicate the following:\n\n* NotEligible - the individual does not currently meet eligibility criteria\n* NotActionable - the individual is eligible but does not need to take any further action at this time\n* Actionable - the individual is eligible and should follow one of the recommended actions provided\n\n### Patients included in the Patient Eligibility Signposting API\nThe API will return data for all patients who are in the NHS PDS system that are registered with an English GP practice (or one administered by England) or who we believe to be resident in England.\n\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n\n## Who can use this API\nThis API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-signposting/legal-basis) to do so. Make sure you have a valid use case before you go too far with your development. You must demonstrate you have a [valid use case](https://digital.nhs.uk/services/eligibility-signposting/legal-basis) as part of digital onboarding.\n\nYou must do this before you can go live (see 'Onboarding' below).\n\n### Who can access Eligibility Signposting Information\nPatients who receive health and social care or make use of NHS services in England, Wales and the Isle of Man can access their own Eligibility Signposting data through onboarded services.\n\nHealth and care organisations in England and the Isle of Man can access our information for legitimate direct care purposes. Legitimate direct care examples include NHS organisations delivering healthcare, local authorities delivering care, third sector and private sector health and care organisations, and developers delivering systems to health and care organisations.\n\n\n### Existing API users\nTo find out which healthcare software development organisations and products are already using this API, see [Patient Eligibility Signposting API - integrated products](https://digital.nhs.uk/services/eligibility-signposting/integrated-products).\n\n## Access modes\nThis API currently has only one access mode:\n* patient access (user-restricted)\n\nWe are considering the possibility of adding other modes in the future:\n* healthcare worker access\n* application restricted access\n\n### Patient access\nIf the end user is a patient then you must use this access mode. Use this access mode to obtain data for that patient.\n\nThis access mode is [user-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#user-restricted-apis), meaning an end user must be present, authenticated and authorised.\n\nThe end user must be:\n* a patient who receives health and social care or makes use of NHS services\n* strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)\n\nTo use this access mode, you must currently use the following security pattern:\n\n|\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------| ------------------------------------------------------------|---------------------------------------------------------|\n|[NHS login - separate authentication and authorisation](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/user-restricted-restful-apis-nhs-login-separate-authentication-and-authorisation) |OAuth 2.0 token exchange with signed JWT |Gives access to user information. |Need to integrate and onboard separately with NHS login. |\n\nPatient access mode users must be authenticated to a high proofing level (P9) and to one of the following [vectors of trust](https://nhsconnect.github.io/nhslogin/vectors-of-trust/):\n* P9.Cp.Cd\n* P9.Cp.Ck\n* P9.Cm\n\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n\n### Restricted access\nThis access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\n\nThis access mode is [application-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis), meaning we authenticate and authorise the calling application but not the end user.\n\nThis access mode is not designed to be accessed by an end user. You might use this access mode as part of a back-end process to:\n* retrieve eligibility signposting information into a system in advance of a clinic\n* retrieve eligibility signposting information into a system to be used in a disconnected manner\n\nTo use this access mode, use this security pattern:\n* [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)\n\n## Roadmap\nThe [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-signposting/roadmap-and-strategy) roadmap shows the planned changes for the API.\n\nTo see our roadmap, or to suggest, comment or vote on features for this API, see our [interactive product backlog](https://nhs-digital-api-management.featureupvote.com/suggestions/612352/eligibility-signposting-api-vaccinations).\n\nIf you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\n\n## Service level\nThis API is a silver service, meaning it is operational 24 hours a day, 365 days a year and supported 8am to 6pm, Monday to Friday excluding bank holidays.\n\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n\n## Rate limits\nThe default rate limit is 25TPS (Transactions Per Second), per app. If you require a higher rate limit please [contact us](https://digital.nhs.uk/developer/help-and-support). or raise this during the onboarding process.\n\n## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\n\nThe error messages returned by this API conform to the FHIR global standard for health care data exchange, specifically to FHIR R4 (v4.0.1). This is to aid consumers that integrate to FHIR based APIS and are in any case not overly complex.\n\nThere are [libraries and SDKs](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) available to help with FHIR API integration.\n\n## Network access\nThis API is available on the internet and, indirectly, on the [Health and Social Care Network (HSCN)](https://digital.nhs.uk/services/health-and-social-care-network).\n\nFor more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n\n## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action\n* 400 to 499 if it failed because of a client error by your application\n* 500 to 599 if it failed because of an error on our server\n\nErrors specific to each API are shown in the Endpoints section, under Response. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#http-status-codes) for more on errors.\n\nYour API-calling application should have a mechanism to automatically try again, for example by giving status information to your end user, before giving up. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#error-handling) for more information about error handling.\n\n## Open source\nYou might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n\n| Resource | Description | Links |\n|---------------------------|----------------------------------------------------------------------|--------------------------------------------------------------------------------|\n| Patient Eligibility Signposting API| Source code including API proxy, sandbox and specification and code. | [GitHub repo](https://github.com/NHSDigital/eligibility-signposting-api) |\n\nWe currently don't have any open source client libraries or sample code for this API. If you think this would be useful, you can [upvote the suggestion on our Interactive Product Backlog](https://nhs-digital-api-management.featureupvote.com/suggestions/107439/client-libraries-and-reference-implementations).\n\n\n\n## Environments and testing\n| Environment | Base URL |\n| ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` |\n| Integration test | `https://int.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` |\n| Production | `https://api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` |\n\n### Sandbox testing\nOur [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#sandbox-testing):\n* is for early developer testing\n* only covers a limited set of scenarios\n* is open access, so does not allow you to test authorisation\n\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\n\nAlternatively, you can try out the sandbox using our Postman collection:\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\n\n### Integration testing\nOur [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* is for formal integration testing\n* includes authorisation, with options for user-restricted access (NHS Login)\n\n### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\n\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\n\n## Onboarding\nYou need to get your software approved by us before it can go live with this API. We call this onboarding. The onboarding process can sometimes be quite long, so it is worth planning well ahead.\n\nAs part of this process, you need to demonstrate your technical conformance to the requirements for this API.\n\nYou also need to demonstrate that you can manage risks. This might impact the design of your software. For details, see [Onboarding support information](https://digital.nhs.uk/services/eligibility-signposting/onboarding-support-information).\n\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n\n\n## Related APIs\nThe following APIs are related to this API:\n", "type": "text/plain" } }