| 1 | GMTSUIX ; SLC/KER - Health Summary Set/Kill Indexes        ; 08/27/2002 | 
|---|
| 2 | ;;2.7;Health Summary;**30,32,29,56**;Oct 20, 1995 | 
|---|
| 3 | ; | 
|---|
| 4 | ; External References | 
|---|
| 5 | ;   DBIA 10060  ^VA(200, | 
|---|
| 6 | ;   DBIA  2056  $$GET1^DIQ  (file #200) | 
|---|
| 7 | ;   DBIA 10040  ^SC(  file #44 | 
|---|
| 8 | ;   DBIA 10013  IX1^DIK | 
|---|
| 9 | ; | 
|---|
| 10 | Q | 
|---|
| 11 | STNT ; Set word indexes for NAME and TITLE | 
|---|
| 12 | N GMTSTR,GMTSIEN,GMTSPSN,GMTSCNT,GMTSWORD S GMTSTR=$G(X) Q:'$L(GMTSTR)  S GMTSIEN=+($G(DA)) Q:+GMTSIEN=0 | 
|---|
| 13 | S GMTSCNT=1 F GMTSPSN=1:1:$L(GMTSTR)+1 D | 
|---|
| 14 | . S GMTSWORD=$E(GMTSTR,GMTSPSN) I "(,.?! '-/&:;)"[GMTSWORD D | 
|---|
| 15 | . . S GMTSWORD=$TR($E($E(GMTSTR,GMTSCNT,GMTSPSN-1),1,30),"""",""),GMTSCNT=GMTSPSN+1 I $L(GMTSWORD)>0 D | 
|---|
| 16 | . . . S @("^GMT(142,""AW"","""_$$UP(GMTSWORD)_""","_GMTSIEN_")")="" | 
|---|
| 17 | Q | 
|---|
| 18 | KTNT ; Kill word indexes for NAME and TITLE | 
|---|
| 19 | N GMTSTR,GMTSIEN,GMTSPSN,GMTSCNT,GMTSWORD S GMTSTR=$G(X) Q:'$L(GMTSTR)  S GMTSIEN=+($G(DA)) Q:+GMTSIEN=0 | 
|---|
| 20 | S GMTSCNT=1 F GMTSPSN=1:1:$L(GMTSTR)+1 D | 
|---|
| 21 | . S GMTSWORD=$E(GMTSTR,GMTSPSN) I "(,.?! '-/&:;)"[GMTSWORD D | 
|---|
| 22 | . . S GMTSWORD=$TR($E($E(GMTSTR,GMTSCNT,GMTSPSN-1),1,30),"""",""),GMTSCNT=GMTSPSN+1 I $L(GMTSWORD)>0 D | 
|---|
| 23 | . . . K @("^GMT(142,""AW"","""_$$UP(GMTSWORD)_""","_GMTSIEN_")") | 
|---|
| 24 | Q | 
|---|
| 25 | ; | 
|---|
| 26 | STO ; Set word indexes for OWNER | 
|---|
| 27 | N GMTSTR,GMTSIEN,GMTSPSN,GMTSCNT,GMTSWORD | 
|---|
| 28 | S GMTSTR=+($G(X)) Q:GMTSTR'>0  Q:GMTSTR>0&(GMTSTR<1) | 
|---|
| 29 | S GMTSTR=$$GET1^DIQ(200,(+GMTSTR_","),.01)  Q:'$L(GMTSTR) | 
|---|
| 30 | S GMTSIEN=+($G(DA)) Q:+GMTSIEN=0 | 
|---|
| 31 | S GMTSCNT=1 F GMTSPSN=1:1:$L(GMTSTR)+1 D | 
|---|
| 32 | . S GMTSWORD=$E(GMTSTR,GMTSPSN) I "(,.?! '-/&:;)"[GMTSWORD D | 
|---|
| 33 | . . S GMTSWORD=$TR($E($E(GMTSTR,GMTSCNT,GMTSPSN-1),1,30),"""",""),GMTSCNT=GMTSPSN+1 I $L(GMTSWORD)>0 D | 
|---|
| 34 | . . . S @("^GMT(142,""AW"","""_$$UP(GMTSWORD)_""","_GMTSIEN_")")="" | 
|---|
| 35 | Q | 
|---|
| 36 | KTO ; Kill word indexes for OWNER | 
|---|
| 37 | N GMTSTR,GMTSIEN,GMTSPSN,GMTSCNT,GMTSWORD | 
|---|
| 38 | S GMTSTR=+($G(X)) Q:GMTSTR'>0  Q:GMTSTR>0&(GMTSTR<1) | 
|---|
| 39 | S GMTSTR=$$GET1^DIQ(200,(+GMTSTR_","),.01)  Q:'$L(GMTSTR) | 
|---|
| 40 | S GMTSIEN=+($G(DA)) Q:+GMTSIEN=0 | 
|---|
| 41 | S GMTSCNT=1 F GMTSPSN=1:1:$L(GMTSTR)+1 D | 
|---|
| 42 | . S GMTSWORD=$E(GMTSTR,GMTSPSN) I "(,.?! '-/&:;)"[GMTSWORD D | 
|---|
| 43 | . . S GMTSWORD=$TR($E($E(GMTSTR,GMTSCNT,GMTSPSN-1),1,30),"""",""),GMTSCNT=GMTSPSN+1 I $L(GMTSWORD)>0 D | 
|---|
| 44 | . . . K @("^GMT(142,""AW"","""_$$UP(GMTSWORD)_""","_GMTSIEN_")") | 
|---|
| 45 | Q | 
|---|
| 46 | ; | 
|---|
| 47 | STL ; Set word indexes for LOCATION | 
|---|
| 48 | N GMTSTR,GMTSIEN,GMTSPSN,GMTSCNT,GMTSWORD,GMTSIEN1,GMTSIEN2 | 
|---|
| 49 | S GMTSTR=$P($G(^SC(+($G(X)),0)),U,1) Q:'$L(GMTSTR)  S GMTSIEN1=+($G(DA(1))) Q:+GMTSIEN1=0  S GMTSIEN2=+($G(DA)) Q:+GMTSIEN2=0 | 
|---|
| 50 | S GMTSCNT=1 F GMTSPSN=1:1:$L(GMTSTR)+1 D | 
|---|
| 51 | . S GMTSWORD=$E(GMTSTR,GMTSPSN) I "(,.?! '-/&:;)"[GMTSWORD D | 
|---|
| 52 | . . S GMTSWORD=$TR($E($E(GMTSTR,GMTSCNT,GMTSPSN-1),1,30),"""",""),GMTSCNT=GMTSPSN+1 I $L(GMTSWORD)>0 D | 
|---|
| 53 | . . .S @("^GMT(142,""AW"","""_$$UP(GMTSWORD)_""","_GMTSIEN1_","_GMTSIEN2_")")="" | 
|---|
| 54 | Q | 
|---|
| 55 | KTL ; Kill word indexes for LOCATION | 
|---|
| 56 | N GMTSTR,GMTSIEN,GMTSPSN,GMTSCNT,GMTSWORD,GMTSIEN1,GMTSIEN2 | 
|---|
| 57 | S GMTSTR=$P($G(^SC(+($G(X)),0)),U,1) Q:'$L(GMTSTR)  S GMTSIEN1=+($G(DA(1))) Q:+GMTSIEN1=0  S GMTSIEN2=+($G(DA)) Q:+GMTSIEN2=0 | 
|---|
| 58 | S GMTSCNT=1 F GMTSPSN=1:1:$L(GMTSTR)+1 D | 
|---|
| 59 | . S GMTSWORD=$E(GMTSTR,GMTSPSN) I "(,.?! '-/&:;)"[GMTSWORD D | 
|---|
| 60 | . . S GMTSWORD=$TR($E($E(GMTSTR,GMTSCNT,GMTSPSN-1),1,30),"""",""),GMTSCNT=GMTSPSN+1 I $L(GMTSWORD)>0 D | 
|---|
| 61 | . . . K @("^GMT(142,""AW"","""_$$UP(GMTSWORD)_""","_GMTSIEN1_","_GMTSIEN2_")") | 
|---|
| 62 | Q | 
|---|
| 63 | ; | 
|---|
| 64 | RXT ; Re-index Health Summary Type file #142 | 
|---|
| 65 | W:'$D(GMTSQ) !,"Re-indexing Health Summary Type file #142" | 
|---|
| 66 | N DIK,DA,IX S DA=0 F  S DA=$O(^GMT(142,DA)) Q:+DA=0  D | 
|---|
| 67 | . S IX="~" F  S IX=$O(^GMT(142,DA,1,IX),-1) Q:+IX>0!(IX="")  I IX="0" K:$E(IX,1)?1U!($E(IX,1)?1L) ^GMT(142,DA,1,IX) | 
|---|
| 68 | . S IX="~" F  S IX=$O(^GMT(142,DA,20,IX),-1) Q:+IX>0!(IX="")  I IX="0" K:$E(IX,1)?1U!($E(IX,1)?1L) ^GMT(142,DA,20,IX) | 
|---|
| 69 | S IX="~" F  S IX=$O(^GMT(142,IX),-1) Q:+IX>0!(IX="")  I IX'="0" K:$E(IX,1)?1U!($E(IX,1)?1L) ^GMT(142,IX) | 
|---|
| 70 | W:'$D(GMTSQ) ! S DA=0 F  S DA=$O(^GMT(142,DA)) Q:+DA=0  S DIK="^GMT(142," D IX1^DIK W:'$D(GMTSQ) "." | 
|---|
| 71 | Q | 
|---|
| 72 | ; | 
|---|
| 73 | UP(X) ; Uppercase | 
|---|
| 74 | Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") | 
|---|
| 75 | TRIM(X) ; Trim Spaces | 
|---|
| 76 | S X=$G(X) Q:X="" X F  Q:$E(X,1)'=" "  S X=$E(X,2,$L(X)) | 
|---|
| 77 | F  Q:$E(X,$L(X))'=" "  S X=$E(X,1,($L(X)-1)) | 
|---|
| 78 | F  Q:X'["  "  S X=$P(X,"  ",1)_" "_$P(X,"  ",2,229) | 
|---|
| 79 | Q X | 
|---|