STANDARD DATA DICTIONARY #798.3 -- ROR PATIENT EVENTS FILE 9/29/25 PAGE 1
STORED IN ^RORDATA(798.3, *** NO DATA STORED YET *** SITE: WWW.BMIRWIN.COM UCI: VISTA,VISTA (VERSION 1.5)
DATA NAME GLOBAL DATA
ELEMENT TITLE LOCATION TYPE
-----------------------------------------------------------------------------------------------------------------------------------
The ROR PATIENT EVENTS file is used to store references to those patients that were processed with errors and were not added to the
registry (see the ERROR multiple).
Moreover, the data references generated by the event protocols are stored in this file (see the EVENT multiple). These references
are used to speed up the regular registry updates.
Records of the file have the same internal entry numbers as the internal values of the PATIENT NAME field ('DINUM' feature).
DD ACCESS: @
RD ACCESS:
WR ACCESS: @
DEL ACCESS: @
LAYGO ACCESS: @
AUDIT ACCESS:
CROSS
REFERENCED BY: TIMESTAMP(AT), PATIENT NAME(B)
798.3,.01 PATIENT NAME 0;1 POINTER TO PATIENT FILE (#2) (Required)
INPUT TRANSFORM: S:$D(X) DINUM=X
LAST EDITED: APR 15, 2002
DESCRIPTION:
The PATIENT NAME field identifies the patient. You can add a patient from the PATIENT file.
DELETE AUTHORITY: @
WRITE AUTHORITY: @
NOTES: XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER
CROSS-REFERENCE: 798.3^B
1)= S ^RORDATA(798.3,"B",$E(X,1,30),DA)=""
2)= K ^RORDATA(798.3,"B",$E(X,1,30),DA)
3)= Do not delete!
798.3,1 ERROR 1;0 POINTER Multiple #798.31
DESCRIPTION: This multiple stores references to those registries that have the patient processed with errors and
has not been added to the registry.
When the problems are fixed, the data search must start not from the date of the previous run of
the registry update process but from the date that was used when the problem arose. Otherwise, the
data in the interval between those dates will not be checked and some important information may be
missed.
This date cannot be stored in the registry file (#798) because the patient has not been added to
the registry yet. So, the date is stored in this multiple.
Before the registry update process begins searching the data of the patient, it tries to find a
record for that patient in this multiple. If it exists, the date from the record is used in the
search instead of regular date (from the REGISTRY UPDATED UNTIL field of the REGISTRY PARAMETERS
file.
After successfully processing the patient data, the corresponding record is deleted from this
multiple.
Records of the multiple are uniquely identified by the registry IEN. The "A" primary key and the
"B" uniqueness index are used for this purpose.
Usually, records within this multiple should not be edited. Its content is handled automatically by
entry points from the routine RORUPP01 during the registry update.
However, if the errors are not corrected in the predefined time frame (2 weeks at the moment),
patient data will not be analyzed by the subsequent registry updates until someone fixes the errors
and resets the COUNTER field of the patient records in this multiple.
WRITE AUTHORITY: @
SECONDARY KEY: A (#21)
Uniqueness Index: B (#156)
File, Field: 1) REGISTRY (798.31,.01)
INDEXED BY: REGISTRY (B)
798.31,.01 REGISTRY 0;1 POINTER TO ROR REGISTRY PARAMETERS FILE (#798.1) (Multiply asked) (Key field)
LAST EDITED: APR 15, 2002
DESCRIPTION:
The REGISTRY field identifies the registry that the record is associated with.
DELETE AUTHORITY: @
WRITE AUTHORITY: @
UNEDITABLE
NOTES: XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER
FIELD INDEX: B (#156) REGULAR IR LOOKUP & SORTING
Unique for: Key A (#21), File #798.31
Short Descr: Uniqueness Index for the "A" key of Subfile #798.31
Set Logic: S ^RORDATA(798.3,DA(1),1,"B",X,DA)=""
Kill Logic: K ^RORDATA(798.3,DA(1),1,"B",X,DA)
Whole Kill: K ^RORDATA(798.3,DA(1),1,"B")
X(1): REGISTRY (798.31,.01) (Subscr 1)
798.31,1 DATE 0;2 DATE (Required)
INPUT TRANSFORM: S %DT="ETX" D ^%DT S X=Y K:Y<1 X
LAST EDITED: APR 15, 2002
DESCRIPTION: The field holds the date that was used as the start date of the data search when problems arose
during the processing of patient data. After the problems are fixed, the next data search will
start from this date (minus lag days).
TECHNICAL DESCR: The value of this field is used instead of the regular start date from the REGISTRY UPDATED UNTIL
field of the REGISTRY PARAMETERS file during the search for patient data.
DELETE AUTHORITY: @
WRITE AUTHORITY: @
CROSS-REFERENCE: 798.31^AD
1)= S ^RORDATA(798.3,DA(1),1,"AD",$E(X,1,30),DA)=""
2)= K ^RORDATA(798.3,DA(1),1,"AD",$E(X,1,30),DA)
3)= Do not delete!
798.31,2 COUNTER 0;3 NUMBER
INPUT TRANSFORM: K:+X'=X!(X>99)!(X<1)!(X?.E1"."1N.N) X
LAST EDITED: APR 15, 2002
HELP-PROMPT: Type a Number between 1 and 99, 0 Decimal Digits.
DESCRIPTION: When a patient is added to the ROR PATIENT EVENTS file (due to errors during the registry
update), this field is populated with 1.
Until someone fixes the error(s), every subsequent registry update will increment a value of this
field by 1. When it reaches a predefined threshold value, the registry updates will skip this
patient until someone fixes the error(s) and resets this field to 1.
TECHNICAL DESCR: The $$ADD^RORUPP01 function initializes this field with 1 when the record is created. Then it
increments its value each time the record is updated until the field value becomes not less than
a value of the local RORUPD(MAXPPCNT") node (or 14 by default).
The function $$SDSDATE^RORUPP01 analyzes the value of the field and returns an error if the
counters associated with all processed registries have reached the threshold.
DELETE AUTHORITY:
798.3,2 EVENT 2;0 DATE Multiple #798.32
LAST EDITED: APR 15, 2002
DESCRIPTION: This multiple stores event references created by the event protocols. The registry update uses
these references to speed up the processing.
The event references are grouped by the data areas (protocols) and only one reference per
associated date (the DATE field) for each data area is stored at the moment. The "AD"
cross-reference is used by the $$ADD^RORUPP02 function for this purpose.
WRITE AUTHORITY: @
INDEXED BY: DATA AREA & DATE (AD), DATA AREA & TIMESTAMP (AT)
798.32,.01 TIMESTAMP 0;1 DATE (Multiply asked)
INPUT TRANSFORM: S %DT="ESTX" D ^%DT S X=Y K:Y<1 X
LAST EDITED: MAY 02, 2002
DESCRIPTION: This field stores the timestamp of the event reference (the current date and time when the
reference was created).
DELETE AUTHORITY: @
WRITE AUTHORITY: @
CROSS-REFERENCE: 798.32^B
1)= S ^RORDATA(798.3,DA(1),2,"B",$E(X,1,30),DA)=""
2)= K ^RORDATA(798.3,DA(1),2,"B",$E(X,1,30),DA)
3)= Do not delete!
CROSS-REFERENCE: 798.3^AT
1)= S ^RORDATA(798.3,"AT",$E(X,1,30),DA(1),DA)=""
2)= K ^RORDATA(798.3,"AT",$E(X,1,30),DA(1),DA)
3)= Do not delete!
This cross-reference is used by the $$PURGE^RORUPP02 function to purge the old event references.
RECORD INDEXES: AT (#368)
798.32,1 DATA AREA 0;2 POINTER TO ROR DATA AREA FILE (#799.33) (Required)
LAST EDITED: JUN 06, 2003
DESCRIPTION: Internal value of this field is the code defining the data area (protocol) that this event
reference is associated with.
TECHNICAL DESCR: The codes are associated with the event protocols as follow:
1 - ROR EVENT LAB (LR7O ALL EVSEND RESULTS)
2 - ROR EVENT VISIT (PXK VISIT DATA EVENT)
3 - ROR EVENT PTF (DGPM MOVEMENT EVENTS)
DELETE AUTHORITY: @
WRITE AUTHORITY: @
RECORD INDEXES: AD (#367), AT (#368)
798.32,2 DATE 0;3 DATE
INPUT TRANSFORM: S %DT="EST" D ^%DT S X=Y K:Y<1 X
LAST EDITED: APR 19, 2002
DESCRIPTION: This field stores the date and time associated with the event. For example, collection date/time
of the specimen is stored here for the Lab event.
DELETE AUTHORITY: @
WRITE AUTHORITY: @
RECORD INDEXES: AD (#367)
FILES POINTED TO FIELDS
PATIENT (#2) PATIENT NAME (#.01)
ROR DATA AREA (#799.33) EVENT:DATA AREA (#1)
ROR REGISTRY PARAMETERS (#798.1) ERROR:REGISTRY (#.01)
Subfile #798.32
Record Indexes:
AD (#367) RECORD MUMPS IR SORTING ONLY
Short Descr: Data Area, Date
Set Logic: S ^RORDATA(798.3,DA(1),2,"AD",X(1),X(2)\1,DA)=""
Kill Logic: K ^RORDATA(798.3,DA(1),2,"AD",X(1),X(2)\1,DA)
Whole Kill: K ^RORDATA(798.3,DA(1),2,"AD")
X(1): DATA AREA (798.32,1) (Subscr 1) (forwards)
X(2): DATE (798.32,2) (Subscr 2) (forwards)
AT (#368) RECORD REGULAR IR SORTING ONLY
Short Descr: Data Area, Timestamp
Set Logic: S ^RORDATA(798.3,DA(1),2,"AT",X(1),X(2),DA)=""
Kill Logic: K ^RORDATA(798.3,DA(1),2,"AT",X(1),X(2),DA)
Whole Kill: K ^RORDATA(798.3,DA(1),2,"AT")
X(1): DATA AREA (798.32,1) (Subscr 1) (forwards)
X(2): TIMESTAMP (798.32,.01) (Subscr 2) (forwards)
INPUT TEMPLATE(S):
PRINT TEMPLATE(S):
ROR PENDING ERRORS JUL 17, 2002@13:42 USER #0 LIST OF PENDING PATIENT ERRORS
This template is used by the [RORMNT PENDING
ERRORS LIST] menu option to print a list of
patients with erroneous data (based on content of
the ERROR multiples).
SORT TEMPLATE(S):
ROR PENDING ERRORS JUL 17, 2002@13:39 USER #0
SORT BY: -ERROR;S//
ERROR SUB-FIELD: COUNTER// (COUNTER not null)
WITHIN COUNTER, SORT BY: "";S// ("""" is null)
WITHIN "", SORT BY: PATIENT NAME// (PATIENT NAME not null)
WITHIN PATIENT NAME, SORT BY: NUMBER// (NUMBER not null)
This template is used by the [RORMNT PENDING
ERRORS LIST] menu option to sort and group a list
of patients with erroneous data by error counter
(value of the COUNTER field). Patients with higher
counters are printed first.
FORM(S)/BLOCK(S):