STANDARD DATA DICTIONARY #1.62 -- POLICY FUNCTION FILE                                                            3/24/25    PAGE 1
STORED IN ^DIAC(1.62,  (7 ENTRIES)   SITE: WWW.BMIRWIN.COM   UCI: VISTA,VISTA                                     (VERSION 22.2)   

DATA          NAME                  GLOBAL        DATA
ELEMENT       TITLE                 LOCATION      TYPE
-----------------------------------------------------------------------------------------------------------------------------------
This file contains the functions needed to support evaluation of data access Policies in file #1.6. See the VA FileMan Programmer
Manual for full details of local variables available to use, and output requirements of each type.  
 
Attribute functions may use variables such as the current file (DIFN) and record number (DIENS) to set DIVAL("attribute")="value"
with the attributes that will be needed to evaluate the policy.  
 
Condition functions often look beyond the record, at a user's keys or role for example, and should return a boolean result in Y.  
 
Result functions may look at the DIRESULT variable, if it is set to P or D, and should return a boolean value in Y indicating if
processing is done.  
 
Obligation functions may perform any tasks needed by the application, such as logging access granted to a file, and do not need to
return a value.  


              DD ACCESS: @
              WR ACCESS: #
             DEL ACCESS: @
           LAYGO ACCESS: #
IDENTIFIED BY: TYPE (#.03)

POINTED TO BY: ATTRIBUTE FUNCTION field (#.04) of the POLICY File (#1.6) 
               RESULT FUNCTION field (#.07) of the POLICY File (#1.6) 
               DENY FUNCTION field (#7) of the POLICY File (#1.6) 
               PERMIT FUNCTION field (#8) of the POLICY File (#1.6) 
               FUNCTION field (#.02) of the CONDITIONS sub-field (#1.603) of the POLICY File (#1.6) 
               

CROSS
REFERENCED BY: NAME(B)

    LAST MODIFIED: AUG 30,2017@14:48:40

1.62,.001     NUMBER                     NUMBER

              INPUT TRANSFORM:  K:+X'=X!(X>9999999)!(('$G(DIFROM))&(X<1001))!(X?.E1"."1N.N) X
              LAST EDITED:      NOV 28, 2016 
              HELP-PROMPT:      Type a number between 1001 and 9999999, 0 decimal digits. 
              DESCRIPTION:      This is a number that uniquely identifies the function. Values less than 1000 are reserved for
                                FileMan use.  

              NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER


1.62,.01      NAME                   0;1 FREE TEXT (Required)

              INPUT TRANSFORM:  D CHKNAME^DIACX(1.62) I $D(X) K:$L(X)>30!($L(X)<3)!'(X'?1P.E) X
              MAXIMUM LENGTH:   30
              LAST EDITED:      NOV 30, 2016 
              HELP-PROMPT:      Enter a unique name, 3-30 characters, beginning with the package namespace. 
              DESCRIPTION:      The formal unique name of the function, prefaced with the package namespace specified in the
                                PACKAGE file, or the letter Z or A.  

              DELETE TEST:      1,0)= I DA<1000

              NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER

              CROSS-REFERENCE:  1.62^B 
                                1)= S ^DIAC(1.62,"B",$E(X,1,30),DA)=""
                                2)= K ^DIAC(1.62,"B",$E(X,1,30),DA)


1.62,.02      DISPLAY NAME           0;2 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>30!($L(X)<3) X
              MAXIMUM LENGTH:   30
              LAST EDITED:      JUL 07, 2016 
              HELP-PROMPT:      Answer must be 3-30 characters in length. 
              DESCRIPTION:
                                This is the name of the function as it should be displayed to the user in the Policy Editor.  


1.62,.03      TYPE                   0;3 SET

                                'A' FOR ATTRIBUTE; 
                                'C' FOR CONDITION; 
                                'R' FOR RESULT; 
                                'O' FOR OBLIGATION; 
              LAST EDITED:      NOV 15, 2016 
              HELP-PROMPT:      Select the type or usage of this function. 
              DESCRIPTION:      This field indicates the expected usage of this function; it will be used to screen potential
                                selections for the various function fields of a policy in the Policy Editor.  


1.62,.04      NULL VALUE             0;4 SET

                                'P' FOR PERMIT; 
                                'D' FOR DENY; 
              LAST EDITED:      AUG 03, 2016 
              HELP-PROMPT:      For Result functions, select the value to return in place of null. 
              DESCRIPTION:      This field is only used with Result functions, when a specific result must be returned for the
                                policy; if a permit or deny result could not be determined for the policy or set, the value saved
                                in this field will be returned as the result. It is recommended to use result functions with a null
                                value with top-level policies, otherwise processing logic within a policy could be inadvertently
                                altered.  


1.62,1        EXECUTE CODE           1;E1,245 MUMPS

              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      JUL 07, 2016 
              HELP-PROMPT:      This is Standard MUMPS code. 
              DESCRIPTION:      This is the M code that will be executed for this function. See the VA FileMan Programmer Manual
                                for full details on available variables and expected output. Attribute functions should set any
                                needed record elements in the DIVAL("attribute")="value" array; Condition and Result functions
                                should return a boolean value in Y. Obligation functions may perform any tasks needed by the
                                application.  

              WRITE AUTHORITY:  @

1.62,2        DESCRIPTION            2;0   WORD-PROCESSING #1.622   (IGNORE "|")

              DESCRIPTION:      This field contains a brief description of the function; it should include any input variables
                                required, the expected output, and any possible error messages.  


                LAST EDITED:      AUG 03, 2016 
                HELP-PROMPT:      Enter a description of this function, including input and output variables. 
                DESCRIPTION:      This field contains a brief description of the function; it should include any input variables
                                  required, the expected output, and any possible error messages.  





INPUT TEMPLATE(S):

PRINT TEMPLATE(S):

SORT TEMPLATE(S):

FORM(S)/BLOCK(S):