diff --git a/lambdas/redis_sync/src/redis_sync.py b/lambdas/redis_sync/src/redis_sync.py index 8b3362668..e4afcc938 100644 --- a/lambdas/redis_sync/src/redis_sync.py +++ b/lambdas/redis_sync/src/redis_sync.py @@ -50,5 +50,6 @@ def handler(event, _): return {"status": "success", "message": no_records} except Exception: + # PoC: comment to make PR logger.exception("Error processing S3 event") return {"status": "error", "message": "Error processing S3 event"} diff --git a/specification/immunisation-fhir-api.json b/specification/immunisation-fhir-api.json index 901b20a3b..fea524bbb 100644 --- a/specification/immunisation-fhir-api.json +++ b/specification/immunisation-fhir-api.json @@ -3,7 +3,7 @@ "info": { "title": "Immunization-fhir-api", "version": "Computed and injected at build time by `scripts/set_version.py`", - "description": "## Overview\n \nUse this API to access a patient's immunisation record. It is part of the [Vaccinations Data Flow Management](https://digital.nhs.uk/services/vaccinations-data-flow-management). It is intended to extend and replace [Immunisation History - FHIR API](https://digital.nhs.uk/developer/api-catalogue/immunisation-history-fhir) and existing [Vaccination](https://digital.nhs.uk/developer/api-catalogue/vaccination) flows. \n\nYou can use this API to:\n \n- create and record a patient immunisation \n- search for a patient's immunisation records\n- get the details of an immunisation record\n- update an immunisation record \n- identify an immunisation record as entered in error \n \nYou cannot use this API to:\n \n- retrieve the immunisation record of multiple patients at once \n- record or update a patient's demographic details\n \nYou can create, read, update and delete events for the following vaccination types:\n \n- coronavirus (`COVID19`)\n- influenza (`FLU`)\n- measles, mumps and rubella (`MMR`)\n- human papillomavirus (`HPV`)\n- tetanus, diphtheria and polio (`3IN1`)\n- meningococcal infectious disease (`MENACWY`)\n- respiratory syncytial virus infection (`RSV`)\n \n### Data availability, timing and quality\n\nThis is a real-time service, constrained by the time taken for providers to transfer vaccination events. In most cases, a record will become available within 48 hours of the immunisation event.\n\nThe API search interaction will only return immunisation records based on a traced NHS number. Other interactions require the use of the immunisation ID assigned by the API to interact with individual records for read, update and delete.\n\nThe vaccination events for all disease types are limited to vaccinations administered on behalf of NHS England.\n\nThere is a limited scope of data validation upon receipt of the data. Whilst the data is generally of a good, reliable quality, consumers must be aware that data is shared as received, and users should consider the risk of potential absences or inaccuracies of the data. \n\n \n## Who can use this API \nThis API can only be used where there is a commercial, legal and clinical basis to do so. Make sure you have a valid use case before you go too far with your development.\n\nYou must demonstrate you have a valid use case as part of digital onboarding. \n\nYou must do this before you can go live (see [Onboarding](https://digital.nhs.uk/developer/api-catalogue/immunisation-fhir-api#overview--onboarding) below).\n\n### Who can access immunisation event records\n \nHealth and care organisations in England can access immunisation event records.\n\nLegitimate 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## API status and roadmap\nThe current roadmap includes enhancements to support all vaccines covered by the national Section 7a immunisation programme.\n \nThis API is in [Beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#statuses) for the following vaccine types:\n \n- respiratory syncytial virus (RSV)\n- influenza\n- human papillomavirus (HPV)\n\nThis API is in development for the following vaccine types:\n \n- Measles, Mumps and Rubella (MMR)\n- MenACWY\n- diphtheria, tetanus and polio (3-in-1)\n \nThis API will be configured to support all other section 7a vaccines from early 2026 onwards, adding support for the following vaccine types:\n \n- pneumococcal\n- shingles\n- pertussis\n- coronavirus (COVID-19) vaccinations\n- MMRV\n- diphtheria / tetanus / acellular pertussis / inactivated polio vaccine / haemophilus influenzae type b / hepatitis B (6-in-1)\n- rotavirus\n- meningococcal (MenB)\n- diphtheria / tetanus / acellular pertussis / inactivated polio vaccine (4-in-1)\n- haemophilus influenzae type b / meningococcal group C (Hib/MenC)\n- Bacillus Calmette-GuĂ©rin (BCG)\n- hepatitis B\n \nTo suggest new features, comment, or if you have any other queries, [contact us](https://digital.nhs.uk/developer/help-and-support).\n \n## Service level\nThis API will be a platinum service, meaning it is operational and supported 24 x 7 x 365.\n \nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n \n## Technology\n \nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\n \nIt conforms to the [FHIR](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#fhir) global standard for health care data exchange, specifically to [FHIR R4 (v4.0.1)](https://hl7.org/fhir/r4/), except that it does not support the [capabilities](http://hl7.org/fhir/R4/http.html#capabilities) interaction.\n \nIt includes some country-specific FHIR extensions, which conform to [FHIR UK Core](https://digital.nhs.uk/services/fhir-uk-core), specifically [fhir.r4.ukcore.stu2](https://simplifier.net/packages/fhir.r4.ukcore.stu2).\n \nYou do not need to know much about FHIR to use this API - FHIR APIs are just RESTful APIs that follow specific rules.\nIn particular:\n- resource names are capitalised and singular, and use US spellings, for example `/Immunization` not `/immunisations`\n- array names are singular, for example `entry` not `entries` for address lines\n- data items that are country-specific and thus not included in the FHIR global base resources are usually wrapped in an `extension` object\n \nThere are [libraries and SDKs available](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) 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## Security and authorisation\n \nThis API currently has a single access mode: [application-restricted access](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis), meaning we authenticate the calling application but not the end user.\n \nTo use this access mode, use the following 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## 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\n## Open source\n\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| Immunisation FHIR API | Source code for the API proxy, sandbox and specification. | [GitHub repo](https://github.dev/NHSDigital/immunisation-fhir-api/) |\n| FHIR libraries and SDKs | Various open source libraries for integrating with FHIR APIs. | [FHIR libraries and SDKs](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) |\n| nhs-number | Python package containing utilities for NHS numbers including validity checks, normalisation and generation. | [GitHub repo](https://github.com/uk-fci/nhs-number) \\| [Python Package index](https://pypi.org/project/nhs-number/) \\| [Docs](https://nhs-number.uk-fci.tech/) |\n\n## Environments and Testing\n| Environment | Base URL |\n| ----------------- | --------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4` |\n| Integration | `https://int.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4` | \n| Production | `https://api.service.nhs.uk/immunisation-fhir-api/FHIR/R4` |\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 stateless, so does not actually persist any updates\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\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* is stateful, so persists updates\n* includes authorisation, with options for application-restricted access \n\nFor read-only testing, we will provide an Immunisation records test pack soon.\n\nTo test creating, updating and deleting patient vaccination events, you must set up your own test data.\n\nFor more details see [integration testing with our RESTful APIs](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing-with-our-restful-apis).\n\n## Onboarding\n \nYou need to get your software approved by us before it can go live with this API.\nWe call this onboarding.\nThe onboarding process can sometimes be quite long, so it's worth planning well ahead.\n\nThis API is currently in private Beta, but we expect to open it to new consumers soon. As part of this process, you need to demonstrate that you can manage risks and that your software conforms technically with the requirements for this API. Information on this page might impact the design of your software.\n\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding#using-the-digital-onboarding-portal).\n\n## Related APIs\n\nThe following APIs are related to this API:\n\n### Immunisation History - FHIR API\nUse the [Immunisation History - FHIR API](https://digital.nhs.uk/developer/api-catalogue/immunisation-history-fhir) if you want to access vaccination records that are not yet available on this API.\n\n## Contact us\nFor help and support connecting to our APIs and to join our developer community, see [Help and support building healthcare software](https://digital.nhs.uk/developer/help-and-support). \n" + "description": "## Overview\n \nUse this API to access a patient's immunisation record. It is part of the [Vaccinations Data Flow Management](https://digital.nhs.uk/services/vaccinations-data-flow-management). It is intended to extend and replace [Immunisation History - FHIR API](https://digital.nhs.uk/developer/api-catalogue/immunisation-history-fhir) and existing [Vaccination](https://digital.nhs.uk/developer/api-catalogue/vaccination) flows. \n\nYou can use this API to:\n \n- create and record a patient immunisation \n- search for a patient's immunisation records\n- get the details of an immunisation record\n- update an immunisation record \n- identify an immunisation record as entered in error \n \nYou cannot use this API to:\n \n- retrieve the immunisation record of multiple patients at once \n- record or update a patient's demographic details\n \nYou can create, read, update and delete events for the following vaccination types:\n \n- coronavirus (`COVID19`)\n- influenza (`FLU`)\n- measles, mumps and rubella (`MMR`)\n- human papillomavirus (`HPV`)\n- tetanus, diphtheria and polio (`3IN1`)\n- meningococcal infectious disease (`MENACWY`)\n- respiratory syncytial virus infection (`RSV`)\n \n### Data availability, timing and quality\n\nThis is a real-time service, constrained by the time taken for providers to transfer vaccination events. In most cases, a record will become available within 48 hours of the immunisation event.\n\nThe API search interaction will only return immunisation records based on a traced NHS number. Other interactions require the use of the immunisation ID assigned by the API to interact with individual records for read, update and delete.\n\nThe vaccination events for all disease types are limited to vaccinations administered on behalf of NHS England.\n\nThere is a limited scope of data validation upon receipt of the data. Whilst the data is generally of a good, reliable quality, consumers must be aware that data is shared as received, and users should consider the risk of potential absences or inaccuracies of the data. \n\n \n## Who can use this API \nThis API can only be used where there is a commercial, legal and clinical basis to do so. Make sure you have a valid use case before you go too far with your development.\n\nYou must demonstrate you have a valid use case as part of digital onboarding. \n\nYou must do this before you can go live (see [Onboarding](https://digital.nhs.uk/developer/api-catalogue/immunisation-fhir-api#overview--onboarding) below).\n\n### Who can access immunisation event records\n \nHealth and care organisations in England can access immunisation event records.\n\nLegitimate 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## API status and roadmap\nThe current roadmap includes enhancements to support all vaccines covered by the national Section 7a immunisation programme.\n \nThis API is in [Beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#statuses) for the following vaccine types:\n \n- respiratory syncytial virus (RSV)\n- influenza\n- human papillomavirus (HPV)\n\nThis API is in development for the following vaccine types:\n \n- Measles, Mumps and Rubella (MMR)\n- MenACWY\n- diphtheria, tetanus and polio (3-in-1)\n \nThis API will be configured to support all other section 7a vaccines from early 2026 onwards, adding support for the following vaccine types:\n \n- pneumococcal\n- shingles\n- pertussis\n- coronavirus (COVID-19) vaccinations\n- MMRV\n- diphtheria / tetanus / acellular pertussis / inactivated polio vaccine / haemophilus influenzae type b / hepatitis B (6-in-1)\n- rotavirus\n- meningococcal (MenB)\n- diphtheria / tetanus / acellular pertussis / inactivated polio vaccine (4-in-1)\n- haemophilus influenzae type b / meningococcal group C (Hib/MenC)\n- Bacillus Calmette-Guérin (BCG)\n- hepatitis B\n \nTo suggest new features, comment, or if you have any other queries, [contact us](https://digital.nhs.uk/developer/help-and-support).\n \n## Service level\nThis API will be a platinum service, meaning it is operational and supported 24 x 7 x 365.\n \nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n \n## Technology\n \nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\n \nIt conforms to the [FHIR](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#fhir) global standard for health care data exchange, specifically to [FHIR R4 (v4.0.1)](https://hl7.org/fhir/r4/), except that it does not support the [capabilities](http://hl7.org/fhir/R4/http.html#capabilities) interaction.\n \nIt includes some country-specific FHIR extensions, which conform to [FHIR UK Core](https://digital.nhs.uk/services/fhir-uk-core), specifically [fhir.r4.ukcore.stu2](https://simplifier.net/packages/fhir.r4.ukcore.stu2).\n \nYou do not need to know much about FHIR to use this API - FHIR APIs are just RESTful APIs that follow specific rules.\nIn particular:\n- resource names are capitalised and singular, and use US spellings, for example `/Immunization` not `/immunisations`\n- array names are singular, for example `entry` not `entries` for address lines\n- data items that are country-specific and thus not included in the FHIR global base resources are usually wrapped in an `extension` object\n \nThere are [libraries and SDKs available](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) 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## Security and authorisation\n \nThis API currently has a single access mode: [application-restricted access](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis), meaning we authenticate the calling application but not the end user.\n \nTo use this access mode, use the following 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## 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\n## Open source\n\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| Immunisation FHIR API | Source code for the API proxy, sandbox and specification. | [GitHub repo](https://github.dev/NHSDigital/immunisation-fhir-api/) |\n| FHIR libraries and SDKs | Various open source libraries for integrating with FHIR APIs. | [FHIR libraries and SDKs](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) |\n| nhs-number | Python package containing utilities for NHS numbers including validity checks, normalisation and generation. | [GitHub repo](https://github.com/uk-fci/nhs-number) \\| [Python Package index](https://pypi.org/project/nhs-number/) \\| [Docs](https://nhs-number.uk-fci.tech/) |\n\n## Environments and Testing\n| Environment | Base URL |\n| ----------------- | --------------------------------------------------------------------- |\n| Sandbox | `https://sandbox.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4` |\n| Integration | `https://int.api.service.nhs.uk/immunisation-fhir-api/FHIR/R4` | \n| Production | `https://api.service.nhs.uk/immunisation-fhir-api/FHIR/R4` |\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 stateless, so does not actually persist any updates\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\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* is stateful, so persists updates\n* includes authorisation, with options for application-restricted access \n\nFor read-only testing, we will provide an Immunisation records test pack soon.\n\nTo test creating, updating and deleting patient vaccination events, you must set up your own test data.\n\nFor more details see [integration testing with our RESTful APIs](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing-with-our-restful-apis).\n\n## Onboarding\n \nYou need to get your software approved by us before it can go live with this API.\nWe call this onboarding.\nThe onboarding process can sometimes be quite long, so it's worth planning well ahead.\n\nThis API is currently in private Beta, but we expect to open it to new consumers soon. As part of this process, you need to demonstrate that you can manage risks and that your software conforms technically with the requirements for this API. Information on this page might impact the design of your software.\n\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding#using-the-digital-onboarding-portal).\n\n## Related APIs\n\nThe following APIs are related to this API:\n\n### Immunisation History - FHIR API\nUse the [Immunisation History - FHIR API](https://digital.nhs.uk/developer/api-catalogue/immunisation-history-fhir) if you want to access vaccination records that are not yet available on this API.\n\n## Contact us\nFor help and support connecting to our APIs and to join our developer community, see [Help and support building healthcare software](https://digital.nhs.uk/developer/help-and-support). \n" }, "servers": [ { @@ -875,7 +875,7 @@ "get": { "summary": "Search for a patient's immunisation records", "operationId": "searchImmunization", - "description": "## Overview\nUse this interaction to search for a patient's vaccination records using their NHS number and DiseaseType. You can request the patient's vaccination history for one or more specified 'disease types'. You may limit the vaccination records by specifying date criteria, for example if you only need to know about vaccinations administered in the last 12 months. \n Location related data items are included. Patient location sensitivity indicators (such as flags for sensitive patient records) should be used to apply data filtering as appropriate. The response will not include contained resources for patient or practitioner within each immunization resource it returns. A single, separate patient resource will be included in the bundle and referenced by each immunization. \nVaccination events submitted without an NHS Number will not be available for retrieval via this interaction. Also, where a patient has a change of NHS Number some or all records may be unavailable via this interaction for a short period of time while records are updated. \nYou must be authorised for the search interaction and the disease type(s) specified in your search in order to access the records. \n \n### Search using POST\n \nA POST search interaction is supported in accordance with [FHIR guidance](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#fhir) as an alternative to a search with the GET verb. A POST search allows you to supply some or all parameters in the body of the request should you need to do so. It offers the same search functionality as the GET search interaction. \n\nNote that the API call for the POST search is different: \n\n`POST /Immunization/_search`\n\n## Sandbox testing\nYou can test the following scenarios in our sandbox environment:\n\n| Scenario | Request | Response |\n| ----------------------------------------| ----------------------------------------------------------------------------------------------------------------------------------------------------------------| ------------------------------------------------------------------------|\n| | | |\n| Immunisation history found | `patient.identifier`=`https://fhir.nhs.uk/Id/nhs-number|9000000009` | HTTP Status 200 with immunisation data in response body |\n| Bad Request | Didn't pass required fields `patient.identifier` or `-immunization.target` | HTTP Status 400 Bad Request |\n", + "description": "## Overview\nUse this interaction to search for a patient's vaccination records using their NHS number and DiseaseType. You can request the patient's vaccination history for one or more specified 'disease types'. You may limit the vaccination records by specifying date criteria, for example if you only need to know about vaccinations administered in the last 12 months. \n Location related data items are included. Patient location sensitivity indicators (such as flags for sensitive patient records) should be used to apply data filtering as appropriate. The response will not include contained resources for patient or practitioner within each immunization resource it returns. A single, separate patient resource will be included in the bundle and referenced by each immunization. \nVaccination events submitted without an NHS Number will not be available for retrieval via this interaction. Also, where a patient has a change of NHS Number some or all records may be unavailable via this interaction for a short period of time while records are updated. \nYou must be authorised for the search interaction and the disease type(s) specified in your search in order to access the records. \n \n### Search using POST\n \nA POST search interaction is supported in accordance with [FHIR guidance](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#fhir) as an alternative to a search with the GET verb. A POST search allows you to supply some or all parameters in the body of the request should you need to do so. It offers the same search functionality as the GET search interaction. \n\nNote that the API call for the POST search is different: \n\n`POST /Immunization/_search`\n\n## Sandbox testing\nYou can test the following scenarios in our sandbox environment:\n\n| Scenario | Request | Response |\n| ----------------------------------------| ----------------------------------------------------------------------------------------------------------------------------------------------------------------| ------------------------------------------------------------------------|\n| | | |\n| Immunisation history found | `patient.identifier`=https://fhir.nhs.uk/Id/nhs-number|9000000009 | HTTP Status 200 with immunisation data in response body |\n| Bad Request | Didn't pass required fields `patient.identifier` or `-immunization.target` | HTTP Status 400 Bad Request |\n", "parameters": [ { "$ref": "#/components/parameters/CorrelationID" @@ -3616,7 +3616,7 @@ } }, "4XX-imms-search": { - "description": "Below are examples of potential HTTP status codes and their associated error codes, which could be returned in the event of a fault.\n\n| HTTP status | Error code | Description | Example |\n| ----------- | -------------------------- | --------------------------------------------- |--------------------------------------------------------------------------------------|\n| 400 | Bad Request | Search parameter immunization.target is either missing or not in the expected format. | {\"resourceType\":\"OperationOutcome\",\"id\":\"0f985bbd-a25e-4644-bcab-e11ac9f1cf3a\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"invalid\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"INVALID\"}]},\"diagnostics\":\"Search parameter -immunization.target must have one or more values.\"}]} |\n| 400 | Bad Request | Search parameter patient.identifier is either missing or not in the expected format. | {\"resourceType\":\"OperationOutcome\",\"id\":\"ee3ce747-95dc-40e9-be2e-404edf203444\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"invalid\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"INVALID\"}]},\"diagnostics\":\"Search parameter patient.identifier must have one value.\"}]} |\n| 400 | Bad Request | Invalid value for patient.identifier | {\"resourceType\":\"OperationOutcome\",\"id\":\"ec7f1d44-6658-42cc-bffb-af790beba382\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"invalid\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"INVALID\"}]},\"diagnostics\":\"patient.identifier must be in the format of \\\"https://fhir.nhs.uk/Id/nhs-number|{NHS number}\\\" e.g. \\\"https://fhir.nhs.uk/Id/nhs-number|9000000009\\\"\"}]} |\n| 400 | Bad Request | Invalid date.to/date.from format | {\"resourceType\": \"OperationOutcome\", \"id\": \"ad3d7881-6f2e-418f-ae13-75a07d7269d7\", \"meta\": {\"profile\": [\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]}, \"issue\": [{\"severity\": \"error\", \"code\": \"invalid\", \"details\": {\"coding\": [{\"system\": \"https://fhir.nhs.uk/Codesystem/http-error-codes\", \"code\": \"INVALID\"}]}, \"diagnostics\": \"Search parameter -date.to must be in format: YYYY-MM-DD\"}]} |\n| 400 | Bad Request | Invalid value for \"-immunization.target\" | {\"resourceType\": \"OperationOutcome\", \"id\": \"f1753822-5667-4562-a288-1544a0b66d00\", \"meta\": {\"profile\": [\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]}, \"issue\": [{\"severity\": \"error\", \"code\": \"invalid\", \"details\": {\"coding\": [{\"system\": \"https://fhir.nhs.uk/Codesystem/http-error-codes\", \"code\": \"INVALID\"}]}, \"diagnostics\": \"immunization-target must be one or more of the following: COVID19,FLU,HPV,MMR,3IN1,MENACWY,RSV\"}]} |\n| 401 | Unauthorized | Authorization is required for the interaction that was attempted | {\"resourceType\":\"OperationOutcome\",\"id\":\"a5abca2a-4eda-41da-b2cc-95d48c6b791d\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"expired\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"SEND_UNAUTHORIZED\"}]},\"diagnostics\":\"The sender has not provided a token or it has expired or is otherwise invalid.\"}]} |\n| 403 | Forbidden | The sender does not have permissions to access this resource | {\"resourceType\":\"OperationOutcome\",\"id\":\"a5abca2a-4eda-41da-b2cc-95d48c6b791d\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"forbidden\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"SEND_UNAUTHORIZED\"}]},\"diagnostics\":\"The sender does not have permissions to access this resource. Please check your credentials and permissions.\"}]} |\n| 403 | Forbidden | The sender does not have permission for the specific operation or vaccine type | {\"resourceType\": \"OperationOutcome\", \"id\": \"1b7eec0a-316f-4f6e-a342-4b37f6705050\", \"meta\": {\"profile\": [\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]}, \"issue\": [{\"severity\": \"error\", \"code\": \"forbidden\", \"details\": {\"coding\": [{\"system\": \"https://fhir.nhs.uk/Codesystem/http-error-codes\", \"code\": \"FORBIDDEN\"}]}, \"diagnostics\": \"Unauthorized request for vaccine type\"}]} |\n", + "description": "Below are examples of potential HTTP status codes and their associated error codes, which could be returned in the event of a fault.\n\n| HTTP status | Error code | Description | Example |\n| ----------- | -------------------------- | --------------------------------------------- |--------------------------------------------------------------------------------------|\n| 400 | Bad Request | Search parameter immunization.target is either missing or not in the expected format. | {\"resourceType\":\"OperationOutcome\",\"id\":\"0f985bbd-a25e-4644-bcab-e11ac9f1cf3a\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"invalid\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"INVALID\"}]},\"diagnostics\":\"Search parameter -immunization.target must have one or more values.\"}]} |\n| 400 | Bad Request | Search parameter patient.identifier is either missing or not in the expected format. | {\"resourceType\":\"OperationOutcome\",\"id\":\"ee3ce747-95dc-40e9-be2e-404edf203444\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"invalid\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"INVALID\"}]},\"diagnostics\":\"Search parameter patient.identifier must have one value.\"}]} |\n| 400 | Bad Request | Invalid value for patient.identifier | {\"resourceType\":\"OperationOutcome\",\"id\":\"ec7f1d44-6658-42cc-bffb-af790beba382\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"invalid\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"INVALID\"}]},\"diagnostics\":\"patient.identifier must be in the format of \\\"https://fhir.nhs.uk/Id/nhs-number|{NHS number}\\\" e.g. \\\"https://fhir.nhs.uk/Id/nhs-number|9000000009\\\"\"}]} |\n| 400 | Bad Request | Invalid date.to/date.from format | {\"resourceType\": \"OperationOutcome\", \"id\": \"ad3d7881-6f2e-418f-ae13-75a07d7269d7\", \"meta\": {\"profile\": [\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]}, \"issue\": [{\"severity\": \"error\", \"code\": \"invalid\", \"details\": {\"coding\": [{\"system\": \"https://fhir.nhs.uk/Codesystem/http-error-codes\", \"code\": \"INVALID\"}]}, \"diagnostics\": \"Search parameter -date.to must be in format: YYYY-MM-DD\"}]} |\n| 400 | Bad Request | Invalid value for \"-immunization.target\" | {\"resourceType\": \"OperationOutcome\", \"id\": \"f1753822-5667-4562-a288-1544a0b66d00\", \"meta\": {\"profile\": [\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]}, \"issue\": [{\"severity\": \"error\", \"code\": \"invalid\", \"details\": {\"coding\": [{\"system\": \"https://fhir.nhs.uk/Codesystem/http-error-codes\", \"code\": \"INVALID\"}]}, \"diagnostics\": \"immunization-target must be one or more of the following: COVID19,FLU,HPV,MMR,3IN1,MENACWY,RSV\"}]} |\n| 401 | Unauthorized | Authorization is required for the interaction that was attempted | {\"resourceType\":\"OperationOutcome\",\"id\":\"a5abca2a-4eda-41da-b2cc-95d48c6b791d\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"expired\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"SEND_UNAUTHORIZED\"}]},\"diagnostics\":\"The sender has not provided a token or it has expired or is otherwise invalid.\"}]} |\n| 403 | Forbidden | The sender does not have permissions to access this resource | {\"resourceType\":\"OperationOutcome\",\"id\":\"a5abca2a-4eda-41da-b2cc-95d48c6b791d\",\"meta\":{\"profile\":[\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]},\"issue\":[{\"severity\":\"error\",\"code\":\"forbidden\",\"details\":{\"coding\":[{\"system\":\"https://fhir.nhs.uk/Codesystem/http-error-codes\",\"code\":\"SEND_UNAUTHORIZED\"}]},\"diagnostics\":\"The sender does not have permissions to access this resource. Please check your credentials and permissions.\"}]} |\n| 403 | Forbidden | The sender does not have permission for the specific operation or vaccine type | {\"resourceType\": \"OperationOutcome\", \"id\": \"1b7eec0a-316f-4f6e-a342-4b37f6705050\", \"meta\": {\"profile\": [\"https://simplifier.net/guide/UKCoreDevelopment2/ProfileUKCore-OperationOutcome\"]}, \"issue\": [{\"severity\": \"error\", \"code\": \"forbidden\", \"details\": {\"coding\": [{\"system\": \"https://fhir.nhs.uk/Codesystem/http-error-codes\", \"code\": \"FORBIDDEN\"}]}, \"diagnostics\": \"Unauthorized request for vaccine type\"}]} |\n", "content": { "application/fhir+json": { "schema": {