GMTSOBI ; SLC/KER - HS Object - Import/Install ; 01/06/2003
;;2.7;Health Summary;**58**;Oct 20, 1995
;
; External References
; DBIA 10096 ^%ZOSF("DEL"
; DBIA 10013 IX1^DIK
; DBIA 10112 $$SITE^VASITE
; DBIA 2055 $$FLDNUM^DILFD (file 142.5)
; DBIA 10103 $$NOW^XLFDT
; DBIA 10013 ^DIK
;
EN ; Install Object from Routine GMTSOBX
N DA,DIK,GMTS3,GMTS4,GMTSC,GMTSEDAT,GMTSETYP,GMTSETTL,GMTSDAO
N GMTSDAT,GMTSDR,GMTSEX,GMTSFAC,GMTSFRM,GMTSI,GMTSIEN,GMTSIT
N GMTSL,GMTSLN,GMTSNDD,GMTSOBJ,GMTSOBX,GMTSON,GMTSQIT,GMTSR
N GMTSROK,GMTSRT,GMTSRTN,GMTST,GMTSTE,GMTSTN,GMTSTMP,GMTSTR
N GMTSTTL,GMTSTXT,GMTSTYP,GMTSUSR,X
I +($$FLDNUM^DILFD(142.5,"NAME"))'>0!('$D(^GMT(142.5))) D Q
. W !," Unable to find HEALTH SUMMARY OBJECTS file #142.5"
S GMTSEDAT=0,GMTSRTN="GMTSOBX",GMTSQIT=0,GMTSUSR=+($G(DUZ)) I +GMTSUSR=0 W !!," User not defined" Q
I +($$ROK^GMTSOBU(GMTSRTN))'>0 W !," Error:",!," Object not Found (routine GMTSOBX)" Q
F GMTSI=1:1:7 D
. S GMTST=$$TX^GMTSOBU(GMTSRTN,GMTSRTN,(GMTSI-1)) S:GMTST["Object: " GMTSOBJ=$P(GMTST,"Object: ",2)
. S:GMTST["From: " GMTSFRM=$P(GMTST,"From: ",2) S:GMTST["Sender: " GMTSDR=$P(GMTST,"Sender: ",2)
S (GMTSON,GMTSOBJ)=$P($$TX^GMTSOBU(GMTSRTN,"OBJ",1),";",2)
S (GMTSTN,GMTSTYP)=$P($$TX^GMTSOBU(GMTSRTN,"TYPE",1),";",2)
I GMTSOBJ=""!(GMTSFRM="")!(GMTSDR="") W !," Error:",!," Can not install object from ",GMTSRTN Q
W !," Installing Health Summary Object: ",GMTSOBJ
I $L(GMTSTYP) D
. W !," Using Health Summary Type: ",GMTSTYP
W !," From: ",GMTSFRM
W !," Sender: ",GMTSDR
S GMTSTTL=$P($$TX^GMTSOBU(GMTSRTN,"TYPE",2),";",2)
; Check Facility
S GMTSFAC=+($P($$SITE^VASITE,"^",3)) I +GMTSFAC=0 W !," Error:",!," Facility not defined" Q
; Check Object
W !!," Checking Health Summary Object file #142.5"
I $L(GMTSOBJ) D Q:GMTSQIT
. N GMTSTMP S GMTSTMP=$$BOX^GMTSOBU(GMTSOBJ) I +($G(GMTSTMP))>0 W ! D ER1^GMTSOBU S GMTSQIT=1
; Check Type
W !," Check Health Summary Type file #142"
I $L(GMTSTYP) D Q:GMTSQIT
. S GMTSQIT=1 N GMTSTMP S GMTSTMP=$$NWX^GMTSOBU(GMTSTYP)
. S:+($G(GMTSTMP))'>0 GMTSQIT=0 I +($G(GMTSTMP))>0 D
. . S GMTSEDAT=$$EHST^GMTSOBU I GMTSEDAT>0 D Q
. . . S GMTSDAT=GMTSEDAT,GMTSQIT=0 I $L($G(GMTSETYP)),$L($G(GMTSETTL)) D
. . . . S GMTSTYP=GMTSETYP,GMTSTTL=GMTSETTL
; Check Title
W !," Checking for Duplicate Title"
I $L(GMTSTTL) D Q:GMTSQIT
. N GMTSTMP S GMTSTMP=$$TWX^GMTSOBU(GMTSTTL) I +GMTSTMP>0 W ! D ER3^GMTSOBU S GMTSQIT=1
S GMTSDAT=$$TIEN^GMTSOBU S:+($G(GMTSEDAT))>0 GMTSDAT=+($G(GMTSEDAT))
S:GMTSDAT'>0 GMTSQIT=1
I GMTSQIT W !," Unable to add Health Summary Type" Q
S GMTSDAO=$$OIEN^GMTSOBU(GMTSFAC) S:GMTSDAO'>0 GMTSQIT=1
I GMTSQIT W !," Unable to add Health Summary Object" Q
L +^GMT(142,+GMTSDAT):0 S:'$T GMTSQIT=1
L +^GMT(142.5,+GMTSDAO):0 S:'$T GMTSQIT=1
I +($G(GMTSQIT))>0 L -^GMT(142,+GMTSDAT) L -^GMT(142,+GMTSDAO) D Q
. W !," Unable to add Health Summary Type and Object"
I GMTSDAT>0,GMTSDAO>0,GMTSQIT'>0 D HST,HSO
D DELERR L -^GMT(142,+GMTSDAT) L -^GMT(142,+GMTSDAO)
D DONE W !
Q
HST ; Install Health Summary Type
; Needs GMTSRTN, GMTSDAT, GMTSUSR, GMTSTYP, GMTSTTL
Q:+($G(GMTSTE))>0 N GMTSROK,GMTSI,GMTSTXT,GMTSTR,GMTSNDD,GMTSR,GMTSC,GMTSRT,GMTS3,GMTS4,DA,DIK
Q:+($G(GMTSQIT))>0 S GMTSQIT=0,GMTSROK=$$ROK^GMTSOBU(GMTSRTN) Q:GMTSROK'>0
; Save Type
I '$L(GMTSTYP)!('$L(GMTSTTL)) S GMTSQIT=1 Q
F GMTSI=3:1 Q:GMTSQIT D Q:GMTSQIT
. S GMTSTXT=$$TX^GMTSOBU(GMTSRTN,"TYPE",GMTSI),GMTSTXT=$P(GMTSTXT," ;",2,299)
. I '$L(GMTSTXT) S GMTSQIT=1 Q
. S GMTSTR=$P(GMTSTXT,";",1),GMTSNDD=$P(GMTSTXT,";",2)
. S GMTSR=$P(GMTSTR,",",2),GMTSC=$P(GMTSNDD,"^",2)
. Q:GMTSR>0&(GMTSC>0)&('$D(^GMT(142.1,+GMTSC))) Q:(GMTSR>0)&(GMTSC>0)&(GMTSC>999)
. S:GMTSTR="0" $P(GMTSNDD,"^",3)=GMTSUSR
. S:GMTSTR="0"&($L(GMTSTYP)) $P(GMTSNDD,"^",1)=GMTSTYP
. S:GMTSTR="""T"""&($L(GMTSTTL)) $P(GMTSNDD,"^",1)=GMTSTTL
. S GMTSNDD=$TR(GMTSNDD,"""","") S:'$L(GMTSNDD) GMTSNDD=""""""
. S GMTSRT="^GMT(142,DA,"_GMTSTR_")"
. S DA=GMTSDAT S @GMTSRT=GMTSNDD
; Check Indexes
S GMTSQIT=0 F GMTSI="B","C" S GMTSR=0 F S GMTSR=$O(^GMT(142,GMTSDAT,1,GMTSI,GMTSR)) Q:+GMTSR=0 D
. S GMTSC=0 F S GMTSC=$O(^GMT(142,GMTSDAT,1,GMTSI,GMTSR,GMTSC)) Q:+GMTSC=0 D
. . I '$D(^GMT(142,GMTSDAT,1,GMTSC)) K ^GMT(142,GMTSDAT,1,GMTSI,GMTSR,GMTSC)
; Re-Index
S DA=GMTSDAT,DIK="^GMT(142," D IX1^DIK
; Check Structure (sub-file 142.01)
S (GMTSI,GMTS3,GMTS4)=0 F S GMTSI=$O(^GMT(142,GMTSDAT,1,GMTSI)) Q:+GMTSI=0 D
. S GMTS3=GMTSI,GMTS4=GMTS4+1
S:GMTS3>0&(GMTS4>0)&($D(^GMT(142,GMTSDAT,1,0))) ^GMT(142,+GMTSDAT,1,0)="^142.01IA^"_GMTS3_"^"_GMTS4
Q
HSO ; Install Health Summary Object
; Needs GMTSRTN, GMTSDAO,GMTSUSR
Q:+($G(GMTSQIT))>0 N GMTSQIT,GMTSROK,GMTSTXT,GMTSOBJ,GMTSNDD,GMTSTR,GMTSRT,DA,DIK
S GMTSQIT=0,GMTSROK=$$ROK^GMTSOBU(GMTSRTN) Q:GMTSROK'>0
S GMTSTXT=$$TX^GMTSOBU(GMTSRTN,"OBJ",1),GMTSOBJ=$P(GMTSTXT,";",2,299)
S GMTSTXT=$$TX^GMTSOBU(GMTSRTN,"OBJ",2),$P(GMTSTXT,"^",17)=GMTSUSR,GMTSNDD=GMTSTXT
S GMTSTR=$P(GMTSNDD,";",2),GMTSNDD=$P(GMTSNDD,";",3,299)
S GMTSRT="^GMT(142.5,DA,"_GMTSTR_")",DA=GMTSDAO,DIK="^GMT(142.5,"
S $P(GMTSNDD,"^",3)=+($G(GMTSDAT)),$P(GMTSNDD,"^",17)=+($G(GMTSUSR))
S $P(GMTSNDD,"^",18)=$$NOW^XLFDT H 1 S $P(GMTSNDD,"^",19)=$$NOW^XLFDT
S $P(GMTSNDD,"^",20)=0,@GMTSRT=GMTSNDD D IX1^DIK
Q
DELERR ; Delete on Error
I +($G(GMTSDAT))>0,+($G(GMTSDAO))'>0 D
. D DI(+($G(GMTSDAT)),"^GMT(142,")
. W !," An error has occurred while installing Health Summary Object"
. W !," Deleting the associated Health Summary Type"
I +($G(GMTSDAT))'>0,+($G(GMTSDAO))>0 D
. D DI(+($G(GMTSDAO)),"^GMT(142.5,")
. W !," An error has occurred while installing Health Summary Type"
. W !," Deleting the associated Health Summary Object"
I +($G(GMTSDAT))>0&('$D(^GMT(142,+GMTSDAT))) D
. D DI(+($G(GMTSDAT)),"^GMT(142,"),DEL(+($G(GMTSDAO)),"^GMT(142.5,")
. W !," An error has occurred while installing Health Summary Type"
. W !," Deleting the associated Health Summary Object"
I +($G(GMTSDAO))>0&('$D(^GMT(142.5,+GMTSDAO))) D
. D DI(+($G(GMTSDAT)),"^GMT(142,"),DEL(+($G(GMTSDAO)),"^GMT(142.5,")
. W !," An error has occurred while installing Health Summary Object"
. W !," Deleting the associated Health Summary Type"
Q
DI(X,Y) ; Delete Item
N DA,DIK S DA=+($G(X)),DIK=$G(Y) D:$L(DIK) ^DIK
Q
DONE ; Completed
I +($G(GMTSDAT))>0,+($G(GMTSDAO))>0 D
. I $D(^GMT(142,+GMTSDAT,0)),$D(^GMT(142.5,+GMTSDAO,0)) D
. . H 1 I $L(GMTSTN),$L(GMTSON) D Q
. . . W !!," Object '",GMTSON,"' installed using Health Summary Type '",GMTSTN,"'"
. . W !," Object Installed"
Q
DEL(X) ; Delete Routine X
S X=$G(X) Q:'$L(X) Q:$L(X)>8 Q:$$ROK^GMTSOBU(X)=0 X ^%ZOSF("DEL") Q
GMTSOBI ; SLC/KER - HS Object - Import/Install ; 01/06/2003
+1 ;;2.7;Health Summary;**58**;Oct 20, 1995
+2 ;
+3 ; External References
+4 ; DBIA 10096 ^%ZOSF("DEL"
+5 ; DBIA 10013 IX1^DIK
+6 ; DBIA 10112 $$SITE^VASITE
+7 ; DBIA 2055 $$FLDNUM^DILFD (file 142.5)
+8 ; DBIA 10103 $$NOW^XLFDT
+9 ; DBIA 10013 ^DIK
+10 ;
EN ; Install Object from Routine GMTSOBX
+1 NEW DA,DIK,GMTS3,GMTS4,GMTSC,GMTSEDAT,GMTSETYP,GMTSETTL,GMTSDAO
+2 NEW GMTSDAT,GMTSDR,GMTSEX,GMTSFAC,GMTSFRM,GMTSI,GMTSIEN,GMTSIT
+3 NEW GMTSL,GMTSLN,GMTSNDD,GMTSOBJ,GMTSOBX,GMTSON,GMTSQIT,GMTSR
+4 NEW GMTSROK,GMTSRT,GMTSRTN,GMTST,GMTSTE,GMTSTN,GMTSTMP,GMTSTR
+5 NEW GMTSTTL,GMTSTXT,GMTSTYP,GMTSUSR,X
+6 IF +($$FLDNUM^DILFD(142.5,"NAME"))'>0!('$DATA(^GMT(142.5)))
Begin DoDot:1
+7 WRITE !," Unable to find HEALTH SUMMARY OBJECTS file #142.5"
End DoDot:1
QUIT
+8 SET GMTSEDAT=0
SET GMTSRTN="GMTSOBX"
SET GMTSQIT=0
SET GMTSUSR=+($GET(DUZ))
IF +GMTSUSR=0
WRITE !!," User not defined"
QUIT
+9 IF +($$ROK^GMTSOBU(GMTSRTN))'>0
WRITE !," Error:",!," Object not Found (routine GMTSOBX)"
QUIT
+10 FOR GMTSI=1:1:7
Begin DoDot:1
+11 SET GMTST=$$TX^GMTSOBU(GMTSRTN,GMTSRTN,(GMTSI-1))
IF GMTST["Object
SET GMTSOBJ=$PIECE(GMTST,"Object: ",2)
+12 IF GMTST["From
SET GMTSFRM=$PIECE(GMTST,"From: ",2)
IF GMTST["Sender
SET GMTSDR=$PIECE(GMTST,"Sender: ",2)
End DoDot:1
+13 SET (GMTSON,GMTSOBJ)=$PIECE($$TX^GMTSOBU(GMTSRTN,"OBJ",1),";",2)
+14 SET (GMTSTN,GMTSTYP)=$PIECE($$TX^GMTSOBU(GMTSRTN,"TYPE",1),";",2)
+15 IF GMTSOBJ=""!(GMTSFRM="")!(GMTSDR="")
WRITE !," Error:",!," Can not install object from ",GMTSRTN
QUIT
+16 WRITE !," Installing Health Summary Object: ",GMTSOBJ
+17 IF $LENGTH(GMTSTYP)
Begin DoDot:1
+18 WRITE !," Using Health Summary Type: ",GMTSTYP
End DoDot:1
+19 WRITE !," From: ",GMTSFRM
+20 WRITE !," Sender: ",GMTSDR
+21 SET GMTSTTL=$PIECE($$TX^GMTSOBU(GMTSRTN,"TYPE",2),";",2)
+22 ; Check Facility
+23 SET GMTSFAC=+($PIECE($$SITE^VASITE,"^",3))
IF +GMTSFAC=0
WRITE !," Error:",!," Facility not defined"
QUIT
+24 ; Check Object
+25 WRITE !!," Checking Health Summary Object file #142.5"
+26 IF $LENGTH(GMTSOBJ)
Begin DoDot:1
+27 NEW GMTSTMP
SET GMTSTMP=$$BOX^GMTSOBU(GMTSOBJ)
IF +($GET(GMTSTMP))>0
WRITE !
DO ER1^GMTSOBU
SET GMTSQIT=1
End DoDot:1
IF GMTSQIT
QUIT
+28 ; Check Type
+29 WRITE !," Check Health Summary Type file #142"
+30 IF $LENGTH(GMTSTYP)
Begin DoDot:1
+31 SET GMTSQIT=1
NEW GMTSTMP
SET GMTSTMP=$$NWX^GMTSOBU(GMTSTYP)
+32 IF +($GET(GMTSTMP))'>0
SET GMTSQIT=0
IF +($GET(GMTSTMP))>0
Begin DoDot:2
+33 SET GMTSEDAT=$$EHST^GMTSOBU
IF GMTSEDAT>0
Begin DoDot:3
+34 SET GMTSDAT=GMTSEDAT
SET GMTSQIT=0
IF $LENGTH($GET(GMTSETYP))
IF $LENGTH($GET(GMTSETTL))
Begin DoDot:4
+35 SET GMTSTYP=GMTSETYP
SET GMTSTTL=GMTSETTL
End DoDot:4
End DoDot:3
QUIT
End DoDot:2
End DoDot:1
IF GMTSQIT
QUIT
+36 ; Check Title
+37 WRITE !," Checking for Duplicate Title"
+38 IF $LENGTH(GMTSTTL)
Begin DoDot:1
+39 NEW GMTSTMP
SET GMTSTMP=$$TWX^GMTSOBU(GMTSTTL)
IF +GMTSTMP>0
WRITE !
DO ER3^GMTSOBU
SET GMTSQIT=1
End DoDot:1
IF GMTSQIT
QUIT
+40 SET GMTSDAT=$$TIEN^GMTSOBU
IF +($GET(GMTSEDAT))>0
SET GMTSDAT=+($GET(GMTSEDAT))
+41 IF GMTSDAT'>0
SET GMTSQIT=1
+42 IF GMTSQIT
WRITE !," Unable to add Health Summary Type"
QUIT
+43 SET GMTSDAO=$$OIEN^GMTSOBU(GMTSFAC)
IF GMTSDAO'>0
SET GMTSQIT=1
+44 IF GMTSQIT
WRITE !," Unable to add Health Summary Object"
QUIT
+45 LOCK +^GMT(142,+GMTSDAT):0
IF '$TEST
SET GMTSQIT=1
+46 LOCK +^GMT(142.5,+GMTSDAO):0
IF '$TEST
SET GMTSQIT=1
+47 IF +($GET(GMTSQIT))>0
LOCK -^GMT(142,+GMTSDAT)
LOCK -^GMT(142,+GMTSDAO)
Begin DoDot:1
+48 WRITE !," Unable to add Health Summary Type and Object"
End DoDot:1
QUIT
+49 IF GMTSDAT>0
IF GMTSDAO>0
IF GMTSQIT'>0
DO HST
DO HSO
+50 DO DELERR
LOCK -^GMT(142,+GMTSDAT)
LOCK -^GMT(142,+GMTSDAO)
+51 DO DONE
WRITE !
+52 QUIT
HST ; Install Health Summary Type
+1 ; Needs GMTSRTN, GMTSDAT, GMTSUSR, GMTSTYP, GMTSTTL
+2 IF +($GET(GMTSTE))>0
QUIT
NEW GMTSROK,GMTSI,GMTSTXT,GMTSTR,GMTSNDD,GMTSR,GMTSC,GMTSRT,GMTS3,GMTS4,DA,DIK
+3 IF +($GET(GMTSQIT))>0
QUIT
SET GMTSQIT=0
SET GMTSROK=$$ROK^GMTSOBU(GMTSRTN)
IF GMTSROK'>0
QUIT
+4 ; Save Type
+5 IF '$LENGTH(GMTSTYP)!('$LENGTH(GMTSTTL))
SET GMTSQIT=1
QUIT
+6 FOR GMTSI=3:1
IF GMTSQIT
QUIT
Begin DoDot:1
+7 SET GMTSTXT=$$TX^GMTSOBU(GMTSRTN,"TYPE",GMTSI)
SET GMTSTXT=$PIECE(GMTSTXT," ;",2,299)
+8 IF '$LENGTH(GMTSTXT)
SET GMTSQIT=1
QUIT
+9 SET GMTSTR=$PIECE(GMTSTXT,";",1)
SET GMTSNDD=$PIECE(GMTSTXT,";",2)
+10 SET GMTSR=$PIECE(GMTSTR,",",2)
SET GMTSC=$PIECE(GMTSNDD,"^",2)
+11 IF GMTSR>0&(GMTSC>0)&('$DATA(^GMT(142.1,+GMTSC)))
QUIT
IF (GMTSR>0)&(GMTSC>0)&(GMTSC>999)
QUIT
+12 IF GMTSTR="0"
SET $PIECE(GMTSNDD,"^",3)=GMTSUSR
+13 IF GMTSTR="0"&($LENGTH(GMTSTYP))
SET $PIECE(GMTSNDD,"^",1)=GMTSTYP
+14 IF GMTSTR="""T"""&($LENGTH(GMTSTTL))
SET $PIECE(GMTSNDD,"^",1)=GMTSTTL
+15 SET GMTSNDD=$TRANSLATE(GMTSNDD,"""","")
IF '$LENGTH(GMTSNDD)
SET GMTSNDD=""""""
+16 SET GMTSRT="^GMT(142,DA,"_GMTSTR_")"
+17 SET DA=GMTSDAT
SET @GMTSRT=GMTSNDD
End DoDot:1
IF GMTSQIT
QUIT
+18 ; Check Indexes
+19 SET GMTSQIT=0
FOR GMTSI="B","C"
SET GMTSR=0
FOR
SET GMTSR=$ORDER(^GMT(142,GMTSDAT,1,GMTSI,GMTSR))
IF +GMTSR=0
QUIT
Begin DoDot:1
+20 SET GMTSC=0
FOR
SET GMTSC=$ORDER(^GMT(142,GMTSDAT,1,GMTSI,GMTSR,GMTSC))
IF +GMTSC=0
QUIT
Begin DoDot:2
+21 IF '$DATA(^GMT(142,GMTSDAT,1,GMTSC))
KILL ^GMT(142,GMTSDAT,1,GMTSI,GMTSR,GMTSC)
End DoDot:2
End DoDot:1
+22 ; Re-Index
+23 SET DA=GMTSDAT
SET DIK="^GMT(142,"
DO IX1^DIK
+24 ; Check Structure (sub-file 142.01)
+25 SET (GMTSI,GMTS3,GMTS4)=0
FOR
SET GMTSI=$ORDER(^GMT(142,GMTSDAT,1,GMTSI))
IF +GMTSI=0
QUIT
Begin DoDot:1
+26 SET GMTS3=GMTSI
SET GMTS4=GMTS4+1
End DoDot:1
+27 IF GMTS3>0&(GMTS4>0)&($DATA(^GMT(142,GMTSDAT,1,0)))
SET ^GMT(142,+GMTSDAT,1,0)="^142.01IA^"_GMTS3_"^"_GMTS4
+28 QUIT
HSO ; Install Health Summary Object
+1 ; Needs GMTSRTN, GMTSDAO,GMTSUSR
+2 IF +($GET(GMTSQIT))>0
QUIT
NEW GMTSQIT,GMTSROK,GMTSTXT,GMTSOBJ,GMTSNDD,GMTSTR,GMTSRT,DA,DIK
+3 SET GMTSQIT=0
SET GMTSROK=$$ROK^GMTSOBU(GMTSRTN)
IF GMTSROK'>0
QUIT
+4 SET GMTSTXT=$$TX^GMTSOBU(GMTSRTN,"OBJ",1)
SET GMTSOBJ=$PIECE(GMTSTXT,";",2,299)
+5 SET GMTSTXT=$$TX^GMTSOBU(GMTSRTN,"OBJ",2)
SET $PIECE(GMTSTXT,"^",17)=GMTSUSR
SET GMTSNDD=GMTSTXT
+6 SET GMTSTR=$PIECE(GMTSNDD,";",2)
SET GMTSNDD=$PIECE(GMTSNDD,";",3,299)
+7 SET GMTSRT="^GMT(142.5,DA,"_GMTSTR_")"
SET DA=GMTSDAO
SET DIK="^GMT(142.5,"
+8 SET $PIECE(GMTSNDD,"^",3)=+($GET(GMTSDAT))
SET $PIECE(GMTSNDD,"^",17)=+($GET(GMTSUSR))
+9 SET $PIECE(GMTSNDD,"^",18)=$$NOW^XLFDT
HANG 1
SET $PIECE(GMTSNDD,"^",19)=$$NOW^XLFDT
+10 SET $PIECE(GMTSNDD,"^",20)=0
SET @GMTSRT=GMTSNDD
DO IX1^DIK
+11 QUIT
DELERR ; Delete on Error
+1 IF +($GET(GMTSDAT))>0
IF +($GET(GMTSDAO))'>0
Begin DoDot:1
+2 DO DI(+($GET(GMTSDAT)),"^GMT(142,")
+3 WRITE !," An error has occurred while installing Health Summary Object"
+4 WRITE !," Deleting the associated Health Summary Type"
End DoDot:1
+5 IF +($GET(GMTSDAT))'>0
IF +($GET(GMTSDAO))>0
Begin DoDot:1
+6 DO DI(+($GET(GMTSDAO)),"^GMT(142.5,")
+7 WRITE !," An error has occurred while installing Health Summary Type"
+8 WRITE !," Deleting the associated Health Summary Object"
End DoDot:1
+9 IF +($GET(GMTSDAT))>0&('$DATA(^GMT(142,+GMTSDAT)))
Begin DoDot:1
+10 DO DI(+($GET(GMTSDAT)),"^GMT(142,")
DO DEL(+($GET(GMTSDAO)),"^GMT(142.5,")
+11 WRITE !," An error has occurred while installing Health Summary Type"
+12 WRITE !," Deleting the associated Health Summary Object"
End DoDot:1
+13 IF +($GET(GMTSDAO))>0&('$DATA(^GMT(142.5,+GMTSDAO)))
Begin DoDot:1
+14 DO DI(+($GET(GMTSDAT)),"^GMT(142,")
DO DEL(+($GET(GMTSDAO)),"^GMT(142.5,")
+15 WRITE !," An error has occurred while installing Health Summary Object"
+16 WRITE !," Deleting the associated Health Summary Type"
End DoDot:1
+17 QUIT
DI(X,Y) ; Delete Item
+1 NEW DA,DIK
SET DA=+($GET(X))
SET DIK=$GET(Y)
IF $LENGTH(DIK)
DO ^DIK
+2 QUIT
DONE ; Completed
+1 IF +($GET(GMTSDAT))>0
IF +($GET(GMTSDAO))>0
Begin DoDot:1
+2 IF $DATA(^GMT(142,+GMTSDAT,0))
IF $DATA(^GMT(142.5,+GMTSDAO,0))
Begin DoDot:2
+3 HANG 1
IF $LENGTH(GMTSTN)
IF $LENGTH(GMTSON)
Begin DoDot:3
+4 WRITE !!," Object '",GMTSON,"' installed using Health Summary Type '",GMTSTN,"'"
End DoDot:3
QUIT
+5 WRITE !," Object Installed"
End DoDot:2
End DoDot:1
+6 QUIT
DEL(X) ; Delete Routine X
+1 SET X=$GET(X)
IF '$LENGTH(X)
QUIT
IF $LENGTH(X)>8
QUIT
IF $$ROK^GMTSOBU(X)=0
QUIT
XECUTE ^%ZOSF("DEL")
QUIT