BHSP9 ; IHS/MSC/MGH - PRE-INSTALL ROUTINE FOR BHS PATCH 9 ;22-Apr-2014 13:24;DU
;;1.0;HEALTH SUMMARY COMPONENTS;**9**;March 17, 2006;Build 16
;
ENV ;EP; environment check
N PATCH
S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
;
;Check for released version added
NEW IEN,PKG S PKG="HEALTH SUMMARY COMPONENTS 1.0",IEN=$O(^XPD(9.6,"B",PKG,0))
I 'IEN W !,"You must first install "_PKG_"." S XPDQUIT=2 Q
;
;
;Check for the installation of other patches
S PATCH="BHS*1.0*8"
I '$$PATCH(PATCH) D Q
. W !,"You must first install "_PATCH_"." S XPDQUIT=2
S PATCH="BJPC*2.0*11"
I '$$PATCH(PATCH) D Q
. W !,"You must first install "_PATCH_"." S XPDQUIT=2
S PATCH="TIU*1.0*1012"
I '$$PATCH(PATCH) D Q
. W !,"You must first install "_PATCH_"." S XPDQUIT=2
S PATCH="ATX*5.1*11"
I '$$PATCH(PATCH) D Q
. W !,"You must first install "_PATCH_"." S XPDQUIT=2
Q
N IN,INSTDA,STAT
S IN="IHS STANDARD TERMINOLOGY 1.0",INSTDA=""
I '$D(^XPD(9.7,"B",IN)) D Q
.W !,"You must first install the IHS Standard Terminology 1.0 before installing this patch"
S INSTDA=$O(^XPD(9.7,"B",IN,INSTDA),-1)
S STAT=+$P($G(^XPD(9.7,INSTDA,0)),U,9)
I STAT'=3 D Q
.W !,"IHS Standard Terminology 1.0 must be completely installed before installing this patch"
S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
;
PATCH(X) ;return 1 if patch X was installed, X=aaaa*nn.nn*nnnn
;copy of code from XPDUTL but modified to handle 4 digit IHS patch numb
Q:X'?1.4UN1"*"1.2N1"."1.2N.1(1"V",1"T").2N1"*"1.4N 0
NEW NUM,I,J
S I=$O(^DIC(9.4,"C",$P(X,"*"),0)) Q:'I 0
S J=$O(^DIC(9.4,I,22,"B",$P(X,"*",2),0)),X=$P(X,"*",3) Q:'J 0
;check if patch is just a number
Q:$O(^DIC(9.4,I,22,J,"PAH","B",X,0)) 1
S NUM=$O(^DIC(9.4,I,22,J,"PAH","B",X_" SEQ"))
Q (X=+NUM)
;
BHSP9 ; IHS/MSC/MGH - PRE-INSTALL ROUTINE FOR BHS PATCH 9 ;22-Apr-2014 13:24;DU
+1 ;;1.0;HEALTH SUMMARY COMPONENTS;**9**;March 17, 2006;Build 16
+2 ;
ENV ;EP; environment check
+1 NEW PATCH
+2 SET (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
+3 ;
+4 ;Check for released version added
+5 NEW IEN,PKG
SET PKG="HEALTH SUMMARY COMPONENTS 1.0"
SET IEN=$ORDER(^XPD(9.6,"B",PKG,0))
+6 IF 'IEN
WRITE !,"You must first install "_PKG_"."
SET XPDQUIT=2
QUIT
+7 ;
+8 ;
+9 ;Check for the installation of other patches
+10 SET PATCH="BHS*1.0*8"
+11 IF '$$PATCH(PATCH)
Begin DoDot:1
+12 WRITE !,"You must first install "_PATCH_"."
SET XPDQUIT=2
End DoDot:1
QUIT
+13 SET PATCH="BJPC*2.0*11"
+14 IF '$$PATCH(PATCH)
Begin DoDot:1
+15 WRITE !,"You must first install "_PATCH_"."
SET XPDQUIT=2
End DoDot:1
QUIT
+16 SET PATCH="TIU*1.0*1012"
+17 IF '$$PATCH(PATCH)
Begin DoDot:1
+18 WRITE !,"You must first install "_PATCH_"."
SET XPDQUIT=2
End DoDot:1
QUIT
+19 SET PATCH="ATX*5.1*11"
+20 IF '$$PATCH(PATCH)
Begin DoDot:1
+21 WRITE !,"You must first install "_PATCH_"."
SET XPDQUIT=2
End DoDot:1
QUIT
+22 QUIT
+23 NEW IN,INSTDA,STAT
+24 SET IN="IHS STANDARD TERMINOLOGY 1.0"
SET INSTDA=""
+25 IF '$DATA(^XPD(9.7,"B",IN))
Begin DoDot:1
+26 WRITE !,"You must first install the IHS Standard Terminology 1.0 before installing this patch"
End DoDot:1
QUIT
+27 SET INSTDA=$ORDER(^XPD(9.7,"B",IN,INSTDA),-1)
+28 SET STAT=+$PIECE($GET(^XPD(9.7,INSTDA,0)),U,9)
+29 IF STAT'=3
Begin DoDot:1
+30 WRITE !,"IHS Standard Terminology 1.0 must be completely installed before installing this patch"
End DoDot:1
QUIT
+31 SET (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
+32 ;
PATCH(X) ;return 1 if patch X was installed, X=aaaa*nn.nn*nnnn
+1 ;copy of code from XPDUTL but modified to handle 4 digit IHS patch numb
+2 IF X'?1.4UN1"*"1.2N1"."1.2N.1(1"V",1"T").2N1"*"1.4N
QUIT 0
+3 NEW NUM,I,J
+4 SET I=$ORDER(^DIC(9.4,"C",$PIECE(X,"*"),0))
IF 'I
QUIT 0
+5 SET J=$ORDER(^DIC(9.4,I,22,"B",$PIECE(X,"*",2),0))
SET X=$PIECE(X,"*",3)
IF 'J
QUIT 0
+6 ;check if patch is just a number
+7 IF $ORDER(^DIC(9.4,I,22,J,"PAH","B",X,0))
QUIT 1
+8 SET NUM=$ORDER(^DIC(9.4,I,22,J,"PAH","B",X_" SEQ"))
+9 QUIT (X=+NUM)
+10 ;