identity-check-updatedv0.0.1
Context
An offline identity check can be a distributed, asynchronous process. In order for OPG to track the progress of an identity check, Sirius needs to be updated when key events occur.
In a happy path journey, an identity check may immediately go to SUCCESS
. But it may also go through several steps to get there, as shown in the following example:
Example complex identity check status journey
Trigger
This event is triggered at the end of some sort of process in the identity check process. For example, a phone call from an actor might result in a SUCCESS
state, or COP_STARTED
if they need to go to the Court of Protection. A notification from our counter service provider that they've reviewed the actor's ID also might result in a SUCCESS
, or a FAILURE
if the ID was insufficient.
The important thing is that every journey in the Paper ID process should provide some sort of update when it concludes. It is then up to Sirius to decide what happens.
Effect
In all cases, the relevant progress indicator in Sirius will be updated to reflect the state of the ID check, and a note will be added to the timeline.
If the state is SUCCESS
, the identity check details will be added to the LPA Store record. (If the LPA has not been submitted, the information is held in Sirius until it is.)
If the state is VOUCH_STARTED
, Sirius will send a letter to the donor once the LPA is submitted. (If the LPA has been submitted, the letter will be sent immediately.)
Consumer / Producer Diagram
Examples
1{
2 "time": "2024-05-19T15:06:29Z",
3 "lpaUids": ["M-14HD-3J9F-FJ9K"],
4 "actorType": "donor",
5 "state": "COP_STARTED"
6}
7
{
"$id": "https://opg.service.justice.gov.uk/opg.poas.identity-check/identity-check-updated.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "opg.poas.identity-check/identity-check-updated",
"type": "object",
"required": ["time", "lpaUids", "actorType", "state"],
"properties": {
"time": {
"type": "string",
"description": "When the update occurred",
"format": "date-time"
},
"lpaUids": {
"type": "array",
"items": {
"type": "string",
"description": "The UIDs of the LPAs associated with the identity check",
"pattern": "^M(-[A-Z0-9]{4}){3}$"
}
},
"actorType": {
"type": "string",
"enum": ["donor", "certificateProvider"],
"description": "The type of actor associated with the identity check"
},
"state": {
"type": "string",
"enum": [
"COP_STARTED",
"COUNTER_SERVICE_STARTED",
"EXIT",
"FAILURE",
"SUCCESS",
"VOUCH_STARTED"
]
},
"reference": {
"type": "string",
"description": "The back-reference for a successful identity check"
}
},
"allOf": [
{
"if": {
"required": ["state"],
"properties": {
"state": { "const": "SUCCESS" }
}
},
"then": {
"required": ["reference"]
}
}
]
}