There are several data variables that can be used in Records for special use cases. This document describes those data values and their purposes.



Data Name

Use Case

@RECORDLOCK

If this variable is in a Record then the record will be locked and not editable in the Record Screen interface. This can be added and removed via any automated process, including Workflow and E-Forms. The value is not important to the system. Any value will work so you can use the value for any procedural requirements such as the User and Date/Time the lock was placed, etc.


@OCR

If set to YES and you are using the standard Indexing Automation workflow then this will trigger an OCR process in workflow.


@INDEX

If set to YES and you are using the standard Indexing Automation workflow then this will trigger the Record to go to the Indexing workflow step.


@SPLIT

If set to YES and you are using the standard Indexing Automation workflow then this will trigger the Record to go to the Splitting workflow step.


@MERGE

If this variable is present when saving a new Record then the system will look for another Record with similar data values to merge it with. If you are uploading something like medical records and want to be sure the records you are adding do not duplicate then you can use variable. 


Add the @MERGE variable and set its value to the list of fields to use for the duplicate check. Separate each field name with a pipe symbol (|).When this variable is available then DocMgt will do a search based on these fields and their incoming values to see if there is already a match. If so then the existing record is updated if needed. If no match is found then a new Record is added as normal.


In the Medical Records example above, you might set the @MERGE variable to RECORDTYPE|MRN so that any record of this type (Medical Records) with the same MRN would not add a new record but rather would add to and update the existing record.


Please note that this variable ONLY WORKS ON NEW RECORDS being uploaded and not on updates to an existing Record.


@NOTIFY

This variable is used to send date-specific notifications to users about the record. If there is an @Notify variable in the record then any date in the record that is tomorrow, 7 days from now or 30 days from now will trigger a notification email. 


The email address that the notification is sent to is based on the value of this variable. If the value is numeric then the system will look up the user by ID and use their email address. If the value has an @ sign then it is treated as the email address itself. If the value is string then first the system looks for a user with that username. If found then that user's email is used. If not found then the system looks for a Team of that name and, if found, ALL users in that team receive the notification.


You can have multiple @Notify variables (fields) in a record and the system will notify each one individually using the logic above.


@OFFLINEHOLD

This variable is used to prevent OFFLINE retention processes from acting upon the record.


@DELETEHOLD

This variable is used to prevent DELETE retention processes from acting upon the record.


@PURGEHOLD

This variable is used to prevent PURGE retention processes from acting upon the record.


@ROUTEHOLD

This variable is used to prevent ROUTE retention processes from acting upon the record.


@ALLHOLD

This variable is used to prevent ANY retention process from acting upon the record. This includes OFFLINE, DELETE, PURGE and ROUTE actions. As long as the variable is present the retention system will not process this record.

@REQUIREDDOCUMENT


or


REQUIREDDOCUMENT

This variable is used in the data to specify custom required documents for the current Record. If you want to specify a required document by name you can add a @RequiredDocument data field with the name of the document. For instance, @RequiredDocument = 'ABC' will mean that a document named ABC is required for this Record. If that document must also reside in a Category named REQUIRED then you can expand the example to @RequiredDocument = 'ABC||REQUIRED'.


The pipe symbol separates the parts of the value, like this: "NAME|SUBCAT|CAT|COUNT|EFORMID|EFORMNAME|COMPLETEFIELD|COMPLETEVALUE". Every part is optional and you only need to supply as many as you use — trailing pipes can be left off, and a part you want to skip is left empty between its pipes.


Part

Meaning

NAME

The required document's name. Leave empty to require a document in the category regardless of its name.

SUBCAT

The sub category the document must be in. Defaults to the value of @RequiredDocumentSubCat if one is on the Record.

CAT

The category the document must be in. Defaults to the value of @RequiredDocumentCat if one is on the Record.

COUNT

How many matching documents are required. Defaults to 1.

EFORMID

The ID of an E-form. When supplied, only a document created from that E-form satisfies the requirement.

EFORMNAME

The name of an E-form, used instead of EFORMID when you would rather not hard-code an ID. It is looked up when EFORMID is 0.

COMPLETEFIELD

The name of a field on the Record that says whether this requirement is complete.

COMPLETEVALUE

The value that field must hold to count as complete.


The last two parts are one setting and are described together below. When COMPLETEFIELD is left empty, requirements behave the way they always have: a plain document requirement is satisfied by the documents being present, and an E-form requirement is satisfied when the form marks itself complete with an @RequiredDocumentComplete field.


When COMPLETEFIELD names a Record field, that field becomes the only thing that decides completion, and any @RequiredDocumentComplete value on the document is ignored. The required documents must still be present — the field decides whether what is there counts as finished. Leave COMPLETEVALUE empty and any "yes" value on the field will do, meaning YES, Y, TRUE, T, 1, ON or CHECKED, which suits a checkbox. Supply COMPLETEVALUE and the field must hold exactly that value, ignoring capitalisation and surrounding spaces, which suits a status field. A field that is missing or empty is never complete.


This example requires a W-9 built from E-form 42, and counts it complete only once the Record's W9Complete checkbox is ticked:

@RequiredDocument = W-9|||1|42||W9Complete


This example requires the same form but waits on a status field instead:

@RequiredDocument = 'W-9|||1|42||ApprovalStatus|Approved


@OCRFIRSTNPAGES

Instructs the OCR engine to only OCR the first N pages of each Document in the Record


@OCRLASTNPAGES

Instructs the OCR engine to only OCR the last N pages of each Document in the Record


@OCRMODE

Instructs the OCR engine on hos to perform the OCR. Possible values are:


 - SIMPLE = This is just a quick text extraction without OCR coordinates and only works for XPSX, XLSX, DOCX, PDF and TXT formats and their variants.


 - OCR = This instructs the engine to perform a normal OCR extraction of any supported file type. IF NO @OCRMODE IS SET THIS IS ASSUMED.


 - BARCODE = This instructs the OCR engine to perform barcode recognition during OCR. IF NO @OCRMODE IS SET THIS IS ASSUMED.


 - RECEIPT = This instructs the OCR engine to perform a Receipt extraction. This requires Enterprise edition and also incurs additional cost per receipt processed!


 - INVOICE = This instructs the OCR engine to perform an Invoice extraction. This requires Enterprise edition and also incurs additional cost per invoice processed!


@OCRLOGFIELD

The name of the field in the Record to log the OCR progress. This adds extra database load so it is not suggested to be used for high volume processing.