- GMTSOBD ; SLC/KER - HS Object - Display Type ; 01/06/2003
- ;;2.7;Health Summary;**58**;Oct 20, 1995
- ;
- ; External References
- ; DBIA 10104 $$UP^XLFSTR
- ; DBIA 10088 ENDR^%ZISS
- ; DBIA 2056 $$GET1^DIQ (file #200)
- ; DBIA 10086 ^%ZIS
- ; DBIA 10063 ^%ZTLOAD
- ; DBIA 10089 ^%ZISC
- ;
- Q
- DDT(X) ; Detailed Display HS Type
- N GMTSDTD S GMTSDTD="" D DT(+($G(X))) Q
- DT(X) ; Display HS Type
- K ^TMP("GMTSOBT",$J)
- N GMTSCCT,GMTSCNT,GMTSCMP,GMTSCPN,GMTSCPT,GMTSHD1,GMTSHD2,GMTSHOS
- N GMTSI,GMTSICD,GMTSIT,GMTSITC,GMTSITM,GMTSITS,GMTSLEN,GMTSLI,GMTSNAM
- N GMTSNAR,GMTSND0,GMTSOCC,GMTSOWN,GMTSPAR,GMTSPRT,GMTSS,GMTSTIM,GMTSTR
- N GMTSTTL,GMTSTXT,GMTST1,GMTST2,GMTSUNT,GMTSX,I
- S GMTSX=+($G(X)),(GMTSCCT,GMTSCNT)=0,GMTSND0=$G(^GMT(142,+($G(X)),0)),U="^"
- S GMTSNAM=$P(GMTSND0,U,1) Q:'$L(GMTSNAM)
- S GMTSOWN=$P(GMTSND0,U,3),GMTSOWN=$S(+GMTSOWN>0:$$GET1^DIQ(200,(+GMTSOWN_","),.01),1:"")
- S GMTSTTL=$G(^GMT(142,+($G(X)),"T"))
- S GMTST1=GMTSNAM,GMTSS=$J("",(35-$L(GMTST1)))
- S GMTSTXT=GMTSNAM S GMTSTXT=$G(BOLD)_GMTSTXT_$G(NORM)
- S:$L(GMTSTTL) GMTSTXT=GMTSTXT_GMTSS_GMTSTTL
- S GMTSCNT=GMTSCNT+1 S ^TMP("GMTSOBT",$J,GMTSCNT)=" "_GMTSTXT,^TMP("GMTSOBT",$J,0)=GMTSCNT
- S GMTSI=0 F S GMTSI=$O(^GMT(142,+X,1,GMTSI)) Q:+GMTSI=0 D
- . N GMTSTR,GMTSCMP,GMTSCPN,GMTSHD1,GMTSHD2,GMTSITS S GMTSTR=$G(^GMT(142,+X,1,+GMTSI,0))
- . S GMTSCMP=$P(GMTSTR,U,2)
- . S GMTSPAR=$$PAR(+X,+GMTSI)
- . S GMTSCPN=$P($G(^GMT(142.1,+GMTSCMP,0)),U,1) Q:'$L(GMTSCPN)
- . S GMTSHD2=$P(GMTSTR,U,5),GMTSHD1=$P($G(^GMT(142.1,+GMTSCMP,0)),U,9)
- . S:$L(GMTSHD1) GMTSHD2=GMTSHD1
- . S GMTSITS=$S($D(^GMT(142,+X,1,+GMTSI,1,"B")):1,1:0),GMTSCCT=GMTSCCT+1
- . S GMTST1=" "_$J(GMTSCCT,3)_" "_GMTSCPN,GMTSS=$J("",(40-$L(GMTST1)))
- . S GMTSTXT=" "_$G(BOLD)_$J(GMTSCCT,3)_" "_GMTSCPN_$G(NORM)
- . S:$L(GMTSHD2) GMTSTXT=GMTSTXT_GMTSS_GMTSHD2_" "
- . S GMTST2=$S($L(GMTSHD2):(GMTST1_GMTSS_GMTSHD2),1:GMTST1)
- . S:+GMTSITS GMTSTXT=GMTSTXT_$S($L(GMTSTXT)<40:$J("",(40-$L(GMTST2))),1:"")_"(w/Selected Items)"
- . S GMTSCNT=GMTSCNT+1 S ^TMP("GMTSOBT",$J,GMTSCNT)=GMTSTXT,^TMP("GMTSOBT",$J,0)=GMTSCNT
- . I $L(GMTSPAR),$D(GMTSDTD) D
- . . S GMTSTXT=" "_GMTSPAR
- . . S GMTSCNT=GMTSCNT+1 S ^TMP("GMTSOBT",$J,GMTSCNT)=GMTSTXT,^TMP("GMTSOBT",$J,0)=GMTSCNT
- . N GMTSIT,GMTSITC S (GMTSIT,GMTSITC)=0
- . F S GMTSIT=$O(^GMT(142,+X,1,+GMTSI,1,GMTSIT)) Q:+GMTSIT=0 D
- . . N GMTSLI,GMTSITM,GMTSNAM
- . . S GMTSLI=$G(^GMT(142,+X,1,+GMTSI,1,GMTSIT,0)),GMTSITM=$P(GMTSLI,U,1) Q:'$L(GMTSITM)
- . . Q:'$L($P(GMTSITM,";",2)) Q:+($P(GMTSITM,";",1))'>0 Q:'$D(@(U_$P(GMTSITM,";",2)_"0)"))
- . . S GMTSITM=U_$P(GMTSITM,";",2)_$P(GMTSITM,";",1)_",0)" S GMTSITM=@GMTSITM
- . . S GMTSNAM=$P(GMTSITM,U,1) Q:'$L(GMTSNAM)
- . . S GMTSITC=GMTSITC+1
- . . S GMTST1=" "_$J(GMTSITC,5)_" "_GMTSNAM
- . . S GMTSTXT=" "_$G(BOLD)_$J(GMTSITC,5)_" "_GMTSNAM_$G(NORM)
- . . S GMTSCNT=GMTSCNT+1 S ^TMP("GMTSOBT",$J,GMTSCNT)=GMTSTXT,^TMP("GMTSOBT",$J,0)=GMTSCNT
- I '$D(GMTSNOQ) D:+($G(^TMP("GMTSOBT",$J,0)))>0 DEV K ^TMP("GMTSOBT",$J)
- Q
- PAR(X,I) ; Component Parameters
- N GMTSCPT,GMTSHOS,GMTSICD,GMTSLEN,GMTSNAR,GMTSOCC,GMTSPRT,GMTSTR
- N GMTSTIM,GMTSTXT,GMTSUNT
- S (GMTSTXT,GMTSPRT)="",GMTSTR=$G(^GMT(142,+X,1,+I,0))
- S GMTSOCC=$P(GMTSTR,U,3),GMTSOCC=$S(+GMTSOCC>0:(+GMTSOCC_" occ"),1:"")
- S GMTSTIM=$P(GMTSTR,U,4),GMTSUNT=$E(GMTSTIM,$L(GMTSTIM)),GMTSLEN=+GMTSTIM
- S GMTSUNT=$S(+GMTSUNT>0:"day",GMTSUNT="D":"day",GMTSUNT="W":"week",GMTSUNT="M":"month",GMTSUNT="Y":"year",1:"") S:$L(GMTSUNT)&(+GMTSLEN>1) GMTSUNT=GMTSUNT_"s"
- S GMTSTIM=$S(+GMTSTIM>0&($L(GMTSUNT)):(+GMTSTIM_" "_GMTSUNT),1:"")
- S GMTSHOS=$P(GMTSTR,U,6),GMTSHOS=$S($$UP^XLFSTR(GMTSHOS)="Y":"Hosp Loc",1:"")
- S GMTSICD=$$UP^XLFSTR($P(GMTSTR,U,7)),GMTSICD=$S(GMTSICD="L":"GMTSICD (long)",GMTSICD="S":"GMTSICD (short)",GMTSICD="C":"GMTSICD code",GMTSICD="T":"GMTSICD text",GMTSICD="N":"",1:"")
- S GMTSNAR=$$UP^XLFSTR($P(GMTSTR,U,8)),GMTSNAR=$S(GMTSNAR="Y":"Prov Narr",1:"")
- S GMTSCPT=$$UP^XLFSTR($P(GMTSTR,U,9)),GMTSCPT=$S(GMTSCPT="Y":"GMTSCPT Mod",1:"")
- S:$L(GMTSOCC) GMTSTXT=GMTSOCC
- S:$L(GMTSTIM)&($L(GMTSTXT)) GMTSTXT=GMTSTXT_" or "_GMTSTIM S:$L(GMTSTIM)&('$L(GMTSTXT)) GMTSTXT=GMTSTIM
- S:$L(GMTSHOS) GMTSPRT=GMTSHOS S:$L(GMTSICD)&($L(GMTSPRT)) GMTSPRT=GMTSPRT_", "_GMTSICD S:$L(GMTSICD)&('$L(GMTSPRT)) GMTSPRT=GMTSICD
- S:$L(GMTSNAR)&($L(GMTSPRT)) GMTSPRT=GMTSPRT_", "_GMTSNAR S:$L(GMTSNAR)&('$L(GMTSPRT)) GMTSPRT=GMTSNAR
- S:$L(GMTSCPT)&($L(GMTSPRT)) GMTSPRT=GMTSPRT_", "_GMTSCPT S:$L(GMTSCPT)&('$L(GMTSPRT)) GMTSPRT=GMTSCPT
- S:GMTSPRT[", " GMTSPRT=$P(GMTSPRT,", ",($L(GMTSPRT,", ")-1))_" and "_$P(GMTSPRT,", ",$L(GMTSPRT,", "))
- S:$L(GMTSPRT)&($L(GMTSTXT)) GMTSTXT=GMTSTXT_", and print "_GMTSPRT
- S:$L(GMTSPRT)&('$L(GMTSTXT)) GMTSTXT="Print "_GMTSPRT S X=GMTSTXT
- Q X
- DEV ; Device
- I $D(CAP) D NODEV Q
- N ZTRTN,%ZIS,IOP,POP S %ZIS="PQ" D ^%ZIS Q:POP I $D(IO("Q")) D QUE Q
- NOQUE ; Print without Queuing
- N ZTRTN S ZTRTN="DSP^GMTSOBD"
- I $D(IOST),$D(IOF) W:IOST["C-"&('$D(GMTSNOI)) @IOF
- D @ZTRTN,^%ZISC Q
- QUE ; Queued Print
- N %,ZTDESC,ZTDTH,ZTIO,ZTSAVE,ZTSK,ZTRTN S ZTRTN="DSP^GMTSOBD" K IO("Q"),ZTSAVE
- S ZTSAVE("^TMP(""GMTSOBJ"","_$J_",")=""
- S:$L($G(GMTSHDR)) ZTSAVE("GMTSHDR")=""
- S ZTDESC="Display Health Summary Type" S ZTIO=ION,ZTDTH=$H
- D ^%ZTLOAD I '$D(ZTSK) W !!,"Request Cancelled",! H 3 W:$D(IOF) @IOF
- I $D(ZTSK) W !!,"Request Queued",! H 3 W:$D(IOF) @IOF
- K ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE D ^%ZISC Q
- Q
- NODEV ; Print without Device Selection
- W !! N ZTRTN,POP,IOP,%ZIS,IOSL S IOSL=99999999999
- S ZTRTN="DSP^GMTSOBD" D @ZTRTN,^%ZISC
- Q
- DSP ; Print Health Summary Type
- N GMTST,GMTSI,GMTSC,GMTSP,GMTSL,GMTSE,GMTSCR,GMTSPL
- S GMTSPL=3,GMTSE=0,GMTSP=$G(IOST),GMTSL=+($G(IOSL)) S:+GMTSL=0 GMTSL=24
- I $D(GMTSHDR) S (GMTSI,GMTSC)=0 D
- . F S GMTSI=$O(GMTSHDR(GMTSI)) Q:+GMTSI=0 D Q:GMTSE>0
- . . S GMTST=$G(GMTSHDR(GMTSI)) Q:'$L(GMTST)
- . . S GMTSC=GMTSC+1 I GMTSC=1 W ! S GMTSPL=GMTSPL+1
- . . W !,GMTST S GMTSPL=GMTSPL+1
- S GMTSI=0 F S GMTSI=$O(^TMP("GMTSOBT",$J,GMTSI)) Q:+GMTSI=0 D
- . W !,$G(^TMP("GMTSOBT",$J,GMTSI)) S GMTSPL=GMTSPL+1 D CONT Q:GMTSE
- D CONT I '$D(CAP) W:GMTSP["P-"&($D(IOF)) @IOF
- Q
- CONT ; Press <Return> to Continue
- I GMTSP["P-" W:$L($G(IOF))&($D(IOF)) @IOF Q
- Q:(GMTSP["C-"!(GMTSP=""))&(GMTSPL'>(GMTSL-4)) S GMTSPL=0 Q:GMTSE
- N GMTSCR S GMTSPL=0 W !!," Press <Return> to Continue "
- R GMTSCR:660 I '$T!(GMTSCR["^") S GMTSCR="^",GMTSE=1
- W:GMTSP'["P-"&($D(IOF)) @IOF Q
- Q
- ATTR ; Set Screen Attributes
- N X,IOINHI,IOINORM S X="IOINHI;IOINORM" D ENDR^%ZISS S BOLD=$G(IOINHI),NORM=$G(IOINORM) Q
- KATTR ; Kill Screen Attributes
- K NORM,BOLD Q
- GMTSOBD ; SLC/KER - HS Object - Display Type ; 01/06/2003
- +1 ;;2.7;Health Summary;**58**;Oct 20, 1995
- +2 ;
- +3 ; External References
- +4 ; DBIA 10104 $$UP^XLFSTR
- +5 ; DBIA 10088 ENDR^%ZISS
- +6 ; DBIA 2056 $$GET1^DIQ (file #200)
- +7 ; DBIA 10086 ^%ZIS
- +8 ; DBIA 10063 ^%ZTLOAD
- +9 ; DBIA 10089 ^%ZISC
- +10 ;
- +11 QUIT
- DDT(X) ; Detailed Display HS Type
- +1 NEW GMTSDTD
- SET GMTSDTD=""
- DO DT(+($GET(X)))
- QUIT
- DT(X) ; Display HS Type
- +1 KILL ^TMP("GMTSOBT",$JOB)
- +2 NEW GMTSCCT,GMTSCNT,GMTSCMP,GMTSCPN,GMTSCPT,GMTSHD1,GMTSHD2,GMTSHOS
- +3 NEW GMTSI,GMTSICD,GMTSIT,GMTSITC,GMTSITM,GMTSITS,GMTSLEN,GMTSLI,GMTSNAM
- +4 NEW GMTSNAR,GMTSND0,GMTSOCC,GMTSOWN,GMTSPAR,GMTSPRT,GMTSS,GMTSTIM,GMTSTR
- +5 NEW GMTSTTL,GMTSTXT,GMTST1,GMTST2,GMTSUNT,GMTSX,I
- +6 SET GMTSX=+($GET(X))
- SET (GMTSCCT,GMTSCNT)=0
- SET GMTSND0=$GET(^GMT(142,+($GET(X)),0))
- SET U="^"
- +7 SET GMTSNAM=$PIECE(GMTSND0,U,1)
- IF '$LENGTH(GMTSNAM)
- QUIT
- +8 SET GMTSOWN=$PIECE(GMTSND0,U,3)
- SET GMTSOWN=$SELECT(+GMTSOWN>0:$$GET1^DIQ(200,(+GMTSOWN_","),.01),1:"")
- +9 SET GMTSTTL=$GET(^GMT(142,+($GET(X)),"T"))
- +10 SET GMTST1=GMTSNAM
- SET GMTSS=$JUSTIFY("",(35-$LENGTH(GMTST1)))
- +11 SET GMTSTXT=GMTSNAM
- SET GMTSTXT=$GET(BOLD)_GMTSTXT_$GET(NORM)
- +12 IF $LENGTH(GMTSTTL)
- SET GMTSTXT=GMTSTXT_GMTSS_GMTSTTL
- +13 SET GMTSCNT=GMTSCNT+1
- SET ^TMP("GMTSOBT",$JOB,GMTSCNT)=" "_GMTSTXT
- SET ^TMP("GMTSOBT",$JOB,0)=GMTSCNT
- +14 SET GMTSI=0
- FOR
- SET GMTSI=$ORDER(^GMT(142,+X,1,GMTSI))
- IF +GMTSI=0
- QUIT
- Begin DoDot:1
- +15 NEW GMTSTR,GMTSCMP,GMTSCPN,GMTSHD1,GMTSHD2,GMTSITS
- SET GMTSTR=$GET(^GMT(142,+X,1,+GMTSI,0))
- +16 SET GMTSCMP=$PIECE(GMTSTR,U,2)
- +17 SET GMTSPAR=$$PAR(+X,+GMTSI)
- +18 SET GMTSCPN=$PIECE($GET(^GMT(142.1,+GMTSCMP,0)),U,1)
- IF '$LENGTH(GMTSCPN)
- QUIT
- +19 SET GMTSHD2=$PIECE(GMTSTR,U,5)
- SET GMTSHD1=$PIECE($GET(^GMT(142.1,+GMTSCMP,0)),U,9)
- +20 IF $LENGTH(GMTSHD1)
- SET GMTSHD2=GMTSHD1
- +21 SET GMTSITS=$SELECT($DATA(^GMT(142,+X,1,+GMTSI,1,"B")):1,1:0)
- SET GMTSCCT=GMTSCCT+1
- +22 SET GMTST1=" "_$JUSTIFY(GMTSCCT,3)_" "_GMTSCPN
- SET GMTSS=$JUSTIFY("",(40-$LENGTH(GMTST1)))
- +23 SET GMTSTXT=" "_$GET(BOLD)_$JUSTIFY(GMTSCCT,3)_" "_GMTSCPN_$GET(NORM)
- +24 IF $LENGTH(GMTSHD2)
- SET GMTSTXT=GMTSTXT_GMTSS_GMTSHD2_" "
- +25 SET GMTST2=$SELECT($LENGTH(GMTSHD2):(GMTST1_GMTSS_GMTSHD2),1:GMTST1)
- +26 IF +GMTSITS
- SET GMTSTXT=GMTSTXT_$SELECT($LENGTH(GMTSTXT)<40:$JUSTIFY("",(40-$LENGTH(GMTST2))),1:"")_"(w/Selected Items)"
- +27 SET GMTSCNT=GMTSCNT+1
- SET ^TMP("GMTSOBT",$JOB,GMTSCNT)=GMTSTXT
- SET ^TMP("GMTSOBT",$JOB,0)=GMTSCNT
- +28 IF $LENGTH(GMTSPAR)
- IF $DATA(GMTSDTD)
- Begin DoDot:2
- +29 SET GMTSTXT=" "_GMTSPAR
- +30 SET GMTSCNT=GMTSCNT+1
- SET ^TMP("GMTSOBT",$JOB,GMTSCNT)=GMTSTXT
- SET ^TMP("GMTSOBT",$JOB,0)=GMTSCNT
- End DoDot:2
- +31 NEW GMTSIT,GMTSITC
- SET (GMTSIT,GMTSITC)=0
- +32 FOR
- SET GMTSIT=$ORDER(^GMT(142,+X,1,+GMTSI,1,GMTSIT))
- IF +GMTSIT=0
- QUIT
- Begin DoDot:2
- +33 NEW GMTSLI,GMTSITM,GMTSNAM
- +34 SET GMTSLI=$GET(^GMT(142,+X,1,+GMTSI,1,GMTSIT,0))
- SET GMTSITM=$PIECE(GMTSLI,U,1)
- IF '$LENGTH(GMTSITM)
- QUIT
- +35 IF '$LENGTH($PIECE(GMTSITM,";",2))
- QUIT
- IF +($PIECE(GMTSITM,";",1))'>0
- QUIT
- IF '$DATA(@(U_$PIECE(GMTSITM,";",2)_"0)"))
- QUIT
- +36 SET GMTSITM=U_$PIECE(GMTSITM,";",2)_$PIECE(GMTSITM,";",1)_",0)"
- SET GMTSITM=@GMTSITM
- +37 SET GMTSNAM=$PIECE(GMTSITM,U,1)
- IF '$LENGTH(GMTSNAM)
- QUIT
- +38 SET GMTSITC=GMTSITC+1
- +39 SET GMTST1=" "_$JUSTIFY(GMTSITC,5)_" "_GMTSNAM
- +40 SET GMTSTXT=" "_$GET(BOLD)_$JUSTIFY(GMTSITC,5)_" "_GMTSNAM_$GET(NORM)
- +41 SET GMTSCNT=GMTSCNT+1
- SET ^TMP("GMTSOBT",$JOB,GMTSCNT)=GMTSTXT
- SET ^TMP("GMTSOBT",$JOB,0)=GMTSCNT
- End DoDot:2
- End DoDot:1
- +42 IF '$DATA(GMTSNOQ)
- IF +($GET(^TMP("GMTSOBT",$JOB,0)))>0
- DO DEV
- KILL ^TMP("GMTSOBT",$JOB)
- +43 QUIT
- PAR(X,I) ; Component Parameters
- +1 NEW GMTSCPT,GMTSHOS,GMTSICD,GMTSLEN,GMTSNAR,GMTSOCC,GMTSPRT,GMTSTR
- +2 NEW GMTSTIM,GMTSTXT,GMTSUNT
- +3 SET (GMTSTXT,GMTSPRT)=""
- SET GMTSTR=$GET(^GMT(142,+X,1,+I,0))
- +4 SET GMTSOCC=$PIECE(GMTSTR,U,3)
- SET GMTSOCC=$SELECT(+GMTSOCC>0:(+GMTSOCC_" occ"),1:"")
- +5 SET GMTSTIM=$PIECE(GMTSTR,U,4)
- SET GMTSUNT=$EXTRACT(GMTSTIM,$LENGTH(GMTSTIM))
- SET GMTSLEN=+GMTSTIM
- +6 SET GMTSUNT=$SELECT(+GMTSUNT>0:"day",GMTSUNT="D":"day",GMTSUNT="W":"week",GMTSUNT="M":"month",GMTSUNT="Y":"year",1:"")
- IF $LENGTH(GMTSUNT)&(+GMTSLEN>1)
- SET GMTSUNT=GMTSUNT_"s"
- +7 SET GMTSTIM=$SELECT(+GMTSTIM>0&($LENGTH(GMTSUNT)):(+GMTSTIM_" "_GMTSUNT),1:"")
- +8 SET GMTSHOS=$PIECE(GMTSTR,U,6)
- SET GMTSHOS=$SELECT($$UP^XLFSTR(GMTSHOS)="Y":"Hosp Loc",1:"")
- +9 SET GMTSICD=$$UP^XLFSTR($PIECE(GMTSTR,U,7))
- SET GMTSICD=$SELECT(GMTSICD="L":"GMTSICD (long)",GMTSICD="S":"GMTSICD (short)",GMTSICD="C":"GMTSICD code",GMTSICD="T":"GMTSICD text",GMTSICD="N":"",1:"")
- +10 SET GMTSNAR=$$UP^XLFSTR($PIECE(GMTSTR,U,8))
- SET GMTSNAR=$SELECT(GMTSNAR="Y":"Prov Narr",1:"")
- +11 SET GMTSCPT=$$UP^XLFSTR($PIECE(GMTSTR,U,9))
- SET GMTSCPT=$SELECT(GMTSCPT="Y":"GMTSCPT Mod",1:"")
- +12 IF $LENGTH(GMTSOCC)
- SET GMTSTXT=GMTSOCC
- +13 IF $LENGTH(GMTSTIM)&($LENGTH(GMTSTXT))
- SET GMTSTXT=GMTSTXT_" or "_GMTSTIM
- IF $LENGTH(GMTSTIM)&('$LENGTH(GMTSTXT))
- SET GMTSTXT=GMTSTIM
- +14 IF $LENGTH(GMTSHOS)
- SET GMTSPRT=GMTSHOS
- IF $LENGTH(GMTSICD)&($LENGTH(GMTSPRT))
- SET GMTSPRT=GMTSPRT_", "_GMTSICD
- IF $LENGTH(GMTSICD)&('$LENGTH(GMTSPRT))
- SET GMTSPRT=GMTSICD
- +15 IF $LENGTH(GMTSNAR)&($LENGTH(GMTSPRT))
- SET GMTSPRT=GMTSPRT_", "_GMTSNAR
- IF $LENGTH(GMTSNAR)&('$LENGTH(GMTSPRT))
- SET GMTSPRT=GMTSNAR
- +16 IF $LENGTH(GMTSCPT)&($LENGTH(GMTSPRT))
- SET GMTSPRT=GMTSPRT_", "_GMTSCPT
- IF $LENGTH(GMTSCPT)&('$LENGTH(GMTSPRT))
- SET GMTSPRT=GMTSCPT
- +17 IF GMTSPRT[", "
- SET GMTSPRT=$PIECE(GMTSPRT,", ",($LENGTH(GMTSPRT,", ")-1))_" and "_$PIECE(GMTSPRT,", ",$LENGTH(GMTSPRT,", "))
- +18 IF $LENGTH(GMTSPRT)&($LENGTH(GMTSTXT))
- SET GMTSTXT=GMTSTXT_", and print "_GMTSPRT
- +19 IF $LENGTH(GMTSPRT)&('$LENGTH(GMTSTXT))
- SET GMTSTXT="Print "_GMTSPRT
- SET X=GMTSTXT
- +20 QUIT X
- DEV ; Device
- +1 IF $DATA(CAP)
- DO NODEV
- QUIT
- +2 NEW ZTRTN,%ZIS,IOP,POP
- SET %ZIS="PQ"
- DO ^%ZIS
- IF POP
- QUIT
- IF $DATA(IO("Q"))
- DO QUE
- QUIT
- NOQUE ; Print without Queuing
- +1 NEW ZTRTN
- SET ZTRTN="DSP^GMTSOBD"
- +2 IF $DATA(IOST)
- IF $DATA(IOF)
- IF IOST["C-"&('$DATA(GMTSNOI))
- WRITE @IOF
- +3 DO @ZTRTN
- DO ^%ZISC
- QUIT
- QUE ; Queued Print
- +1 NEW %,ZTDESC,ZTDTH,ZTIO,ZTSAVE,ZTSK,ZTRTN
- SET ZTRTN="DSP^GMTSOBD"
- KILL IO("Q"),ZTSAVE
- +2 SET ZTSAVE("^TMP(""GMTSOBJ"","_$JOB_",")=""
- +3 IF $LENGTH($GET(GMTSHDR))
- SET ZTSAVE("GMTSHDR")=""
- +4 SET ZTDESC="Display Health Summary Type"
- SET ZTIO=ION
- SET ZTDTH=$HOROLOG
- +5 DO ^%ZTLOAD
- IF '$DATA(ZTSK)
- WRITE !!,"Request Cancelled",!
- HANG 3
- IF $DATA(IOF)
- WRITE @IOF
- +6 IF $DATA(ZTSK)
- WRITE !!,"Request Queued",!
- HANG 3
- IF $DATA(IOF)
- WRITE @IOF
- +7 KILL ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
- DO ^%ZISC
- QUIT
- +8 QUIT
- NODEV ; Print without Device Selection
- +1 WRITE !!
- NEW ZTRTN,POP,IOP,%ZIS,IOSL
- SET IOSL=99999999999
- +2 SET ZTRTN="DSP^GMTSOBD"
- DO @ZTRTN
- DO ^%ZISC
- +3 QUIT
- DSP ; Print Health Summary Type
- +1 NEW GMTST,GMTSI,GMTSC,GMTSP,GMTSL,GMTSE,GMTSCR,GMTSPL
- +2 SET GMTSPL=3
- SET GMTSE=0
- SET GMTSP=$GET(IOST)
- SET GMTSL=+($GET(IOSL))
- IF +GMTSL=0
- SET GMTSL=24
- +3 IF $DATA(GMTSHDR)
- SET (GMTSI,GMTSC)=0
- Begin DoDot:1
- +4 FOR
- SET GMTSI=$ORDER(GMTSHDR(GMTSI))
- IF +GMTSI=0
- QUIT
- Begin DoDot:2
- +5 SET GMTST=$GET(GMTSHDR(GMTSI))
- IF '$LENGTH(GMTST)
- QUIT
- +6 SET GMTSC=GMTSC+1
- IF GMTSC=1
- WRITE !
- SET GMTSPL=GMTSPL+1
- +7 WRITE !,GMTST
- SET GMTSPL=GMTSPL+1
- End DoDot:2
- IF GMTSE>0
- QUIT
- End DoDot:1
- +8 SET GMTSI=0
- FOR
- SET GMTSI=$ORDER(^TMP("GMTSOBT",$JOB,GMTSI))
- IF +GMTSI=0
- QUIT
- Begin DoDot:1
- +9 WRITE !,$GET(^TMP("GMTSOBT",$JOB,GMTSI))
- SET GMTSPL=GMTSPL+1
- DO CONT
- IF GMTSE
- QUIT
- End DoDot:1
- +10 DO CONT
- IF '$DATA(CAP)
- IF GMTSP["P-"&($DATA(IOF))
- WRITE @IOF
- +11 QUIT
- CONT ; Press <Return> to Continue
- +1 IF GMTSP["P-"
- IF $LENGTH($GET(IOF))&($DATA(IOF))
- WRITE @IOF
- QUIT
- +2 IF (GMTSP["C-"!(GMTSP=""))&(GMTSPL'>(GMTSL-4))
- QUIT
- SET GMTSPL=0
- IF GMTSE
- QUIT
- +3 NEW GMTSCR
- SET GMTSPL=0
- WRITE !!," Press <Return> to Continue "
- +4 READ GMTSCR:660
- IF '$TEST!(GMTSCR["^")
- SET GMTSCR="^"
- SET GMTSE=1
- +5 IF GMTSP'["P-"&($DATA(IOF))
- WRITE @IOF
- QUIT
- +6 QUIT
- ATTR ; Set Screen Attributes
- +1 NEW X,IOINHI,IOINORM
- SET X="IOINHI;IOINORM"
- DO ENDR^%ZISS
- SET BOLD=$GET(IOINHI)
- SET NORM=$GET(IOINORM)
- QUIT
- KATTR ; Kill Screen Attributes
- +1 KILL NORM,BOLD
- QUIT