STANDARD DATA DICTIONARY #798.3 -- ROR PATIENT EVENTS FILE                                                        6/27/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):