| 1 | GMTSRN ;SLC/JER - Renumber Selected Health Summary Type ; 08/27/2002
 | 
|---|
| 2 |  ;;2.7;Health Summary;**36,56**;Oct 20, 1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; External References
 | 
|---|
| 5 |  ;   DBIA 10026  ^DIR
 | 
|---|
| 6 |  ;   DBIA 10076  ^XUSEC(
 | 
|---|
| 7 |  ;   DBIA 10076  ^XUSEC("GMTSMGR")
 | 
|---|
| 8 |  ;   DBIA 10013  ^DIK  (file #142)
 | 
|---|
| 9 |  ;                     
 | 
|---|
| 10 | MAIN ; Initializes Variables and Controls Branching
 | 
|---|
| 11 |  N CHANGE,GMTSIFN,GMTSUM,GMTSEG,GMTSI,GMTSJ,GMTSQIT F  D SELECT Q:$D(GMTSQIT)  D COPY,RNMBR:CHANGE W !
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 | SELECT ; Select Health Summary Type
 | 
|---|
| 14 |  N DIR,GMTSKEY,GMTSMGR,GMTSOWN,X,Y
 | 
|---|
| 15 |  W ! S DIR(0)="PO^142:AEMQZ" D ^DIR K DIR I $D(DIRUT) S GMTSQIT="" Q
 | 
|---|
| 16 |  S GMTSIFN=+Y,GMTSUM=$P(Y,U,2)
 | 
|---|
| 17 |  S GMTSKEY=$S($P(^GMT(142,GMTSIFN,0),U,2)]"":$P(^(0),U,2),1:" ZZZ"),GMTSOWN=$S($P(^(0),U,3)>0:$P(^(0),U,3),1:DUZ)
 | 
|---|
| 18 |  S GMTSMGR=$S($D(^XUSEC("GMTSMGR",DUZ)):1,$D(^XUSEC(GMTSKEY,DUZ)):1,GMTSOWN=DUZ:1,1:0)
 | 
|---|
| 19 |  I GMTSMGR Q
 | 
|---|
| 20 |  I '$D(^XUSEC(GMTSKEY,DUZ)) W !,$C(7),"This summary is currently locked to prevent alteration.",! S GMTSQIT="" Q
 | 
|---|
| 21 |  I GMTSOWN'=DUZ W !,$C(7),"Alteration of this summary is restricted to its owner.",!,"See the Clinical Coordinator if you need additional help." S GMTSQIT=""
 | 
|---|
| 22 |  Q
 | 
|---|
| 23 | COPY ; Copies Structure Multiple into GMTSEG(SEQ,
 | 
|---|
| 24 |  N GMTSI,SEQ K GMTSEG S (CHANGE,GMTSI)=0 I '$D(^GMT(142,GMTSIFN,1,5)) S CHANGE=1
 | 
|---|
| 25 |  F  S GMTSI=$O(^GMT(142,GMTSIFN,1,GMTSI)) Q:GMTSI'>0  W "." I GMTSI#5'=0 S CHANGE=1
 | 
|---|
| 26 |  I 'CHANGE Q
 | 
|---|
| 27 |  S (SEQ,GMTSI)=0 F  S GMTSI=$O(^GMT(142,GMTSIFN,1,GMTSI)) Q:GMTSI'>0  I $P(^(GMTSI,0),U,2) S SEQ=SEQ+1,GMTSEG(SEQ)=^(0) D GETSEL,PURGE W "."
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 | GETSEL ; Gets Selection Items from Multiple
 | 
|---|
| 30 |  N SN S SN=0 F  S SN=$O(^GMT(142,GMTSIFN,1,GMTSI,1,SN)) Q:SN'>0  S GMTSEG(SEQ,SN)=^(SN,0)
 | 
|---|
| 31 |  Q
 | 
|---|
| 32 | PURGE ; Deletes Old Node from ^GMT(142,GMTSIFN,1,GMTSI, using ^DIK
 | 
|---|
| 33 |  N DA,DIK S DA(1)=GMTSIFN,DA=GMTSI,DIK="^GMT(142,"_GMTSIFN_",1," D ^DIK
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 | RNMBR ; Traverses GMTSEG(SEQ) - Resets ^GMT(142,GMTSIFN,1,
 | 
|---|
| 36 |  N DA,DR,DIE,ISEQ,SEQ,CCT S (CCT,SEQ)=0 F  S SEQ=$O(GMTSEG(SEQ)) Q:SEQ'>0  K DA S DIE="^GMT(142,"_GMTSIFN_",1,",DA(1)=GMTSIFN D LOADCMP^GMTSRM5 S CCT=CCT+1 W:CCT#2=0 "."
 | 
|---|
| 37 |  Q
 | 
|---|