1 | GMTSULT3 ; SLC/KER - HS Type Lookup (Save) ; 08/27/2002
|
---|
2 | ;;2.7;Health Summary;**30,32,56**;Oct 20, 1995
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 10060 ^VA(200,
|
---|
6 | ; DBIA 2056 $$GET1^DIQ (file #200)
|
---|
7 | ;
|
---|
8 | Q
|
---|
9 | SM ; Save match
|
---|
10 | ;
|
---|
11 | ; GMTSIEN Type Internal Entry Number
|
---|
12 | ; GMTSKWRD Keyword from AW index
|
---|
13 | ; GMTSWRDS Parsed word array
|
---|
14 | ; GMTSEO Exact Match (One) OE
|
---|
15 | ; GMTSEQ Exact Match Required X
|
---|
16 | ; GMTSIF Interal Entry Number N
|
---|
17 | ;
|
---|
18 | S GMTSIEN=+($G(GMTSIEN)),GMTSKWRD=$G(GMTSKWRD),GMTSEO=+($G(GMTSEO)),GMTSEQ=+($G(GMTSEQ)),GMTSIF=+($G(GMTSIF)),U="^"
|
---|
19 | N GMTSCOMP,GMTSCF,GMTSWRD,GMTSWDS,GMTSEQ,GMTSLOK,GMTSOK,GMTSLT,GMTSLI,GMTSASM,GMTSI1,GMTSI2,GMTSI3,GMTSNAM,GMTSTTL,GMTSOW,GMTSLOC,GMTSCMP,GMTSRC
|
---|
20 | S (GMTSNAM,GMTSTTL,GMTSOW,GMTSLOC,GMTSCMP,GMTSRC)="",GMTSLOK=0,GMTSRC="Name",GMTSWRD=$G(GMTSWRDS(1)),GMTSWDS=+($O(GMTSWRDS(" "),-1))
|
---|
21 | ; Get Internal Entry Number (IEN)
|
---|
22 | S GMTSI1=+($G(GMTSIEN)) Q:'$D(^GMT(142,GMTSI1,0))
|
---|
23 | ; Check Screen - DIC("S")
|
---|
24 | S GMTSOK=1 I $L($G(GMTSDICS)) S GMTSOK=$$DICS^GMTSULT2(GMTSDICS,X,GMTSI1) Q:'GMTSOK
|
---|
25 | ; Get Health Summary Type
|
---|
26 | ; Components
|
---|
27 | S GMTSCMP=$$CM^GMTSULT2(+GMTSI1)
|
---|
28 | ; Name
|
---|
29 | S GMTSNAM=$P($G(^GMT(142,+GMTSI1,0)),U,1)
|
---|
30 | ; Title
|
---|
31 | S GMTSTTL=$P($G(^GMT(142,+GMTSI1,"T")),U,1)
|
---|
32 | S:$L(GMTSTTL) GMTSRC="Title"
|
---|
33 | ; Owner
|
---|
34 | S GMTSOW=+($P($G(^GMT(142,+GMTSI1,0)),U,3)) S:GMTSOW<1 GMTSOW=""
|
---|
35 | S:+GMTSOW>0 GMTSOW=$$GET1^DIQ(200,(+GMTSOW_","),.01)
|
---|
36 | I $L($G(GMTSKWRD)) S:$L(GMTSOW)&(GMTSOW[GMTSKWRD) GMTSRC="Title/Owner"
|
---|
37 | ; Name/Title
|
---|
38 | D NT^GMTSULT4
|
---|
39 | ; Location
|
---|
40 | D LC^GMTSULT4
|
---|
41 | S:'$L($G(GMTSLT("C")))&($L($G(GMTSLI("C")))) GMTSLOC=$G(GMTSLI("C"))
|
---|
42 | ; Get Composite String
|
---|
43 | D CMA^GMTSULT4
|
---|
44 | ; Find words in string
|
---|
45 | S (GMTSCF,GMTSFND)=0 I GMTSWDS>0 F GMTSI=1:1:GMTSWDS D
|
---|
46 | . Q:'$L(GMTSWRDS(GMTSI))
|
---|
47 | . S GMTSCF=+($$CHKW^GMTSULT4(GMTSWRDS(GMTSI)))
|
---|
48 | . S:GMTSCF GMTSFND=GMTSFND+1
|
---|
49 | . S:$L(GMTSOW)&(GMTSOW[$$UP^GMTSULT2(GMTSWRDS(GMTSI))) GMTSRC="Title/Owner"
|
---|
50 | ;
|
---|
51 | ; If input is not an Internal Entry Number +GMTSIF=0
|
---|
52 | ; and not all of the words were found GMTSFND'=GMTSWDS
|
---|
53 | ; then quit
|
---|
54 | ;
|
---|
55 | Q:'(+($G(GMTSIF)))&(GMTSFND'=GMTSWDS)
|
---|
56 | ;
|
---|
57 | ; Save Health Summary Type
|
---|
58 | ; Exact match only DIC(0)["O" & DIC(0)["E"
|
---|
59 | I '(+($G(GMTSIF))),+($G(GMTSEO)),($$UP^GMTSULT2(GMTSNAM)'=$$UP^GMTSULT2(X)&($$UP^GMTSULT2(GMTSLOC)'=$$UP^GMTSULT2(X))) Q
|
---|
60 | S:$L(GMTSLOC) GMTSRC="Location"
|
---|
61 | ; Quit if Health Summary is already saved
|
---|
62 | Q:$D(^TMP("GMTSULT2",$J,"IEN",+GMTSI1))&(+($G(^TMP("GMTSULT2",$J,"EM")))'=+GMTSI1)
|
---|
63 | ;
|
---|
64 | ; Assemble string and store in TMP Global
|
---|
65 | ; IEN^Name^Title^Owner^Location^Components^Source
|
---|
66 | S GMTSC=+($O(^TMP("GMTSULT2",$J," "),-1))+1
|
---|
67 | S GMTSASM=GMTSI1_U_GMTSNAM_U_GMTSTTL_U_GMTSOW_U_GMTSLOC_U_GMTSCMP_U_GMTSRC
|
---|
68 | S ^TMP("GMTSULT2",$J,"IEN",+GMTSI1)="",^TMP("GMTSULT2",$J,GMTSC)=GMTSASM,^TMP("GMTSULT2",$J,"B",(GMTSNAM_" "),GMTSC)=""
|
---|
69 | S:+($G(^TMP("GMTSULT2",$J,"EM")))=GMTSI1 ^TMP("GMTSULT2",$J,"EMI")=GMTSC,^TMP("GMTSULT2",$J,"EMB")=GMTSNAM_" "
|
---|
70 | Q
|
---|
71 | ;
|
---|
72 | REO ; Reorder List
|
---|
73 | S GMTSEO=+($G(GMTSEO)),GMTSEQ=+($G(GMTSEQ)),GMTSIF=+($G(GMTSIF))
|
---|
74 | N GMTSC,GMTSFND,GMTSG,GMTSI,GMTSIEN,GMTSKEY,GMTSL,GMTSCMP,GMTSOW,GMTSTTL,GMTSLOC,GMTSMN,GMTSNM
|
---|
75 | S GMTSI=0,GMTSFND=""
|
---|
76 | ; Add exact match to the top of the selection list
|
---|
77 | I '$D(^TMP("GMTSULT2",$J,"E")),+($G(GMTSEO)) K ^TMP("GMTSULT2",$J)
|
---|
78 | I $D(^TMP("GMTSULT2",$J,"E")) D
|
---|
79 | . S GMTSI=0,GMTSC="E" D ADD
|
---|
80 | . S ^TMP("GMTSULT",$J,0)=GMTSI
|
---|
81 | . K ^TMP("GMTSULT2",$J,"E")
|
---|
82 | . ; Kill global (quit) if Exact Match is found
|
---|
83 | . ; and DIR(0) either contains OE or X
|
---|
84 | . K:+($G(GMTSEQ)) ^TMP("GMTSULT2",$J) K:+($G(GMTSEO)) ^TMP("GMTSULT2",$J)
|
---|
85 | ; Kill global (quit) if Exact Match is not
|
---|
86 | ; found and DIR(0)["OE"
|
---|
87 | I '$D(^TMP("GMTSULT2",$J,"E")),+($G(GMTSEO)) K ^TMP("GMTSULT2",$J)
|
---|
88 | ; Add remaining entries in Alphabetical Order
|
---|
89 | F S GMTSFND=$O(^TMP("GMTSULT2",$J,"B",GMTSFND)) Q:GMTSFND="" D
|
---|
90 | . S GMTSC=0 F S GMTSC=$O(^TMP("GMTSULT2",$J,"B",GMTSFND,GMTSC)) Q:+GMTSC=0 D
|
---|
91 | . . D ADD
|
---|
92 | D CLEAN^GMTSULT
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | ADD ; Add to list in appropriate order
|
---|
96 | N GMTS0,GMTS1,GMTS2,GMTS3,GMTS4,GMTS5,GMTS6,GMTS7
|
---|
97 | S GMTSI=+($G(GMTSI))+1,GMTS0=$G(^TMP("GMTSULT2",$J,GMTSC))
|
---|
98 | ;
|
---|
99 | ; Piece Data Element
|
---|
100 | ;
|
---|
101 | ; 1 Internal Entry Number
|
---|
102 | S (GMTS1,GMTSIEN)=+($P(GMTS0,U,1))
|
---|
103 | ; 2 Health Summary Name
|
---|
104 | S (GMTSG,GMTSMN,GMTS2)=$$MX^GMTSULT2($P(GMTS0,U,2))
|
---|
105 | S GMTSNM=$$UP^GMTSULT2(GMTSMN)
|
---|
106 | ; 3 Health Summary Title
|
---|
107 | S (GMTS3,GMTSTTL)=$$MX^GMTSULT2($P(GMTS0,U,3)),GMTSTTL=GMTSTTL_")"
|
---|
108 | ; 4 Health Summary Owner
|
---|
109 | S (GMTS4,GMTSOW)=$$MX^GMTSULT2($P(GMTS0,U,4)),GMTSOW=GMTSOW_")"
|
---|
110 | ; 5 Health Summary Location
|
---|
111 | S (GMTS5,GMTSLOC)=$$MX^GMTSULT2($P(GMTS0,U,5)),GMTSLOC=GMTSLOC_")"
|
---|
112 | ; 6 Health Summary Components
|
---|
113 | S (GMTS6,GMTSCMP)=$P(GMTS0,U,6)
|
---|
114 | S GMTSL=$P(GMTS0,U,4)
|
---|
115 | ; 7 Recommended Display Text
|
---|
116 | S GMTSKEY=$$UP^GMTSULT2($P(GMTS0,U,7))
|
---|
117 | ;
|
---|
118 | ; Recommended Display Text
|
---|
119 | D RDT^GMTSULT4
|
---|
120 | ;
|
---|
121 | ; Assemble string and store in TMP Global
|
---|
122 | ; IEN^Name^Title^Owner^Location^Components^Display Text
|
---|
123 | S:$L(GMTSG)&(GMTSG'[")")&(GMTSG'["(")&(+GMTS6=0)&($L(GMTS6)) GMTSG=GMTSG_" ("_GMTS6_")" S GMTS7=GMTSG
|
---|
124 | S ^TMP("GMTSULT",$J,GMTSI)=GMTS1_U_GMTS2_U_GMTS3_U_GMTS4_U_GMTS5_U_GMTS6_U_GMTS7
|
---|
125 | S ^TMP("GMTSULT",$J,0)=GMTSI
|
---|
126 | Q
|
---|