Skip to content

[ENROLLMENT] No way to send biometrics & documents step by step? #82

Description

@williamT13

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions