Acknowledgement Framework

This guidance is under active development by NHS England and content may be added or updated on a regular basis.

CodeSystems

UKCoreMessageEvent

Scope: Profile MessageHeader

This code system https://fhir.hl7.org.uk/CodeSystem/UKCore-MessageEvent defines many codes, but they are not represented here

Note: This CodeSystem is currently retired. A discussion will need to take place as to how this CodeSystem can be used and what values should be added, as well as its retired status and visibility in UK Core.

In the meantime, the codes in the CodeSystem can be accessed directly by clicking here.

Below are the codes in the CodeSystem that existed as of 20/01/2023.

Code System Display
appointment https://fhir.nhs.uk/CodeSystem/message-event Appointment
dispense-notification https://fhir.nhs.uk/CodeSystem/message-event Dispense Notification
dispense-notification-update https://fhir.nhs.uk/CodeSystem/message-event Dispense Notification Update
document https://fhir.nhs.uk/CodeSystem/message-event Document
document-notification https://fhir.nhs.uk/CodeSystem/message-event Document Notification
notification https://fhir.nhs.uk/CodeSystem/message-event Event Notification
patient https://fhir.nhs.uk/CodeSystem/message-event Patient Demographics
encounter https://fhir.nhs.uk/CodeSystem/message-event Patient Encounter
referral https://fhir.nhs.uk/CodeSystem/message-event Patient Referral
patient-notification https://fhir.nhs.uk/CodeSystem/message-event Patient Notifications
prescription-order https://fhir.nhs.uk/CodeSystem/message-event Prescription Order
prescription-order-response https://fhir.nhs.uk/CodeSystem/message-event Prescription Order Response
prescription-order-update https://fhir.nhs.uk/CodeSystem/message-event Prescription Order Update
unsolicited-action https://fhir.nhs.uk/CodeSystem/message-event Unsolicited actions
unsolicited-observations https://fhir.nhs.uk/CodeSystem/message-event Unsolicited Observations
vaccinations https://fhir.nhs.uk/CodeSystem/message-event Vaccinations
booking-request https://fhir.nhs.uk/CodeSystem/message-events-bars Booking Request - Request
booking-response https://fhir.nhs.uk/CodeSystem/message-events-bars Booking Request - Response
servicerequest-request https://fhir.nhs.uk/CodeSystem/message-events-bars Service Request - Request
servicerequest-response https://fhir.nhs.uk/CodeSystem/message-events-bars Service Request - Response

ExampleMessageReasonCodes

Scope: Profile MessageHeader

Note: This is an Example binding in MessageHeader.reason and so there will need to be a further discussion about whether any changes or codes should be added to this CodeSystem in the future.

This code system http://terminology.hl7.org/CodeSystem/message-reasons-encounter defines the following codes:

CodeDisplayDefinition
admitAdmitThe patient has been admitted.
dischargeDischargeThe patient has been discharged.
absentAbsentThe patient has temporarily left the institution.
returnReturnedThe patient has returned from a temporary absence.
movedMovedThe patient has been moved to a new location.
editEditEncounter details have been updated (e.g. to correct a coding error).

ResponseType

Scope: Profile MessageHeader

This code system http://hl7.org/fhir/response-code defines the following codes:

CodeDisplayDefinition
okOKThe message was accepted and processed without error.
transient-errorTransient ErrorSome internal unexpected error occurred - wait and try again. Note - this is usually used for things like database unavailable, which may be expected to resolve, though human intervention may be required.
fatal-errorFatal ErrorThe message was rejected because of a problem with the content. There is no point in re-sending without change. The response narrative SHALL describe the issue.

IssueSeverity

Scope: Profile OperationOutcome

This code system http://hl7.org/fhir/issue-severity defines the following codes:

CodeDisplayDefinition
fatalFatalThe issue caused the action to fail and no further checking could be performed.
errorErrorThe issue is sufficiently important to cause the action to fail.
warningWarningThe issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired.
informationInformationThe issue has no relation to the degree of success of the action.

IssueType

Scope: Profile OperationOutcome

This code system http://hl7.org/fhir/issue-type defines the following codes:

LvlCodeDisplayDefinition
1invalidInvalid ContentContent invalid against the specification or a profile.
2  structureStructural IssueA structural issue in the content such as wrong namespace, unable to parse the content completely, invalid syntax, etc.
2  requiredRequired element missingA required element is missing.
2  valueElement value invalidAn element or header value is invalid.
2  invariantValidation rule failedA content validation rule failed - e.g. a schematron rule.
1securitySecurity ProblemAn authentication/authorization/permissions issue of some kind.
2  loginLogin RequiredThe client needs to initiate an authentication process.
2  unknownUnknown UserThe user or system was not able to be authenticated (either there is no process, or the proferred token is unacceptable).
2  expiredSession ExpiredUser session expired; a login may be required.
2  forbiddenForbiddenThe user does not have the rights to perform this action.
2  suppressedInformation SuppressedSome information was not or might not have been returned due to business rules, consent or privacy rules, or access permission constraints. This information may be accessible through alternate processes.
1processingProcessing FailureProcessing issues. These are expected to be final e.g. there is no point resubmitting the same content unchanged.
2  not-supportedContent not supportedThe interaction, operation, resource or profile is not supported.
2  duplicateDuplicateAn attempt was made to create a duplicate record.
2  multiple-matchesMultiple MatchesMultiple matching records were found when the operation required only one match.
2  not-foundNot FoundThe reference provided was not found. In a pure RESTful environment, this would be an HTTP 404 error, but this code may be used where the content is not found further into the application architecture.
3    deletedDeletedThe reference pointed to content (usually a resource) that has been deleted.
2  too-longContent Too LongProvided content is too long (typically, this is a denial of service protection type of error).
2  code-invalidInvalid CodeThe code or system could not be understood, or it was not valid in the context of a particular ValueSet.code.
2  extensionUnacceptable ExtensionAn extension was found that was not acceptable, could not be resolved, or a modifierExtension was not recognized.
2  too-costlyOperation Too CostlyThe operation was stopped to protect server resources; e.g. a request for a value set expansion on all of SNOMED CT.
2  business-ruleBusiness Rule ViolationThe content/operation failed to pass some business rule and so could not proceed.
2  conflictEdit Version ConflictContent could not be accepted because of an edit conflict (i.e. version aware updates). (In a pure RESTful environment, this would be an HTTP 409 error, but this code may be used where the conflict is discovered further into the application architecture.).
1transientTransient IssueTransient processing issues. The system receiving the message may be able to resubmit the same content once an underlying issue is resolved.
2  lock-errorLock ErrorA resource/record locking failure (usually in an underlying database).
2  no-storeNo Store AvailableThe persistent store is unavailable; e.g. the database is down for maintenance or similar action, and the interaction or operation cannot be processed.
2  exceptionExceptionAn unexpected internal error has occurred.
2  timeoutTimeoutAn internal timeout has occurred.
2  incompleteIncomplete ResultsNot all data sources typically accessed could be reached or responded in time, so the returned information might not be complete (applies to search interactions and some operations).
2  throttledThrottledThe system is not prepared to handle this request due to load management.
1informationalInformational NoteA message unrelated to the processing success of the completed operation (examples of the latter include things like reminders of password expiry, system maintenance times, etc.).

AcknowledgementFrameworkResponseCode

Scope: Profile OperationOutcome

This CodeSystem includes the majority of codes from CodeSystem http://terminology.hl7.org/CodeSystem/operation-outcome in the HL7 International base standard. In addition, additional codes have been added which are displayed in bold at the bottom of the list.

The System URL has yet to be determined and the CodeSystem file will also need to be created.

Code Display
DELETE_MULTIPLE_MATCHES Error: Multiple matches exist for the conditional delete
MSG_AUTH_REQUIRED You must authenticate before you can use this service
MSG_BAD_FORMAT Bad Syntax: "%s" must be a %s'
MSG_BAD_SYNTAX Bad Syntax in %s
MSG_CANT_PARSE_CONTENT Unable to parse feed (entry content type = "%s")
MSG_CANT_PARSE_ROOT Unable to parse feed (root element name = "%s")
MSG_CREATED New resource created
MSG_DATE_FORMAT The Date value %s is not in the correct format (Xml Date Format required)
MSG_DELETED This resource has been deleted
MSG_DELETED_DONE Resource deleted
MSG_DELETED_ID The resource "%s" has been deleted
MSG_DUPLICATE_ID Duplicate Id %s for resource type %s
MSG_ERROR_PARSING Error parsing resource Xml (%s)
MSG_ID_INVALID Id "%s" has an invalid character "%s"
MSG_ID_TOO_LONG Id "%s" too long (length limit 36)
MSG_INVALID_ID Id not accepted
MSG_JSON_OBJECT Json Source for a resource should start with an object
MSG_LOCAL_FAIL Unable to resolve local reference to resource %s
MSG_NO_EXIST Resource Id "%s" does not exist
MSG_NO_MATCH No Resource found matching the query "%s"
MSG_NO_MODULE No module could be found to handle the request "%s"
MSG_NO_SUMMARY No Summary for this resource
MSG_OP_NOT_ALLOWED Operation %s not allowed for resource %s (due to local configuration)
MSG_PARAM_CHAINED Unknown chained parameter name "%s"
MSG_PARAM_INVALID Parameter "%s" content is invalid
MSG_PARAM_MODIFIER_INVALID Parameter "%s" modifier is invalid
MSG_PARAM_NO_REPEAT Parameter "%s" is not allowed to repeat
MSG_PARAM_UNKNOWN Parameter "%s" not understood
MSG_RESOURCE_EXAMPLE_PROTECTED Resources with identity "example" cannot be deleted (for testing/training purposes)
MSG_RESOURCE_ID_FAIL Unable to allocate resource id
MSG_RESOURCE_ID_MISMATCH Resource Id Mismatch
MSG_RESOURCE_ID_MISSING Resource Id Missing
MSG_RESOURCE_NOT_ALLOWED Not allowed to submit a resource for this operation
MSG_RESOURCE_REQUIRED A resource is required
MSG_RESOURCE_TYPE_MISMATCH Resource Type Mismatch
MSG_SORT_UNKNOWN Unknown sort parameter name "%s"
MSG_TRANSACTION_DUPLICATE_ID Duplicate Identifier in transaction: %s
MSG_TRANSACTION_MISSING_ID Missing Identifier in transaction - an entry.id must be provided
MSG_UNHANDLED_NODE_TYPE Unhandled xml node type "%s"
MSG_UNKNOWN_CONTENT Unknown Content (%s) at %s
MSG_UNKNOWN_OPERATION Unknown FHIR http operation
MSG_UNKNOWN_TYPE Resource Type "%s" not recognised
MSG_UPDATED Existing resource updated
MSG_VERSION_AWARE Version aware updates are required for this resource
MSG_VERSION_AWARE_CONFLICT Update Conflict (server current version = "%s", client version referenced = "%s")
MSG_VERSION_AWARE_URL Version specific URL not recognised
MSG_WRONG_NS This does not appear to be a FHIR element or resource (wrong namespace "%s")
SEARCH_MULTIPLE Error: Multiple matches exist for %s search parameters "%s"
SEARCH_NONE Error: no processable search found for %s search parameters "%s"
UPDATE_MULTIPLE_MATCHES Error: Multiple matches exist for the conditional update

Propose the following to be added to CodeSystem operation-outcome:

Code Display Definition
UNRECOGNISED_RECIPIENT Recipient is not recognised Recipient is not recognised
UNRECOGNISED_SENDER Sender is not recognised Sender is not recognised
NOT_APPROVED_ATTACHMENT_FILE_TYPE Attachment file type is not approved Attachment file type is not approved
UNSUPPORTED_ATTACHMENT_FILE_TYPE Attachment file type is not supported Attachment file type is not supported
DUPLICATE_BUNDLE_ID Bundle id is a duplicate Bundle id is a duplicate
EXCESSIVE_SIZE Payload size is too large Payload size is too large
TECHNICAL_SUCCESS Request successfully received Request successfully received and no technical issues were identified
BUSINESS_SUCCESS Business request successfully actioned A person has successfully actioned the request.
BUSINESS_FAIL Busines request not actioned A person has declined to action the request.
BUSINESS_FAIL_DATA_INAPPROPRIATE Data is inappropriate The data makes no sense, dubious, contradictory, using foreign language, or other similar issues.
BUSINESS_FAIL_RECIPIENT_INAPPROPRIATE Recipient is inappropriate The recipient of the request cannot, or should not, action the request.
BUSINESS_FAIL_SENDER_INAPPROPRIATE Sender is inappropriate The sender of the request should not have sent the request (e.g. missing relevant qualifications).
BUSINESS_FAIL_ALREADY_EXISTS Not added or registered because already exists The specified person, entity, process, or other similar concept, cannot be added or registered because they/it already exists on the system.
BUSINESS_FAIL_MAX_CAPACITY System has reached maximum capacity The specified person, entity, process, or other similar concept, cannot be added or registered because the system has reached its maximum capacity.
BUSINESS_FAIL_NOT_ALLOWED Not added or registered because is not allowed The specified person, entity, process, or other similar concept, is not allowed to be added or registered (e.g. a patient is banned).
PATIENT_KNOWN Patient is known and registered at this clinical setting Patient is known and registered at this clinical setting
PATIENT_NOT_KNOWN Patient is not known or registered at this clinical setting Patient is not known or registered at this clinical setting
PATIENT_PREVIOUSLY_KNOWN Patient is no longer at this clinical setting Patient is no longer at this clinical setting
PATIENT_KNOWN_AND_DECEASED Patient is known at this clinical setting but has recently deceased Patient is known at this clinical setting but has recently deceased

messageheader-response-request

Scope: Extension messageheader-response-request

This code system http://hl7.org/fhir/messageheader-response-request defines the following codes:

CodeDisplayDefinition
alwaysAlwaysinitiator expects a response for this message.
on-errorError/reject conditions onlyinitiator expects a response only if in error.
neverNeverinitiator does not expect a response.
on-successSuccessful completion onlyinitiator expects a response only if successful.

back to top