Table of Contents |
---|
...
Validate person authentication phone
USE_DEDUPLICATION_MODEL - is a flag in in ehealth.charts that turn on logic:
If person have confidant_person, then person.auth_phone = person.confident_person.phone
...
- issued_at, issued_by is mandatory for documents
- Validate dates
- issued_at <= now() and issued_at => birth_date
- in case `issued_at > now()` show error 422, "Document issued date should be in the past"
- in case `issued_at < person.birth_date` show error 422, "Document issued date should greater than person.birth_date "
- expiration_date > now()
- in case error show 422, "Document expiration_date should be in future"
- expiration_date is mandatory for document_type
- NATIONAL_ID
- COMPLEMENTARY_PROTECTION_CERTIFICATE
- PERMANENT_RESIDENCE_PERMIT
- REFUGEE_CERTIFICATE
- TEMPORARY_CERTIFICATE
- TEMPORARY_PASSPORT
- in case error return 422, "expiration_date is mandatory for document_type $.documents.type"
- issued_at <= now() and issued_at => birth_date
- Validate documents_type.number according to json schema
- PASSPORT - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
- NATIONAL_ID - `^[0-9]{9}$`
- BIRTH_CERTIFICATE - `` ` ^(?![ыъэ@%ЫЪЭЁыъэё@%&$^#`~:,.*|}{?!])[АA-ЯҐЇІЄаZА-яґїіє0ЯҐЇІЄ0-9 №9№\\\"/()-]+$ `` `
- COMPLEMENTARY_PROTECTION_CERTIFICATE - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
- PERMANENT_RESIDENCE_PERMIT - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
- REFUGEE_CERTIFICATE - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
- TEMPORARY_CERTIFICATE - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
- TEMPORARY_PASSPORT - `` ^(?![ыъэ@%&$^#`~:,.*|}{?!])[А-ЯҐЇІЄа-яґїіє0-9 №\\\"()-]+$ `
- if `unzr`exists and is not null and matches "^[0-9]{8}-[0-9]{5}$" check if first 8 symbols = birth_date
- in case error return 422, msg "unzr or birthdate are not correct"
if documents.type=NATIONAL_ID
check if unzr exists in request, in case error return 422, msg "unzr is mandatory for document type NATIONAL_ID"
- Document numbersmaxLength < 25
...
Generate human readable declaration number
- Use algorithm to generate declaration_number
- Declaration number should consist of a 4 serial symbols and 8 number symbols and looks like XXXX-12H4-245D
- Add field to ops.declarations and il.declaration_requests - declaration_number
- Add declaration_number to print out form
...