source: WorldVistAEHR/trunk/r/HEALTH_SUMMARY-GMTS/GMTSOBD.m@ 632

Last change on this file since 632 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 6.4 KB
RevLine 
[613]1GMTSOBD ; 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
13DDT(X) ; Detailed Display HS Type
14 N GMTSDTD S GMTSDTD="" D DT(+($G(X))) Q
15DT(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
59PAR(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
80DEV ; 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
83NOQUE ; 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
87QUE ; 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
96NODEV ; 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
100DSP ; 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
112CONT ; 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
119ATTR ; Set Screen Attributes
120 N X,IOINHI,IOINORM S X="IOINHI;IOINORM" D ENDR^%ZISS S BOLD=$G(IOINHI),NORM=$G(IOINORM) Q
121KATTR ; Kill Screen Attributes
122 K NORM,BOLD Q
Note: See TracBrowser for help on using the repository browser.