Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Оновлено посилання на Apiary.
Table of Contents
minLevel1
maxLevel2
outlinefalse
typelist
printablefalse

...

Method to create declaration request via patient information system

Specification

Apiary

Validations

Authorization

  • Verify the validity of access token

    • Return (401, 'Invalid access token') in case of validation fails

  • Verify that token is not expired

    • in case of error - return (401, 'Invalid access token')

  • Check user scopes in order to perform this action (scope = 'declaration_request:write_pis')

    • Return (403, 'Your scope does not allow to access this resource. Missing allowances: declaration_request:write_pis ') in case of invalid scope(s)

...

  • If equals - check that person must not be authorized by confidant person, so it doesn’t correspond to following rules:

    • persons age < no_self_registration_age global parameter;

    • persons age between no_self_registration_age and person_full_legal_capacity_age global parameters and person does not have document with type from PIS_PERSON_LEGAL_CAPACITY_DOCUMENT_TYPES config parameter;

    • persons age > person_full_legal_capacity_age global parameter and exists at least one active and approved confidant person relationship for person (using following process /wiki/spaces/PCAB/pages/17415995422 Check confidant person relationship with person_id = person from request - expected :ok, :approved response)

      • In case of error - return 409 (‘Request must be authorized by confidant person’)

  • If not equal - validate relationship with following steps:

    • Check that there is registered relationship between person_id and applicant_person_id(MPI.confidant_person_relationships)

    • Check that relationship is VERIFIED

      • In case of error - return 409 (‘Can’t confirm relationship’)

    • Check that applicant_person_id exists (status = 'active' & is_active = 'true') and has verification_status any but NOT_VERIFIED

      • In case of error - return 409 (‘Confidant person not found or is not verified’)

...

  1. Call MAN service to render printout form

  2. Get template id from config (DECLARATION_REQUEST_PRINTOUT_FORM_TEMPLATE_ID)(PIS_DECLARATION_REQUEST_PRINTOUT_FORM_TEMPLATE_ID)

  3. Prepare printout content based on declaration request data

  4. Render printout form and save to declaration request

If confidant person is required (see https://e-health-ua.atlassian.net/wiki/spaces/PCAB/pages/17513447465/PIS.+Create+Declaration+request#Validaterequest_EN#Validate-confidant-person-and-relationship-(optional) ) then preload Confidant person object from MPI in the following structure

...

If confidant person is required (see https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Validate-confidant-person-and-relationship-(optional)) then put only one authentication method that relates to this confidant person (select auth method where type 'THIRD_PERSON' and value = applicant_user_id from token)

...

If confidant person is required (see https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Validate-confidant-person-and-relationship-(optional) ) then preload Confidant person object from MPI in the following structure

...

Parameter

Source

Comments

id

Autogenerated

data

  • start_date

  • end_date

  • person_id

  • Request.division_id

  • Request.employee_id

  • legal_entity_id

https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Calculate-declaration-start%2Fend-date

https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Validate-Person

https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Validate-legal-entity

status

Const: NEW

inserted_by

Authenticated user (id)

inserted_at

Current date-time

updated_at

Current date-time

authentication_method_current

https://e-health-ua.atlassian.net/wiki/spaces/PCAB/pages/17548050463/Create+declaration+request+v3#Set-auth_method_current

documents

Empty list

printout_content

https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Generate-printout-form

updated_by

Authenticated user (id)

declaration_id

Autogenerated

mpi_id

person_id

https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Validate-Person

overlimit

null

channel

Const: PIS

declaration_number

https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Generate-human-readable-declaration-number

data_legal_entity_id

data.legal_entity_id

data_employee_id

data.employee_id

data_start_date_year

Extract year from data.start_date

data_person_tax_id

null

data_person_first_name

null

data_person_last_name

null

data_person_birth_date

null

data_person_documents

null

authorize_with

null

data_to_be_signed

https://e-health-ua.atlassian.net/wiki/spaces/PCABEH/pages/1751344746517628660189/PIS.+Create+Declaration+request#Prepare-data_to_be_signed

parent_declaration_id

null

status_reason

null

current_declaration_count

null

system_declaration_limit

null

is_shareable

Const: false

data_division_id

data.division_id