OCXDI00X ;SLC/RJS,CLA - OCX PACKAGE DIAGNOSTIC ROUTINES ;SEP 7,1999 at 10:29
 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
 ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
 ;
S ;
 ;
 D DOT^OCXDIAG
 ;
 ;
 K REMOTE,LOCAL,OPCODE,REF
 F LINE=1:1:500 S TEXT=$P($T(DATA+LINE),";",2,999) Q:TEXT  I $L(TEXT) D  Q:QUIT
 .S ^TMP("OCXDIAG",$J,$O(^TMP("OCXDIAG",$J,"A"),-1)+1)=TEXT
 ;
 G ^OCXDI00Y
 ;
 Q
 ;
DATA ;
 ;
 ;;R^"863.8:","863.84:9",1,"E"
 ;;D^B^C
 ;;EOR^
 ;;KEY^863.8:^DATE SPECIAL MASK
 ;;R^"863.8:",.01,"E"
 ;;D^DATE SPECIAL MASK
 ;;R^"863.8:",.02,"E"
 ;;D^DATE MASK
 ;;R^"863.8:",1,1
 ;;D^Executable code using the date in internal FM format and returning a
 ;;R^"863.8:",1,2
 ;;D^truth value which checks the validity of the date outside of %DT
 ;;R^"863.8:","863.84:3",.01,"E"
 ;;D^QUERY
 ;;R^"863.8:","863.84:3",1,"E"
 ;;D^Date mask code
 ;;R^"863.8:","863.84:4",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:4",1,"E"
 ;;D^MUMPS CODE
 ;;EOR^
 ;;KEY^863.8:^FM MASK
 ;;R^"863.8:",.01,"E"
 ;;D^FM MASK
 ;;R^"863.8:",.02,"E"
 ;;D^FM MASK
 ;;R^"863.8:",1,1
 ;;D^Tag^routine where code is located to parse the FM DD and override the parameter value
 ;;R^"863.8:","863.84:4",.01,"E"
 ;;D^QUERY
 ;;R^"863.8:","863.84:4",1,"E"
 ;;D^Enter tag^routine where the FM MASK parser is located
 ;;R^"863.8:","863.84:5",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:5",1,"E"
 ;;D^LINE TAG
 ;;EOR^
 ;;KEY^863.8:^REPEAT
 ;;R^"863.8:",.01,"E"
 ;;D^REPEAT
 ;;R^"863.8:",.02,"E"
 ;;D^REPEAT
 ;;R^"863.8:",1,1
 ;;D^Continue to repeat the dialogue untile the user enters a null string or
 ;;R^"863.8:",1,2
 ;;D^he 'hats' out.  1='YES' and 0='NO'
 ;;R^"863.8:",2,"E"
 ;;D^NO
 ;;R^"863.8:","863.84:13",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:13",1,"E"
 ;;D^YES NO
 ;;EOR^
 ;;KEY^863.8:^CASE
 ;;R^"863.8:",.01,"E"
 ;;D^CASE
 ;;R^"863.8:",.02,"E"
 ;;D^CASE
 ;;R^"863.8:",1,1
 ;;D^Translate lowercase user input to uppercase.  1='YES',0="NO"
 ;;R^"863.8:",2,"E"
 ;;D^1
 ;;R^"863.8:","863.84:5",.01,"E"
 ;;D^QUERY
 ;;R^"863.8:","863.84:5",1,"E"
 ;;D^Translate lowercase to uppercase
 ;;R^"863.8:","863.84:6",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:6",1,"E"
 ;;D^YES NO
 ;;EOR^
 ;;KEY^863.8:^OUTPUT VARIABLE
 ;;R^"863.8:",.01,"E"
 ;;D^OUTPUT VARIABLE
 ;;R^"863.8:",.02,"E"
 ;;D^OUTVAR
 ;;R^"863.8:",1,1
 ;;D^The name of a variable which stores the output of a function.  Can be
 ;;R^"863.8:",1,2
 ;;D^a local or a global and may be the root of an array; e.g., 'Y(1)'
 ;;R^"863.8:",2,"E"
 ;;D^Y
 ;;R^"863.8:","863.84:4",.01,"E"
 ;;D^QUERY
 ;;R^"863.8:","863.84:4",1,"E"
 ;;D^Enter the closed reference
 ;;R^"863.8:","863.84:5",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:5",1,"E"
 ;;D^CLOSED REFERENCE
 ;;R^"863.8:","863.84:6",.01,"E"
 ;;D^HELP MESSAGE
 ;;R^"863.8:","863.84:6",1,"E"
 ;;D^Must be the name of a local or global variable in closed reference format
 ;;EOR^
 ;;KEY^863.8:^DONT LIST
 ;;R^"863.8:",.01,"E"
 ;;D^DONT LIST
 ;;R^"863.8:",.02,"E"
 ;;D^DONT LIST
 ;;R^"863.8:",1,1
 ;;D^Don't list choices in user dialogue.  1=DON'T LIST,0=LIST
 ;;R^"863.8:",2,"E"
 ;;D^List
 ;;R^"863.8:","863.84:6",.01,"E"
 ;;D^QUERY
 ;;R^"863.8:","863.84:6",1,"E"
 ;;D^Want to prevent the display ofthe list of choices
 ;;R^"863.8:","863.84:8",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:8",1,"E"
 ;;D^BINARY
 ;;R^"863.8:","863.84:9",.01,"E"
 ;;D^SET CODES
 ;;R^"863.8:","863.84:9",1,"E"
 ;;D^1:DON'T LIST;0:LIST
 ;;EOR^
 ;;KEY^863.8:^PROMPT
 ;;R^"863.8:",.01,"E"
 ;;D^PROMPT
 ;;R^"863.8:",.02,"E"
 ;;D^PROMPT
 ;;R^"863.8:",1,1
 ;;D^Special user prompt in the I/O dialogue.
 ;;R^"863.8:","863.84:4",.01,"E"
 ;;D^QUERY
 ;;R^"863.8:","863.84:4",1,"E"
 ;;D^Enter prompt
 ;;R^"863.8:","863.84:5",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:5",1,"E"
 ;;D^FREE TEXT
 ;;R^"863.8:","863.84:6",.01,"E"
 ;;D^FREE TEXT MAXIMUM LENGTH
 ;;R^"863.8:","863.84:6",1,"E"
 ;;D^30
 ;;EOR^
 ;;KEY^863.8:^SET CODES
 ;;R^"863.8:",.01,"E"
 ;;D^SET CODES
 ;;R^"863.8:",.02,"E"
 ;;D^CODES
 ;;R^"863.8:",1,1
 ;;D^A set of codes string in FM format.
 ;;R^"863.8:","863.84:2",.01,"E"
 ;;D^FM MASK
 ;;R^"863.8:","863.84:2",1,"E"
 ;;D^SET^OCXF6
 ;;R^"863.8:","863.84:3",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:3",1,"E"
 ;;D^CODE STRING
 ;;EOR^
 ;;KEY^863.8:^HELP FRAME
 ;;R^"863.8:",.01,"E"
 ;;D^HELP FRAME
 ;;R^"863.8:",.02,"E"
 ;;D^HELP FRAME
 ;;R^"863.8:",1,1
 ;;D^If, during the user dialogue, he enters a '??' a help frame will be displayed
 ;;R^"863.8:","863.84:5",.01,"E"
 ;;D^QUERY
 ;;R^"863.8:","863.84:5",1,"E"
 ;;D^Enter help frame
 ;;R^"863.8:","863.84:6",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:6",1,"E"
 ;;D^POINTER TO A FILEMAN FILE
 ;;R^"863.8:","863.84:7",.01,"E"
 ;;D^DIC
 ;;R^"863.8:","863.84:7",1,"E"
 ;;D^9.4
 ;;EOR^
 ;;KEY^863.8:^ADD CALL
 ;;R^"863.8:",.01,"E"
 ;;D^ADD CALL
 ;;R^"863.8:",.02,"E"
 ;;D^ADD CALL
 ;;R^"863.8:",1,1
 ;;D^tag^routine which adds a new record (instance) to a class file (i.e., a
 ;;R^"863.8:",1,2
 ;;D^new object is created by this code).
 ;;R^"863.8:","863.84:3",.01,"E"
 ;;D^QUERY
 ;;R^"863.8:","863.84:3",1,"E"
 ;;D^Enter tag^routine for entering a new object
 ;;R^"863.8:","863.84:4",.01,"E"
 ;;D^DATA TYPE
 ;;R^"863.8:","863.84:4",1,"E"
 ;;D^LINE TAG
 ;;EOR^
 ;;KEY^863.8:^DEL CALL
 ;1;
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HOCXDI00X   5431     printed  Sep 23, 2025@19:59:21                                                                                                                                                                                                    Page 2
OCXDI00X  ;SLC/RJS,CLA - OCX PACKAGE DIAGNOSTIC ROUTINES ;SEP 7,1999 at 10:29
 +1       ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
 +2       ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
 +3       ;
S         ;
 +1       ;
 +2        DO DOT^OCXDIAG
 +3       ;
 +4       ;
 +5        KILL REMOTE,LOCAL,OPCODE,REF
 +6        FOR LINE=1:1:500
               SET TEXT=$PIECE($TEXT(DATA+LINE),";",2,999)
               if TEXT
                   QUIT 
               IF $LENGTH(TEXT)
                   Begin DoDot:1
 +7                    SET ^TMP("OCXDIAG",$JOB,$ORDER(^TMP("OCXDIAG",$JOB,"A"),-1)+1)=TEXT
                   End DoDot:1
                   if QUIT
                       QUIT 
 +8       ;
 +9        GOTO ^OCXDI00Y
 +10      ;
 +11       QUIT 
 +12      ;
DATA      ;
 +1       ;
 +2       ;;R^"863.8:","863.84:9",1,"E"
 +3       ;;D^B^C
 +4       ;;EOR^
 +5       ;;KEY^863.8:^DATE SPECIAL MASK
 +6       ;;R^"863.8:",.01,"E"
 +7       ;;D^DATE SPECIAL MASK
 +8       ;;R^"863.8:",.02,"E"
 +9       ;;D^DATE MASK
 +10      ;;R^"863.8:",1,1
 +11      ;;D^Executable code using the date in internal FM format and returning a
 +12      ;;R^"863.8:",1,2
 +13      ;;D^truth value which checks the validity of the date outside of %DT
 +14      ;;R^"863.8:","863.84:3",.01,"E"
 +15      ;;D^QUERY
 +16      ;;R^"863.8:","863.84:3",1,"E"
 +17      ;;D^Date mask code
 +18      ;;R^"863.8:","863.84:4",.01,"E"
 +19      ;;D^DATA TYPE
 +20      ;;R^"863.8:","863.84:4",1,"E"
 +21      ;;D^MUMPS CODE
 +22      ;;EOR^
 +23      ;;KEY^863.8:^FM MASK
 +24      ;;R^"863.8:",.01,"E"
 +25      ;;D^FM MASK
 +26      ;;R^"863.8:",.02,"E"
 +27      ;;D^FM MASK
 +28      ;;R^"863.8:",1,1
 +29      ;;D^Tag^routine where code is located to parse the FM DD and override the parameter value
 +30      ;;R^"863.8:","863.84:4",.01,"E"
 +31      ;;D^QUERY
 +32      ;;R^"863.8:","863.84:4",1,"E"
 +33      ;;D^Enter tag^routine where the FM MASK parser is located
 +34      ;;R^"863.8:","863.84:5",.01,"E"
 +35      ;;D^DATA TYPE
 +36      ;;R^"863.8:","863.84:5",1,"E"
 +37      ;;D^LINE TAG
 +38      ;;EOR^
 +39      ;;KEY^863.8:^REPEAT
 +40      ;;R^"863.8:",.01,"E"
 +41      ;;D^REPEAT
 +42      ;;R^"863.8:",.02,"E"
 +43      ;;D^REPEAT
 +44      ;;R^"863.8:",1,1
 +45      ;;D^Continue to repeat the dialogue untile the user enters a null string or
 +46      ;;R^"863.8:",1,2
 +47      ;;D^he 'hats' out.  1='YES' and 0='NO'
 +48      ;;R^"863.8:",2,"E"
 +49      ;;D^NO
 +50      ;;R^"863.8:","863.84:13",.01,"E"
 +51      ;;D^DATA TYPE
 +52      ;;R^"863.8:","863.84:13",1,"E"
 +53      ;;D^YES NO
 +54      ;;EOR^
 +55      ;;KEY^863.8:^CASE
 +56      ;;R^"863.8:",.01,"E"
 +57      ;;D^CASE
 +58      ;;R^"863.8:",.02,"E"
 +59      ;;D^CASE
 +60      ;;R^"863.8:",1,1
 +61      ;;D^Translate lowercase user input to uppercase.  1='YES',0="NO"
 +62      ;;R^"863.8:",2,"E"
 +63      ;;D^1
 +64      ;;R^"863.8:","863.84:5",.01,"E"
 +65      ;;D^QUERY
 +66      ;;R^"863.8:","863.84:5",1,"E"
 +67      ;;D^Translate lowercase to uppercase
 +68      ;;R^"863.8:","863.84:6",.01,"E"
 +69      ;;D^DATA TYPE
 +70      ;;R^"863.8:","863.84:6",1,"E"
 +71      ;;D^YES NO
 +72      ;;EOR^
 +73      ;;KEY^863.8:^OUTPUT VARIABLE
 +74      ;;R^"863.8:",.01,"E"
 +75      ;;D^OUTPUT VARIABLE
 +76      ;;R^"863.8:",.02,"E"
 +77      ;;D^OUTVAR
 +78      ;;R^"863.8:",1,1
 +79      ;;D^The name of a variable which stores the output of a function.  Can be
 +80      ;;R^"863.8:",1,2
 +81      ;;D^a local or a global and may be the root of an array; e.g., 'Y(1)'
 +82      ;;R^"863.8:",2,"E"
 +83      ;;D^Y
 +84      ;;R^"863.8:","863.84:4",.01,"E"
 +85      ;;D^QUERY
 +86      ;;R^"863.8:","863.84:4",1,"E"
 +87      ;;D^Enter the closed reference
 +88      ;;R^"863.8:","863.84:5",.01,"E"
 +89      ;;D^DATA TYPE
 +90      ;;R^"863.8:","863.84:5",1,"E"
 +91      ;;D^CLOSED REFERENCE
 +92      ;;R^"863.8:","863.84:6",.01,"E"
 +93      ;;D^HELP MESSAGE
 +94      ;;R^"863.8:","863.84:6",1,"E"
 +95      ;;D^Must be the name of a local or global variable in closed reference format
 +96      ;;EOR^
 +97      ;;KEY^863.8:^DONT LIST
 +98      ;;R^"863.8:",.01,"E"
 +99      ;;D^DONT LIST
 +100     ;;R^"863.8:",.02,"E"
 +101     ;;D^DONT LIST
 +102     ;;R^"863.8:",1,1
 +103     ;;D^Don't list choices in user dialogue.  1=DON'T LIST,0=LIST
 +104     ;;R^"863.8:",2,"E"
 +105     ;;D^List
 +106     ;;R^"863.8:","863.84:6",.01,"E"
 +107     ;;D^QUERY
 +108     ;;R^"863.8:","863.84:6",1,"E"
 +109     ;;D^Want to prevent the display ofthe list of choices
 +110     ;;R^"863.8:","863.84:8",.01,"E"
 +111     ;;D^DATA TYPE
 +112     ;;R^"863.8:","863.84:8",1,"E"
 +113     ;;D^BINARY
 +114     ;;R^"863.8:","863.84:9",.01,"E"
 +115     ;;D^SET CODES
 +116     ;;R^"863.8:","863.84:9",1,"E"
 +117     ;;D^1:DON'T LIST;0:LIST
 +118     ;;EOR^
 +119     ;;KEY^863.8:^PROMPT
 +120     ;;R^"863.8:",.01,"E"
 +121     ;;D^PROMPT
 +122     ;;R^"863.8:",.02,"E"
 +123     ;;D^PROMPT
 +124     ;;R^"863.8:",1,1
 +125     ;;D^Special user prompt in the I/O dialogue.
 +126     ;;R^"863.8:","863.84:4",.01,"E"
 +127     ;;D^QUERY
 +128     ;;R^"863.8:","863.84:4",1,"E"
 +129     ;;D^Enter prompt
 +130     ;;R^"863.8:","863.84:5",.01,"E"
 +131     ;;D^DATA TYPE
 +132     ;;R^"863.8:","863.84:5",1,"E"
 +133     ;;D^FREE TEXT
 +134     ;;R^"863.8:","863.84:6",.01,"E"
 +135     ;;D^FREE TEXT MAXIMUM LENGTH
 +136     ;;R^"863.8:","863.84:6",1,"E"
 +137     ;;D^30
 +138     ;;EOR^
 +139     ;;KEY^863.8:^SET CODES
 +140     ;;R^"863.8:",.01,"E"
 +141     ;;D^SET CODES
 +142     ;;R^"863.8:",.02,"E"
 +143     ;;D^CODES
 +144     ;;R^"863.8:",1,1
 +145     ;;D^A set of codes string in FM format.
 +146     ;;R^"863.8:","863.84:2",.01,"E"
 +147     ;;D^FM MASK
 +148     ;;R^"863.8:","863.84:2",1,"E"
 +149     ;;D^SET^OCXF6
 +150     ;;R^"863.8:","863.84:3",.01,"E"
 +151     ;;D^DATA TYPE
 +152     ;;R^"863.8:","863.84:3",1,"E"
 +153     ;;D^CODE STRING
 +154     ;;EOR^
 +155     ;;KEY^863.8:^HELP FRAME
 +156     ;;R^"863.8:",.01,"E"
 +157     ;;D^HELP FRAME
 +158     ;;R^"863.8:",.02,"E"
 +159     ;;D^HELP FRAME
 +160     ;;R^"863.8:",1,1
 +161     ;;D^If, during the user dialogue, he enters a '??' a help frame will be displayed
 +162     ;;R^"863.8:","863.84:5",.01,"E"
 +163     ;;D^QUERY
 +164     ;;R^"863.8:","863.84:5",1,"E"
 +165     ;;D^Enter help frame
 +166     ;;R^"863.8:","863.84:6",.01,"E"
 +167     ;;D^DATA TYPE
 +168     ;;R^"863.8:","863.84:6",1,"E"
 +169     ;;D^POINTER TO A FILEMAN FILE
 +170     ;;R^"863.8:","863.84:7",.01,"E"
 +171     ;;D^DIC
 +172     ;;R^"863.8:","863.84:7",1,"E"
 +173     ;;D^9.4
 +174     ;;EOR^
 +175     ;;KEY^863.8:^ADD CALL
 +176     ;;R^"863.8:",.01,"E"
 +177     ;;D^ADD CALL
 +178     ;;R^"863.8:",.02,"E"
 +179     ;;D^ADD CALL
 +180     ;;R^"863.8:",1,1
 +181     ;;D^tag^routine which adds a new record (instance) to a class file (i.e., a
 +182     ;;R^"863.8:",1,2
 +183     ;;D^new object is created by this code).
 +184     ;;R^"863.8:","863.84:3",.01,"E"
 +185     ;;D^QUERY
 +186     ;;R^"863.8:","863.84:3",1,"E"
 +187     ;;D^Enter tag^routine for entering a new object
 +188     ;;R^"863.8:","863.84:4",.01,"E"
 +189     ;;D^DATA TYPE
 +190     ;;R^"863.8:","863.84:4",1,"E"
 +191     ;;D^LINE TAG
 +192     ;;EOR^
 +193     ;;KEY^863.8:^DEL CALL
 +194     ;1;
 +195     ;