Table of Contents |
---|
Purpose
This procedure (automatic schedule task) is designed to expire previously created Medication request 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
Read MEDICATION_REQUEST_REQUEST_EXPIRATION parameter value
Fetch records from `medication_request_requests`, where:
status = 'NEW'
inserted_at < NOW() - MEDICATION_REQUEST_REQUEST_EXPIRATION
Update status for all records:
status = EXPIRED
updated_by = SYSTEM_USER
updated_at = timestamp
If the medication request request is based on the activity with quantity:
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