STANDARD DATA DICTIONARY #799.2 -- ROR METADATA FILE                                                              6/27/25    PAGE 1
STORED IN ^ROR(799.2,  (6 ENTRIES)   SITE: WWW.BMIRWIN.COM   UCI: VISTA,VISTA                                      (VERSION 1.5)   

DATA          NAME                  GLOBAL        DATA
ELEMENT       TITLE                 LOCATION      TYPE
-----------------------------------------------------------------------------------------------------------------------------------
THIS FILE MUST NOT BE MODIFIED LOCALLY! ONLY AUTHORIZED NATIONAL REGISTRY DEVELOPERS CAN EDIT THIS FILE! 
 
The ROR METADATA file contains descriptors of the files, data elements and APIs used by the registry update subsystem (search
engine). These descriptors define relationships between files ("file-processing tree") used by the search engine, data elements and
APIs.  
 
The expression parser uses data stored in this file to validate expressions that implement selection rules.  
 
Data from this file loaded and prepared by the $$METADATA^RORUPR1 function is used by the registry update process to load values of
the data elements using appropriate APIs.  
 
Developers can use this file as a source of information required for definition of new selection rules for new national or local 
registries (supported files and data elements, APIs, DBIAs, etc.).  
 
All modifications of the registry update routines that affect the file-processing tree, APIs or supported data elements MUST be
reflected in the ROR METADATA file.  
 
Records of this file have internal entry numbers equal to the corresponding file numbers.  


              DD ACCESS: @
              RD ACCESS: 
              WR ACCESS: @
             DEL ACCESS: @
           LAYGO ACCESS: @
           AUDIT ACCESS: 
IDENTIFIED BY: 
      "WRITE": N RORMSG D EN^DDIOL($$GET1^DID(Y,,,"NAME",,"RORMSG"),,"?30")

POINTED TO BY: PARENT field (#1) of the ROR METADATA File (#799.2) 
               

CROSS
REFERENCED BY: FILE(B)

INDEXED BY:    CODE (DEC)




799.2,.01     FILE                   0;1 NUMBER (Required)

              INPUT TRANSFORM:  Q:$$VAEDT^RORDD(799.2,,-1)  K:+X'=X!(X>999999999999)!(X<2)!(X?.E1"."10.N) X I $D(X) K:'$$VFILE^DILF
                                D(X) X S:$D(X) DINUM=X
              LAST EDITED:      MAR 13, 2002 
              HELP-PROMPT:      Enter (sub)file number between 2 and 999999999999, 9 Decimal Digits. 
              DESCRIPTION:      The value of this field is the number of the (sub)file that can be searched for new data by the 
                                registry update process and is a part of the file-processing tree.  

              TECHNICAL DESCR:  The internal value of this field is used as the internal entry number of the record ('DINUM'
                                feature).  

              DELETE TEST:      1,0)= I $$VADEL^RORDD(799.2,,-1)

              DELETE AUTHORITY: @
              WRITE AUTHORITY:  @
              NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER

              CROSS-REFERENCE:  799.2^B 
                                1)= S ^ROR(799.2,"B",$E(X,1,30),DA)=""
                                2)= K ^ROR(799.2,"B",$E(X,1,30),DA)
                                3)= Do not delete!


799.2,1       PARENT                 0;2 POINTER TO ROR METADATA FILE (#799.2)

              INPUT TRANSFORM:  Q:$$VAEDT^RORDD(799.2,,-1)  S DIC("S")="I Y'="_+$G(DA) D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
              LAST EDITED:      MAR 13, 2002 
              DESCRIPTION:      This field holds the number of the (sub)file that is a parent of the current file in the 
                                file-processing tree. You can choose only from the files that have descriptors in the ROR METADATA 
                                file. However, the current record cannot be selected as the parent of itself.  
                                 
                                Leave this field empty for the "root" file (the PATIENT file (#2) most probably).  
                                 
                                See the technical description of the field for more information.  

              TECHNICAL DESCR:  During the registry update, VistA files are processed in the predetermined hierarchic sequence
                                called "file-processing tree". A sample structure of the "tree" is illustrated below: 
                                 
                                 . PATIENT (#2) 
                                 .    VISIT (#9000010) 
                                 .       V POV (#9000010.07) 
                                 .    PROBLEM (#9000011) 
                                 .    PTF (#45) 
                                 .    LAB DATA (#63) 
                                 
                                This means that for each patient a record in file #2 is processed first. Then patient visits from
                                file #9000010 are processed. During processing of each visit record all linked "purpose of visit"
                                records in file #9000010.07 are processed. After that, all patient records from the problem list
                                are processed. Next in line are the patient records from file #45 and the lab results.  
                                 
                                The structure of the tree is defined by the routines that conduct the search (hard coded loops).
                                However, it MUST be reflected in this file.  

              SCREEN:           S DIC("S")="I Y'="_+$G(DA)
              EXPLANATION:      A record cannot be parent record of itself.
              DELETE TEST:      1,0)= I $$VADEL^RORDD(799.2,,-1)

              DELETE AUTHORITY: @
              WRITE AUTHORITY:  @
              NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


799.2,2       DATA ELEMENT           2;0 Multiple #799.22

              LAST EDITED:      MAR 26, 2002 
              DESCRIPTION:      This multiple stores a list of data elements supported by the search engine. These elements can be
                                referenced by selection rules associated with the file.  
                                 
                                Records of the multiple are uniquely identified by the data element name (the primary key "B" and
                                the uniqueness index "B" are used for this purpose).  

              WRITE AUTHORITY:  @
              IDENTIFIED BY:    
                    "WRITE":    D EN^DDIOL("  "_$P(^(0),U,2),,"?35")

              SECONDARY KEY:    A (#26)
              Uniqueness Index: DEC (#164)  WHOLE FILE (#799.2)
                   File, Field: 1) CODE (799.22,.02)

              SECONDARY KEY:    B (#27)
              Uniqueness Index: B (#165)
                   File, Field: 1) DATA NAME (799.22,.01)

              INDEXED BY:       DATA NAME (B)

799.22,.01      DATA NAME              0;1 FREE TEXT (Multiply asked) (Key field)

                INPUT TRANSFORM:  Q:$$VAEDT^RORDD(799.2,,-1)  K:($L(X)>30)!($L(X)<3)!(+X=X) X
                LAST EDITED:      MAR 28, 2002 
                HELP-PROMPT:      Answer must be 3-30 characters in length. 
                DESCRIPTION:      The value of this field is the name of the data element supported by the search engine. The names 
                                  must be unique in the file context.  
                                   
                                  The data element is supported if either the routine that processes the file can load the value 
                                  using an application API or there is a DBIA that allows access to the corresponding field via the 
                                  'GETS^DIQ' FileMan procedure.  

                TECHNICAL DESCR:  The primary "B" key and the "B" index (new style) guarantee uniqueness of the names in the file
                                  context.  

                DELETE TEST:      1,0)= I $$VADEL^RORDD(799.2,,-1)

                DELETE AUTHORITY: @
                WRITE AUTHORITY:  @
                NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER

                FIELD INDEX:      B (#165)    REGULAR    IR    LOOKUP & SORTING
                     Unique for:  Key B (#27), File #799.22
                    Short Descr:  Data element name uniqueness index.
                      Set Logic:  S ^ROR(799.2,DA(1),2,"B",$E(X,1,30),DA)=""
                     Kill Logic:  K ^ROR(799.2,DA(1),2,"B",$E(X,1,30),DA)
                     Whole Kill:  K ^ROR(799.2,DA(1),2,"B")
                           X(1):  DATA NAME  (799.22,.01)  (Subscr 1)  (Len 30)  (forwards)


799.22,.02      CODE                   0;2 NUMBER (Required) (Key field)

                INPUT TRANSFORM:Q:$$VAEDT^RORDD(799.2,,-1)  S:X="+" X=$O(^ROR(799.2,"DEC",""),-1)+1 K:+X'=X!(X>999999999)!(X<1)!(X?
                                .E1"."1N.N) X
                LAST EDITED:    MAR 27, 2002 
                HELP-PROMPT:    Type a Number between 1 and 999999999, 0 Decimal Digits. 
                DESCRIPTION:    This field stores the unique code of the data element. Data elements can be referenced either by 
                                their names (only in the file context) or by their codes.  
                                 
                                You can enter "+" to get the next available code for a new data element.  

                TECHNICAL DESCR:The secondary "A" key and the whole-file "DEC" index (new style) guarantee uniqueness of the data
                                element codes.  

                DELETE AUTHORITY: @
                WRITE AUTHORITY:@
                                UNEDITABLE
                NOTES:          XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER

                CROSS-REFERENCE:799.22^C 
                                1)= S ^ROR(799.2,DA(1),2,"C",$E(X,1,30),DA)=""
                                2)= K ^ROR(799.2,DA(1),2,"C",$E(X,1,30),DA)
                                3)= List of data element codes.

                FIELD INDEX:    DEC (#164)    REGULAR    IR    LOOKUP & SORTING    WHOLE FILE (#799.2)
                   Unique for:  Key A (#26), File #799.22
                  Short Descr:  Global list of Data Element Codes.
                    Set Logic:  S ^ROR(799.2,"DEC",X,DA(1),DA)=""
                   Kill Logic:  K ^ROR(799.2,"DEC",X,DA(1),DA)
                   Whole Kill:  K ^ROR(799.2,"DEC")
                         X(1):  CODE  (799.22,.02)  (Subscr 1)  (forwards)


799.22,1        LOADER API           0;5 NUMBER (Required)

                INPUT TRANSFORM:Q:$$VAEDT^RORDD(799.2,,-1)  K:+X'=X!(X>99)!(X<1)!(X?.E1"."1N.N) X
                LAST EDITED:    MAR 26, 2002 
                HELP-PROMPT:    Type a Number between 1 and 99, 0 Decimal Digits. 
                DESCRIPTION:    This field stores the code of the API that is used to load a value of the data element defined by
                                the descriptor.  
                                 
                                The descriptor of this API must be defined in the "API" multiple (subfile #799.23). The only 
                                exception is the API #1. It is always considered as the 'GETS^DIQ' FileMan procedure.  

                EXECUTABLE HELP:D APILST^RORDD($G(DA(1)))
                DELETE AUTHORITY: @
                WRITE AUTHORITY:@
                NOTES:          XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


799.22,2        REQUIRED             0;3 SET

                                '0' FOR NO; 
                                '1' FOR YES; 
                INPUT TRANSFORM:Q:$$VAEDT^RORDD(799.2,,-1)
                LAST EDITED:    MAR 08, 2002 
                DESCRIPTION:    If the value of the data element is required by the search engine itself, the REQUIRED field should
                                be set to "YES" so that the value of the element will be loaded whether it is referenced by the
                                selection rules or not.  

                DELETE TEST:    1,0)= I $$VADEL^RORDD(799.2,,-1)

                DELETE AUTHORITY: @
                WRITE AUTHORITY:@
                NOTES:          XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER

                CROSS-REFERENCE:799.22^AR 
                                1)= S ^ROR(799.2,DA(1),2,"AR",$E(X,1,30),DA)=""
                                2)= K ^ROR(799.2,DA(1),2,"AR",$E(X,1,30),DA)
                                3)= List of required fields.


799.22,4        VALUE TYPE           0;4 SET (Required)

                                'E' FOR External; 
                                'I' FOR Internal; 
                                'EI' FOR Both; 
                INPUT TRANSFORM:Q:$$VAEDT^RORDD(799.2,,-1)
                LAST EDITED:    MAR 08, 2002 
                DESCRIPTION:    The VALUE TYPE field contains the code of the data element value type(s) supported by the search 
                                engine. The corresponding API must be able to load the value(s).  

                DELETE AUTHORITY: @
                WRITE AUTHORITY:@
                NOTES:          XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


799.22,4.1      EXTERNAL DATA        4.1;E1,50 FREE TEXT

                INPUT TRANSFORM:Q:$$VAEDT^RORDD(799.2,,-1)  K:$L(X)>50!($L(X)<1) X
                LAST EDITED:    MAR 11, 2002 
                HELP-PROMPT:    Answer must be 1-50 characters in length. 
                DESCRIPTION:    This field can contain any optional data that helps to load the external value of the data element
                                (variable name, subscript, position, etc.).  
                                 
                                Many data elements use the following data structure: PN[^SN]. The 'SN' is a subscript of the node
                                in the local array (optional) and the 'PN' is the number of the "^"-piece of the node value.  These
                                values are used to extract the value from the local variable created by the API.  

                TECHNICAL DESCR:See definition of the API #2 associated with the file #45 and source code of the
                                $$LOADFLDS^RORUPD09 function for an example.  

                DELETE TEST:    1,0)= I $$VADEL^RORDD(799.2,,-1)

                DELETE AUTHORITY: @
                WRITE AUTHORITY:@
                NOTES:          XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


799.22,4.2      INTERNAL DATA        4.2;E1,50 FREE TEXT

                INPUT TRANSFORM:Q:$$VAEDT^RORDD(799.2,,-1)  K:$L(X)>50!($L(X)<1) X
                LAST EDITED:    MAR 11, 2002 
                HELP-PROMPT:    Answer must be 1-50 characters in length. 
                DESCRIPTION:    This field can contain any optional data that helps to load the internal value of the data element
                                (variable name, subscript, position, etc.).  
                                 
                                Many data elements use the following data structure: PN[^SN]. The 'SN' is a subscript of the node
                                in the local array (optional) and the 'PN' is the number of the "^"-piece of the node value.  These
                                values are used to extract the value from the local variable created by the API.  

                TECHNICAL DESCR:See definition of the API #2 associated with the file #45 and source code of the
                                $$LOADFLDS^RORUPD09 function for an example.  

                DELETE TEST:    1,0)= I $$VADEL^RORDD(799.2,,-1)

                DELETE AUTHORITY: @
                WRITE AUTHORITY:@
                NOTES:          XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


799.22,6        FIELD NUMBER         0;6 NUMBER

                INPUT TRANSFORM:Q:$$VAEDT^RORDD(799.2,,-1)  K:+X'=X!(X>999999999)!(X<0)!(X?.E1"."10.N) X X:$D(X)&$G(DA(1)) "N RORFI
                                LE S RORFILE=$P($G(^ROR(799.2,DA(1),0)),U) I RORFILE K:'$$VFIELD^DILFD(RORFILE,X) X"
                LAST EDITED:    MAR 26, 2002 
                HELP-PROMPT:    Type a field number between .000000001 and 999999999, 9 Decimal Digits 
                DESCRIPTION:    The FIELD NUMBER field holds the number of the field (referenced hereinafter as the search field) 
                                that the data element is loaded from.  
                                 
                                If the FileMan API #1 (GETS^DIQ) is used to load the value of the data element, the FIELD NUMBER 
                                field must have a value.  
                                 
                                Otherwise, this field can be empty. However, it is recommended to populate it for clarity.  

                DELETE TEST:    1,0)= I $$VADEL^RORDD(799.2,,-1)

                DELETE AUTHORITY: @
                WRITE AUTHORITY:@
                NOTES:          XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER




799.2,3       API                    3;0 Multiple #799.23

              DESCRIPTION:      This multiple stores descriptors of the APIs that are used to load values of the search fields.  
                                 
                                Codes of the APIs are unique only in the file context. For example, the definition of any file can
                                have a descriptor of the API #2.  
                                 
                                Internal entry numbers of the records in this multiple are equal to the codes of the APIs.  

              WRITE AUTHORITY:  @
              IDENTIFIED BY:    
                    "WRITE":    D EN^DDIOL($P(^(0),U,3)_"^"_$P(^(0),U,2),,"?10")

799.23,.01      API CODE               0;1 NUMBER (Multiply asked)

                INPUT TRANSFORM:  Q:$$VAEDT^RORDD(799.2,,-1)  K:+X'=X!(X>99)!(X<2)!(X?.E1"."1.N) X S:$D(X) DINUM=X
                LAST EDITED:      MAR 08, 2002 
                HELP-PROMPT:      Type a Number between 2 and 99, 0 Decimal Digits. 
                DESCRIPTION:      This field stores the code of the API. These codes are used by the corresponding routines of the 
                                  search engine to distinguish between the APIs.  
                                   
                                  Codes of the APIs are unique only in the file context. For example, the definition of any file 
                                  can have a descriptor of the API #2.  

                TECHNICAL DESCR:  Internal value of this field is used as the internal entry number of the record ('DINUM'
                                  feature).  

                DELETE TEST:      1,0)= I $$VADEL^RORDD(799.2,,-1)

                DELETE AUTHORITY: @
                WRITE AUTHORITY:  @
                NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER

                CROSS-REFERENCE:  799.23^B 
                                  1)= S ^ROR(799.2,DA(1),3,"B",$E(X,1,30),DA)=""
                                  2)= K ^ROR(799.2,DA(1),3,"B",$E(X,1,30),DA)
                                  3)= Do not delete!


799.23,1.1      ROUTINE                0;2 FREE TEXT (Required)

                INPUT TRANSFORM:  Q:$$VAEDT^RORDD(799.2,,-1)  K:'(X?1.8UN) X
                LAST EDITED:      MAR 08, 2002 
                HELP-PROMPT:      Answer must be a valid routine name (1-8 characters in length). 
                DESCRIPTION:
                                  This field stores the name of the routine implementing the API.  

                DELETE AUTHORITY: @
                WRITE AUTHORITY:  @
                NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


799.23,1.2      TAG                    0;3 FREE TEXT

                INPUT TRANSFORM:  Q:$$VAEDT^RORDD(799.2,,-1)  K:'(X?1.8UN) X
                LAST EDITED:      MAR 08, 2002 
                HELP-PROMPT:      Answer must be a valid tag name (1-8 characters in length). 
                DESCRIPTION:      This field contains a tag name inside the API routine. If the routine should be executed from the
                                  beginning, leave this field empty.  

                DELETE TEST:      1,0)= I $$VADEL^RORDD(799.2,,-1)

                DELETE AUTHORITY: @
                WRITE AUTHORITY:  @
                NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


799.23,2        IA#                    0;4 NUMBER

                INPUT TRANSFORM:  Q:$$VAEDT^RORDD(799.2,,-1)  K:+X'=X!(X>999999999)!(X<1)!(X?.E1"."1.N) X
                LAST EDITED:      MAR 08, 2002 
                HELP-PROMPT:      Type a Number between 1 and 999999999, 0 Decimal Digits. 
                DESCRIPTION:
                                  The IA# field stores a reference number of the integration agreement that describes this API.  

                DELETE TEST:      1,0)= I $$VADEL^RORDD(799.2,,-1)

                DELETE AUTHORITY: @
                WRITE AUTHORITY:  @
                NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER




799.2,5       DESCRIPTION            5;0   WORD-PROCESSING #799.25

              DESCRIPTION:      You can enter any additional reference information related to the file definition. The content of
                                this field is not used by the application.  

              WRITE AUTHORITY:  @

                LAST EDITED:      MAR 08, 2002 
                DELETE AUTHORITY: @
                WRITE AUTHORITY:  @




      FILES POINTED TO                      FIELDS

ROR METADATA (#799.2)             PARENT (#1)



INPUT TEMPLATE(S):

PRINT TEMPLATE(S):
ROR DATA ELEMENTS             APR 04, 2002@14:07  USER #0                                                         ROR METADATA LIST

SORT TEMPLATE(S):
ROR DATA ELEMENTS             APR 04, 2002@13:03  USER #0                            'ROR DATA ELEMENTS' Print Template always used
SORT BY: DATA ELEMENT//
DATA ELEMENT SUB-FIELD: CODE// (CODE not null)


FORM(S)/BLOCK(S):