@@ -26,27 +26,26 @@ class FHIRIssueCode(str, Enum):
2626
2727
2828class FHIRSpineErrorCode (str , Enum ):
29- INVALID_NHS_NUMBER = "INVALID_NHS_NUMBER "
29+ ACCESS_DENIED = "ACCESS_DENIED "
3030 INVALID_PARAMETER = "INVALID_PARAMETER"
3131 BAD_REQUEST = "BAD_REQUEST"
3232 INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR"
3333 REFERENCE_NOT_FOUND = "REFERENCE_NOT_FOUND"
3434
3535
3636class APIErrorResponse :
37- def __init__ ( # noqa: PLR0913
37+ def __init__ (
3838 self ,
3939 status_code : HTTPStatus ,
4040 fhir_issue_code : FHIRIssueCode ,
4141 fhir_issue_severity : FHIRIssueSeverity ,
42- fhir_coding_system : str ,
4342 fhir_error_code : str ,
4443 fhir_display_message : str ,
4544 ) -> None :
4645 self .status_code = status_code
4746 self .fhir_issue_code = fhir_issue_code
4847 self .fhir_issue_severity = fhir_issue_severity
49- self .fhir_coding_system = fhir_coding_system
48+ self .fhir_coding_system = "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1"
5049 self .fhir_error_code = fhir_error_code
5150 self .fhir_display_message = fhir_display_message
5251
@@ -96,7 +95,6 @@ def log_and_generate_response(
9695 status_code = HTTPStatus .UNPROCESSABLE_ENTITY ,
9796 fhir_issue_code = FHIRIssueCode .VALUE ,
9897 fhir_issue_severity = FHIRIssueSeverity .ERROR ,
99- fhir_coding_system = "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1" ,
10098 fhir_error_code = FHIRSpineErrorCode .INVALID_PARAMETER ,
10199 fhir_display_message = "The supplied value was not recognised by the API." ,
102100)
@@ -105,7 +103,6 @@ def log_and_generate_response(
105103 status_code = HTTPStatus .UNPROCESSABLE_ENTITY ,
106104 fhir_issue_code = FHIRIssueCode .VALUE ,
107105 fhir_issue_severity = FHIRIssueSeverity .ERROR ,
108- fhir_coding_system = "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1" ,
109106 fhir_error_code = FHIRSpineErrorCode .INVALID_PARAMETER ,
110107 fhir_display_message = "The supplied category was not recognised by the API." ,
111108)
@@ -114,7 +111,6 @@ def log_and_generate_response(
114111 status_code = HTTPStatus .BAD_REQUEST ,
115112 fhir_issue_code = FHIRIssueCode .VALUE ,
116113 fhir_issue_severity = FHIRIssueSeverity .ERROR ,
117- fhir_coding_system = "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1" ,
118114 fhir_error_code = FHIRSpineErrorCode .INVALID_PARAMETER ,
119115 fhir_display_message = "The given conditions were not in the expected format." ,
120116)
@@ -123,7 +119,6 @@ def log_and_generate_response(
123119 status_code = HTTPStatus .NOT_FOUND ,
124120 fhir_issue_code = FHIRIssueCode .PROCESSING ,
125121 fhir_issue_severity = FHIRIssueSeverity .ERROR ,
126- fhir_coding_system = "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1" ,
127122 fhir_error_code = FHIRSpineErrorCode .REFERENCE_NOT_FOUND ,
128123 fhir_display_message = "The given NHS number was not found in our datasets. "
129124 "This could be because the number is incorrect or "
@@ -134,7 +129,6 @@ def log_and_generate_response(
134129 status_code = HTTPStatus .INTERNAL_SERVER_ERROR ,
135130 fhir_issue_code = FHIRIssueCode .PROCESSING ,
136131 fhir_issue_severity = FHIRIssueSeverity .ERROR ,
137- fhir_coding_system = "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1" ,
138132 fhir_error_code = FHIRSpineErrorCode .INTERNAL_SERVER_ERROR ,
139133 fhir_display_message = "An unexpected internal server error occurred." ,
140134)
@@ -143,17 +137,15 @@ def log_and_generate_response(
143137 status_code = HTTPStatus .FORBIDDEN ,
144138 fhir_issue_code = FHIRIssueCode .FORBIDDEN ,
145139 fhir_issue_severity = FHIRIssueSeverity .ERROR ,
146- fhir_coding_system = "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1" ,
147- fhir_error_code = FHIRSpineErrorCode .INVALID_NHS_NUMBER ,
148- fhir_display_message = "The provided NHS number does not match the record." ,
140+ fhir_error_code = FHIRSpineErrorCode .ACCESS_DENIED ,
141+ fhir_display_message = "Access has been denied to process this request." ,
149142)
150143
151144
152145NHS_NUMBER_MISSING_ERROR = APIErrorResponse (
153146 status_code = HTTPStatus .BAD_REQUEST ,
154147 fhir_issue_code = FHIRIssueCode .INVALID ,
155148 fhir_issue_severity = FHIRIssueSeverity .ERROR ,
156- fhir_coding_system = "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1" ,
157149 fhir_error_code = FHIRSpineErrorCode .BAD_REQUEST ,
158150 fhir_display_message = "Bad Request" ,
159151)
0 commit comments