OCXOPOST ;SLC/RJS,CLA - ORDER CHECK INSTALL POST INIT ;10/29/98  12:37
 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
 ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
 ;
EN ;
 ;
 N OCXOETIM S OCXOETIM=$H
 ;
 I $L($T(AUTO^OCXDIAG)) D
 .;
 .N OCXOETIM,OCXF,OCXR,OCXC,OCXTT,OCXTC
 .D BMES^XPDUTL("---Order Check Integrity Check------------------------------------")
 .D AUTO^OCXDIAG
 .D BMES^XPDUTL("---Retotaling Order Check files-----------------------------------")
 .F OCXGL="^OCXD","^OCXS" D
 ..S OCXF=0 F OCXTT=0:1 S OCXF=$O(@OCXGL@(OCXF)) Q:'OCXF
 ..S OCXF=0 F OCXTC=0:1 S OCXF=$O(@OCXGL@(OCXF)) Q:'OCXF  D
 ...D STATUS(OCXTC,OCXTT)
 ...S OCXR=0 F OCXC=0:1 S OCXR=$O(@OCXGL@(OCXF,OCXR)) Q:'OCXR
 ...Q:'OCXC
 ...S $P(@OCXGL@(OCXF,0),U,3,4)=OCXC_U_$O(@OCXGL@(OCXF,"A"),-1)
 ;
 I $L($T(AUTO^OCXOCMP)) D
 .;
 .N OCXOETIM
 .D BMES^XPDUTL("---Creating Order Check Routines-----------------------------------")
 .D AUTO^OCXOCMP
 ;
 I $L($T(^XMB)) D
 .;
 .N XMB,XMDUZ,XMY,OCXTIME
 .S OCXTIME=$H-OCXOETIM*86400
 .S OCXTIME=OCXTIME+($P($H,",",2)-$P(OCXOETIM,",",2))
 .S XMB="OCX POSTINIT COMPLETE"
 .S XMB(1)=$P($T(+3),";;",3)
 .S XMB(2)=$$CONV($$DATE)
 .S XMB(3)="["_DUZ_"]  "_$P($G(^VA(200,DUZ,0)),U,1)
 .S XMB(4)=(OCXTIME\60)_" minutes "_(OCXTIME#60)_" seconds "
 .S XMY("G.OCX DEVELOPERS@ISC-SLC.DOMAIN.EXT")=""
 .S XMY("G.OCX DEVELOPERS")=""
 .S XMDUZ=.5
 .S XMDT="N"
 .D ^XMB
 ;
 Q
 ;
DATE() N X,Y,%DT S X="N",%DT="T" D ^%DT X ^DD("DD") Q Y
 ;
CONV(Y) Q:'(Y["@") Y Q $P(Y,"@",1)_" at "_$P(Y,"@",2,99)
 ;
STATUS(CURRENT,XPDIDTOT) ;
 ;
 I '$D(XPDIDVT) N XPDIDVT
 S XPDIDVT=$G(XPDIDVT)
 D UPDATE^XPDID(CURRENT)
 ;
 Q
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HOCXOPOST   1695     printed  Sep 23, 2025@20:01:58                                                                                                                                                                                                    Page 2
OCXOPOST  ;SLC/RJS,CLA - ORDER CHECK INSTALL POST INIT ;10/29/98  12:37
 +1       ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
 +2       ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
 +3       ;
EN        ;
 +1       ;
 +2        NEW OCXOETIM
           SET OCXOETIM=$HOROLOG
 +3       ;
 +4        IF $LENGTH($TEXT(AUTO^OCXDIAG))
               Begin DoDot:1
 +5       ;
 +6                NEW OCXOETIM,OCXF,OCXR,OCXC,OCXTT,OCXTC
 +7                DO BMES^XPDUTL("---Order Check Integrity Check------------------------------------")
 +8                DO AUTO^OCXDIAG
 +9                DO BMES^XPDUTL("---Retotaling Order Check files-----------------------------------")
 +10               FOR OCXGL="^OCXD","^OCXS"
                       Begin DoDot:2
 +11                       SET OCXF=0
                           FOR OCXTT=0:1
                               SET OCXF=$ORDER(@OCXGL@(OCXF))
                               if 'OCXF
                                   QUIT 
 +12                       SET OCXF=0
                           FOR OCXTC=0:1
                               SET OCXF=$ORDER(@OCXGL@(OCXF))
                               if 'OCXF
                                   QUIT 
                               Begin DoDot:3
 +13                               DO STATUS(OCXTC,OCXTT)
 +14                               SET OCXR=0
                                   FOR OCXC=0:1
                                       SET OCXR=$ORDER(@OCXGL@(OCXF,OCXR))
                                       if 'OCXR
                                           QUIT 
 +15                               if 'OCXC
                                       QUIT 
 +16                               SET $PIECE(@OCXGL@(OCXF,0),U,3,4)=OCXC_U_$ORDER(@OCXGL@(OCXF,"A"),-1)
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +17      ;
 +18       IF $LENGTH($TEXT(AUTO^OCXOCMP))
               Begin DoDot:1
 +19      ;
 +20               NEW OCXOETIM
 +21               DO BMES^XPDUTL("---Creating Order Check Routines-----------------------------------")
 +22               DO AUTO^OCXOCMP
               End DoDot:1
 +23      ;
 +24       IF $LENGTH($TEXT(^XMB))
               Begin DoDot:1
 +25      ;
 +26               NEW XMB,XMDUZ,XMY,OCXTIME
 +27               SET OCXTIME=$HOROLOG-OCXOETIM*86400
 +28               SET OCXTIME=OCXTIME+($PIECE($HOROLOG,",",2)-$PIECE(OCXOETIM,",",2))
 +29               SET XMB="OCX POSTINIT COMPLETE"
 +30               SET XMB(1)=$PIECE($TEXT(+3),";;",3)
 +31               SET XMB(2)=$$CONV($$DATE)
 +32               SET XMB(3)="["_DUZ_"]  "_$PIECE($GET(^VA(200,DUZ,0)),U,1)
 +33               SET XMB(4)=(OCXTIME\60)_" minutes "_(OCXTIME#60)_" seconds "
 +34               SET XMY("G.OCX DEVELOPERS@ISC-SLC.DOMAIN.EXT")=""
 +35               SET XMY("G.OCX DEVELOPERS")=""
 +36               SET XMDUZ=.5
 +37               SET XMDT="N"
 +38               DO ^XMB
               End DoDot:1
 +39      ;
 +40       QUIT 
 +41      ;
DATE()     NEW X,Y,%DT
           SET X="N"
           SET %DT="T"
           DO ^%DT
           XECUTE ^DD("DD")
           QUIT Y
 +1       ;
CONV(Y)    if '(Y["@")
               QUIT Y
           QUIT $PIECE(Y,"@",1)_" at "_$PIECE(Y,"@",2,99)
 +1       ;
STATUS(CURRENT,XPDIDTOT) ;
 +1       ;
 +2        IF '$DATA(XPDIDVT)
               NEW XPDIDVT
 +3        SET XPDIDVT=$GET(XPDIDVT)
 +4        DO UPDATE^XPDID(CURRENT)
 +5       ;
 +6        QUIT 
 +7       ;