OCXDI01P ;SLC/RJS,CLA - OCX PACKAGE DIAGNOSTIC ROUTINES ;SEP 7,1999 at 10:30
 ;;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 ^OCXDI01Q
 ;
 Q
 ;
DATA ;
 ;
 ;;D^ORPHAN^OCXFMGR2
 ;;R^"863.6:","863.63:1",.01,"E"
 ;;D^OUTPUT VARIABLE
 ;;R^"863.6:","863.63:1",1,"E"
 ;;D^Y
 ;;R^"863.6:","863.63:2",.01,"E"
 ;;D^ORPHAN DELETE CLASS
 ;;R^"863.6:","863.63:3",.01,"E"
 ;;D^ORPHAN DELETE OBJECT
 ;;R^"863.6:","863.63:4",.01,"E"
 ;;D^ORPHAN ALL
 ;;R^"863.6:","863.63:4",1,"E"
 ;;D^2
 ;;EOR^
 ;;KEY^863.6:^CASE TOOL
 ;;R^"863.6:",.01,"E"
 ;;D^CASE TOOL
 ;;R^"863.6:",.02,"E"
 ;;D^BUILD REC
 ;;R^"863.6:",.03,"E"
 ;;D^CLASS
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^Call to build a method subroutine
 ;;R^"863.6:",2,"E"
 ;;D^BUILD^OCXMGRM1
 ;;R^"863.6:","863.63:1",.01,"E"
 ;;D^BUILD CALL
 ;;EOR^
 ;;KEY^863.6:^LIST PUBLIC FUNCTIONS
 ;;R^"863.6:",.01,"E"
 ;;D^LIST PUBLIC FUNCTIONS
 ;;R^"863.6:",.02,"E"
 ;;D^LIST PF REC
 ;;R^"863.6:",.03,"E"
 ;;D^CLASS
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^Summary list of all public functions
 ;;R^"863.6:",2,"E"
 ;;D^FLIST^OCXFMGR3
 ;;EOR^
 ;;KEY^863.6:^DIALOGUE OUTPUT TRANSFORM
 ;;R^"863.6:",.01,"E"
 ;;D^DIALOGUE OUTPUT TRANSFORM
 ;;R^"863.6:",.02,"E"
 ;;D^DT OT
 ;;R^"863.6:",.03,"E"
 ;;D^DATA TYPE
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^For a specific data type, this method translates the internal format
 ;;R^"863.6:",1,2
 ;;D^to the external format
 ;;R^"863.6:",2,"E"
 ;;D^VAL^OCXFD
 ;;R^"863.6:","863.63:1",.01,"E"
 ;;D^INPUT VALUE
 ;;R^"863.6:","863.63:1",.02,"E"
 ;;D^INPUT
 ;;R^"863.6:","863.63:1",1,"E"
 ;;D^ 
 ;;EOR^
 ;;KEY^863.6:^DIALOGUE INPUT TRANSFORM
 ;;R^"863.6:",.01,"E"
 ;;D^DIALOGUE INPUT TRANSFORM
 ;;R^"863.6:",.02,"E"
 ;;D^DT IT
 ;;R^"863.6:",.03,"E"
 ;;D^DATA TYPE
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^This method converts an external format value stored in 'INVAL' to
 ;;R^"863.6:",1,2
 ;;D^the internal format
 ;;R^"863.6:",2,"E"
 ;;D^VAL^OCXFD
 ;;R^"863.6:","863.63:1",.01,"E"
 ;;D^INPUT VALUE
 ;;R^"863.6:","863.63:1",.02,"E"
 ;;D^INPUT
 ;;EOR^
 ;;KEY^863.6:^DIALOGUE INPUT VALIDATION
 ;;R^"863.6:",.01,"E"
 ;;D^DIALOGUE INPUT VALIDATION
 ;;R^"863.6:",.02,"E"
 ;;D^DT IVAL
 ;;R^"863.6:",.03,"E"
 ;;D^DATA TYPE
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^Validates the user input.
 ;;R^"863.6:",2,"E"
 ;;D^VAL^OCXFD
 ;;R^"863.6:","863.63:1",.01,"E"
 ;;D^INPUT VALUE
 ;;R^"863.6:","863.63:1",.02,"E"
 ;;D^INPUT
 ;;EOR^
 ;;KEY^863.6:^DIALOGUE VALIDATE STORED VALUE
 ;;R^"863.6:",.01,"E"
 ;;D^DIALOGUE VALIDATE STORED VALUE
 ;;R^"863.6:",.02,"E"
 ;;D^DT VAL
 ;;R^"863.6:",.03,"E"
 ;;D^DATA TYPE
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^Validates the value stored in INVAL
 ;;R^"863.6:",2,"E"
 ;;D^VAL^OCXFD
 ;;R^"863.6:","863.63:1",.01,"E"
 ;;D^INPUT VALUE
 ;;R^"863.6:","863.63:1",.02,"E"
 ;;D^INPUT
 ;;EOR^
 ;;KEY^863.6:^PARAMETER VALUE DIALOGUE
 ;;R^"863.6:",.01,"E"
 ;;D^PARAMETER VALUE DIALOGUE
 ;;R^"863.6:",.02,"E"
 ;;D^READER
 ;;R^"863.6:",.03,"E"
 ;;D^PARAMETER
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^Every parameter has a data type.  This data type determines the
 ;;R^"863.6:",1,2
 ;;D^dialogue, transforms and validations related to each parameter
 ;;R^"863.6:",1,3
 ;;D^value.
 ;;R^"863.6:",2,"E"
 ;;D^GETVAL^OCXFD
 ;;EOR^
 ;;KEY^863.6:^TEST
 ;;R^"863.6:",.01,"E"
 ;;D^TEST
 ;;R^"863.6:",.02,"E"
 ;;D^TEST
 ;;R^"863.6:",.03,"E"
 ;;D^DATA TYPE
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^XXXXXXX
 ;;R^"863.6:",2,"E"
 ;;D^GEN^OCXFDMOM
 ;;R^"863.6:","863.63:1",.01,"E"
 ;;D^LINE FEED
 ;;R^"863.6:","863.63:1",1,"E"
 ;;D^5
 ;;R^"863.6:","863.63:2",.01,"E"
 ;;D^TAB OFFSET
 ;;R^"863.6:","863.63:2",1,"E"
 ;;D^5
 ;;EOR^
 ;;KEY^863.6:^LIST ENTRIES
 ;;R^"863.6:",.01,"E"
 ;;D^LIST ENTRIES
 ;;EOR^
 ;;KEY^863.6:^USER CLASS LOOKUP
 ;;R^"863.6:",.01,"E"
 ;;D^USER CLASS LOOKUP
 ;;R^"863.6:",.02,"E"
 ;;D^USER CLASS LOOKUP
 ;;R^"863.6:",.03,"E"
 ;;D^CLASS
 ;;R^"863.6:",.04,"E"
 ;;D^ROUTINE
 ;;R^"863.6:",1,1
 ;;D^ 
 ;;R^"863.6:",1,2
 ;;D^  Returns an object identifier
 ;;R^"863.6:",1,3
 ;;D^ 
 ;;R^"863.6:",2,"E"
 ;;D^GETINST^OCXFLK
 ;;R^"863.6:","863.63:1",.01,"E"
 ;;D^TAB OFFSET
 ;;R^"863.6:","863.63:1",.02,"E"
 ;;D^INPUT
 ;;R^"863.6:","863.63:10",.01,"E"
 ;;D^MULTI SELECT
 ;;R^"863.6:","863.63:10",.02,"E"
 ;;D^INPUT
 ;;R^"863.6:","863.63:2",.01,"E"
 ;;D^LINE FEED
 ;;R^"863.6:","863.63:2",.02,"E"
 ;;D^INPUT
 ;;R^"863.6:","863.63:3",.01,"E"
 ;;D^OUTPUT VARIABLE
 ;;R^"863.6:","863.63:3",.02,"E"
 ;;D^INPUT
 ;;R^"863.6:","863.63:4",.01,"E"
 ;;D^QUERY
 ;;R^"863.6:","863.63:5",.01,"E"
 ;;D^DEFAULT VALUE
 ;;R^"863.6:","863.63:6",.01,"E"
 ;;D^SILENT CALL
 ;;R^"863.6:","863.63:7",.01,"E"
 ;;D^FM SCREEN CODE
 ;;R^"863.6:","863.63:8",.01,"E"
 ;;D^HELP EXECUTABLE
 ;;R^"863.6:","863.63:9",.01,"E"
 ;;D^FM CROSS REFERENCE LIST
 ;;EOR^
 ;;EOF^OCXS(863.6)^1
 ;;SOF^863.4  OCX MDD ATTRIBUTE
 ;;KEY^863.4:^NAME OF PATIENT
 ;;R^"863.4:",.01,"E"
 ;;D^NAME OF PATIENT
 ;;EOR^
 ;;KEY^863.4:^SEX OF PATIENT
 ;;R^"863.4:",.01,"E"
 ;;D^SEX OF PATIENT
 ;;EOR^
 ;1;
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HOCXDI01P   5566     printed  Sep 23, 2025@19:59:47                                                                                                                                                                                                    Page 2
OCXDI01P  ;SLC/RJS,CLA - OCX PACKAGE DIAGNOSTIC ROUTINES ;SEP 7,1999 at 10:30
 +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 ^OCXDI01Q
 +10      ;
 +11       QUIT 
 +12      ;
DATA      ;
 +1       ;
 +2       ;;D^ORPHAN^OCXFMGR2
 +3       ;;R^"863.6:","863.63:1",.01,"E"
 +4       ;;D^OUTPUT VARIABLE
 +5       ;;R^"863.6:","863.63:1",1,"E"
 +6       ;;D^Y
 +7       ;;R^"863.6:","863.63:2",.01,"E"
 +8       ;;D^ORPHAN DELETE CLASS
 +9       ;;R^"863.6:","863.63:3",.01,"E"
 +10      ;;D^ORPHAN DELETE OBJECT
 +11      ;;R^"863.6:","863.63:4",.01,"E"
 +12      ;;D^ORPHAN ALL
 +13      ;;R^"863.6:","863.63:4",1,"E"
 +14      ;;D^2
 +15      ;;EOR^
 +16      ;;KEY^863.6:^CASE TOOL
 +17      ;;R^"863.6:",.01,"E"
 +18      ;;D^CASE TOOL
 +19      ;;R^"863.6:",.02,"E"
 +20      ;;D^BUILD REC
 +21      ;;R^"863.6:",.03,"E"
 +22      ;;D^CLASS
 +23      ;;R^"863.6:",.04,"E"
 +24      ;;D^ROUTINE
 +25      ;;R^"863.6:",1,1
 +26      ;;D^Call to build a method subroutine
 +27      ;;R^"863.6:",2,"E"
 +28      ;;D^BUILD^OCXMGRM1
 +29      ;;R^"863.6:","863.63:1",.01,"E"
 +30      ;;D^BUILD CALL
 +31      ;;EOR^
 +32      ;;KEY^863.6:^LIST PUBLIC FUNCTIONS
 +33      ;;R^"863.6:",.01,"E"
 +34      ;;D^LIST PUBLIC FUNCTIONS
 +35      ;;R^"863.6:",.02,"E"
 +36      ;;D^LIST PF REC
 +37      ;;R^"863.6:",.03,"E"
 +38      ;;D^CLASS
 +39      ;;R^"863.6:",.04,"E"
 +40      ;;D^ROUTINE
 +41      ;;R^"863.6:",1,1
 +42      ;;D^Summary list of all public functions
 +43      ;;R^"863.6:",2,"E"
 +44      ;;D^FLIST^OCXFMGR3
 +45      ;;EOR^
 +46      ;;KEY^863.6:^DIALOGUE OUTPUT TRANSFORM
 +47      ;;R^"863.6:",.01,"E"
 +48      ;;D^DIALOGUE OUTPUT TRANSFORM
 +49      ;;R^"863.6:",.02,"E"
 +50      ;;D^DT OT
 +51      ;;R^"863.6:",.03,"E"
 +52      ;;D^DATA TYPE
 +53      ;;R^"863.6:",.04,"E"
 +54      ;;D^ROUTINE
 +55      ;;R^"863.6:",1,1
 +56      ;;D^For a specific data type, this method translates the internal format
 +57      ;;R^"863.6:",1,2
 +58      ;;D^to the external format
 +59      ;;R^"863.6:",2,"E"
 +60      ;;D^VAL^OCXFD
 +61      ;;R^"863.6:","863.63:1",.01,"E"
 +62      ;;D^INPUT VALUE
 +63      ;;R^"863.6:","863.63:1",.02,"E"
 +64      ;;D^INPUT
 +65      ;;R^"863.6:","863.63:1",1,"E"
 +66      ;;D^ 
 +67      ;;EOR^
 +68      ;;KEY^863.6:^DIALOGUE INPUT TRANSFORM
 +69      ;;R^"863.6:",.01,"E"
 +70      ;;D^DIALOGUE INPUT TRANSFORM
 +71      ;;R^"863.6:",.02,"E"
 +72      ;;D^DT IT
 +73      ;;R^"863.6:",.03,"E"
 +74      ;;D^DATA TYPE
 +75      ;;R^"863.6:",.04,"E"
 +76      ;;D^ROUTINE
 +77      ;;R^"863.6:",1,1
 +78      ;;D^This method converts an external format value stored in 'INVAL' to
 +79      ;;R^"863.6:",1,2
 +80      ;;D^the internal format
 +81      ;;R^"863.6:",2,"E"
 +82      ;;D^VAL^OCXFD
 +83      ;;R^"863.6:","863.63:1",.01,"E"
 +84      ;;D^INPUT VALUE
 +85      ;;R^"863.6:","863.63:1",.02,"E"
 +86      ;;D^INPUT
 +87      ;;EOR^
 +88      ;;KEY^863.6:^DIALOGUE INPUT VALIDATION
 +89      ;;R^"863.6:",.01,"E"
 +90      ;;D^DIALOGUE INPUT VALIDATION
 +91      ;;R^"863.6:",.02,"E"
 +92      ;;D^DT IVAL
 +93      ;;R^"863.6:",.03,"E"
 +94      ;;D^DATA TYPE
 +95      ;;R^"863.6:",.04,"E"
 +96      ;;D^ROUTINE
 +97      ;;R^"863.6:",1,1
 +98      ;;D^Validates the user input.
 +99      ;;R^"863.6:",2,"E"
 +100     ;;D^VAL^OCXFD
 +101     ;;R^"863.6:","863.63:1",.01,"E"
 +102     ;;D^INPUT VALUE
 +103     ;;R^"863.6:","863.63:1",.02,"E"
 +104     ;;D^INPUT
 +105     ;;EOR^
 +106     ;;KEY^863.6:^DIALOGUE VALIDATE STORED VALUE
 +107     ;;R^"863.6:",.01,"E"
 +108     ;;D^DIALOGUE VALIDATE STORED VALUE
 +109     ;;R^"863.6:",.02,"E"
 +110     ;;D^DT VAL
 +111     ;;R^"863.6:",.03,"E"
 +112     ;;D^DATA TYPE
 +113     ;;R^"863.6:",.04,"E"
 +114     ;;D^ROUTINE
 +115     ;;R^"863.6:",1,1
 +116     ;;D^Validates the value stored in INVAL
 +117     ;;R^"863.6:",2,"E"
 +118     ;;D^VAL^OCXFD
 +119     ;;R^"863.6:","863.63:1",.01,"E"
 +120     ;;D^INPUT VALUE
 +121     ;;R^"863.6:","863.63:1",.02,"E"
 +122     ;;D^INPUT
 +123     ;;EOR^
 +124     ;;KEY^863.6:^PARAMETER VALUE DIALOGUE
 +125     ;;R^"863.6:",.01,"E"
 +126     ;;D^PARAMETER VALUE DIALOGUE
 +127     ;;R^"863.6:",.02,"E"
 +128     ;;D^READER
 +129     ;;R^"863.6:",.03,"E"
 +130     ;;D^PARAMETER
 +131     ;;R^"863.6:",.04,"E"
 +132     ;;D^ROUTINE
 +133     ;;R^"863.6:",1,1
 +134     ;;D^Every parameter has a data type.  This data type determines the
 +135     ;;R^"863.6:",1,2
 +136     ;;D^dialogue, transforms and validations related to each parameter
 +137     ;;R^"863.6:",1,3
 +138     ;;D^value.
 +139     ;;R^"863.6:",2,"E"
 +140     ;;D^GETVAL^OCXFD
 +141     ;;EOR^
 +142     ;;KEY^863.6:^TEST
 +143     ;;R^"863.6:",.01,"E"
 +144     ;;D^TEST
 +145     ;;R^"863.6:",.02,"E"
 +146     ;;D^TEST
 +147     ;;R^"863.6:",.03,"E"
 +148     ;;D^DATA TYPE
 +149     ;;R^"863.6:",.04,"E"
 +150     ;;D^ROUTINE
 +151     ;;R^"863.6:",1,1
 +152     ;;D^XXXXXXX
 +153     ;;R^"863.6:",2,"E"
 +154     ;;D^GEN^OCXFDMOM
 +155     ;;R^"863.6:","863.63:1",.01,"E"
 +156     ;;D^LINE FEED
 +157     ;;R^"863.6:","863.63:1",1,"E"
 +158     ;;D^5
 +159     ;;R^"863.6:","863.63:2",.01,"E"
 +160     ;;D^TAB OFFSET
 +161     ;;R^"863.6:","863.63:2",1,"E"
 +162     ;;D^5
 +163     ;;EOR^
 +164     ;;KEY^863.6:^LIST ENTRIES
 +165     ;;R^"863.6:",.01,"E"
 +166     ;;D^LIST ENTRIES
 +167     ;;EOR^
 +168     ;;KEY^863.6:^USER CLASS LOOKUP
 +169     ;;R^"863.6:",.01,"E"
 +170     ;;D^USER CLASS LOOKUP
 +171     ;;R^"863.6:",.02,"E"
 +172     ;;D^USER CLASS LOOKUP
 +173     ;;R^"863.6:",.03,"E"
 +174     ;;D^CLASS
 +175     ;;R^"863.6:",.04,"E"
 +176     ;;D^ROUTINE
 +177     ;;R^"863.6:",1,1
 +178     ;;D^ 
 +179     ;;R^"863.6:",1,2
 +180     ;;D^  Returns an object identifier
 +181     ;;R^"863.6:",1,3
 +182     ;;D^ 
 +183     ;;R^"863.6:",2,"E"
 +184     ;;D^GETINST^OCXFLK
 +185     ;;R^"863.6:","863.63:1",.01,"E"
 +186     ;;D^TAB OFFSET
 +187     ;;R^"863.6:","863.63:1",.02,"E"
 +188     ;;D^INPUT
 +189     ;;R^"863.6:","863.63:10",.01,"E"
 +190     ;;D^MULTI SELECT
 +191     ;;R^"863.6:","863.63:10",.02,"E"
 +192     ;;D^INPUT
 +193     ;;R^"863.6:","863.63:2",.01,"E"
 +194     ;;D^LINE FEED
 +195     ;;R^"863.6:","863.63:2",.02,"E"
 +196     ;;D^INPUT
 +197     ;;R^"863.6:","863.63:3",.01,"E"
 +198     ;;D^OUTPUT VARIABLE
 +199     ;;R^"863.6:","863.63:3",.02,"E"
 +200     ;;D^INPUT
 +201     ;;R^"863.6:","863.63:4",.01,"E"
 +202     ;;D^QUERY
 +203     ;;R^"863.6:","863.63:5",.01,"E"
 +204     ;;D^DEFAULT VALUE
 +205     ;;R^"863.6:","863.63:6",.01,"E"
 +206     ;;D^SILENT CALL
 +207     ;;R^"863.6:","863.63:7",.01,"E"
 +208     ;;D^FM SCREEN CODE
 +209     ;;R^"863.6:","863.63:8",.01,"E"
 +210     ;;D^HELP EXECUTABLE
 +211     ;;R^"863.6:","863.63:9",.01,"E"
 +212     ;;D^FM CROSS REFERENCE LIST
 +213     ;;EOR^
 +214     ;;EOF^OCXS(863.6)^1
 +215     ;;SOF^863.4  OCX MDD ATTRIBUTE
 +216     ;;KEY^863.4:^NAME OF PATIENT
 +217     ;;R^"863.4:",.01,"E"
 +218     ;;D^NAME OF PATIENT
 +219     ;;EOR^
 +220     ;;KEY^863.4:^SEX OF PATIENT
 +221     ;;R^"863.4:",.01,"E"
 +222     ;;D^SEX OF PATIENT
 +223     ;;EOR^
 +224     ;1;
 +225     ;