| 1 | GMTSRM2 ; SLC/DLT - Edit HS Type - Help/Dupe/Delete  ; 09/21/2001 | 
|---|
| 2 | ;;2.7;Health Summary;**47**;Oct 20, 1995 | 
|---|
| 3 | ; | 
|---|
| 4 | ; External Calls | 
|---|
| 5 | ;    DBIA 10013  ^DIK | 
|---|
| 6 | ;    DBIA 10026  ^DIR | 
|---|
| 7 | ;    DBIA 10102  DISP^XQORM1 | 
|---|
| 8 | ; | 
|---|
| 9 | HELP ; Display Help Text | 
|---|
| 10 | N GMI,GMTSTXT,HLP | 
|---|
| 11 | S HLP=$S(X="??":"HTX1",1:"HTX1") W ! F GMI=1:1 S GMTSTXT=$T(@HLP+GMI) Q:GMTSTXT["ZZZZ"  W !,$P(GMTSTXT,";",3,99) | 
|---|
| 12 | D REDISP | 
|---|
| 13 | Q | 
|---|
| 14 | REDISP ; Ask Whether or not to redisplay menu | 
|---|
| 15 | N I,DIR,X,Y | 
|---|
| 16 | S DIR(0)="Y",DIR("A")="Redisplay items",DIR("B")="YES" D ^DIR Q:'Y | 
|---|
| 17 | W @IOF | 
|---|
| 18 | D DISP^XQORM1 W ! | 
|---|
| 19 | Q | 
|---|
| 20 | HTX1 ; Help Text for "?" and "??" | 
|---|
| 21 | ;; | 
|---|
| 22 | ;; Select ONE or MORE items from the menu, separated by commas. | 
|---|
| 23 | ;; | 
|---|
| 24 | ;; ALL items may be selected by typing "ALL". | 
|---|
| 25 | ;; | 
|---|
| 26 | ;; EXCEPTIONS may be entered by preceding them with a minus. | 
|---|
| 27 | ;;   For example, "ALL,-THIS,-THAT" selects all but "THIS" and "THAT". | 
|---|
| 28 | ;; | 
|---|
| 29 | ;;ZZZZ | 
|---|
| 30 | ;; | 
|---|
| 31 | Q | 
|---|
| 32 | ADEL(X) ; Ask to Delete | 
|---|
| 33 | N GMTSIEN,GMTSN,ADEL,DIR S GMTSIEN=+($G(X)),ADEL=""  Q:GMTSIEN=0  Q:'$D(^GMT(142,GMTSIEN,0))  Q:$D(^GMT(142,GMTSIEN,1,"B")) | 
|---|
| 34 | S GMTSN=$P($G(^GMT(142,GMTSIEN,0)),"^",1) Q:'$L(GMTSN)  S DIR("A",1)=" Health Summary Type '"_GMTSN_"' has no Components",DIR("A")=" Do you want to delete this type?  (Y/N)  ",DIR("B")="Yes",DIR(0)="YAO",DIR("?")="     Enter either 'Y' or 'N'." | 
|---|
| 35 | W ! D ^DIR D:Y>0 DEL(+($G(GMTSIEN))) | 
|---|
| 36 | Q | 
|---|
| 37 | DEL(X) ; Delete | 
|---|
| 38 | N DIK,DA,GMTSN S DA=+($G(X)) | 
|---|
| 39 | Q:DA=0  Q:'$D(^GMT(142,DA,0))  S DIK="^GMT(142,",GMTSN=$P($G(^GMT(142,DA,0)),"^",1) Q:'$L(GMTSN)  D ^DIK I '$D(^GMT(142,DA,0)) W:$D(ADEL) "  < deleted >" W:'$D(ADEL) !,?2,GMTSN,"  < deleted >" | 
|---|
| 40 | Q | 
|---|
| 41 | DUP(X) ; Look for a Duplicate 1 = duplicate found, 0 = unique | 
|---|
| 42 | Q:'$L($G(X)) 1  S X=$G(X) N TYPE,UTYPE S TYPE=X,UTYPE=$$UP(TYPE) | 
|---|
| 43 | N TYPES,TYPEO,TYPEI,TYPEN S TYPEO=$E(UTYPE,1,30),TYPEO=$E(TYPEO,1,($L(TYPEO)-1))_$C($A($E(TYPEO,$L(TYPEO)))-1)_"~" | 
|---|
| 44 | F  S TYPEO=$O(^GMT(142,"AB",TYPEO)) Q:TYPEO=0!(TYPEO'[$E(UTYPE,1,30))  D | 
|---|
| 45 | . S TYPEI=0 F  S TYPEI=$O(^GMT(142,"AB",TYPEO,TYPEI)) Q:+TYPEI=0  D | 
|---|
| 46 | . . S TYPEN=$$UP($P($G(^GMT(142,TYPEI,0)),"^",1)) Q:TYPEN'=UTYPE  Q:TYPEI=+($G(DA)) | 
|---|
| 47 | . . S TYPES(TYPEI)=TYPEN_"^"_TYPE | 
|---|
| 48 | Q $S($O(TYPES(0))>0:1,1:0) | 
|---|
| 49 | UP(X) Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") | 
|---|