Versions Compared

Key

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

...

Automatically deactivate prepersons to prevent fraud if they doesn’t have appropriate set of medical events.

Job logic

  1. Job starts once in 24 hours by default (according configured parameter PREPERSON_TERMINATIONDEACTIVATION_SCHEDULE).

  2. After starting it gets value from global parameter config DAYS_FOR_PREPERSON_TERMINATIONVERIFICATION.

  3. Select all entries from mpi.prepersonssprepersons with status=active and expires_at is not null verified is false:

    1. if preperson has required set of medical events (TBD) Observation.codes = height and weight and sex and Observation.status = valid:

      • set expires_at verified = nulltrue

      • set updated_at = current_datetime()

      • set updated_by = system_user()

    2. else if preperson has no required set of medical events:

      1. if expiresinseted_at < current_datetimedate() - DAYS_FOR_PREPERSON_EXPIRATIONVERIFICATION

        • set status = inactive

        • set is_active = falseset updated_at = current_datetime()

        • set updated_by = system_user()

      2. else if expiresinserted_at >= current_datetimedate() - DAYS_FOR_PREPERSON_EXPIRATIONVERIFICATION, then skip the preperson.