In the existing OSIA API, there's no way to send biometrics modality by modality, e.g:
- send face(s)
- send FP
- send Iris
- send signature
- send …
Each Update (PartialUpdate) will overwrite the whole biometrics block due to the following constraints:
PartialUpdate (PATCH):
- In OSIA, all biometrics are stored in a generic array of biometric data sets
biometricData:
type: array
items:
$ref: '#/components/schemas/BiometricData'
- PartialUpdate is based on RFC7396 (JSON merge patch) which allows to merge at object level, so no way to update only a part of an array
https://www.rfc-editor.org/rfc/pdfrfc/rfc7396.txt.pdf
There are a few things to note about the function. If the patch is anything other than an object, the result will always be to replace the entire target with the entire patch. Also, it is not possible to patch part of a target that is not an object, such as to replace just some of the values in an array.
It means that any change on a part of the biometrics in this array (e.g. update the signature) requires to send ALL biometrics or only this part (e.g. signature) will be kept................
The same for other entities like documents...
Again due to this Array type.
Use Case: An applicant was unable to provide all the necessary documents during enrollment, he will send the missing ones later and they will need to be added to the enrollment before the process can continue.
biometricData:
type: array
items:
$ref: '#/components/schemas/BiometricData'
documentData:
type: array
items:
$ref: '#/components/schemas/DocumentData'
I think it is a problem if we consider to send data (biometrics, scanned documents...) step by step.
In the existing OSIA API, there's no way to send biometrics modality by modality, e.g:
Each Update (PartialUpdate) will overwrite the whole biometrics block due to the following constraints:
PartialUpdate (PATCH):
https://www.rfc-editor.org/rfc/pdfrfc/rfc7396.txt.pdf
There are a few things to note about the function. If the patch is anything other than an object, the result will always be to replace the entire target with the entire patch. Also, it is not possible to patch part of a target that is not an object, such as to replace just some of the values in an array.It means that any change on a part of the biometrics in this array (e.g. update the signature) requires to send ALL biometrics or only this part (e.g. signature) will be kept................
The same for other entities like documents...
Again due to this Array type.
Use Case: An applicant was unable to provide all the necessary documents during enrollment, he will send the missing ones later and they will need to be added to the enrollment before the process can continue.
I think it is a problem if we consider to send data (biometrics, scanned documents...) step by step.