From 9d25287197ac9321a39fd22eff29c91cc4a46418 Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Mon, 9 Jun 2025 12:07:10 +0100 Subject: [PATCH 1/9] Update eligibility-signposting-api.yaml --- specification/eligibility-signposting-api.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/eligibility-signposting-api.yaml b/specification/eligibility-signposting-api.yaml index e861102..bb01e5c 100644 --- a/specification/eligibility-signposting-api.yaml +++ b/specification/eligibility-signposting-api.yaml @@ -513,7 +513,7 @@ paths: example: VALIDATION_ERROR display: type: string - example: The given conditions were not not in the expected format. + example: The given conditions were not in the expected format. diagnostics: type: string example: 'FLU&COVID should be a single or comma separated list of condition strings with no other punctuation or special characters' @@ -571,7 +571,7 @@ paths: example: The given NHS number was not found in our datasets. This could be because the number is incorrect or some other reason we cannot process that number. diagnostics: type: string - example: 'NHS Number 9000000404 was not recognised by the Eligibilty Signposting API' + example: 'NHS Number 9000000404 was not recognised by the Eligibility Signposting API' location: type: array items: From 7d97e78ae90dc02188f493e5c002318d7653d506 Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Mon, 16 Jun 2025 11:33:14 +0100 Subject: [PATCH 2/9] Update eligibility-signposting-api.yaml Adjusting examples including description Updates to some links in the OAS spec description --- .../eligibility-signposting-api.yaml | 95 ++++++++----------- 1 file changed, 37 insertions(+), 58 deletions(-) diff --git a/specification/eligibility-signposting-api.yaml b/specification/eligibility-signposting-api.yaml index bb01e5c..4c5194b 100644 --- a/specification/eligibility-signposting-api.yaml +++ b/specification/eligibility-signposting-api.yaml @@ -1,8 +1,8 @@ openapi: 3.0.3 info: title: Patient Eligibility Signposting API - 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" + version: 1.0.13-alpha + description: "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-data-product-elid) - 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.\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.\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.\nUse this API to request: * eligibility for all supported categories and conditions\n* eligibility for specified supported categories and/or conditions * request that actions be included in the response\n* request that actions not be included in the response\nYou cannot currently use this API to: * request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\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: * a code representing the condition (COVID, RSV, BOWEL, EYE, BREAST)\n* an overall status (NotEligible, NotActionable, Actionable) * 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) * 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#### Definitions of overall status The overall status values indicate the following:\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 * Actionable - the individual is eligible and should follow one of the recommended actions provided\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.\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n## Who can use this API This API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-data-product-elid#who-this-service-is-for) 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-data-product-elid#who-this-service-is-for) as part of digital onboarding.\n You must do this before you can go live (see 'Onboarding' below).\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.\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 ### 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-data-product-elid).\n## Access modes This API currently has only one access mode:\n* patient access (user-restricted)\nWe are considering the possibility of adding other modes in the future: * healthcare worker access\n* application restricted access\n### Patient access If the end user is a patient then you must use this access mode. Use this access mode to obtain data for that patient.\n This 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 The end user must be:\n* a patient who receives health and social care or makes use of NHS services * strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)\n To use this access mode, you must currently use the following security pattern:\n |\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\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 Patient 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 * P9.Cp.Ck\n* P9.Cm\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n### Restricted access This access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\n This 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 This 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 * retrieve eligibility signposting information into a system to be used in a disconnected manner\n To 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## Roadmap The [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-data-product-elid/eligibility-data-product-elid-roadmap) roadmap shows the planned changes for the API.\n To 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 If you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\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.\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n## Rate limits The 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 ## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\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.\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## Network access This 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 For more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n ## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action * 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\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.\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## Open source You might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n | Resource | Description | Links |\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 We 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 ## Environments and testing\n| Environment | Base URL | | ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` | | 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### Sandbox testing Our [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#sandbox-testing):\n* is for early developer testing * only covers a limited set of scenarios\n* is open access, so does not allow you to test authorisation\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\nAlternatively, you can try out the sandbox using our Postman collection:\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\n### Integration testing Our [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* is for formal integration testing * includes authorisation, with options for user-restricted access (NHS Login)\n ### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\n## Onboarding You 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 As part of this process, you need to demonstrate your technical conformance to the requirements for this API.\n You 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-data-product-elid#how-to-access-this-service).\n To understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n## Related APIs The 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 @@ -209,10 +209,11 @@ paths: description: A brief description of the step. urlLink: type: string - description: URL to invoke if action selected. + description: Label and URL to invoke if action selected (bar delimited). + example: "My Link Label|https://mylink.mydomain.tld" examples: example_50000000001: - summary: RSV - Actionable due to membership of an Age Cohort including suggested actions (with booking) + summary: RSV - Actionable due to membership of an Age Cohort including suggested national booking action (actions requested) value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -226,19 +227,12 @@ paths: cohortText: "You are aged 75 to 79 years old." cohortStatus: "Actionable" actions: - - actionType: "AuthLink" + - actionType: "ButtonAuthLink" actionCode: "BookNBS" - description: "Book or Amend an RSV vaccinations appointment at a pharmacy" - urlLink: "http://www.nhs.uk/book-rsv" - - actionType: "Link" - actionCode: "FindWalkin" - description: "Find a walk-in service for RSV vaccinations" - urlLink: "www.england.nhs.uk/rsv-east" - - actionType: "InfoText" - actionCode: "ContactGP" - description: "Contact your GP surgery to get vaccinated" + description: "" + urlLink: "Continue to booking|http://www.nhs.uk/book-rsv" example_50000000002: - summary: RSV - Actionable due to membership of an Age Cohort including suggested action (not booking) + summary: RSV - Actionable due to membership of an Age Cohort including suggested action (not national booking) value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -252,11 +246,11 @@ paths: cohortText: "You are aged 75 to 79 years old." cohortStatus: "Actionable" actions: - - actionType: "InfoText" - actionCode: "ContactGP" - description: "Contact your GP surgery to get vaccinated" + - actionType: "CareCardWithText" + actionCode: "BookLocal" + description: "##Getting the vaccine\nYou can get an RSV vaccination at your GP surgery.\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination." example_50000000003: - summary: RSV - Actionable due to membership of an alternative Age Cohort including suggested action (not booking) + summary: RSV - Actionable due to membership of an alternative Age Cohort including suggested action (not national booking) value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -270,11 +264,11 @@ paths: cohortText: "You turned 80 between 2nd September 2024 and 31st August 2025" cohortStatus: "Actionable" actions: - - actionType: "InfoText" - actionCode: "ContactGP" - description: "Contact your GP surgery to get vaccinated" + - actionType: "CareCardWithText" + actionCode: "BookLocal" + description: "##Getting the vaccine\nYou can get an RSV vaccination at your GP surgery.\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination." example_50000000004: - summary: RSV - Actionable due to membership of an Age Cohort including suggested action (existing national booking) + summary: RSV - Actionable due to membership of an Age Cohort including suggested action (future national booking) value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -283,24 +277,14 @@ paths: - condition: "RSV" status: "Actionable" statusText: "You should have the RSV vaccine" - eligibilityCohorts: - - cohortCode: "rsv_age_rolling" - cohortText: "You are aged 75 to 79 years old." - cohortStatus: "Actionable" + eligibilityCohorts: [] actions: - - actionType: "AuthLink" + - actionType: "CardWithAuthButton" actionCode: "AmendNBS" - description: "Check or Amend your vaccination appointment at a pharmacy" - urlLink: "http://www.nhs.uk/book-rsv" - - actionType: "Link" - actionCode: "FindWalkin" - description: "Find a walk-in service for RSV vaccinations" - urlLink: "www.england.nhs.uk/rsv-east" - - actionType: "InfoText" - actionCode: "ContactGP" - description: "Contact your GP surgery to get vaccinated" + description: "##You have an RSV vaccination appointment\nYou can view, change or cancel your appointment below." + urlLink: "Manage your appointment|http://www.nhs.uk/book-rsv" example_50000000005: - summary: RSV - Actionable due to membership of an Age Cohort including suggested actions (with local booking) + summary: RSV - Actionable due to membership of an Age Cohort including suggested actions (with future local booking) value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -309,19 +293,13 @@ paths: - condition: "RSV" status: "Actionable" statusText: "You should have the RSV vaccine" - eligibilityCohorts: - - cohortCode: "rsv_age_rolling" - cohortText: "You are aged 75 to 79 years old." - cohortStatus: "Actionable" + eligibilityCohorts: [] actions: - - actionType: "InfoText" - actionCode: "ContactProvider" - description: "Check or Amend your vaccination appointment by contacting your provider" - - actionType: "InfoText" - actionCode: "ContactGP" - description: "Contact your GP surgery to get vaccinated" + - actionType: "CardWithText" + actionCode: "ManageLocal" + description: "##You have an RSV vaccination appointment\nContact your healthcare provider to change or cancel your appointment." example_50000000006: - summary: RSV - Not Actionable despite to membership of an Age Cohort with reasoning of already vaccinated + summary: RSV - Not Actionable despite to membership of an Age Cohort with reasoning of already vaccinated (cohorts hidden) value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -330,14 +308,11 @@ paths: - condition: "RSV" status: "NotActionable" statusText: "You should have the RSV vaccine" - eligibilityCohorts: - - cohortCode: "rsv_age_rolling" - cohortText: "You are aged 75 to 79 years old." - cohortStatus: "NotActionable" + eligibilityCohorts: [] suitabilityRules: - ruleType: "S" ruleCode: "AlreadyVaccinated" - ruleText: "You are already vaccinated. Our records suggest you were vaccinated on 21/03/2025" + ruleText: "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination. You do not need to do anything." example_50000000007: summary: RSV - Not Actionable despite to membership of an Age Cohort with reasoning of no available vaccinations (not available type 1) value: @@ -400,7 +375,7 @@ paths: ruleCode: "TooClose" ruleText: "Your previous vaccination was less than 91 days ago." example_50000000011: - summary: RSV - Not Actionable despite to membership of an Age Cohort with reasoning of vaccination given in current setting (e.g. care home) + summary: RSV - Not Actionable despite to membership of an Age Cohort with reasoning of vaccination given in other setting (e.g. care home) value: responseId: "1a233ba5-e1eb-4080-a086-2962f6fc3473" meta: @@ -416,7 +391,7 @@ paths: suitabilityRules: - ruleType: "S" ruleCode: "OtherSetting" - ruleText: "You are in a setting or organisation that will arrange your vaccination for you. For example a care home or other government setting." + ruleText: "##Getting the vaccine\nOur record show you're living in a setting where care is provided.\nIf you think you should have the RSV vaccine, speak to a member of staff where you live." example_50000000012: summary: RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 1 includes unknown cohort) value: @@ -434,7 +409,7 @@ paths: suitabilityRules: - ruleType: "S" ruleCode: "AlreadyVaccinated" - ruleText: "You are already vaccinated. Our records suggest you were vaccinated on 13/05/2025" + ruleText: "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination.You do not need to do anything." example_50000000013: summary: RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 2 includes no cohorts) value: @@ -449,7 +424,7 @@ paths: suitabilityRules: - ruleType: "S" ruleCode: "AlreadyVaccinated" - ruleText: "You are already vaccinated. Our records suggest you were vaccinated on 13/05/2025" + ruleText: "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination. You do not need to do anything." example_50000000014: summary: RSV - Not Eligible value: @@ -467,6 +442,10 @@ paths: - cohortCode: "rsv_age_catchup" cohortText: "You did not turn 80 between 2nd September 2024 and 31st August 2025" cohortStatus: "NotEligible" + actions: + - actionType: "CardWithText" + actionCode: "HealtchareProInfo" + description: "##If you think you need this vaccine\nSpeak to your healthcare professional if you think you should be offered this vaccination." '400': description: Invalid input data. content: From 8455bd1a9b935963adea334d3c45dd2db207911f Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Mon, 16 Jun 2025 12:22:29 +0100 Subject: [PATCH 3/9] Update eligibility-signposting-api.yaml Re-adding some accidentally removed new-lines --- specification/eligibility-signposting-api.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/eligibility-signposting-api.yaml b/specification/eligibility-signposting-api.yaml index 4c5194b..3c63ff4 100644 --- a/specification/eligibility-signposting-api.yaml +++ b/specification/eligibility-signposting-api.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: Patient Eligibility Signposting API version: 1.0.13-alpha - description: "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-data-product-elid) - 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.\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.\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.\nUse this API to request: * eligibility for all supported categories and conditions\n* eligibility for specified supported categories and/or conditions * request that actions be included in the response\n* request that actions not be included in the response\nYou cannot currently use this API to: * request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\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: * a code representing the condition (COVID, RSV, BOWEL, EYE, BREAST)\n* an overall status (NotEligible, NotActionable, Actionable) * 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) * 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#### Definitions of overall status The overall status values indicate the following:\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 * Actionable - the individual is eligible and should follow one of the recommended actions provided\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.\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n## Who can use this API This API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-data-product-elid#who-this-service-is-for) 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-data-product-elid#who-this-service-is-for) as part of digital onboarding.\n You must do this before you can go live (see 'Onboarding' below).\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.\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 ### 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-data-product-elid).\n## Access modes This API currently has only one access mode:\n* patient access (user-restricted)\nWe are considering the possibility of adding other modes in the future: * healthcare worker access\n* application restricted access\n### Patient access If the end user is a patient then you must use this access mode. Use this access mode to obtain data for that patient.\n This 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 The end user must be:\n* a patient who receives health and social care or makes use of NHS services * strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)\n To use this access mode, you must currently use the following security pattern:\n |\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\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 Patient 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 * P9.Cp.Ck\n* P9.Cm\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n### Restricted access This access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\n This 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 This 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 * retrieve eligibility signposting information into a system to be used in a disconnected manner\n To 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## Roadmap The [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-data-product-elid/eligibility-data-product-elid-roadmap) roadmap shows the planned changes for the API.\n To 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 If you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\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.\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n## Rate limits The 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 ## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\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.\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## Network access This 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 For more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n ## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action * 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\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.\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## Open source You might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n | Resource | Description | Links |\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 We 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 ## Environments and testing\n| Environment | Base URL | | ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` | | 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### Sandbox testing Our [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#sandbox-testing):\n* is for early developer testing * only covers a limited set of scenarios\n* is open access, so does not allow you to test authorisation\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\nAlternatively, you can try out the sandbox using our Postman collection:\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\n### Integration testing Our [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* is for formal integration testing * includes authorisation, with options for user-restricted access (NHS Login)\n ### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\n## Onboarding You 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 As part of this process, you need to demonstrate your technical conformance to the requirements for this API.\n You 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-data-product-elid#how-to-access-this-service).\n To understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n## Related APIs The following APIs are related to this API:\n" + description: "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-data-product-elid) - 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.\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.\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.\nUse this API to request: * eligibility for all supported categories and conditions\n* eligibility for specified supported categories and/or conditions * request that actions be included in the response\n* request that actions not be included in the response\nYou cannot currently use this API to: * request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\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: * a code representing the condition (COVID, RSV, BOWEL, EYE, BREAST)\n* an overall status (NotEligible, NotActionable, Actionable) * 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) * 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#### Definitions of overall status\nThe overall status values indicate the following:\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 * Actionable - the individual is eligible and should follow one of the recommended actions provided\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.\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n## Who can use this API\nThis API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-data-product-elid#who-this-service-is-for) 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-data-product-elid#who-this-service-is-for) as part of digital onboarding.\n You must do this before you can go live (see 'Onboarding' below).\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.\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 ### 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-data-product-elid).\n## Access modes This API currently has only one access mode:\n* patient access (user-restricted)\nWe are considering the possibility of adding other modes in the future: * healthcare worker access\n* application restricted access\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 This 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 The end user must be:\n* a patient who receives health and social care or makes use of NHS services * strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)\n To use this access mode, you must currently use the following security pattern:\n |\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\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 Patient 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 * P9.Cp.Ck\n* P9.Cm\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n### Restricted access This access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\n This 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 This 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 * retrieve eligibility signposting information into a system to be used in a disconnected manner\n To 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## Roadmap\nThe [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-data-product-elid/eligibility-data-product-elid-roadmap) roadmap shows the planned changes for the API.\n To 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 If you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\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.\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\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 ## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\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.\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## 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 For more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n ## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action * 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\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.\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## Open source\nYou might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n | Resource | Description | Links |\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 We 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 ## Environments and testing\n| Environment | Base URL | | ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` | | 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### Sandbox testing\nOur [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#sandbox-testing):\n* is for early developer testing * only covers a limited set of scenarios\n* is open access, so does not allow you to test authorisation\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\nAlternatively, you can try out the sandbox using our Postman collection:\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\n### Integration testing\nOur [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* is for formal integration testing * includes authorisation, with options for user-restricted access (NHS Login)\n ### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\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 As part of this process, you need to demonstrate your technical conformance to the requirements for this API.\n You 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-data-product-elid#how-to-access-this-service).\n To understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\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 From 558cb46f5295322dfbe46839d29bb502aae42b02 Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Mon, 16 Jun 2025 14:46:37 +0100 Subject: [PATCH 4/9] Update eligibility-signposting-api.yaml Furether layout tweaks --- specification/eligibility-signposting-api.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/eligibility-signposting-api.yaml b/specification/eligibility-signposting-api.yaml index 3c63ff4..5c1f3de 100644 --- a/specification/eligibility-signposting-api.yaml +++ b/specification/eligibility-signposting-api.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: Patient Eligibility Signposting API version: 1.0.13-alpha - description: "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-data-product-elid) - 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.\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.\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.\nUse this API to request: * eligibility for all supported categories and conditions\n* eligibility for specified supported categories and/or conditions * request that actions be included in the response\n* request that actions not be included in the response\nYou cannot currently use this API to: * request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\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: * a code representing the condition (COVID, RSV, BOWEL, EYE, BREAST)\n* an overall status (NotEligible, NotActionable, Actionable) * 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) * 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#### Definitions of overall status\nThe overall status values indicate the following:\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 * Actionable - the individual is eligible and should follow one of the recommended actions provided\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.\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n## Who can use this API\nThis API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-data-product-elid#who-this-service-is-for) 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-data-product-elid#who-this-service-is-for) as part of digital onboarding.\n You must do this before you can go live (see 'Onboarding' below).\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.\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 ### 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-data-product-elid).\n## Access modes This API currently has only one access mode:\n* patient access (user-restricted)\nWe are considering the possibility of adding other modes in the future: * healthcare worker access\n* application restricted access\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 This 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 The end user must be:\n* a patient who receives health and social care or makes use of NHS services * strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)\n To use this access mode, you must currently use the following security pattern:\n |\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\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 Patient 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 * P9.Cp.Ck\n* P9.Cm\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n### Restricted access This access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\n This 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 This 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 * retrieve eligibility signposting information into a system to be used in a disconnected manner\n To 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## Roadmap\nThe [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-data-product-elid/eligibility-data-product-elid-roadmap) roadmap shows the planned changes for the API.\n To 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 If you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\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.\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\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 ## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\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.\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## 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 For more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n ## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action * 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\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.\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## Open source\nYou might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n | Resource | Description | Links |\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 We 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 ## Environments and testing\n| Environment | Base URL | | ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` | | 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### Sandbox testing\nOur [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#sandbox-testing):\n* is for early developer testing * only covers a limited set of scenarios\n* is open access, so does not allow you to test authorisation\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\nAlternatively, you can try out the sandbox using our Postman collection:\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\n### Integration testing\nOur [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* is for formal integration testing * includes authorisation, with options for user-restricted access (NHS Login)\n ### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\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 As part of this process, you need to demonstrate your technical conformance to the requirements for this API.\n You 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-data-product-elid#how-to-access-this-service).\n To understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n## Related APIs\nThe following APIs are related to this API:\n" + description: "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-data-product-elid) - 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.\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.\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.\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\nYou cannot currently use this API to: \n* request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\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#### Definitions of overall status\nThe overall status values indicate the following:\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### 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.\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n## Who can use this API\nThis API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-data-product-elid#who-this-service-is-for) 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-data-product-elid#who-this-service-is-for) as part of digital onboarding.\nYou must do this before you can go live (see 'Onboarding' below).\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.\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### 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-data-product-elid).\n## Access modes This API currently has only one access mode:\n* patient access (user-restricted)\nWe are considering the possibility of adding other modes in the future: \n* healthcare worker access\n* application restricted access\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.\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.\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)\nTo use this access mode, you must currently use the following security pattern:\n|\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\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. |\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\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n### Restricted access This access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\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.\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\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## Roadmap\nThe [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-data-product-elid/eligibility-data-product-elid-roadmap) roadmap shows the planned changes for the API.\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).\nIf you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\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.\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\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## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\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.\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## 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).\nFor more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\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\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.\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## Open source\nYou might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n| Resource | Description | Links |\n|---------------------------|----------------------------------------------------------------------|--------------------------------------------------------------------------------| | Patient Eligibility Signposting API| Source code including API proxy, sandbox and specification and code. | [GitHub repo](https://github.com/NHSDigital/eligibility-signposting-api) |\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## Environments and testing\n| Environment | Base URL | | ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` | | 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### 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\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\nAlternatively, you can try out the sandbox using our Postman collection:\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\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### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\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.\nAs part of this process, you need to demonstrate your technical conformance to the requirements for this API.\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-data-product-elid#how-to-access-this-service).\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\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 From 7ae04485f4bf12ed0fbd1f92b175e30decb46fa8 Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Mon, 16 Jun 2025 16:34:31 +0100 Subject: [PATCH 5/9] Update eligibility-signposting-api.yaml Adding specific examples for error conditions to prevent a Postman collection from being generated with additional values in each array. --- .../eligibility-signposting-api.yaml | 77 ++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/specification/eligibility-signposting-api.yaml b/specification/eligibility-signposting-api.yaml index 5c1f3de..6d54941 100644 --- a/specification/eligibility-signposting-api.yaml +++ b/specification/eligibility-signposting-api.yaml @@ -501,6 +501,25 @@ paths: items: type: string example: 'parameters/conditions' + examples: + example_error_1: + summary: Invalid Input Data Error + value: + resourceType: "OperationOutcome" + id: rrt-2959959087381887325-c-geu2-24001-77777777-1 + meta: + lastUpdated: "2025-02-12T16:11:22Z" + issue: + - severity: error + code: value + details: + coding: + - system: https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode + code: VALIDATION_ERROR + display: "The given conditions were not in the expected format." + diagnostics: "FLU&COVID should be a single or comma separated list of condition strings with no other punctuation or special characters" + location: + - "parameters/conditions" '404': description: Person not found. content: @@ -556,6 +575,25 @@ paths: items: type: string example: 'parameters/patient' + examples: + example_error_1: + summary: Resource Not Found Error + value: + resourceType: "OperationOutcome" + id: rrt-2959959087381887325-c-geu2-24001-77777777-1 + meta: + lastUpdated: "2025-02-12T16:11:22Z" + issue: + - severity: error + code: processing + details: + coding: + - system: https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode + code: RESOURCE_NOT_FOUND + display: "The given NHS number was not found in our datasets. This could be because the number is incorrect or some other reason we cannot process that number." + diagnostics: "NHS Number 9000000404 was not recognised by the Eligibility Signposting API" + location: + - "parameters/id" '422': description: 'Unrecognised input data. (Unprocessable Content)' content: @@ -611,6 +649,25 @@ paths: items: type: string example: 'parameters/category' + examples: + example_error_1: + summary: Unrecognised Input Error + value: + resourceType: "OperationOutcome" + id: rrt-2959959087381887325-c-geu2-24001-77777777-1 + meta: + lastUpdated: "2025-02-12T16:11:22Z" + issue: + - severity: error + code: value + details: + coding: + - system: https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode + code: VALIDATION_ERROR + display: "The supplied category was not recognised by the API." + diagnostics: "HEALTHCHECKS is not a category that is supported by the API" + location: + - "parameters/category" '500': description: Internal server error. content: @@ -666,7 +723,25 @@ paths: items: type: string example: 'parameters/category' - + examples: + example_error_1: + summary: Internal Processing Error + value: + resourceType: "OperationOutcome" + id: rrt-2959959087381887325-c-geu2-24001-77777777-1 + meta: + lastUpdated: "2025-02-12T16:11:22Z" + issue: + - severity: error + code: processing + details: + coding: + - system: https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode + code: SERVICE_ERROR + display: "An unknown error occurred processing this request. Contact us for assistance diagnosing this issue: https://digital.nhs.uk/developer/help-and-support quoting the id included in this message" + diagnostics: "No diagnostics available" + location: + - "parameters/category" ################################################################################ # Components # ################################################################################ From c101e7d7dce5fcd90a2c14a31df933a52d6908a7 Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Tue, 17 Jun 2025 12:07:39 +0100 Subject: [PATCH 6/9] Update eligibility-signposting-api.yaml Reverting to use a separate field for urlLabel (as requested by VitA) and updating some descriptions to confirm that GFM Markdown can be used --- specification/eligibility-signposting-api.yaml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/specification/eligibility-signposting-api.yaml b/specification/eligibility-signposting-api.yaml index 6d54941..ebd780e 100644 --- a/specification/eligibility-signposting-api.yaml +++ b/specification/eligibility-signposting-api.yaml @@ -191,7 +191,7 @@ paths: description: Machine readable code signifying a rule that amended the status of the suggestion ruleText: type: string - description: Human readable (render-able) text describing a rule that amended the status of the suggestion + description: Human readable (render-able) text describing a rule that amended the status of the suggestion (optionally GFM Markdown) actions: type: array description: List of actions to be shown to the person. @@ -206,11 +206,15 @@ paths: description: Code representing the action to be taken description: type: string - description: A brief description of the step. + description: Human readable (render-able) text describing the suggested action (optionally GFM Markdown) urlLink: type: string - description: Label and URL to invoke if action selected (bar delimited). - example: "My Link Label|https://mylink.mydomain.tld" + description: URL to invoke if action selected. + example: "https://mylink.mydomain.tld" + urlLabel: + type: string + description: Lable to use for the URL (or button) used to display the link + example: "My Link Label" examples: example_50000000001: summary: RSV - Actionable due to membership of an Age Cohort including suggested national booking action (actions requested) @@ -230,7 +234,8 @@ paths: - actionType: "ButtonAuthLink" actionCode: "BookNBS" description: "" - urlLink: "Continue to booking|http://www.nhs.uk/book-rsv" + urlLink: "http://www.nhs.uk/book-rsv" + urlLabel: "Continue to booking" example_50000000002: summary: RSV - Actionable due to membership of an Age Cohort including suggested action (not national booking) value: @@ -282,7 +287,8 @@ paths: - actionType: "CardWithAuthButton" actionCode: "AmendNBS" description: "##You have an RSV vaccination appointment\nYou can view, change or cancel your appointment below." - urlLink: "Manage your appointment|http://www.nhs.uk/book-rsv" + urlLink: "http://www.nhs.uk/book-rsv" + urlLabel: "Manage your appointment" example_50000000005: summary: RSV - Actionable due to membership of an Age Cohort including suggested actions (with future local booking) value: From 663c3dd5a4e1fc95b6928e523e0bbd63278925cd Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Tue, 17 Jun 2025 13:16:52 +0100 Subject: [PATCH 7/9] Update collection.json Updated to match OAS specification --- specification/postman/collection.json | 102 +++++++++++++------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/specification/postman/collection.json b/specification/postman/collection.json index 8976e19..a00e980 100644 --- a/specification/postman/collection.json +++ b/specification/postman/collection.json @@ -1,10 +1,10 @@ { "_": { - "postman_id": "c627464e-3e3d-4050-85e9-fef67f0cc98e" + "postman_id": "105cb9cd-f728-4814-b45e-655749ca873c" }, "item": [ { - "id": "5c82c3f6-f259-4425-9d42-4659815c3555", + "id": "7c700cee-3b2b-4739-a76e-89691e7e7536", "name": "Eligibility", "description": { "content": "", @@ -14,7 +14,7 @@ "event": [] }, { - "id": "00f31028-e529-45ad-bc0d-1ff26948a38d", + "id": "304d0566-2de5-47c8-8f59-60a65c987d85", "name": "Signposting", "description": { "content": "", @@ -24,7 +24,7 @@ "event": [] }, { - "id": "51e77d9e-f2d3-45e2-b166-e496f36de636", + "id": "207ce628-1bba-4b1c-9d78-908a0eeb7500", "name": "NextActions", "description": { "content": "", @@ -34,7 +34,7 @@ "event": [] }, { - "id": "3b9c5f4e-4583-43de-9319-6efb2eb8fb00", + "id": "4e403418-62b0-4e9e-9d3a-92612c2a5d4e", "name": "Check Eligibility", "request": { "name": "Check Eligibility", @@ -153,8 +153,8 @@ "_": { "postman_previewlanguage": "json" }, - "id": "da1104a7-609d-4e46-bef1-e2e948fb6709", - "name": "RSV - Actionable due to membership of an Age Cohort including suggested actions (with booking)", + "id": "32c7daf2-a891-4673-aaa4-26065d978393", + "name": "RSV - Actionable due to membership of an Age Cohort including suggested national booking action (actions requested)", "originalRequest": { "url": { "path": [ @@ -247,15 +247,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\": \"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}", + "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\": \"ButtonAuthLink\",\n \"actionCode\": \"BookNBS\",\n \"description\": \"\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\",\n \"urlLabel\": \"Continue to booking\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "2e39c109-0ab9-4dd0-a888-2f843bcdfd53", - "name": "RSV - Actionable due to membership of an Age Cohort including suggested action (not booking)", + "id": "3fbaffcf-e4e6-40d1-8077-4a0e2bccd2d7", + "name": "RSV - Actionable due to membership of an Age Cohort including suggested action (not national booking)", "originalRequest": { "url": { "path": [ @@ -348,15 +348,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\": \"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}", + "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\": \"CareCardWithText\",\n \"actionCode\": \"BookLocal\",\n \"description\": \"##Getting the vaccine\\nYou can get an RSV vaccination at your GP surgery.\\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "22c154ea-60aa-47ae-b844-db668a79e603", - "name": "RSV - Actionable due to membership of an alternative Age Cohort including suggested action (not booking)", + "id": "52cc455f-a27b-4808-9aef-b20775b57e78", + "name": "RSV - Actionable due to membership of an alternative Age Cohort including suggested action (not national booking)", "originalRequest": { "url": { "path": [ @@ -449,15 +449,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\": \"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}", + "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\": \"CareCardWithText\",\n \"actionCode\": \"BookLocal\",\n \"description\": \"##Getting the vaccine\\nYou can get an RSV vaccination at your GP surgery.\\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "ef73fd50-a9a2-48c2-a7a9-89f436862944", - "name": "RSV - Actionable due to membership of an Age Cohort including suggested action (existing national booking)", + "id": "510e4cfa-64b2-4c78-bc9e-c172bac03ca8", + "name": "RSV - Actionable due to membership of an Age Cohort including suggested action (future national booking)", "originalRequest": { "url": { "path": [ @@ -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\": \"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}", + "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 \"actions\": [\n {\n \"actionType\": \"CardWithAuthButton\",\n \"actionCode\": \"AmendNBS\",\n \"description\": \"##You have an RSV vaccination appointment\\nYou can view, change or cancel your appointment below.\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\",\n \"urlLabel\": \"Manage your appointment\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "49b4a9cb-6a37-4710-9b0a-a9757c907197", - "name": "RSV - Actionable due to membership of an Age Cohort including suggested actions (with local booking)", + "id": "d71fa23c-9f61-4d1a-b473-05cf45c9656c", + "name": "RSV - Actionable due to membership of an Age Cohort including suggested actions (with future local booking)", "originalRequest": { "url": { "path": [ @@ -651,15 +651,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\": \"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}", + "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 \"actions\": [\n {\n \"actionType\": \"CardWithText\",\n \"actionCode\": \"ManageLocal\",\n \"description\": \"##You have an RSV vaccination appointment\\nContact your healthcare provider to change or cancel your appointment.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "7d15aa4c-410b-4549-8073-ed45a0765aeb", - "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of already vaccinated", + "id": "09cbb897-03ab-4200-a600-4f6e99f2a1ef", + "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of already vaccinated (cohorts hidden)", "originalRequest": { "url": { "path": [ @@ -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 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}", + "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've had your RSV vaccination\\nBased on our records, you recently had this vaccination. You do not need to do anything.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "4262d3a6-1874-4aa6-947f-685ec6c5e785", + "id": "f98f802a-1fac-4866-953b-d39c0e3d161c", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of no available vaccinations (not available type 1)", "originalRequest": { "url": { @@ -860,7 +860,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "a37b5bed-9fae-436c-bc5c-89344e87f81e", + "id": "93edb6af-ed17-4daa-9d15-19023e487efc", "name": "RSV - No RSV response as no active campaign (not available type 2)", "originalRequest": { "url": { @@ -961,7 +961,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "ff5482ff-1bc2-4452-9b71-d70fa8d98cdf", + "id": "ac54ac59-906e-43a2-b0c7-a33de5b50d80", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of dose not yet due", "originalRequest": { "url": { @@ -1062,7 +1062,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "b5ca9cc4-a4f5-4556-8a41-b5b6c3f9021c", + "id": "08154b56-e1b7-49a5-8857-5dfa68809be0", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of dose not far enough apart", "originalRequest": { "url": { @@ -1163,8 +1163,8 @@ "_": { "postman_previewlanguage": "json" }, - "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)", + "id": "3890404f-ec3b-4b79-afb1-2b25408375df", + "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of vaccination given in other setting (e.g. care home)", "originalRequest": { "url": { "path": [ @@ -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 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}", + "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\": \"##Getting the vaccine\\nOur record show you're living in a setting where care is provided.\\nIf you think you should have the RSV vaccine, speak to a member of staff where you live.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "1c816fb5-b04b-4b90-8621-36d6777b08e7", + "id": "6b18bcbd-abe1-410f-b9f1-86dabc3f8a82", "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 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}", + "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've had your RSV vaccination\\nBased on our records, you recently had this vaccination.You do not need to do anything.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "42305fff-0586-45a0-90e0-9c7022985d6e", + "id": "31abbf39-8332-4016-876c-26fad10d0671", "name": "RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 2 includes no cohorts)", "originalRequest": { "url": { @@ -1459,14 +1459,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 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}", + "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've had your RSV vaccination\\nBased on our records, you recently had this vaccination. You do not need to do anything.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "04a8f805-6f5b-418c-8a40-7c1bda62a935", + "id": "86f431e1-d3dc-46fb-b32e-2513cc87001f", "name": "RSV - Not Eligible", "originalRequest": { "url": { @@ -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\": \"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}", + "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 \"actions\": [\n {\n \"actionType\": \"CardWithText\",\n \"actionCode\": \"HealtchareProInfo\",\n \"description\": \"##If you think you need this vaccine\\nSpeak to your healthcare professional if you think you should be offered this vaccination.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "571659fb-ec80-40ca-b225-be1c884ba81c", + "id": "0c07ab43-c53e-4478-b1ba-a4a6c75640f4", "name": "Invalid input data.", "originalRequest": { "url": { @@ -1661,14 +1661,14 @@ "value": "application/fhir+json" } ], - "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"id\": \"rrt-2959959087381887325-c-geu2-24001-99999999-1\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-11T14:40:00+00:00\"\n },\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"value\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The given conditions were not not in the expected format.\"\n },\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The given conditions were not not in the expected format.\"\n }\n ]\n },\n \"diagnostics\": \"FLU&COVID should be a single or comma separated list of condition strings with no other punctuation or special characters\",\n \"location\": [\n \"parameters/conditions\",\n \"parameters/conditions\"\n ]\n },\n {\n \"severity\": \"error\",\n \"code\": \"value\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The given conditions were not not in the expected format.\"\n },\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The given conditions were not not in the expected format.\"\n }\n ]\n },\n \"diagnostics\": \"FLU&COVID should be a single or comma separated list of condition strings with no other punctuation or special characters\",\n \"location\": [\n \"parameters/conditions\",\n \"parameters/conditions\"\n ]\n }\n ]\n}", + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"id\": \"rrt-2959959087381887325-c-geu2-24001-77777777-1\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"value\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The given conditions were not in the expected format.\"\n }\n ]\n },\n \"diagnostics\": \"FLU&COVID should be a single or comma separated list of condition strings with no other punctuation or special characters\",\n \"location\": [\n \"parameters/conditions\"\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "3a70a67e-109a-4e5e-9c26-9443ae32d80b", + "id": "a80bfda8-4fc2-4495-a9be-52edab488b06", "name": "Person not found.", "originalRequest": { "url": { @@ -1762,14 +1762,14 @@ "value": "application/fhir+json" } ], - "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"id\": \"rrt-2959959087381887325-c-geu2-24001-82918062-1\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-14T11:35:00+00:00\"\n },\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"processing\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"RESOURCE_NOT_FOUND\",\n \"display\": \"The given NHS number was not found in our datasets. This could be because the number is incorrect or some other reason we cannot process that number.\"\n },\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"RESOURCE_NOT_FOUND\",\n \"display\": \"The given NHS number was not found in our datasets. This could be because the number is incorrect or some other reason we cannot process that number.\"\n }\n ]\n },\n \"diagnostics\": \"NHS Number 9000000404 was not recognised by the Eligibilty Signposting API\",\n \"location\": [\n \"parameters/patient\",\n \"parameters/patient\"\n ]\n },\n {\n \"severity\": \"error\",\n \"code\": \"processing\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"RESOURCE_NOT_FOUND\",\n \"display\": \"The given NHS number was not found in our datasets. This could be because the number is incorrect or some other reason we cannot process that number.\"\n },\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"RESOURCE_NOT_FOUND\",\n \"display\": \"The given NHS number was not found in our datasets. This could be because the number is incorrect or some other reason we cannot process that number.\"\n }\n ]\n },\n \"diagnostics\": \"NHS Number 9000000404 was not recognised by the Eligibilty Signposting API\",\n \"location\": [\n \"parameters/patient\",\n \"parameters/patient\"\n ]\n }\n ]\n}", + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"id\": \"rrt-2959959087381887325-c-geu2-24001-77777777-1\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"processing\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"RESOURCE_NOT_FOUND\",\n \"display\": \"The given NHS number was not found in our datasets. This could be because the number is incorrect or some other reason we cannot process that number.\"\n }\n ]\n },\n \"diagnostics\": \"NHS Number 9000000404 was not recognised by the Eligibility Signposting API\",\n \"location\": [\n \"parameters/id\"\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "bc672c3f-66c5-459d-8f1b-22da360406bd", + "id": "0a2805d5-00b7-4396-801a-5e165425cbd8", "name": "Unrecognised input data. (Unprocessable Content)", "originalRequest": { "url": { @@ -1863,14 +1863,14 @@ "value": "application/fhir+json" } ], - "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"id\": \"rrt-2959959087381887325-c-geu2-24001-88888888-1\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-11T14:40:00+00:00\"\n },\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"value\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The supplied category was not recognised by the API.\"\n },\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The supplied category was not recognised by the API.\"\n }\n ]\n },\n \"diagnostics\": \"HEALTHCHECKS is not a category that is supported by the API\",\n \"location\": [\n \"parameters/category\",\n \"parameters/category\"\n ]\n },\n {\n \"severity\": \"error\",\n \"code\": \"value\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The supplied category was not recognised by the API.\"\n },\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The supplied category was not recognised by the API.\"\n }\n ]\n },\n \"diagnostics\": \"HEALTHCHECKS is not a category that is supported by the API\",\n \"location\": [\n \"parameters/category\",\n \"parameters/category\"\n ]\n }\n ]\n}", + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"id\": \"rrt-2959959087381887325-c-geu2-24001-77777777-1\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"value\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"VALIDATION_ERROR\",\n \"display\": \"The supplied category was not recognised by the API.\"\n }\n ]\n },\n \"diagnostics\": \"HEALTHCHECKS is not a category that is supported by the API\",\n \"location\": [\n \"parameters/category\"\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "c3eb222d-877c-4385-a4ce-49d48c2c1651", + "id": "0c8ea82a-f75e-47f8-95a6-1b3ff2bcc37b", "name": "Internal server error.", "originalRequest": { "url": { @@ -1964,7 +1964,7 @@ "value": "application/fhir+json" } ], - "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"id\": \"rrt-2959959087381887325-c-geu2-24001-77777777-1\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-10T13:40:00+00:00\"\n },\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"processing\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"SERVICE_ERROR\",\n \"display\": \"An unknown error occurred processing this request. Contact us for assistance diagnosing this issue: https://digital.nhs.uk/developer/help-and-support quoting the id included in this message\"\n },\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"SERVICE_ERROR\",\n \"display\": \"An unknown error occurred processing this request. Contact us for assistance diagnosing this issue: https://digital.nhs.uk/developer/help-and-support quoting the id included in this message\"\n }\n ]\n },\n \"diagnostics\": \"No diagnostics available\",\n \"location\": [\n \"parameters/category\",\n \"parameters/category\"\n ]\n },\n {\n \"severity\": \"error\",\n \"code\": \"processing\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"SERVICE_ERROR\",\n \"display\": \"An unknown error occurred processing this request. Contact us for assistance diagnosing this issue: https://digital.nhs.uk/developer/help-and-support quoting the id included in this message\"\n },\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"SERVICE_ERROR\",\n \"display\": \"An unknown error occurred processing this request. Contact us for assistance diagnosing this issue: https://digital.nhs.uk/developer/help-and-support quoting the id included in this message\"\n }\n ]\n },\n \"diagnostics\": \"No diagnostics available\",\n \"location\": [\n \"parameters/category\",\n \"parameters/category\"\n ]\n }\n ]\n}", + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"id\": \"rrt-2959959087381887325-c-geu2-24001-77777777-1\",\n \"meta\": {\n \"lastUpdated\": \"2025-02-12T16:11:22Z\"\n },\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"processing\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode\",\n \"code\": \"SERVICE_ERROR\",\n \"display\": \"An unknown error occurred processing this request. Contact us for assistance diagnosing this issue: https://digital.nhs.uk/developer/help-and-support quoting the id included in this message\"\n }\n ]\n },\n \"diagnostics\": \"No diagnostics available\",\n \"location\": [\n \"parameters/category\"\n ]\n }\n ]\n}", "cookie": [] } ], @@ -1972,13 +1972,13 @@ { "listen": "test", "script": { - "id": "73d417d0-5df6-4687-8969-c0ab6f096024", + "id": "18b9da0a-d5c5-4ec0-adc2-362088d18420", "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", "// Validate if response header has matching content-type\npm.test(\"[GET]::/patient-check/:id - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", "// Validate if response has JSON Body \npm.test(\"[GET]::/patient-check/:id - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", - "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"responseId\":{\"type\":\"string\",\"description\":\"GUID assigned when the decisioning evaluation is carried out. This will be useful if you ever need to request support for a particular request. This will not change if you receive a cached response.\"},\"meta\":{\"type\":\"object\",\"properties\":{\"lastUpdated\":{\"type\":\"string\",\"description\":\"Timestamp of when the decisioning evaluation is carried out. This will not change if you receive a cached response.\"}}},\"processedSuggestions\":{\"type\":\"array\",\"description\":\"List of suggestions the person is eligible for.\",\"items\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"string\",\"description\":\"String representing the vaccine target disease, screening target or other scenario requiring decision based suggestions, that this suggestion relates to\"},\"status\":{\"type\":\"string\",\"description\":\"String representing an overall summary of the persons status for this processedSuggestion\",\"enum\":[\"NotEligible\",\"NotActionable\",\"Actionable\"]},\"statusText\":{\"type\":\"string\"},\"eligibilityCohorts\":{\"type\":\"array\",\"description\":\"Cohorts that drove the eligibility status returned.\",\"items\":{\"type\":\"object\",\"properties\":{\"cohortCode\":{\"type\":\"string\",\"description\":\"Machine readable code signifying the cohort/cohort group that lead to a person's eligibility for this suggestion\"},\"cohortText\":{\"type\":\"string\",\"description\":\"Human readable (render-able) text describing the meaning of a cohort/cohort group that lead to a person's eligibility for this suggestion\"},\"cohortStatus\":{\"type\":\"string\",\"description\":\"String representing the persons status for this processedSuggestion in respect of this particular cohort or cohort group\",\"enum\":[\"NotEligible\",\"NotActionable\",\"Actionable\"]}}}},\"suitabilityRules\":{\"type\":\"array\",\"description\":\"Reasons that the eligibility status was changed from the base eligibility to result in it's status to not be eligible or to be acted on\",\"items\":{\"type\":\"object\",\"properties\":{\"ruleType\":{\"type\":\"string\",\"description\":\"The type of a rule that triggered to amend the status of the suggestion\",\"enum\":[\"F\",\"S\"]},\"ruleCode\":{\"type\":\"string\",\"description\":\"Machine readable code signifying a rule that amended the status of the suggestion\"},\"ruleText\":{\"type\":\"string\",\"description\":\"Human readable (render-able) text describing a rule that amended the status of the suggestion\"}}}},\"actions\":{\"type\":\"array\",\"description\":\"List of actions to be shown to the person.\",\"items\":{\"type\":\"object\",\"properties\":{\"actionType\":{\"type\":\"string\",\"description\":\"Type of action to render. E.g. A primary button, a link, text etc\"},\"actionCode\":{\"type\":\"string\",\"description\":\"Code representing the action to be taken\"},\"description\":{\"type\":\"string\",\"description\":\"A brief description of the step.\"},\"urlLink\":{\"type\":\"string\",\"description\":\"URL to invoke if action selected.\"}}}}}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/patient-check/:id - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"responseId\":{\"type\":\"string\",\"description\":\"GUID assigned when the decisioning evaluation is carried out. This will be useful if you ever need to request support for a particular request. This will not change if you receive a cached response.\"},\"meta\":{\"type\":\"object\",\"properties\":{\"lastUpdated\":{\"type\":\"string\",\"description\":\"Timestamp of when the decisioning evaluation is carried out. This will not change if you receive a cached response.\"}}},\"processedSuggestions\":{\"type\":\"array\",\"description\":\"List of suggestions the person is eligible for.\",\"items\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"string\",\"description\":\"String representing the vaccine target disease, screening target or other scenario requiring decision based suggestions, that this suggestion relates to\"},\"status\":{\"type\":\"string\",\"description\":\"String representing an overall summary of the persons status for this processedSuggestion\",\"enum\":[\"NotEligible\",\"NotActionable\",\"Actionable\"]},\"statusText\":{\"type\":\"string\"},\"eligibilityCohorts\":{\"type\":\"array\",\"description\":\"Cohorts that drove the eligibility status returned.\",\"items\":{\"type\":\"object\",\"properties\":{\"cohortCode\":{\"type\":\"string\",\"description\":\"Machine readable code signifying the cohort/cohort group that lead to a person's eligibility for this suggestion\"},\"cohortText\":{\"type\":\"string\",\"description\":\"Human readable (render-able) text describing the meaning of a cohort/cohort group that lead to a person's eligibility for this suggestion\"},\"cohortStatus\":{\"type\":\"string\",\"description\":\"String representing the persons status for this processedSuggestion in respect of this particular cohort or cohort group\",\"enum\":[\"NotEligible\",\"NotActionable\",\"Actionable\"]}}}},\"suitabilityRules\":{\"type\":\"array\",\"description\":\"Reasons that the eligibility status was changed from the base eligibility to result in it's status to not be eligible or to be acted on\",\"items\":{\"type\":\"object\",\"properties\":{\"ruleType\":{\"type\":\"string\",\"description\":\"The type of a rule that triggered to amend the status of the suggestion\",\"enum\":[\"F\",\"S\"]},\"ruleCode\":{\"type\":\"string\",\"description\":\"Machine readable code signifying a rule that amended the status of the suggestion\"},\"ruleText\":{\"type\":\"string\",\"description\":\"Human readable (render-able) text describing a rule that amended the status of the suggestion (optionally GFM Markdown)\"}}}},\"actions\":{\"type\":\"array\",\"description\":\"List of actions to be shown to the person.\",\"items\":{\"type\":\"object\",\"properties\":{\"actionType\":{\"type\":\"string\",\"description\":\"Type of action to render. E.g. A primary button, a link, text etc\"},\"actionCode\":{\"type\":\"string\",\"description\":\"Code representing the action to be taken\"},\"description\":{\"type\":\"string\",\"description\":\"Human readable (render-able) text describing the suggested action (optionally GFM Markdown)\"},\"urlLink\":{\"type\":\"string\",\"description\":\"URL to invoke if action selected.\"},\"urlLabel\":{\"type\":\"string\",\"description\":\"Lable to use for the URL (or button) used to display the link\"}}}}}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/patient-check/:id - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" ] } } @@ -1997,20 +1997,20 @@ } ], "info": { - "_postman_id": "c627464e-3e3d-4050-85e9-fef67f0cc98e", + "_postman_id": "105cb9cd-f728-4814-b45e-655749ca873c", "name": "Patient Eligibility Signposting API", "version": { - "raw": "1.0.12-alpha", + "raw": "1.0.13-alpha", "major": 1, "minor": 0, - "patch": 12, + "patch": 13, "prerelease": "alpha", "build": [], - "string": "1.0.12-alpha" + "string": "1.0.13-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-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", + "content": "## Overview\nUse this API to access the [Patient Eligibility Signposting Data Product](https://digital.nhs.uk/services/eligibility-data-product-elid) - 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.\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.\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.\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\nYou cannot currently use this API to: \n* request eligibility for proxy people (familial relations etc.)\n* request actions for people considered ineligible\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#### Definitions of overall status\nThe overall status values indicate the following:\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### 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.\nPatients who are deceased (or thought to be), marked as invalid or sensitive will not be processed by this API.\n## Who can use this API\nThis API can only be used where there is a [legal basis](https://digital.nhs.uk/services/eligibility-data-product-elid#who-this-service-is-for) 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-data-product-elid#who-this-service-is-for) as part of digital onboarding.\nYou must do this before you can go live (see 'Onboarding' below).\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.\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### 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-data-product-elid).\n## Access modes This API currently has only one access mode:\n* patient access (user-restricted)\nWe are considering the possibility of adding other modes in the future: \n* healthcare worker access\n* application restricted access\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.\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.\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)\nTo use this access mode, you must currently use the following security pattern:\n|\tSecurity pattern\t\t |\tTechnical details\t |\tAdvantages\t | Disadvantages |\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. |\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\nThis access mode is available in production ([beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#api-status)).\n### Restricted access This access mode is not yet available, if you believe this mode would benefit your use-case, please let us know.\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.\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\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## Roadmap\nThe [Patient Eligibility Signposting API](https://digital.nhs.uk/services/eligibility-data-product-elid/eligibility-data-product-elid-roadmap) roadmap shows the planned changes for the API.\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).\nIf you have any other queries, please [contact us](https://digital.nhs.uk/developer/help-and-support).\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.\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\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## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\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.\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## 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).\nFor more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\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\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.\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## Open source\nYou might find the following [open source](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#open-source) resources useful:\n| Resource | Description | Links |\n|---------------------------|----------------------------------------------------------------------|--------------------------------------------------------------------------------| | Patient Eligibility Signposting API| Source code including API proxy, sandbox and specification and code. | [GitHub repo](https://github.com/NHSDigital/eligibility-signposting-api) |\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## Environments and testing\n| Environment | Base URL | | ----------------- | ---------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/eligibility-signposting-api/patient-check/{id}` | | 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### 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\nFor details of sandbox test scenarios, or to try out the sandbox using our 'Try this API' feature, see the documentation for each endpoint.\nAlternatively, you can try out the sandbox using our Postman collection:\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/eligibility-signposting-api/eligibility-signposting-api)\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### Production smoke testing\nYou must not use real patient data for smoke testing in the production environment.\nRather, use our [production test patient](https://digital.nhs.uk/services/eligibility-signposting/api-test-data#production-smoke-testing).\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.\nAs part of this process, you need to demonstrate your technical conformance to the requirements for this API.\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-data-product-elid#how-to-access-this-service).\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n## Related APIs\nThe following APIs are related to this API:\n", "type": "text/plain" } } From 3b257956b79c4e4369c43aba761e4a0c0c6e6bf1 Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Tue, 17 Jun 2025 16:36:16 +0100 Subject: [PATCH 8/9] Update eligibility-signposting-api.yaml Adding empty action and suitabilityReason arrays to match development of real code --- specification/eligibility-signposting-api.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/specification/eligibility-signposting-api.yaml b/specification/eligibility-signposting-api.yaml index ebd780e..fcb9fd3 100644 --- a/specification/eligibility-signposting-api.yaml +++ b/specification/eligibility-signposting-api.yaml @@ -230,6 +230,7 @@ paths: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." cohortStatus: "Actionable" + suitabilityRules: [] actions: - actionType: "ButtonAuthLink" actionCode: "BookNBS" @@ -250,6 +251,7 @@ paths: - cohortCode: "rsv_age_rolling" cohortText: "You are aged 75 to 79 years old." cohortStatus: "Actionable" + suitabilityRules: [] actions: - actionType: "CareCardWithText" actionCode: "BookLocal" @@ -268,6 +270,7 @@ paths: - cohortCode: "rsv_age_catchup" cohortText: "You turned 80 between 2nd September 2024 and 31st August 2025" cohortStatus: "Actionable" + suitabilityRules: [] actions: - actionType: "CareCardWithText" actionCode: "BookLocal" @@ -283,6 +286,7 @@ paths: status: "Actionable" statusText: "You should have the RSV vaccine" eligibilityCohorts: [] + suitabilityRules: [] actions: - actionType: "CardWithAuthButton" actionCode: "AmendNBS" @@ -300,6 +304,7 @@ paths: status: "Actionable" statusText: "You should have the RSV vaccine" eligibilityCohorts: [] + suitabilityRules: [] actions: - actionType: "CardWithText" actionCode: "ManageLocal" @@ -319,6 +324,7 @@ paths: - ruleType: "S" ruleCode: "AlreadyVaccinated" ruleText: "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination. You do not need to do anything." + actions: [] example_50000000007: summary: RSV - Not Actionable despite to membership of an Age Cohort with reasoning of no available vaccinations (not available type 1) value: @@ -337,6 +343,7 @@ paths: - ruleType: "S" ruleCode: "NotAvailable" ruleText: "Vaccinations are not currently available" + actions: [] example_50000000008: summary: RSV - No RSV response as no active campaign (not available type 2) value: @@ -362,6 +369,7 @@ paths: - ruleType: "S" ruleCode: "NotYetDue" ruleText: "Your next dose is not yet due." + actions: [] example_50000000010: summary: RSV - Not Actionable despite to membership of an Age Cohort with reasoning of dose not far enough apart value: @@ -380,6 +388,7 @@ paths: - ruleType: "S" ruleCode: "TooClose" ruleText: "Your previous vaccination was less than 91 days ago." + actions: [] example_50000000011: summary: RSV - Not Actionable despite to membership of an Age Cohort with reasoning of vaccination given in other setting (e.g. care home) value: @@ -398,6 +407,7 @@ paths: - ruleType: "S" ruleCode: "OtherSetting" ruleText: "##Getting the vaccine\nOur record show you're living in a setting where care is provided.\nIf you think you should have the RSV vaccine, speak to a member of staff where you live." + actions: [] example_50000000012: summary: RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 1 includes unknown cohort) value: @@ -416,6 +426,7 @@ paths: - ruleType: "S" ruleCode: "AlreadyVaccinated" ruleText: "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination.You do not need to do anything." + actions: [] example_50000000013: summary: RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 2 includes no cohorts) value: @@ -431,6 +442,7 @@ paths: - ruleType: "S" ruleCode: "AlreadyVaccinated" ruleText: "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination. You do not need to do anything." + actions: [] example_50000000014: summary: RSV - Not Eligible value: @@ -448,6 +460,7 @@ paths: - cohortCode: "rsv_age_catchup" cohortText: "You did not turn 80 between 2nd September 2024 and 31st August 2025" cohortStatus: "NotEligible" + suitabilityRules: [] actions: - actionType: "CardWithText" actionCode: "HealtchareProInfo" From f9da9f04ca69187f612ed57676bbbf6837c2bde1 Mon Sep 17 00:00:00 2001 From: jhadfield-NHS Date: Tue, 17 Jun 2025 16:46:06 +0100 Subject: [PATCH 9/9] Update collection.json Adding empty actions and suitabilityRules arrays to match developed codebase. --- specification/postman/collection.json | 76 +++++++++++++-------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/specification/postman/collection.json b/specification/postman/collection.json index a00e980..4b6997d 100644 --- a/specification/postman/collection.json +++ b/specification/postman/collection.json @@ -1,10 +1,10 @@ { "_": { - "postman_id": "105cb9cd-f728-4814-b45e-655749ca873c" + "postman_id": "ec1841da-e76e-458f-9f4d-81007d427ec4" }, "item": [ { - "id": "7c700cee-3b2b-4739-a76e-89691e7e7536", + "id": "c641f85f-fd9d-46b3-bf39-c6660c81b8d5", "name": "Eligibility", "description": { "content": "", @@ -14,7 +14,7 @@ "event": [] }, { - "id": "304d0566-2de5-47c8-8f59-60a65c987d85", + "id": "4b9cb5a2-23b0-4b6a-8c5a-6acffd405bd3", "name": "Signposting", "description": { "content": "", @@ -24,7 +24,7 @@ "event": [] }, { - "id": "207ce628-1bba-4b1c-9d78-908a0eeb7500", + "id": "658af195-e7ef-42c7-91d1-fce191e09ef0", "name": "NextActions", "description": { "content": "", @@ -34,7 +34,7 @@ "event": [] }, { - "id": "4e403418-62b0-4e9e-9d3a-92612c2a5d4e", + "id": "eb46cf37-1cd0-4a79-8ee2-46c2abc13a6e", "name": "Check Eligibility", "request": { "name": "Check Eligibility", @@ -153,7 +153,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "32c7daf2-a891-4673-aaa4-26065d978393", + "id": "b7a25394-6b39-430c-942b-8245dcf4f2c4", "name": "RSV - Actionable due to membership of an Age Cohort including suggested national booking action (actions requested)", "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\": \"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\": \"ButtonAuthLink\",\n \"actionCode\": \"BookNBS\",\n \"description\": \"\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\",\n \"urlLabel\": \"Continue to booking\"\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 \"suitabilityRules\": [],\n \"actions\": [\n {\n \"actionType\": \"ButtonAuthLink\",\n \"actionCode\": \"BookNBS\",\n \"description\": \"\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\",\n \"urlLabel\": \"Continue to booking\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "3fbaffcf-e4e6-40d1-8077-4a0e2bccd2d7", + "id": "c9afb38b-e412-4d30-b6df-1acb19af0acb", "name": "RSV - Actionable due to membership of an Age Cohort including suggested action (not national 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 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\": \"CareCardWithText\",\n \"actionCode\": \"BookLocal\",\n \"description\": \"##Getting the vaccine\\nYou can get an RSV vaccination at your GP surgery.\\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination.\"\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 \"suitabilityRules\": [],\n \"actions\": [\n {\n \"actionType\": \"CareCardWithText\",\n \"actionCode\": \"BookLocal\",\n \"description\": \"##Getting the vaccine\\nYou can get an RSV vaccination at your GP surgery.\\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "52cc455f-a27b-4808-9aef-b20775b57e78", + "id": "a2502693-d537-489c-8e14-a355c63d5be9", "name": "RSV - Actionable due to membership of an alternative Age Cohort including suggested action (not national 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 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\": \"CareCardWithText\",\n \"actionCode\": \"BookLocal\",\n \"description\": \"##Getting the vaccine\\nYou can get an RSV vaccination at your GP surgery.\\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination.\"\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 \"suitabilityRules\": [],\n \"actions\": [\n {\n \"actionType\": \"CareCardWithText\",\n \"actionCode\": \"BookLocal\",\n \"description\": \"##Getting the vaccine\\nYou can get an RSV vaccination at your GP surgery.\\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "510e4cfa-64b2-4c78-bc9e-c172bac03ca8", + "id": "bfd5a860-7458-4d6b-b704-85ac78391cbd", "name": "RSV - Actionable due to membership of an Age Cohort including suggested action (future national booking)", "originalRequest": { "url": { @@ -550,14 +550,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 should have the RSV vaccine\",\n \"eligibilityCohorts\": [],\n \"actions\": [\n {\n \"actionType\": \"CardWithAuthButton\",\n \"actionCode\": \"AmendNBS\",\n \"description\": \"##You have an RSV vaccination appointment\\nYou can view, change or cancel your appointment below.\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\",\n \"urlLabel\": \"Manage your appointment\"\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 \"suitabilityRules\": [],\n \"actions\": [\n {\n \"actionType\": \"CardWithAuthButton\",\n \"actionCode\": \"AmendNBS\",\n \"description\": \"##You have an RSV vaccination appointment\\nYou can view, change or cancel your appointment below.\",\n \"urlLink\": \"http://www.nhs.uk/book-rsv\",\n \"urlLabel\": \"Manage your appointment\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "d71fa23c-9f61-4d1a-b473-05cf45c9656c", + "id": "b6da5adc-75af-4376-908e-b03c9e9efebd", "name": "RSV - Actionable due to membership of an Age Cohort including suggested actions (with future local booking)", "originalRequest": { "url": { @@ -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\": \"You should have the RSV vaccine\",\n \"eligibilityCohorts\": [],\n \"actions\": [\n {\n \"actionType\": \"CardWithText\",\n \"actionCode\": \"ManageLocal\",\n \"description\": \"##You have an RSV vaccination appointment\\nContact your healthcare provider to change or cancel your appointment.\"\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 \"suitabilityRules\": [],\n \"actions\": [\n {\n \"actionType\": \"CardWithText\",\n \"actionCode\": \"ManageLocal\",\n \"description\": \"##You have an RSV vaccination appointment\\nContact your healthcare provider to change or cancel your appointment.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "09cbb897-03ab-4200-a600-4f6e99f2a1ef", + "id": "4c799b75-d825-4c70-92ab-02bd80306bbc", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of already vaccinated (cohorts hidden)", "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 should have the RSV vaccine\",\n \"eligibilityCohorts\": [],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"AlreadyVaccinated\",\n \"ruleText\": \"##You've had your RSV vaccination\\nBased on our records, you recently had this vaccination. You do not need to do anything.\"\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've had your RSV vaccination\\nBased on our records, you recently had this vaccination. You do not need to do anything.\"\n }\n ],\n \"actions\": []\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "f98f802a-1fac-4866-953b-d39c0e3d161c", + "id": "ee3bd124-a23c-41b8-9df0-4756e738381f", "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 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}", + "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 \"actions\": []\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "93edb6af-ed17-4daa-9d15-19023e487efc", + "id": "47311563-37bd-4762-8598-0589720969a1", "name": "RSV - No RSV response as no active campaign (not available type 2)", "originalRequest": { "url": { @@ -961,7 +961,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "ac54ac59-906e-43a2-b0c7-a33de5b50d80", + "id": "a09fffde-562a-4c86-9b5e-3dfe0d8d77af", "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 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}", + "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 \"actions\": []\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "08154b56-e1b7-49a5-8857-5dfa68809be0", + "id": "ca0f2b1a-d935-455e-b1cb-ba4bc325347a", "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 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}", + "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 \"actions\": []\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "3890404f-ec3b-4b79-afb1-2b25408375df", + "id": "d6c54325-bfba-4c1a-85df-cb35bb5bbaaf", "name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of vaccination given in other 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 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\": \"##Getting the vaccine\\nOur record show you're living in a setting where care is provided.\\nIf you think you should have the RSV vaccine, speak to a member of staff where you live.\"\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\": \"##Getting the vaccine\\nOur record show you're living in a setting where care is provided.\\nIf you think you should have the RSV vaccine, speak to a member of staff where you live.\"\n }\n ],\n \"actions\": []\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "6b18bcbd-abe1-410f-b9f1-86dabc3f8a82", + "id": "40f476fd-3202-402c-8719-a2b71798ab16", "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 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've had your RSV vaccination\\nBased on our records, you recently had this vaccination.You do not need to do anything.\"\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've had your RSV vaccination\\nBased on our records, you recently had this vaccination.You do not need to do anything.\"\n }\n ],\n \"actions\": []\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "31abbf39-8332-4016-876c-26fad10d0671", + "id": "85f9fa04-7733-4b49-b514-a51a48e347d5", "name": "RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 2 includes no cohorts)", "originalRequest": { "url": { @@ -1459,14 +1459,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 should have the RSV vaccine\",\n \"eligibilityCohorts\": [],\n \"suitabilityRules\": [\n {\n \"ruleType\": \"S\",\n \"ruleCode\": \"AlreadyVaccinated\",\n \"ruleText\": \"##You've had your RSV vaccination\\nBased on our records, you recently had this vaccination. You do not need to do anything.\"\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've had your RSV vaccination\\nBased on our records, you recently had this vaccination. You do not need to do anything.\"\n }\n ],\n \"actions\": []\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "86f431e1-d3dc-46fb-b32e-2513cc87001f", + "id": "0d1206f0-e2e3-42a9-b748-b39eecb7df29", "name": "RSV - Not Eligible", "originalRequest": { "url": { @@ -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\": \"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 \"actions\": [\n {\n \"actionType\": \"CardWithText\",\n \"actionCode\": \"HealtchareProInfo\",\n \"description\": \"##If you think you need this vaccine\\nSpeak to your healthcare professional if you think you should be offered this vaccination.\"\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 \"suitabilityRules\": [],\n \"actions\": [\n {\n \"actionType\": \"CardWithText\",\n \"actionCode\": \"HealtchareProInfo\",\n \"description\": \"##If you think you need this vaccine\\nSpeak to your healthcare professional if you think you should be offered this vaccination.\"\n }\n ]\n }\n ]\n}", "cookie": [] }, { "_": { "postman_previewlanguage": "json" }, - "id": "0c07ab43-c53e-4478-b1ba-a4a6c75640f4", + "id": "62a3f342-a792-4d74-9bbc-8e22625b0763", "name": "Invalid input data.", "originalRequest": { "url": { @@ -1668,7 +1668,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "a80bfda8-4fc2-4495-a9be-52edab488b06", + "id": "830b1f89-2a4a-4785-ad22-b6d0f2c9b096", "name": "Person not found.", "originalRequest": { "url": { @@ -1769,7 +1769,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "0a2805d5-00b7-4396-801a-5e165425cbd8", + "id": "15fa5a01-e1ee-496c-b840-b96221df6e79", "name": "Unrecognised input data. (Unprocessable Content)", "originalRequest": { "url": { @@ -1870,7 +1870,7 @@ "_": { "postman_previewlanguage": "json" }, - "id": "0c8ea82a-f75e-47f8-95a6-1b3ff2bcc37b", + "id": "a7907ae9-2142-401f-8078-1bbd67ccadb4", "name": "Internal server error.", "originalRequest": { "url": { @@ -1972,7 +1972,7 @@ { "listen": "test", "script": { - "id": "18b9da0a-d5c5-4ec0-adc2-362088d18420", + "id": "78d55bc9-70eb-48fe-a194-8e683daabbe7", "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,7 +1997,7 @@ } ], "info": { - "_postman_id": "105cb9cd-f728-4814-b45e-655749ca873c", + "_postman_id": "ec1841da-e76e-458f-9f4d-81007d427ec4", "name": "Patient Eligibility Signposting API", "version": { "raw": "1.0.13-alpha",