Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Validate preperson_id UUID

    1. In case of error - return 422

  2. Check an entry with preperson_id doesn't exist in mpi.persons , but exists in medical_data.patients as patient_id. and has flag preperson=true. It means that preperson_id relates to preperson, but not to person.

    1. In case of error - return 422 (Such preperson doesn't exist)

  3. Check preperson status is active in medical_datampi.patientspersons

    1. In case of error - return 409 (Preperson is not active)

  4. Check if exists another preperson merge requests with status NEW or APPROVED for this preperson

    1. if exists - update status to REJECTED

  5. Check if preperson has at least one episode

    1. if no episodes - return 422 (Preperson has no episodes)

...

  1. Extract user_id and legal_entity_id from token and find corresponding employee_id

  2. Check employee status is APPROVED

    1. In case of error - return 422 error (Only active employee can create preperson merge request)

  3. If employee has division - validate it has status ACTIVE

    1. In case of error - return 422 error (Only employee of active divisions can create preperson merge request)

Save object to DB

il.personmerge_requests table

Parameter

Source

Description

id

uuid

Autogenerated

type

string

Set PREPERSON_MERGE_REQUEST for this type of requests. Required

data

jsonb

Data from the request in json format. Required

person_mpi_id

Request: person_id

Person identifier in MPI (mpi.persons.id). Required

preperson_mpi_id

Request: preperson_id

Preperson identifier that corresponds to MPI (returned on create preperson). Required

status

varchar(50)

Status of the request, required. Set NEW

merged_pair_id

uuid

Reference to mpi.merged_pairs table when person becomes merged with preperson (on sign). By default is null.

printout_form

text

Printout form of preperson merge request in html format. By default is null at this step

legal_entity_id

Request: client_id

Legal entity where request was created. Client_id extracted from token. Required

channel

string

By default is MIS

authentication_method_current

jsonb

Person current authentication method.

is_active

bool

Technical flag. By default is true

inserted_by

uuid

Extract user from token

inserted_at

timestamp

Get current date-time

updated_by

uuid

Extract user from token

updated_at

timestamp

Get current date-time

...