| 1 | GMTSOBD ; SLC/KER - HS Object - Display Type            ; 01/06/2003 | 
|---|
| 2 | ;;2.7;Health Summary;**58**;Oct 20, 1995 | 
|---|
| 3 | ; | 
|---|
| 4 | ; External References | 
|---|
| 5 | ;   DBIA  10104  $$UP^XLFSTR | 
|---|
| 6 | ;   DBIA  10088  ENDR^%ZISS | 
|---|
| 7 | ;   DBIA   2056  $$GET1^DIQ  (file #200) | 
|---|
| 8 | ;   DBIA  10086  ^%ZIS | 
|---|
| 9 | ;   DBIA  10063  ^%ZTLOAD | 
|---|
| 10 | ;   DBIA  10089  ^%ZISC | 
|---|
| 11 | ; | 
|---|
| 12 | Q | 
|---|
| 13 | DDT(X) ; Detailed Display HS Type | 
|---|
| 14 | N GMTSDTD S GMTSDTD="" D DT(+($G(X))) Q | 
|---|
| 15 | DT(X) ; Display HS Type | 
|---|
| 16 | K ^TMP("GMTSOBT",$J) | 
|---|
| 17 | N GMTSCCT,GMTSCNT,GMTSCMP,GMTSCPN,GMTSCPT,GMTSHD1,GMTSHD2,GMTSHOS | 
|---|
| 18 | N GMTSI,GMTSICD,GMTSIT,GMTSITC,GMTSITM,GMTSITS,GMTSLEN,GMTSLI,GMTSNAM | 
|---|
| 19 | N GMTSNAR,GMTSND0,GMTSOCC,GMTSOWN,GMTSPAR,GMTSPRT,GMTSS,GMTSTIM,GMTSTR | 
|---|
| 20 | N GMTSTTL,GMTSTXT,GMTST1,GMTST2,GMTSUNT,GMTSX,I | 
|---|
| 21 | S GMTSX=+($G(X)),(GMTSCCT,GMTSCNT)=0,GMTSND0=$G(^GMT(142,+($G(X)),0)),U="^" | 
|---|
| 22 | S GMTSNAM=$P(GMTSND0,U,1) Q:'$L(GMTSNAM) | 
|---|
| 23 | S GMTSOWN=$P(GMTSND0,U,3),GMTSOWN=$S(+GMTSOWN>0:$$GET1^DIQ(200,(+GMTSOWN_","),.01),1:"") | 
|---|
| 24 | S GMTSTTL=$G(^GMT(142,+($G(X)),"T")) | 
|---|
| 25 | S GMTST1=GMTSNAM,GMTSS=$J("",(35-$L(GMTST1))) | 
|---|
| 26 | S GMTSTXT=GMTSNAM S GMTSTXT=$G(BOLD)_GMTSTXT_$G(NORM) | 
|---|
| 27 | S:$L(GMTSTTL) GMTSTXT=GMTSTXT_GMTSS_GMTSTTL | 
|---|
| 28 | S GMTSCNT=GMTSCNT+1 S ^TMP("GMTSOBT",$J,GMTSCNT)=" "_GMTSTXT,^TMP("GMTSOBT",$J,0)=GMTSCNT | 
|---|
| 29 | S GMTSI=0 F  S GMTSI=$O(^GMT(142,+X,1,GMTSI)) Q:+GMTSI=0  D | 
|---|
| 30 | . N GMTSTR,GMTSCMP,GMTSCPN,GMTSHD1,GMTSHD2,GMTSITS S GMTSTR=$G(^GMT(142,+X,1,+GMTSI,0)) | 
|---|
| 31 | . S GMTSCMP=$P(GMTSTR,U,2) | 
|---|
| 32 | . S GMTSPAR=$$PAR(+X,+GMTSI) | 
|---|
| 33 | . S GMTSCPN=$P($G(^GMT(142.1,+GMTSCMP,0)),U,1) Q:'$L(GMTSCPN) | 
|---|
| 34 | . S GMTSHD2=$P(GMTSTR,U,5),GMTSHD1=$P($G(^GMT(142.1,+GMTSCMP,0)),U,9) | 
|---|
| 35 | . S:$L(GMTSHD1) GMTSHD2=GMTSHD1 | 
|---|
| 36 | . S GMTSITS=$S($D(^GMT(142,+X,1,+GMTSI,1,"B")):1,1:0),GMTSCCT=GMTSCCT+1 | 
|---|
| 37 | . S GMTST1=" "_$J(GMTSCCT,3)_"  "_GMTSCPN,GMTSS=$J("",(40-$L(GMTST1))) | 
|---|
| 38 | . S GMTSTXT=" "_$G(BOLD)_$J(GMTSCCT,3)_"  "_GMTSCPN_$G(NORM) | 
|---|
| 39 | . S:$L(GMTSHD2) GMTSTXT=GMTSTXT_GMTSS_GMTSHD2_" " | 
|---|
| 40 | . S GMTST2=$S($L(GMTSHD2):(GMTST1_GMTSS_GMTSHD2),1:GMTST1) | 
|---|
| 41 | . S:+GMTSITS GMTSTXT=GMTSTXT_$S($L(GMTSTXT)<40:$J("",(40-$L(GMTST2))),1:"")_"(w/Selected Items)" | 
|---|
| 42 | . S GMTSCNT=GMTSCNT+1 S ^TMP("GMTSOBT",$J,GMTSCNT)=GMTSTXT,^TMP("GMTSOBT",$J,0)=GMTSCNT | 
|---|
| 43 | . I $L(GMTSPAR),$D(GMTSDTD) D | 
|---|
| 44 | . . S GMTSTXT="        "_GMTSPAR | 
|---|
| 45 | . . S GMTSCNT=GMTSCNT+1 S ^TMP("GMTSOBT",$J,GMTSCNT)=GMTSTXT,^TMP("GMTSOBT",$J,0)=GMTSCNT | 
|---|
| 46 | . N GMTSIT,GMTSITC S (GMTSIT,GMTSITC)=0 | 
|---|
| 47 | . F  S GMTSIT=$O(^GMT(142,+X,1,+GMTSI,1,GMTSIT)) Q:+GMTSIT=0  D | 
|---|
| 48 | . . N GMTSLI,GMTSITM,GMTSNAM | 
|---|
| 49 | . . S GMTSLI=$G(^GMT(142,+X,1,+GMTSI,1,GMTSIT,0)),GMTSITM=$P(GMTSLI,U,1) Q:'$L(GMTSITM) | 
|---|
| 50 | . . Q:'$L($P(GMTSITM,";",2))  Q:+($P(GMTSITM,";",1))'>0  Q:'$D(@(U_$P(GMTSITM,";",2)_"0)")) | 
|---|
| 51 | . . S GMTSITM=U_$P(GMTSITM,";",2)_$P(GMTSITM,";",1)_",0)" S GMTSITM=@GMTSITM | 
|---|
| 52 | . . S GMTSNAM=$P(GMTSITM,U,1) Q:'$L(GMTSNAM) | 
|---|
| 53 | . . S GMTSITC=GMTSITC+1 | 
|---|
| 54 | . . S GMTST1="       "_$J(GMTSITC,5)_"  "_GMTSNAM | 
|---|
| 55 | . . S GMTSTXT="       "_$G(BOLD)_$J(GMTSITC,5)_"  "_GMTSNAM_$G(NORM) | 
|---|
| 56 | . . S GMTSCNT=GMTSCNT+1 S ^TMP("GMTSOBT",$J,GMTSCNT)=GMTSTXT,^TMP("GMTSOBT",$J,0)=GMTSCNT | 
|---|
| 57 | I '$D(GMTSNOQ) D:+($G(^TMP("GMTSOBT",$J,0)))>0 DEV K ^TMP("GMTSOBT",$J) | 
|---|
| 58 | Q | 
|---|
| 59 | PAR(X,I) ; Component Parameters | 
|---|
| 60 | N GMTSCPT,GMTSHOS,GMTSICD,GMTSLEN,GMTSNAR,GMTSOCC,GMTSPRT,GMTSTR | 
|---|
| 61 | N GMTSTIM,GMTSTXT,GMTSUNT | 
|---|
| 62 | S (GMTSTXT,GMTSPRT)="",GMTSTR=$G(^GMT(142,+X,1,+I,0)) | 
|---|
| 63 | S GMTSOCC=$P(GMTSTR,U,3),GMTSOCC=$S(+GMTSOCC>0:(+GMTSOCC_" occ"),1:"") | 
|---|
| 64 | S GMTSTIM=$P(GMTSTR,U,4),GMTSUNT=$E(GMTSTIM,$L(GMTSTIM)),GMTSLEN=+GMTSTIM | 
|---|
| 65 | 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" | 
|---|
| 66 | S GMTSTIM=$S(+GMTSTIM>0&($L(GMTSUNT)):(+GMTSTIM_" "_GMTSUNT),1:"") | 
|---|
| 67 | S GMTSHOS=$P(GMTSTR,U,6),GMTSHOS=$S($$UP^XLFSTR(GMTSHOS)="Y":"Hosp Loc",1:"") | 
|---|
| 68 | 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:"") | 
|---|
| 69 | S GMTSNAR=$$UP^XLFSTR($P(GMTSTR,U,8)),GMTSNAR=$S(GMTSNAR="Y":"Prov Narr",1:"") | 
|---|
| 70 | S GMTSCPT=$$UP^XLFSTR($P(GMTSTR,U,9)),GMTSCPT=$S(GMTSCPT="Y":"GMTSCPT Mod",1:"") | 
|---|
| 71 | S:$L(GMTSOCC) GMTSTXT=GMTSOCC | 
|---|
| 72 | S:$L(GMTSTIM)&($L(GMTSTXT)) GMTSTXT=GMTSTXT_" or "_GMTSTIM S:$L(GMTSTIM)&('$L(GMTSTXT)) GMTSTXT=GMTSTIM | 
|---|
| 73 | S:$L(GMTSHOS) GMTSPRT=GMTSHOS S:$L(GMTSICD)&($L(GMTSPRT)) GMTSPRT=GMTSPRT_", "_GMTSICD S:$L(GMTSICD)&('$L(GMTSPRT)) GMTSPRT=GMTSICD | 
|---|
| 74 | S:$L(GMTSNAR)&($L(GMTSPRT)) GMTSPRT=GMTSPRT_", "_GMTSNAR S:$L(GMTSNAR)&('$L(GMTSPRT)) GMTSPRT=GMTSNAR | 
|---|
| 75 | S:$L(GMTSCPT)&($L(GMTSPRT)) GMTSPRT=GMTSPRT_", "_GMTSCPT S:$L(GMTSCPT)&('$L(GMTSPRT)) GMTSPRT=GMTSCPT | 
|---|
| 76 | S:GMTSPRT[", " GMTSPRT=$P(GMTSPRT,", ",($L(GMTSPRT,", ")-1))_" and "_$P(GMTSPRT,", ",$L(GMTSPRT,", ")) | 
|---|
| 77 | S:$L(GMTSPRT)&($L(GMTSTXT)) GMTSTXT=GMTSTXT_", and print "_GMTSPRT | 
|---|
| 78 | S:$L(GMTSPRT)&('$L(GMTSTXT)) GMTSTXT="Print "_GMTSPRT S X=GMTSTXT | 
|---|
| 79 | Q X | 
|---|
| 80 | DEV ; Device | 
|---|
| 81 | I $D(CAP) D NODEV Q | 
|---|
| 82 | N ZTRTN,%ZIS,IOP,POP S %ZIS="PQ" D ^%ZIS Q:POP  I $D(IO("Q")) D QUE Q | 
|---|
| 83 | NOQUE ; Print without Queuing | 
|---|
| 84 | N ZTRTN S ZTRTN="DSP^GMTSOBD" | 
|---|
| 85 | I $D(IOST),$D(IOF) W:IOST["C-"&('$D(GMTSNOI)) @IOF | 
|---|
| 86 | D @ZTRTN,^%ZISC Q | 
|---|
| 87 | QUE ; Queued Print | 
|---|
| 88 | N %,ZTDESC,ZTDTH,ZTIO,ZTSAVE,ZTSK,ZTRTN S ZTRTN="DSP^GMTSOBD" K IO("Q"),ZTSAVE | 
|---|
| 89 | S ZTSAVE("^TMP(""GMTSOBJ"","_$J_",")="" | 
|---|
| 90 | S:$L($G(GMTSHDR)) ZTSAVE("GMTSHDR")="" | 
|---|
| 91 | S ZTDESC="Display Health Summary Type" S ZTIO=ION,ZTDTH=$H | 
|---|
| 92 | D ^%ZTLOAD I '$D(ZTSK) W !!,"Request Cancelled",! H 3 W:$D(IOF) @IOF | 
|---|
| 93 | I $D(ZTSK) W !!,"Request Queued",! H 3 W:$D(IOF) @IOF | 
|---|
| 94 | K ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE D ^%ZISC Q | 
|---|
| 95 | Q | 
|---|
| 96 | NODEV ; Print without Device Selection | 
|---|
| 97 | W !! N ZTRTN,POP,IOP,%ZIS,IOSL S IOSL=99999999999 | 
|---|
| 98 | S ZTRTN="DSP^GMTSOBD" D @ZTRTN,^%ZISC | 
|---|
| 99 | Q | 
|---|
| 100 | DSP ; Print Health Summary Type | 
|---|
| 101 | N GMTST,GMTSI,GMTSC,GMTSP,GMTSL,GMTSE,GMTSCR,GMTSPL | 
|---|
| 102 | S GMTSPL=3,GMTSE=0,GMTSP=$G(IOST),GMTSL=+($G(IOSL)) S:+GMTSL=0 GMTSL=24 | 
|---|
| 103 | I $D(GMTSHDR) S (GMTSI,GMTSC)=0 D | 
|---|
| 104 | . F  S GMTSI=$O(GMTSHDR(GMTSI)) Q:+GMTSI=0  D  Q:GMTSE>0 | 
|---|
| 105 | . . S GMTST=$G(GMTSHDR(GMTSI)) Q:'$L(GMTST) | 
|---|
| 106 | . . S GMTSC=GMTSC+1 I GMTSC=1 W ! S GMTSPL=GMTSPL+1 | 
|---|
| 107 | . . W !,GMTST S GMTSPL=GMTSPL+1 | 
|---|
| 108 | S GMTSI=0 F  S GMTSI=$O(^TMP("GMTSOBT",$J,GMTSI)) Q:+GMTSI=0  D | 
|---|
| 109 | . W !,$G(^TMP("GMTSOBT",$J,GMTSI)) S GMTSPL=GMTSPL+1 D CONT Q:GMTSE | 
|---|
| 110 | D CONT I '$D(CAP) W:GMTSP["P-"&($D(IOF)) @IOF | 
|---|
| 111 | Q | 
|---|
| 112 | CONT ; Press <Return> to Continue | 
|---|
| 113 | I GMTSP["P-" W:$L($G(IOF))&($D(IOF)) @IOF Q | 
|---|
| 114 | Q:(GMTSP["C-"!(GMTSP=""))&(GMTSPL'>(GMTSL-4))  S GMTSPL=0 Q:GMTSE | 
|---|
| 115 | N GMTSCR S GMTSPL=0 W !!,"  Press <Return> to Continue  " | 
|---|
| 116 | R GMTSCR:660 I '$T!(GMTSCR["^") S GMTSCR="^",GMTSE=1 | 
|---|
| 117 | W:GMTSP'["P-"&($D(IOF)) @IOF Q | 
|---|
| 118 | Q | 
|---|
| 119 | ATTR ; Set Screen Attributes | 
|---|
| 120 | N X,IOINHI,IOINORM S X="IOINHI;IOINORM" D ENDR^%ZISS S BOLD=$G(IOINHI),NORM=$G(IOINORM) Q | 
|---|
| 121 | KATTR ; Kill Screen Attributes | 
|---|
| 122 | K NORM,BOLD Q | 
|---|