1 | GMTSXPD3 ; SLC/KER - Health Summary Dist (Index/ADH) ; 07/18/2000
|
---|
2 | ;;2.7;Health Summary;**35,37**;Oct 20, 1995
|
---|
3 | Q
|
---|
4 | ;
|
---|
5 | BUILD ; Rebuild AD Hoc Health Summary
|
---|
6 | ; Set Variable GMTSQT for QUIET Rebuild
|
---|
7 | N GMTSENV,DIK,DA,X,Y,INCLUDE S GMTSENV=$$ENV Q:'GMTSENV S INCLUDE=0 D M(" "),RC,RT,RB
|
---|
8 | Q
|
---|
9 | BUILDQ ; Quiet Rebuild
|
---|
10 | N GMTSQT S GMTSQT="" D BUILD Q
|
---|
11 | ;
|
---|
12 | TSK(X) ; Tasked Rebuild
|
---|
13 | ; Returns 0 Not tasked
|
---|
14 | ; -1 Currently running
|
---|
15 | ; # Task Number
|
---|
16 | ;
|
---|
17 | S X=0,ZTRTN="TSKB^GMTSXPD3",ZTDESC="Rebuilding AD Hoc Health Summary",ZTIO="",ZTDTH=$H
|
---|
18 | S:$D(^TMP("GMTSXPD3")) X=-1 Q:X<0 X
|
---|
19 | ; DBIA 10063 call ^%ZTLOAD
|
---|
20 | I '$D(^TMP("GMTSXPD3")) S ^TMP("GMTSXPD3")="" D ^%ZTLOAD
|
---|
21 | S X=+($G(ZTSK))
|
---|
22 | ; DBIA 10086 call HOME^%ZIS
|
---|
23 | D HOME^%ZIS K ZTSAVE,ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTSK
|
---|
24 | Q X
|
---|
25 | TSKB S ^TMP("GMTSXPD3")="" S:$D(ZTQUEUED) ZTREQ="@" D BUILDQ K ^TMP("GMTSXPD3")
|
---|
26 | Q
|
---|
27 | TO(GMTSCOM,GMTSTIM,GMTSOCC) ; Update Ad Hoc default time and occurrences
|
---|
28 | N GMTSTAD,GMTSTAS,GMTSTAN,GMTSTNN,GMTSTOT,GMTSTOC,GMTSTOO,GMTSTAV
|
---|
29 | N GMTSTTA,GMTSTOA,GMTSTQN,GMTST1,GMTST2,GMTSTLL,GMTSOLL
|
---|
30 | S GMTSCOM=$G(GMTSCOM) Q:'$L(GMTSCOM) S GMTSTIM=$$UP($G(GMTSTIM)),GMTSTAD=$$A S:+GMTSTIM=0 GMTSTIM=""
|
---|
31 | S GMTSOCC=+($G(GMTSOCC)) S:GMTSOCC=0 GMTSOCC="" S GMTSCOM=$$R(GMTSCOM),GMTSTOC=$$C(GMTSCOM),GMTSTTA=0 S:GMTSCOM=GMTSTOC GMTSTTA=$$TA(GMTSCOM)
|
---|
32 | S GMTSTOA=0 S:GMTSCOM=GMTSTOC GMTSTOA=$$OA(GMTSCOM) S GMTSTOT=$$T(GMTSTIM),GMTSTOO=$$O(GMTSOCC)
|
---|
33 | S GMTSTAD=$$A,GMTSTAS=$$S(GMTSTAD,GMTSTOC),GMTSTAN=$$N(GMTSTAD,GMTSTAS),GMTSTAV=""
|
---|
34 | S:$L(GMTSTAN) GMTSTAV=@GMTSTAN S GMTSTNN=GMTSTAV,GMTSTQN="" S:$L(GMTSTNN,"^")>2&(GMTSTOO=GMTSOCC) $P(GMTSTNN,"^",3)=GMTSOCC
|
---|
35 | S:$L(GMTSOCC)&(GMTSTOO=GMTSOCC) $P(GMTSTNN,"^",3)=GMTSOCC S:$L(GMTSTNN,"^")>3&(GMTSTOT=GMTSTIM) $P(GMTSTNN,"^",4)=GMTSTIM
|
---|
36 | S:$L(GMTSTIM)&(GMTSTOT=GMTSTIM) $P(GMTSTNN,"^",4)=GMTSTIM S:'GMTSTTA&($L(GMTSTNN,"^")>3) GMTSTNN=$P(GMTSTNN,"^",1,3)
|
---|
37 | S:'GMTSTTA&($P(GMTSTNN,"^",3)="") GMTSTNN=$P(GMTSTNN,"^",1,2) S:'GMTSTOA&($L(GMTSTNN,"^")=3) GMTSTNN=$P(GMTSTNN,"^",1,2)
|
---|
38 | S:'GMTSTOA&($L(GMTSTNN,"^")>3) $P(GMTSTNN,"^",3)=""
|
---|
39 | S:+GMTSTAS>0&($D(^GMT(142,+($G(GMTSTAD)),1,+GMTSTAS,0))) $P(GMTSTQN,"^",1)=GMTSTAS
|
---|
40 | S:+GMTSTOC>0&(GMTSTOC=GMTSCOM)&($D(^GMT(142.1,+($G(GMTSTOC)),0))) $P(GMTSTQN,"^",2)=GMTSTOC
|
---|
41 | S:+GMTSTOA>0&($L(GMTSTOO)) $P(GMTSTQN,"^",3)=GMTSTOO,GMTSOCC=GMTSTOO
|
---|
42 | S:+GMTSTTA>0&($L(GMTSTOT)) $P(GMTSTQN,"^",4)=GMTSTOT,GMTSTIM=GMTSTOT
|
---|
43 | S:+GMTSTOA=0&($L(GMTSTOO)) GMTSTOO="" S:+GMTSTTA=0&($L(GMTSTOT)) GMTSTOT=""
|
---|
44 | Q:'$L(GMTSTAN) Q:'$L(GMTSTQN) Q:'$D(^GMT(142,+($G(GMTSTAD)),0)) Q:'$D(^GMT(142,+($G(GMTSTAD)),1,+($G(GMTSTAS)),0))
|
---|
45 | Q:GMTSTOT'=GMTSTIM Q:GMTSTOO'=GMTSOCC Q:GMTSCOM'=GMTSTOC Q:$P(GMTSTNN,"^",1,2)'=$P(GMTSTQN,"^",1,2)
|
---|
46 | S GMTSCOM=$P(GMTSTQN,"^",2),GMTSOCC=$P(GMTSTQN,"^",3),GMTSTIM=$P(GMTSTQN,"^",4)
|
---|
47 | Q:+GMTSCOM=0 S GMTSCOM=$P($G(^GMT(142.1,+GMTSCOM,0)),"^",1) Q:'$L(GMTSCOM)
|
---|
48 | S GMTST1=" Setting time and occurrence limits for GMTS HS ADHOC OPTION component" D BM(GMTST1)
|
---|
49 | S GMTSOLL=$$OLL(+GMTSOCC),GMTSTLL=$$TLL(GMTSTIM)
|
---|
50 | I $L(GMTSOLL),$L(GMTSTLL) D
|
---|
51 | . S GMTST1=" "_GMTSCOM_" (Limits - "_GMTSTLL_" and "_GMTSOLL_")" D M(GMTST1)
|
---|
52 | I '$L(GMTSOLL)!('$L(GMTSTLL)) D
|
---|
53 | . S GMTST1=" "_GMTSCOM D M(GMTST1)
|
---|
54 | . S GMTST1=$S($L($G(GMTSTIM))&($L($G(GMTSTLL))):" Limits: ",1:" Time Limits: ")
|
---|
55 | . S GMTST2=$S($L($G(GMTSTIM))&('$L($G(GMTSTLL))):GMTSTIM,$L($G(GMTSTIM))&($L($G(GMTSTLL))):GMTSTLL,1:"No time limit <null>") D M((GMTST1_GMTST2))
|
---|
56 | . S GMTST1=$S($L($G(GMTSTIM))&($L($G(GMTSTLL))):" ",1:" Occurrence Limits: ")
|
---|
57 | . S GMTST2=$S($L($G(GMTSOCC))&('$L($G(GMTSOLL))):GMTSOCC,$L($G(GMTSOCC))&($L($G(GMTSOLL))):GMTSOLL,1:"No occurrence limit <null>") D M((GMTST1_GMTST2))
|
---|
58 | S @GMTSTAN=GMTSTQN
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | ; Indexing
|
---|
62 | RT ; Re-Index HS Type File
|
---|
63 | N GMTST,GMTSL,GMTSQ,GMTSC,GMTSE,DA,DIK,DIC,X,Y
|
---|
64 | S U="^",GMTSE=59,GMTST=" Re-Indexing Health Summary Type file "
|
---|
65 | S GMTSL=$L(GMTST),(GMTSC,DA)=0 F S DA=$O(^GMT(142,DA)) Q:+DA=0 S GMTSC=GMTSC+1
|
---|
66 | S GMTSC=GMTSC-1,GMTSQ=GMTSC\(GMTSE-$L(GMTST)) S:GMTSQ'>0 GMTSQ=1 D M(GMTST)
|
---|
67 | S DIK="^GMT(142,",(GMTSC,DA)=0 F S DA=$O(^GMT(142,DA)) Q:+DA=0 D
|
---|
68 | . ; DBIA 10013 call IX^DIK
|
---|
69 | . D IX^DIK Q:$D(GMTSQT)
|
---|
70 | . S GMTSC=GMTSC+1 S:GMTSC#GMTSQ=0 GMTSL=GMTSL+1 Q:GMTSL>GMTSE
|
---|
71 | . W:GMTSC#GMTSQ=0 "."
|
---|
72 | I '$D(GMTSQT),GMTSL'>GMTSE F S GMTSL=GMTSL+1 Q:GMTSL>GMTSE W "."
|
---|
73 | W:'$D(GMTSQT) ?GMTSE," < done >"
|
---|
74 | Q
|
---|
75 | RC ; Re-Index HS Component File
|
---|
76 | N GMTST,GMTSL,GMTSQ,GMTSC,GMTSE,DA,DIK,DIC,X,Y
|
---|
77 | S U="^",GMTSE=59,GMTST=" Re-Indexing Health Summary Component file ",GMTSL=$L(GMTST),(GMTSC,DA)=0
|
---|
78 | F S DA=$O(^GMT(142.1,DA)) Q:+DA=0 S GMTSC=GMTSC+1
|
---|
79 | S GMTSC=GMTSC-1,GMTSQ=GMTSC\(GMTSE-$L(GMTST)) S:GMTSQ'>0 GMTSQ=1 D M(GMTST)
|
---|
80 | S DIK="^GMT(142.1,",(GMTSC,DA)=0 F S DA=$O(^GMT(142.1,DA)) Q:+DA=0 D
|
---|
81 | . ; DBIA 10013 call IX^DIK
|
---|
82 | . D IX^DIK Q:$D(GMTSQT)
|
---|
83 | . S GMTSC=GMTSC+1 S:GMTSC#GMTSQ=0 GMTSL=GMTSL+1 Q:GMTSL>GMTSE
|
---|
84 | . W:GMTSC#GMTSQ=0 "."
|
---|
85 | I '$D(GMTSQT),GMTSL'>GMTSE F S GMTSL=GMTSL+1 Q:GMTSL>GMTSE W "."
|
---|
86 | W:'$D(GMTSQT) ?GMTSE," < done >"
|
---|
87 | Q
|
---|
88 | RA ; Re-Index HS Type "Ad Hoc"
|
---|
89 | ; DBIA 10013 call IX1^DIK
|
---|
90 | N GMTST,DA,DIK S DIK="^GMT(142,",DA=$$A,U="^" Q:+DA=0 D IX1^DIK
|
---|
91 | Q
|
---|
92 | RB ; Re-Build Ad Hoc Health Summary Type
|
---|
93 | D RB^GMTSXPD4 Q
|
---|
94 | ;
|
---|
95 | ; Check Input
|
---|
96 | T(X) ; Time Input Transform
|
---|
97 | ; DBIA 10104 call $$UP^XLFSTR
|
---|
98 | S X=$$UP^XLFSTR($G(X)) S:$L(X)>5!($L(X)<1)!'((X?1N.N1U)!(X?1N.N1"D")!(X?1N.N1"W")!(X?1N.N1"M")!(X?1N.N1"Y")) X="1Y" Q X
|
---|
99 | O(X) ; Occurrence Input Transform
|
---|
100 | S X=$G(X) S:+X'=X!(X>99999)!(X<1)!(X?.E1"."1N.N) X="10" Q X
|
---|
101 | C(X) ; Component Input Transform
|
---|
102 | S X=$G(X) Q:'$L(X) "Error" Q:+X'>0 "Error" Q:'$D(^GMT(142.1,+X,0)) "Error" S X=+X Q X
|
---|
103 | R(X) ; Resolve Pointer
|
---|
104 | S X=$G(X) Q:'$L(X) "" N GMTSA S GMTSA=X I $D(^GMT(142.1,+X,0)) S X=+X Q X
|
---|
105 | S:$D(^GMT(142.1,"B",X)) GMTSA=+($O(^GMT(142.1,"B",X,0))) S:GMTSA=X&($D(^GMT(142.1,"B",$$UP(X)))) GMTSA=+($O(^GMT(142.1,"B",$$UP(X),0))) I GMTSA'=X S X=GMTSA Q X
|
---|
106 | S:GMTSA=X&($D(^GMT(142.1,"C",X))) GMTSA=+($O(^GMT(142.1,"C",X,0))) S:GMTSA=X&($D(^GMT(142.1,"C",$$UP(X)))) GMTSA=+($O(^GMT(142.1,"C",$$UP(X),0))) I GMTSA'=X S X=GMTSA Q X
|
---|
107 | S:GMTSA=X&($D(^GMT(142.1,"D",X))) GMTSA=+($O(^GMT(142.1,"D",X,0))) S:GMTSA=X&($D(^GMT(142.1,"D",$$UP(X)))) GMTSA=+($O(^GMT(142.1,"D",$$UP(X),0))) I GMTSA'=X S X=GMTSA Q X
|
---|
108 | Q ""
|
---|
109 | A(X) ; Ad Hoc IEN
|
---|
110 | S X=0 S X=+($O(^GMT(142,"AB","GMTS HS ADHOC OPTION",0))) Q:+X>0 +X
|
---|
111 | S X=+($O(^GMT(142,"B","GMTS HS ADHOC OPTION",0))) Q:+X>0 +X
|
---|
112 | S X=+($O(^GMT(142,"E","Ad Hoc Health Summary Type",0))) Q:+X>0 +X Q 0
|
---|
113 | S(GMTSA,GMTSC) ; Structure IEN
|
---|
114 | N GMTST1,GMTST2 S GMTSA=+($G(GMTSA)) Q:GMTSA=0 ""
|
---|
115 | S GMTSC=+($G(GMTSC)) Q:GMTSC=0 ""
|
---|
116 | Q:'$D(^GMT(142,GMTSA,1,"C",GMTSC)) ""
|
---|
117 | Q:'$D(^GMT(142,"AE",GMTSC,GMTSA)) ""
|
---|
118 | S GMTST1=+($O(^GMT(142,GMTSA,1,"C",GMTSC,0)))
|
---|
119 | S GMTST2=+($O(^GMT(142,"AE",GMTSC,GMTSA,0)))
|
---|
120 | Q:GMTST1'=GMTST2!(GMTST1=0)!(GMTST2=0) "" S GMTSA=GMTST1 Q GMTSA
|
---|
121 | N(GMTSA,GMTSC) ; Structure IEN
|
---|
122 | N GMTST1,GMTST2
|
---|
123 | S GMTSA=+($G(GMTSA)) Q:GMTSA=0 "" S GMTSC=+($G(GMTSC)) Q:GMTSC=0 ""
|
---|
124 | S GMTST1="^GMT(142,"_GMTSA_",1,"_GMTSC_",0)",GMTST2=$G(@GMTST1)
|
---|
125 | Q:'$D(@GMTST1) "" Q:'$L(GMTST2) "" S GMTSA=GMTST1 Q GMTSA
|
---|
126 | Q
|
---|
127 | TA(X) ; Time Limits Applicable S Y:yes 0;3
|
---|
128 | N GMTSA S GMTSA=$P($G(^GMT(142.1,+($G(X)),0)),"^",3),X=$S(GMTSA="Y":1,1:0) Q X
|
---|
129 | OA(X) ; Maximum Occurrences Applicable S Y:yes 0;5
|
---|
130 | N GMTSA S GMTSA=$P($G(^GMT(142.1,+($G(X)),0)),"^",5),X=$S(GMTSA="Y":1,1:0) Q X
|
---|
131 | TLL(X) ; Time Limits (Litteral)
|
---|
132 | S X=$$UP($G(X))
|
---|
133 | N GMTSU,GMTSQ S GMTSQ=+X,GMTSU=$E(X,$L(X)) Q:GMTSU="^"!(GMTSU="") "" Q:GMTSQ=0 ""
|
---|
134 | Q:"^D^W^M^Y^"'[GMTSU "" S GMTSU=$S(GMTSU="D":" day",GMTSU="W":" week",GMTSU="M":" month",GMTSU="Y":" year",1:"") Q:'$L(GMTSU) ""
|
---|
135 | S GMTSU=$S(+GMTSQ>1:(GMTSU_"s"),1:GMTSU) S X=+GMTSQ_GMTSU
|
---|
136 | Q X
|
---|
137 | OLL(X) ; Occurrence Limits (Litteral)
|
---|
138 | S X=+($G(X)) Q:X=0 ""
|
---|
139 | N GMTSU,GMTSQ S GMTSQ=+X,GMTSU=" occurrence",GMTSU=$S(+GMTSQ>1:(GMTSU_"s"),1:GMTSU) S X=+GMTSQ_GMTSU
|
---|
140 | Q X
|
---|
141 | ;
|
---|
142 | ; Other
|
---|
143 | ENV(X) ; Environment check
|
---|
144 | ; DBIA 10086 call HOME^%ZIS
|
---|
145 | D HOME^%ZIS
|
---|
146 | ; DBIA 2056 call $$GET1^DIQ
|
---|
147 | I '$L($$GET1^DIQ(200,+($G(DUZ)),.01)) D BM(" Invalid User (DUZ)"),M("") Q 0
|
---|
148 | Q 1
|
---|
149 | BM(X) ; Blank Line with Message
|
---|
150 | ; DBIA 10141 call BMES^XPDUTL
|
---|
151 | Q:$D(GMTSQT) D:$D(XPDNM) BMES^XPDUTL($G(X)) W:'$D(XPDNM) !!,$G(X) Q
|
---|
152 | M(X) ; Message
|
---|
153 | ; DBIA 10141 call MES^XPDUTL
|
---|
154 | Q:$D(GMTSQT) D:$D(XPDNM) MES^XPDUTL($G(X)) W:'$D(XPDNM) !,$G(X) Q
|
---|
155 | UP(X) ; Uppercase
|
---|
156 | Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|