identity-check-updated
Summary
An offline identity check has been updated
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:
- EXIT
- The donor finds out they are not able to complete the check over the phone
- COUNTER_SERVICE_STARTED
- The donor instead chooses to use counter service
- FAILURE
- The counter service check fails
- VOUCH_STARTED
- The donor instead elects someone to voucher for them
- SUCCESS
- The voucher vouches for the donor’s identity
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.)
Examples
{
"time": "2024-05-19T15:06:29Z",
"lpaUids": ["M-14HD-3J9F-FJ9K"],
"actorType": "donor",
"state": "COP_STARTED"
}
{
"time": "2024-05-19T15:06:29Z",
"lpaUids": ["M-14HD-3J9F-FJ9K"],
"actorType": "donor",
"state": "COUNTER_SERVICE_STARTED"
}
{
"time": "2024-05-19T15:06:29Z",
"lpaUids": ["M-14HD-3J9F-FJ9K"],
"actorType": "certificateProvider",
"state": "EXIT"
}
{
"time": "2024-05-19T15:06:29Z",
"lpaUids": ["M-14HD-3J9F-FJ9K"],
"actorType": "donor",
"state": "FAILURE"
}
{
"time": "2024-05-19T15:06:29Z",
"lpaUids": ["M-14HD-3J9F-FJ9K"],
"actorType": "donor",
"state": "SUCCESS",
"reference": "opg:62cd0995-3d58-40a1-8ed5-9cdb557136af"
}
{
"time": "2024-05-19T15:06:29Z",
"lpaUids": ["M-14HD-3J9F-FJ9K"],
"actorType": "donor",
"state": "VOUCH_STARTED"
}
Schema
{
"$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"]
}
}
]
}