Versions Compared

Key

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

...

...

...

...

Table of Contents

Purpose

This procedure (automatic schedule task) is designed to expire previously created Request for Medication request after ended time-life in NEW status.

Procedure logic for transition

...

Get list Request for Medication request 

Code Block
languagesql
SELECT * FROM requests_for_medication_request RMR
	WHERE RMR.status == NEW 
		AND RMR.expiry_to <= current_date()

...

request after lifetime ends in status='NEW'.

Process configuration

Name

Description

Format

Default value

MEDICATION_REQUEST_REQUEST_SCHEDULE

How often to perform this task

Cron Format

`* * * * *`

MEDICATION_REQUEST_REQUEST_EXPIRATION

Medication request request lifetime period

Minutes

30

Job logic

  1. Read MEDICATION_REQUEST_REQUEST_EXPIRATION parameter value

  2. Fetch records from `medication_request_requests`, where:

    1. status = 'NEW'

    2. inserted_at < NOW() - MEDICATION_REQUEST_REQUEST_EXPIRATION

  3. Update status for all records:

    1. status  =  EXPIRED

    2. updated_by =

...

    1.  SYSTEM_

...

    1. USER

    2. updated_at = timestamp

  1. if the medication request request is based on the activity with quantity:

    1. Recalculate and set remaining_quantity for the activity as described at Create Medication Request: Validate based_on (p. 2.d.1 )and do not include current MRR in the calculation in case when calculation was before MRR changed status