GMTSRS4 ; SLC/KER - Health Summary Resequence - Misc ; 02/11/2003
;;2.7;Health Summary;**62**;Oct 20, 1995
;
; External References
; None
;
; Variables passed
; ROOT Global file root, i.e., "^XXX(SUB1,SUB2,SUBX,"
; PIE Pieces to display, i.e, "1" or "1^2^4" (Default 1)
; HDR Display title (Default first piece of 0 node)
; COL Number of columns to display (Default 1)
;
; Output
; Takes the data stored in array ROOT at node NODE and
; piece PIE and prints in columns (number of columns
; specified by COL).
;
EN(ROOT,NODE,PIE,HDR,COL) ; Main Entry Point
D HOME^%ZIS N GMTS2,GMTS3,GMTS4,GMTSCC,GMTSCCT,GMTSCLL,GMTSCLS
N GMTSCOL,GMTSCTR,GMTSELE,GMTSFL,GMTSHDR,GMTSLNS,GMTSMAX,GMTSND
N GMTSNR,GMTSNT,GMTSON,GMTSPI,GMTSR0,GMTSRM,GMTSRT,GMTSTX,GMTSUW
N GMTSWTH S GMTSRT=$G(ROOT),GMTSND=$G(NODE),GMTSPI=$G(PIE),GMTSHDR=$G(HDR),GMTSCOL=$G(COL) S:+GMTSPI=1 GMTSPI=1
Q:'$L($G(GMTSRT)) S GMTSRT=$G(GMTSRT) S:GMTSRT'["(" GMTSRT=GMTSRT_"("
S:GMTSRT[")" GMTSRT=$E(GMTSRT,$L(GMTSRT)-1) S GMTSR0=GMTSRT_"0)" Q:'$D(@GMTSR0)
S GMTSON=GMTSRT,GMTSMAX=$G(@GMTSR0) Q:+GMTSMAX=0 S GMTSCOL=$G(GMTSCOL) Q:+GMTSCOL=0
S GMTSLNS=$S(+GMTSCOL>0&(+GMTSMAX>0):(GMTSMAX/GMTSCOL),1:18)
S GMTSRM=$P(GMTSLNS,".",2) S GMTSLNS=$P(GMTSLNS,".",1) S:+GMTSRM>0 GMTSLNS=GMTSLNS+1
S GMTSCCT=1,(GMTSNR,GMTSFL,GMTSCTR)=0
F S GMTSNR=$O(@(GMTSON_GMTSNR_")")) Q:+GMTSNR=0 D
. S GMTSCTR=GMTSCTR+1 S:GMTSCTR>GMTSLNS GMTSCTR=1,GMTSCCT=GMTSCCT+1
. S GMTSCLL=GMTSCCT,GMTSCLS(GMTSCCT,GMTSCTR)=GMTSNR
S GMTSNT=((GMTSCLL*6)+(4*(GMTSCLL-1))),GMTSUW=IOM-GMTSNT
F GMTSCC=GMTSUW:-1 Q:((GMTSCC#4=0)&(GMTSCC#3=0))
S GMTSWTH=(GMTSCC/GMTSCLL)+1,GMTS2=GMTSWTH+5,GMTS3=GMTS2+9+GMTSWTH,GMTS4=GMTS3+9+GMTSWTH
F GMTSCTR=1:1:GMTSLNS D
. F GMTSCCT=1:1:GMTSCLL D
. . S GMTSNR=+($G(GMTSCLS(GMTSCCT,GMTSCTR))) Q:+GMTSNR=0
. . S GMTSTX=$G(@(GMTSON_GMTSNR_")"))
. . S:$L($G(GMTSND)) GMTSTX=$G(@(GMTSON_GMTSNR_","_GMTSND_")"))
. . S:+($G(GMTSPI))>0 GMTSTX=$P(GMTSTX,"^",+GMTSPI)
. . S GMTSELE=$E(GMTSTX,1,GMTSWTH)
. . F Q:$E(GMTSELE,1)'=" " S GMTSELE=$E(GMTSELE,2,$L(GMTSELE))
. . S:+GMTSNR=0 GMTSNR="" S:'$L(GMTSELE) GMTSNR=""
. . S GMTSELE=$S(GMTSCCT=1:$J(GMTSNR,4)_" "_GMTSELE,1:" "_$J(GMTSNR,4)_" "_GMTSELE)
. . W:$L($G(GMTSHDR))&(GMTSCTR=1)&(GMTSCCT=1)&(+($G(GMTSFL))=0) !,$G(GMTSHDR),! S GMTSFL=1
. . W:GMTSCCT=1 !
. . W:GMTSCCT=2 ?GMTS2 W:GMTSCCT=3 ?GMTS3 W:GMTSCCT=4 ?GMTS4 W GMTSELE
Q
GMTSRS4 ; SLC/KER - Health Summary Resequence - Misc ; 02/11/2003
+1 ;;2.7;Health Summary;**62**;Oct 20, 1995
+2 ;
+3 ; External References
+4 ; None
+5 ;
+6 ; Variables passed
+7 ; ROOT Global file root, i.e., "^XXX(SUB1,SUB2,SUBX,"
+8 ; PIE Pieces to display, i.e, "1" or "1^2^4" (Default 1)
+9 ; HDR Display title (Default first piece of 0 node)
+10 ; COL Number of columns to display (Default 1)
+11 ;
+12 ; Output
+13 ; Takes the data stored in array ROOT at node NODE and
+14 ; piece PIE and prints in columns (number of columns
+15 ; specified by COL).
+16 ;
EN(ROOT,NODE,PIE,HDR,COL) ; Main Entry Point
+1 DO HOME^%ZIS
NEW GMTS2,GMTS3,GMTS4,GMTSCC,GMTSCCT,GMTSCLL,GMTSCLS
+2 NEW GMTSCOL,GMTSCTR,GMTSELE,GMTSFL,GMTSHDR,GMTSLNS,GMTSMAX,GMTSND
+3 NEW GMTSNR,GMTSNT,GMTSON,GMTSPI,GMTSR0,GMTSRM,GMTSRT,GMTSTX,GMTSUW
+4 NEW GMTSWTH
SET GMTSRT=$GET(ROOT)
SET GMTSND=$GET(NODE)
SET GMTSPI=$GET(PIE)
SET GMTSHDR=$GET(HDR)
SET GMTSCOL=$GET(COL)
IF +GMTSPI=1
SET GMTSPI=1
+5 IF '$LENGTH($GET(GMTSRT))
QUIT
SET GMTSRT=$GET(GMTSRT)
IF GMTSRT'["("
SET GMTSRT=GMTSRT_"("
+6 IF GMTSRT[")"
SET GMTSRT=$EXTRACT(GMTSRT,$LENGTH(GMTSRT)-1)
SET GMTSR0=GMTSRT_"0)"
IF '$DATA(@GMTSR0)
QUIT
+7 SET GMTSON=GMTSRT
SET GMTSMAX=$GET(@GMTSR0)
IF +GMTSMAX=0
QUIT
SET GMTSCOL=$GET(GMTSCOL)
IF +GMTSCOL=0
QUIT
+8 SET GMTSLNS=$SELECT(+GMTSCOL>0&(+GMTSMAX>0):(GMTSMAX/GMTSCOL),1:18)
+9 SET GMTSRM=$PIECE(GMTSLNS,".",2)
SET GMTSLNS=$PIECE(GMTSLNS,".",1)
IF +GMTSRM>0
SET GMTSLNS=GMTSLNS+1
+10 SET GMTSCCT=1
SET (GMTSNR,GMTSFL,GMTSCTR)=0
+11 FOR
SET GMTSNR=$ORDER(@(GMTSON_GMTSNR_")"))
IF +GMTSNR=0
QUIT
Begin DoDot:1
+12 SET GMTSCTR=GMTSCTR+1
IF GMTSCTR>GMTSLNS
SET GMTSCTR=1
SET GMTSCCT=GMTSCCT+1
+13 SET GMTSCLL=GMTSCCT
SET GMTSCLS(GMTSCCT,GMTSCTR)=GMTSNR
End DoDot:1
+14 SET GMTSNT=((GMTSCLL*6)+(4*(GMTSCLL-1)))
SET GMTSUW=IOM-GMTSNT
+15 FOR GMTSCC=GMTSUW:-1
IF ((GMTSCC#4=0)&(GMTSCC#3=0))
QUIT
+16 SET GMTSWTH=(GMTSCC/GMTSCLL)+1
SET GMTS2=GMTSWTH+5
SET GMTS3=GMTS2+9+GMTSWTH
SET GMTS4=GMTS3+9+GMTSWTH
+17 FOR GMTSCTR=1:1:GMTSLNS
Begin DoDot:1
+18 FOR GMTSCCT=1:1:GMTSCLL
Begin DoDot:2
+19 SET GMTSNR=+($GET(GMTSCLS(GMTSCCT,GMTSCTR)))
IF +GMTSNR=0
QUIT
+20 SET GMTSTX=$GET(@(GMTSON_GMTSNR_")"))
+21 IF $LENGTH($GET(GMTSND))
SET GMTSTX=$GET(@(GMTSON_GMTSNR_","_GMTSND_")"))
+22 IF +($GET(GMTSPI))>0
SET GMTSTX=$PIECE(GMTSTX,"^",+GMTSPI)
+23 SET GMTSELE=$EXTRACT(GMTSTX,1,GMTSWTH)
+24 FOR
IF $EXTRACT(GMTSELE,1)'=" "
QUIT
SET GMTSELE=$EXTRACT(GMTSELE,2,$LENGTH(GMTSELE))
+25 IF +GMTSNR=0
SET GMTSNR=""
IF '$LENGTH(GMTSELE)
SET GMTSNR=""
+26 SET GMTSELE=$SELECT(GMTSCCT=1:$JUSTIFY(GMTSNR,4)_" "_GMTSELE,1:" "_$JUSTIFY(GMTSNR,4)_" "_GMTSELE)
+27 IF $LENGTH($GET(GMTSHDR))&(GMTSCTR=1)&(GMTSCCT=1)&(+($GET(GMTSFL))=0)
WRITE !,$GET(GMTSHDR),!
SET GMTSFL=1
+28 IF GMTSCCT=1
WRITE !
+29 IF GMTSCCT=2
WRITE ?GMTS2
IF GMTSCCT=3
WRITE ?GMTS3
IF GMTSCCT=4
WRITE ?GMTS4
WRITE GMTSELE
End DoDot:2
End DoDot:1
+30 QUIT