Jobs

Complete

The Jobs screen allows:

  • background jobs to be scheduled
  • jobs to be run on demand

Medical Record Locker

Complete

The Medical Record Locker is a scheduled job that periodically locks patient medical records based on the Practice Record Lock Period setting.
A default instance of this job will be created when the Record Lock Period is set.

The fields are as follows:

Name The job name
Description The job description
Active This schedules the job to run if checked, or prevents it from being run if unchecked. Note that preventing it from running does not completely disable locking, as locking is also determined by the creation date of the record and the Record Lock Period.
Batch Size The number of records to lock in a single batch
Max Records

The maximum number of records to lock in a single scheduled run. Should be greater or equal to the Batch Size.

Minutes See Cron Expression
Hours See Cron Expression
Day Of Month See Cron Expression
Month See Cron Expression
Day Of Week See Cron Expression
Run As

Specifies the user to run the job as. This user is required to have permissions to:

  • send notification messages
Notify Specifies the user or user group to notify when locking has completed. Notification only occurs when at least one record is locked, or errors are encountered. You may want to use a 'real' user or group of real users, or you may want to create a user such as 'Jobs Message Receiver' used only for these notifications.

The Batch Size and Max Records fields can be used to limit resource utilisation. If enabling locking for the first time, set Max Records to a suitably large value so that the backlog of records can be cleared.

Cron Expression

The Minutes, Hours, Day Of Month, Month, and Day Of Week fields determine when the job is run, using a simplified version of a Cron expression:

Field Allowed Values Allowed Special Characters
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day Of Month 1-31 , - * ? /
Month 1-12 or JAN-DEC , - * /
Day Of Week 1-7 or SUN-SAT , - * ? /

Note that only one of Day Of Month and Day Of Week may be specified. If one is specified, the other must be set to ?.

If you change the schedule, the new schedule will take effect immediately.

Examples

Description Minutes Hours Day Of Month Month Day Of Week
Run at 8am every weekday 0 8 ? * mon-fri
Run every 30 minutes */30 * * * ?
Run every 2 hours 0 */2 * * ?
Run every 15 mins between 8am and 6pm on weekdays */15 8-18 ? * mon-fri

Document Loader

Complete

The Document Loader is a scheduled job that periodically load files from a directory and attaches them to documents or investigations.

Files are associated with documents or investigations by parsing their identifier from the file name.

 

The Active field:

  • schedules the job to run if checked; or
  • prevents it from being run if unchecked

The Source Directory is the directory to load files from.

The Destination Directory is the directory to move successfully loaded files to.

The Error Directory is the directory to move files to that couldn't be loaded.

Note that the Tomcat application must have write access to Destination and Error directories.

(nb. on linux servers you must use the direct path, not a symbolic link and the group that owns the the source and destination directories must have read and write permissions and the tomcat user must belong to that group eg. use 'sudo usermod -a -G group tomcat7'​)

The Id Pattern is a regular expression that enables the document identifier to be parsed from the file name. The default expression is [^\d]*(\d+).* - this looks for the first digit string in the file name.  For example, the following file names all have the ID 3035108:
  DAO DAO_TSANG_ _3035108_20150226_115435_4762.pdf
  3035108 CBC test.jpg
  Xray DAO DAO_TSANG 3035108.jpg

The Overwrite field determines if files should be loaded if one already exists. If selected, the existing content will be replaced, if it doesn't duplicate the existing content. For documents that support versioning*, the existing content will be saved as a version.  The following table indicates the behaviour if a document has been previously loaded:

Case File Ovewrite=n Overwrite=y
1 Same name, same content Skipped Skipped
2 Same name, different content Skipped Loaded
3 Different name Skipped Loaded

Note that in case 2 & 3, if the document supports versioning, then the previous document is set as a version, and the primary document is replaced.

In case 2, if the previous document already exists in the Destination Directory, then the loader will fail and terminate. The file in the Destination Directory needs to be manually moved aside.

* all of the standard document archetypes with the exception of act.documentTemplate in OpenVPMS support versioning. The Document Loader cannot be used to load act.documentTemplate instances.

The Recurse Subdirectories  field determines if subdirectories of the source directory should be searched for documents to load.

The Archetypes field is a comma separated list of archetype short names, identifying the document archetypes that may be loaded to. These may include wild cards. Use of wildcards is NOT recommended, as malformed file names may result in files being loaded to incorrect documents. For Investigations, use act.patientInvestigation.

The Enable Logging field determines if loading should be logged. This can be used to help track down problems.  The information is written to the OpenVPMS logs in <TOMCAT-HOME>/logs.

If Stop On Error is selected, the loader will stop on the first error it encounters.  Note that this means 'stop this run', it does not 'stop all future scheduled runs'.  For normal operation, you should leave this unticked, otherwise, it is possible that an error with one document (say because it has a name that does not contain an ID) will prevent other documents being loaded.

 

The Minutes, Hours, Day Of Month, Month, and Day Of Week fields determine when the job is run. [Note that if you change the schedule, the new schedule will take effect immediately.]

These are a defined using a simplified version of a Cron expression:

Field Allowed Values Allowed Special Characters
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day Of Month 1-31 , - * ? /
Month 1-12 or JAN-DEC , - * /
Day Of Week 1-7 or SUN-SAT , - * ? /

Note that only one of Day Of Month and Day Of Week may be specified. If one is specified, the other must be set to ?.

Examples

Description Minutes Hours Day Of Month Month Day Of Week
Run at 8am every weekday 0 8 ? * mon-fri
Run every 30 minutes */30 * * * ?
Run every 2 hours 0 */2 * * ?
Run every 15 mins between 8am and 6pm on weekdays */15 8-18 ? * mon-fri

 

The Run As field specifies the user to run the job as. This user is required to establish the permissions to:

  • create and update the specified archetypes
  • send notification messages

 

The Notify field specifies the user or user group to notify when a load has completed. Notification only occurs when documents are loaded, or errors are encountered. You may want to use a 'real' user or group of real users, or you may want to create a user such as 'Document Loader Message Receiver' used only for these notifications.

 

ESCI Inbox Reader

Complete

The ESCI Inbox Reader is a scheduled job that periodically checks ESCI Inboxes for messages from suppliers.

The Active field:

  • schedules the job to run if checked; or
  • prevents it from being run if unchecked

The Minutes, Hours, Day Of Month, Month, and Day Of Week fields determine when the job is run.

These are a defined using a simplified version of a Cron expression:

Field Allowed Values Allowed Special Characters
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day Of Month 1-31 , - * ? /
Month 1-12 or JAN-DEC , - * /
Day Of Week 1-7 or SUN-SAT , - * ? /

Note that only one of Day Of Month and Day Of Week may be specified. If one is specified, the other must be set to ?.

If you change the schedule, the new schedule will take effect immediately.

Examples

Description Minutes Hours Day Of Month Month Day Of Week
Run at 8am every weekday 0 8 ? * mon-fri
Run every 30 minutes */30 * * * ?
Run every 2 hours 0 */2 * * ?
Run every 15 mins between 8am and 6pm on weekdays */15 8-18 ? * mon-fri

 

The Run As field specifies the user to run the job as. The selected user must have permissions to:

  • update Orders
  • create Supplier Deliveries
  • create System Messages

Appointment Reminder Sender

Complete

The Appointment Reminder Sender is a scheduled job that periodically sends SMS appointment reminders.

The fields are as follows:

Name The job name
Description The job description
Active This schedules the job to run if checked, or prevents it from being run if unchecked
SMS Before

This determines how long prior to an appointment that the reminder will be sent.  It will never be sent before this, but may be sent after, if the Reminder Sender did not run when the reminder first became due.

No SMS Before

This prevents the Reminder Sender sending reminders for appointments that are in the near future, i.e. appointments which start less than the specified interval ahead in time. It must be less than the SMS Before interval.
For both the above, an interval of N days means Nx24 hours and similarly a week means 7x24 hours.  Thus if the job runs at 13:00, an interval of 1 day covers the period up to 13:00 the next day, not 23:59 the next day.

No Reminder This interval is checked when the appointment is created. If the appointment is less than this interval in the future, then the Send Reminder flag will not be set for the appointment.
Minutes See Cron Expression
Hours See Cron Expression
Day Of Month See Cron Expression
Month See Cron Expression
Day Of Week See Cron Expression
Run As

Specifies the user to run the job as. This user is required to have permissions to:

  • save appointments
  • send notification messages
Notify Specifies the user or user group to notify when sending has completed. Notification only occurs when SMS message are sent, or errors are encountered. You may want to use a 'real' user or group of real users, or you may want to create a user such as 'Reminder Jobs Message Receiver' used only for these notifications.

 

Cron Expression

The Minutes, Hours, Day Of Month, Month, and Day Of Week fields determine when the job is run, using a simplified version of a Cron expression:

Field Allowed Values Allowed Special Characters
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day Of Month 1-31 , - * ? /
Month 1-12 or JAN-DEC , - * /
Day Of Week 1-7 or SUN-SAT , - * ? /

Note that only one of Day Of Month and Day Of Week may be specified. If one is specified, the other must be set to ?.

If you change the schedule, the new schedule will take effect immediately.

Examples

Description Minutes Hours Day Of Month Month Day Of Week
Run at 8am every weekday 0 8 ? * mon-fri
Run every 30 minutes */30 * * * ?
Run every 2 hours 0 */2 * * ?
Run every 15 mins between 8am and 6pm on weekdays */15 8-18 ? * mon-fri

Patient Reminder Queue

Complete

The Patient Reminder Queue is a scheduled job used to:

  • queue patient reminders for sending
  • cancel reminders that are no longer applicable.

It should be scheduled to run daily, preferably outside of business hours.

On completion, reminders may be manually sent via Reporting - Reminders.
Email and SMS reminders may be automatically sent by the Patient Reminder Sender.

Queueing

Reminders are selected for queueing if they have:

  • a Next Due Date less than or equal to the current date; and
  • an In Progress status; and
  • no associated Items with Pending or Error status

It will cancel reminders if:

  • the patient is deceased or inactive; or
  • the Next Due Date + the Reminder Type's Cancel Time is less than the current date

For each reminder that matches the criteria, one or more Patient Reminder Items will be created according to its Reminder Type's rules, and the associated customer's contacts.

Note that the queue is not rebuilt each time the job runs. Reminders that have been previously added to the queue are left unaltered. This does mean that if you change say the Lead Times, reminders already in the queue will not affected.

The fields are as follows:

Name The job name
Description The job description
Active This schedules the job to run if checked, or prevents it from being run if unchecked.
Minutes See Cron Expression
Hours See Cron Expression
Day Of Month See Cron Expression
Month See Cron Expression
Day Of Week See Cron Expression
Run As

Specifies the user to run the job as. This user is required to have permissions to:

  • send notification messages
  • update patient reminders
  • update patient reminder items
Notify Specifies the user or user group to notify when queuing has completed. Notification only occurs when at least one reminder has been queued or cancelled, or an error has occurred. You may want to use a 'real' user or group of real users, or you may want to create a user such as 'Reminder Jobs Message Receiver' used only for these notifications.

 

Cron Expression

The Minutes, Hours, Day Of Month, Month, and Day Of Week fields determine when the job is run, using a simplified version of a Cron expression:

Field Allowed Values Allowed Special Characters
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day Of Month 1-31 , - * ? /
Month 1-12 or JAN-DEC , - * /
Day Of Week 1-7 or SUN-SAT , - * ? /

Note that only one of Day Of Month and Day Of Week may be specified. If one is specified, the other must be set to ?.

If you change the schedule, the new schedule will take effect immediately.

Examples

Description Minutes Hours Day Of Month Month Day Of Week
Run at 5am every day 0 5 ? * *
Run at 7:30 on weekdays 30 7 ? * mon-fri

Patient Reminder Sender

Complete

The Patient Reminder Sender is a scheduled job that sends Email and SMS reminders queued by the Patient Reminder Queue job.

It should be scheduled to run during business hours.

You do not have to use the Patient Reminder Sender job.  If you do not, then Email and SMS reminders will be sent as part of the Reporting|Reminders|Send|Send All processing.

However, since you probably want to send out Email and SMS reminders more often than printed, listed, and exported reminders, then it is convenient to set up a Patient Reminder job to do this on say a daily basis.

The create/edit/view screen is as follows:

The fields are as follows:

Name The job name
Description The job description
Active This schedules the job to run if checked, or prevents it from being run if unchecked.
Minutes See Cron Expression
Hours See Cron Expression
Day Of Month See Cron Expression
Month See Cron Expression
Day Of Week See Cron Expression
Run As

Specifies the user to run the job as. This user is required to have permissions to:

  • send notification messages
  • update patient reminders
  • update patient reminder items
Notify Specifies the user or user group to notify when sending has completed. Notification only occurs when at least one reminder has been sent, or an error has occurred. You may want to use a 'real' user or group of real users, or you may want to create a user such as 'Reminder Jobs Message Receiver' used only for these notifications.

 

Cron Expression

The Minutes, Hours, Day Of Month, Month, and Day Of Week fields determine when the job is run, using a simplified version of a Cron expression:

Field Allowed Values Allowed Special Characters
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day Of Month 1-31 , - * ? /
Month 1-12 or JAN-DEC , - * /
Day Of Week 1-7 or SUN-SAT , - * ? /

Note that only one of Day Of Month and Day Of Week may be specified. If one is specified, the other must be set to ?.

If you change the schedule, the new schedule will take effect immediately.

Examples

 

Description Minutes Hours Day Of Month Month Day Of Week
Run at 8am every day 0 8 ? * *
Run at 8:30 on weekdays 30 8 ? * mon-fri

Pharmacy Order Discontinuation

Complete

This job is automatically scheduled by setting the Pharmacy Order Discontinuation Period option on the Practice.

The fields are as follows:

Name The job name
Description The job description
Active This schedules the job to run if checked, or prevents it from being run if unchecked.
Batch Size The number of invoices to process in a single batch
Max Records

The maximum number of invoices to process in a single scheduled run. Should be greater or equal to the Batch Size.

Minutes See Cron Expression
Hours See Cron Expression
Day Of Month See Cron Expression
Month See Cron Expression
Day Of Week See Cron Expression
Run As

Specifies the user to run the job as. This user is required to have permissions to:

  • send notification messages
Notify Specifies the user or user group to notify when locking has completed. Notification only occurs when at least one invoice is processed, or errors are encountered. You may want to use a 'real' user or group of real users, or you may want to create a user such as 'Jobs Message Receiver' used only for these notifications.

The Batch Size and Max Records fields can be used to limit resource utilisation.

Cron Expression

The Minutes and Hours fields will be populated automatically when the Pharmacy Order Discontinuation Period option on the Practice is set. The job will be scheduled to run twice during specified period.

The Minutes, Hours, Day Of Month, Month, and Day Of Week fields determine when the job is run, using a simplified version of a Cron expression:

Field Allowed Values Allowed Special Characters
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day Of Month 1-31 , - * ? /
Month 1-12 or JAN-DEC , - * /
Day Of Week 1-7 or SUN-SAT , - * ? /

Note that only one of Day Of Month and Day Of Week may be specified. If one is specified, the other must be set to ?.

If you change the schedule, the new schedule will take effect immediately.

Examples

Description Minutes Hours Day Of Month Month Day Of Week
Run every 30 minutes */30 * * * ?
Run every 2 hours 0 */2 * * ?
Run every 15 mins between 8am and 6pm on weekdays */15 8-18 ? * mon-fri

Scheduled Report

Complete

Scheduled Report is a job that can be configured to periodically run a report and write the output to a file, email it, and/or print it.

The fields are as follows:

  • Report
The report to run.
  • Name
The job name. Defaults to the report name
  • Description
The job description. Defaults to the report description
  • Active
This schedules the job to run if checked, or prevents it from being run if unchecked.
  • Location
The location to pass to the report. Available via the OpenVPMS.location field.
  • File

If selected, writes the report as a file to the specified directory.
The file name will be derived from the report name and the report's File Name Format.

  • Directory
The directory to write the report to. Only valid when File is selected.
  • File Type
The type of file to write. Only valid when File is selected.
  • Email
If selected, emails the report.
  • Email From
The address to email the report from. Only valid when Email is selected.
  • Email To
The addresses to email the report to. Up to 5 addresses may be specified. Only valid when Email is selected.
  • Attachment Type
The type of the email attachment. Only valid when Email is selected.
  • Print
If selected, prints the report
  • Printer
The printer to print the report to. Only valid when Print is selected.
  • Minutes
See Cron Expression
  • Hours
See Cron Expression
  • Day Of Month
See Cron Expression
  • Month
See Cron Expression
  • Day Of Week
See Cron Expression
  • Run As

Specifies the user to run the job as. This user is required to have permissions to:

  • send notification messages
  • Notify
Specifies the user or user group to notify when reporting has completed.
  • Notify On Success

If deselected, notification only occurs when reporting fails.

If selected, notification also occurs when reporting is successful

  • Parameters

The report parameters, obtained from the report when it is first selected.

Date parameters may be fixed, or calculated. This is determined by a dropdown with the following options:

  • Date
use a fixed date
  • Now
use the current date and time
  • Today
use today's date
  • Tomorrow
use tomorrow's date
  • Yesterday
use yesterday's date
  • Start of Month
use the first day of the current month
  • End of Month
use the last day of the current month
  • Start of Last Month
use the first day of last month
  • End of Last Month
use the last day of last month
  • Start of Next Month
use the first day of next month
  • End of Next Month
use the last day of next month
  • Start Of Year
use the first day of the current year
  • End of Year
use the last day of the current year
  • Start of Last Year
use the first day of last year
  • End of Last Year
use the last day of last year
  • Start of Next Year
use the first day of next year
  • End of Next Year
use the last day of next year
  • June 30
use June 30th of the current year
  • June 30 - Last Year
use June 30th of last year
  • June 30 - Next Year
use June 30th of next year
  • July 1
use July 1st of the current year
  • July 1 - Last Year
use July 1st of last year
  • July 1 - Next Year
use July 1st of next year

Cron Expression

The Minutes, Hours, Day Of Month, Month, and Day Of Week fields determine when the job is run, using a simplified version of a Cron expression:

Field Allowed Values Allowed Special Characters
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day Of Month 1-31 , - * ? /
Month 1-12 or JAN-DEC , - * /
Day Of Week 1-7 or SUN-SAT , - * ? /

Note that only one of Day Of Month and Day Of Week may be specified. If one is specified, the other must be set to ?.

If you change the schedule, the new schedule will take effect immediately.

Examples

 

Description Minutes Hours Day Of Month Month Day Of Week
Run at 8am every day 0 8 ? * *
Run at 8:30 on weekdays 30 8 ? * mon-fri