Validate request
- Validate mandatory query params
- first_name
- last_name
- birth_date
- Validate optional query params
- second_name
- tax_id
- birth_certificate
- phone_number
- Validate mandatory query params
Logic
- if tax_id is not null and age>=16
- search via
tax_id
+first_name
+last_name
- search via
- if tax_id is null and age>=16
- search via
first_name
+last_name + birth_date
if age<16 - search via
- search via
birth_certificate
+birth_date
Calculate age
Code Block |
---|
age = MONTHS_BETWEEN (now(), $.birth_date) / 12 |
Search existing MPI entity
Search for existing entity using GET query parameters:
...
MPI attribute
...
Pre-condition
...
Condition
...
POST data attribute
...
always if $.person_age < 16
...
only active persons - MPI.persons.is_active=true
- if tax_id is not null and age>=14
- search fields: tax_id, birth_date
- additional fields: second_name, phone_number
- if tax_id is null and age>=14
- search fields: first_name, last_name, birth_date
- additional fields: tax_id, second_name, phone_number
- if age<14
- search fields: birth_certificate, birth_date
- additional fields: first_name, last_name, second_name
Return empty array if no data found
Return only requested params,
...
id, first_
...
name, second_name, last_name, birth_place and merged_ids if data found
For example:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
http://ehealth.nebo15edenlabllc.com/api/persons?first_name=%D0%9F%D0%B5%D1%82%D1%80%D0%BE&last_name=%D0%86%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2&birth_date=1991-08-19T00%3A00%3A00.000Z |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "id":"b075f148-7f93-4fc2-b2ec-2d81b19a9b7b", "first_name":"Петро", "last_name":"Іванов", "second_name":"Миколайович", "birth_date":"1991-08-19T00:00:00.000Z19", "birth_country":"Україна", "birth_settlement":"Вінниця", "merged_ids":[ "id":"7bca069f-21e4-4546-90cf-b65e3f39d93d" ] } |
...