- 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