11import logging
22from http import HTTPStatus
33
4+ from fhir .resources .operationoutcome import OperationOutcome , OperationOutcomeIssue
45from flask import Blueprint , make_response , request
56from flask .typing import ResponseReturnValue
67from wireup import Injected
78
89from eligibility_signposting_api .model .eligibility import Eligibility , NHSNumber
910from eligibility_signposting_api .services import EligibilityService , UnknownPersonError
10- from eligibility_signposting_api .views .response_models import EligibilityResponse , Problem
11+ from eligibility_signposting_api .views .response_models import EligibilityResponse
1112
1213logger = logging .getLogger (__name__ )
1314
@@ -22,8 +23,14 @@ def check_eligibility(eligibility_service: Injected[EligibilityService]) -> Resp
2223 eligibility = eligibility_service .get_eligibility (nhs_number )
2324 except UnknownPersonError :
2425 logger .debug ("nhs_number %r not found" , nhs_number , extra = {"nhs_number" : nhs_number })
25- problem = Problem (
26- title = "nhs_number not found" , status = HTTPStatus .NOT_FOUND , detail = f"nhs_number { nhs_number } not found."
26+ problem = OperationOutcome (
27+ issue = [
28+ OperationOutcomeIssue (
29+ severity = "information" ,
30+ code = "nhs-number-not-found" ,
31+ diagnostics = f'NHS Number "{ nhs_number } " not found.' ,
32+ ) # pyright: ignore[reportCallIssue]
33+ ]
2734 )
2835 return make_response (problem .model_dump (), HTTPStatus .NOT_FOUND )
2936 else :
0 commit comments