---
title: "Add impairments"
method: POST
path: "/List"
---

# Add impairments

`POST /List`

## Overview
Use this endpoint to create a list of impairments held within the [Reasonable Adjustment Flag](https://digital.nhs.uk/services/reasonable-adjustment-flag) stored on the [NHS Spine](https://digital.nhs.uk/services/spine). These impairments will likely have been captured during the discussion between the clinician and the patient or their carer. Patients may however decline to provide details of their impairments if they do not want to share them. To capture an impairment the member of staff selects an impairment type and then provides additional information using a free text field. For more details regards impairments see [How the Reasonable Adjustment Flag works](https://digital.nhs.uk/services/reasonable-adjustment-flag#how-the-reasonable-adjustment-flag-works).

For full details of this API resource see [CareConnect-RARecord-List-1](https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-RARecord-List-1)

## Headers

- `Authorization` string, ^Bearer\ [[:ascii:]]+$
- `NHSD-Session-URID` string
- `X-Correlation-ID` string
- `X-Request-ID` string

## Response `201`

Successful response.

## Other responses

- `400` — Invalid parameters.
- `4XX` — Outcome of an operation that does not result in a resource or bundle being returned (e.g. error, async/batch submission). There are a number of possible error codes that can be returned along with a more detailed description in the `display` field. There are general outcomes: | Code | Response Code | Description | | -------------------------- | ------------- | --------------------------------------------- | | ACCESS_DENIED | 401 | Used when the user does not have permission for a particular request. e.g. when their ASID does not have the correct interactions attached to it. | | UNABLE_TO_CALL_SERVICE | 408 | For a synchronous request, the downstream domain processing has not completed within the configured timeout period. | | UNSUPPORTED_SERVICE | 400 | The service the user requested is an endpoint that does not exist - so is unsupported. e.g. /Patient/9999999999/Pets | | RESOURCE_NOT_FOUND | 404 | The resource was not found. | | INVALID_RESOURCE_ID | 400 | The resource ID was not valid. For example a NHS number is presented which is not a valid NHS number. | | INVALIDATED_RESOURCE | 404 | The resource has been invalidated so could not be returned. | Update outcomes: | Code | Response Code | Description | | -------------------------- | ------------- | --------------------------------------------- | | PRECONDITION_FAILED | 412 | Request missing basic requirements such as If-Match header (or invalid headers). | | RESOURCE_VERSION_MISMATCH | 409 | The resource version has changed since your last read, so the update has been rejected. | | FORBIDDEN_UPDATE | 403 | The user is not permitted to update certain resources or elements - a detailed description will be added to the display. For example - updating a sensitive patient or adding a formal death notification is only permitted from certain systems. | | VALIDATION_ERROR | 400 | This it the "default" error thrown when no others are applicable. | | INVALID_UPDATE | 400 | The update was invalid - a detailed description will be added to the display. | | MISSING_VALUE | 400 | There was a missing value in the request. For example - a name update that is missing the surname. The missing value will be presented in the display. | | INVALID_VALUE | 400 | There was an invalid value in the request. For example - a name update where the surname is too long. The invalid value and field will be presented in the display. | | UNSUPPORTED_VALUE | 400 | There was an unsupported value in the request. The value may be valid in the schema - however it could be a legacy value that we do not allow to be set anymore. For example - setting the death notification status to 'removed'. The invalid value and field will be presented in the display. | | TOO_FEW_VALUES_SUBMITTED | 400 | The field in question has a minimum number of items and the user sent too few. | | TOO_MANY_VALUES_SUBMITTED | 400 | The field in question has a maximum number of items and the user sent too many. | | ADDITIONAL_PROPERTIES | 400 | The user sent additional properties within the dictionary. For example sending a patient patch and attempting to add 'pets', which is not an allowed field within the patient resource. | Polling outcomes: | Code | Response Code | Description | | -------------------------- | ------------- | --------------------------------------------- | | POLLING_ID_NOT_FOUND | 404 | When polling the ID was not found - or it was not applicable such as a non polling ID. | | POLLING_MESSAGE_FAILURE | 422 | When polling an ID, a message was found to be in a failed state, so there is nothing else to be done and should be considered a failure. |

---

[API](https://skmtc.dev/nhs/apis/reasonable-adjustment-flag-api.md) · [All operations](https://skmtc.dev/nhs/apis/reasonable-adjustment-flag-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nhs/reasonable-adjustment-flag-api/revisions/dbd8c7eb34fb/schema)
