Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published

Service logic

  1. Create job and return it’s id.

  2. Update Composition record with following:

    1. status = $.status

    2. status_reason = $.status_reason

    3. explanatory_letter =$.explanatory_letter

    4. updated_at = current datetime

    5. updated_by = user_id from token

  3. Send SMS to patient with composition number via template MARK_IN_ERROR_{{COMPOSITION_TYPE}}_COMPOSITION_SMS_TEMPLATE

    1. If $.inform_with authorize_with is submitted - use it as patient’s authentication exists in Composition and is not empty, check:

      1. Authentication method exists in person_authentication_methods table in MPI DB (with is_active=true), is active (ended_at > now() or null)

      2. Get value of THIRD_PERSON_CONFIDANT_PERSON_RELATIONSHIP_CHECK config parameter

        1. if it is set to true - for authentication method with type = THIRD_PERSON check that person from value is an approved confidant for a person from Composition:

          1. exists active and approved confidant person relationship between patient from the Composition and confidant_person_id from authentication method value (using following logic: Check confidant person relationship with person_id = person from request and confidant_person_id = value from auth method - expected :ok, :approved response)

      3. in case any validation failed - do not send SMS to person

      4. else - send SMS to authorization method