Scenario - Request Authorisation

Actors

Name Type Description
Client Application System The application the Proxy uses to create the request. IHE refers to this as the Consent Recorder
NHS England Proxy Service System NHS England National Proxy Service
National Proxy Registry System NHS England National Proxy Data Registry. IHE refers to this as the Consent Registry
Primary Care System General Practice System

Use Case(s)

Background Standards

Request Authorisation

The sequence diagram below is a high level view of the actual process which focuses on the interactions exchanged between the actors.

See Scenario - Request Proxy Access for a description of the first part of the sequence.

Request Consent Verification

Once the proxy request has been processed, the patient's GP can be asked to verify the relationship and proxy access request. In the FHIR Task the status is requested, asking for consent in the code element.A reference to the original request is supplied in the focus element, this can be used to retrieve the original request (the FHIR QuestionnaireResponse).

The request starts a series of interactions following a conversation pattern where the national proxy service and primary care exchange FHIR Task resources. Normally at each exchange, the status of the Task changes to reflect the current status of the workflow, see also FHIR Task State Machine.

FHIR RESTful API is used in the examples below, other event notification methods may be used instead.

POST https://primarycare.example.nhs.uk/FHIR/R4/Task

Event Payload Example

Task Consent Verification Requested

Accept Consent Verification

On receiving the request, the GP system should respond back to the national proxy service with either an accepted or rejected. In the example below, the status has been changed to accepted. For a rejected example see Task Consent Verification Rejected where the status is now rejected and a note has been added to indicate the rejection reason (e.g. patient not registered).

PUT https://proxyservice.example.nhs.uk/FHIR/R4/Task?identifier={identifier}

Event Payload Example

Task Consent Verification Accepted

View Proxy Access Request

View the initial Proxy Access Request

Is referenced in the focus element of the receieved Proxy Access Request Verification FHIR Task.

 "focus": {
        "type": "QuestionnaireResponse",
        "reference": "https://proxyservice.example.nhs.uk/FHIR/R4/QuestionnaireResponse-QuestionnaireResponse-proxy-access-request"
    },

Message Semantics

GET {baseUrl}/QuestionnaireReponse/{id}
Example
GET https://proxyservice.example.nhs.uk/FHIR/R4/QuestionnaireResponse-QuestionnaireResponse-proxy-access-request

Is referenced in the input array of the receieved Proxy Access Request Verification FHIR Task.

 {
            "type": {
                "coding":  [
                    {
                        "system": "https://fhir.nhs.uk/England/NationalProxy",
                        "code": "Consent"
                    }
                ]
            },
            "valueReference": {
                "reference": "https://proxyservice.example.nhs.uk/FHIR/R4/Consent/Consent-Consent-national-proxy-proposed",
                "type": "Consent"
            }
        }

Message Semantics

This is also IHE Privacy Consent on FHIR (PCF) - Access Consent [ITI-108]

GET {baseUrl}/Consent/{id}
Example
GET https://proxyservice.example.nhs.uk/FHIR/R4/Consent/Consent-Consent-national-proxy-proposed

View the proposed RelatedPerson

Is referenced in the input array of the receieved Proxy Access Request Verification FHIR Task.

 {
            "type": {
                "coding":  [
                    {
                        "system": "https://fhir.nhs.uk/England/NationalProxy",
                        "code": "Proxy"
                    }
                ]
            },
            "valueReference": {
                "reference": "https://nhsdigital.github.io/nhsengland-spine-specification-sandbox/RelatedPerson-RelatedPerson-NHS-9100000009",
                "type": "RelatedPerson"
            }
        }

Message Semantics

GET {baseUrl}/RelatedPerson/{id}
Example
GET https://proxyservice.example.nhs.uk/FHIR/R4/RelatedPerson/RelatedPerson-RelatedPerson-NHS-910000000

Complete Consent Verification

After the request has been accepted, the request should be actioned. Once actioned the decision should be sent back to the National Proxy with a status of completed. The decision is sent in the output element.

PUT https://proxyservice.example.nhs.uk/FHIR/R4/Task?identifier={identifier}

Event Payload Example

Task Consent Verification Completed

Update National Proxy Registry

The National Proxy Registry is updated based on the values present in the out array in the response of the FHIR Task Task Consent Verification Completed.

"output":  [
        {
            "type": {
                "coding":  [
                    {
                        "system": "https://fhir.nhs.uk/England/NationalProxy",
                        "code": "decision"
                    }
                ]
            },
            "valueCodeableConcept": {
                "coding":  [
                    {
                        "system": "https://fhir.nhs.uk/England/NationalProxyConsentStatus",
                        "code": "proxy-approved"
                    }
                ]
            }
        }
    ]

An example Consent relating to a proxy-approved can be found in Consent confirmed A Consent updated for proxy-rejected can be found in Consent rejected

Inform Proxy of Decision

This has not been defined and so is an example of a notification which is a copy of the completed Task resource.

PUT https://clientapplication.example.nhs.uk/FHIR/R4/Task?identifier={identifier}

Event Payload Example

Task Consent Verification Completed

Reject Consent Verification

This is not a rejection of the proxy request but a rejection of the workflow task to Verify the Consent.

This may result in action being taken by the National Proxy Service which may result in the request being corrected and re-requested or sent to another GP Surgery.

PUT https://proxyservice.example.nhs.uk/FHIR/R4/Task?identifier={identifier}

Event Payload Example

Task Consent Verification Rejected