TIUP242 ; SLC/JER - Installer Routine for TIU*1*242 ;08/14/2008
;;1.0;TEXT INTEGRATION UTILITIES;**242**;Jun 20, 1997;Build 7
Q
;=======================================================
PRE ;Pre-install - If the Exchange File entry already exists delete it.
N ARRAY,IC,IND,LIST,LUVALUE,NUM
D EXARRAY(.ARRAY)
S IC=0
F S IC=$O(ARRAY(IC)) Q:'IC D
. S LUVALUE(1)=ARRAY(IC,1)
. D FIND^DIC(811.8,"","","U",.LUVALUE,"","","","","LIST")
. I '$D(LIST) Q
. S NUM=$P(LIST("DILIST",0),U,1)
. I NUM'=0 D
.. F IND=1:1:NUM D
... N DA,DIK
... S DIK="^PXD(811.8,"
... S DA=LIST("DILIST",2,IND)
... D ^DIK
Q
;
;====================================================
EXARRAY(ARRAY) ;List of exchange entries used by delete and install
N LN
S LN=0
;
S LN=LN+1
S ARRAY(LN,1)="TIU*1*242 20080814"
S ARRAY(LN,2)="08/14/2008@08:20:45"
S ARRAY(LN,3)="O"
;
Q
;
;==========================================
POST ;Post-install.
N ACTION,EXARRAY,IC,IEN,LUVALUE,PXRMINST,TEXT,TIUDC,TIUFPRIV
S (PXRMINST,TIUFPRIV)=1
D EXARRAY(.EXARRAY)
S IC=0
F S IC=$O(EXARRAY(IC)) Q:'IC D
. S LUVALUE(1)=EXARRAY(IC,1),LUVALUE(2)=EXARRAY(IC,2)
. S IEN=+$$FIND1^DIC(811.8,"","KU",.LUVALUE)
. I IEN=0 D BMES^XPDUTL("Reminder Exchange entry "_LUVALUE(1)_" not properly installed.") Q
. S TEXT="Installing Reminder Exchange entry "_LUVALUE(1)
. D BMES^XPDUTL(TEXT)
. S ACTION=EXARRAY(IC,3)
. D INSTALL^PXRMEXSI(IEN,ACTION,1)
;Map new SECURE MESSAGING Title to Enterprise Standard Title MHV DIALOG NOTE
D MAP($$DT("DOC"))
;Attach new SECURE MESSAGING Document Class to Class PROGRESS NOTES
D ATTACH($$DT("DC"))
Q
;
;==========================================
DT(TYPE) ; Find IEN of SECURE MESSAGING Document Class
N TIUY,POP,TIUNM S (POP,TIUY)=0,TIUNM=$S(TYPE="DOC":"SECURE MESSAGING",1:"SECURE MESSAGING DOCUMENTS")
F S TIUY=$O(^TIU(8925.1,"B",TIUNM,TIUY)) Q:+TIUY'>0 D Q:POP
. I $P($G(^TIU(8925.1,+TIUY,0)),U,4)=TYPE S POP=1
Q TIUY
;
;==========================================
MAP(TIUDA) ; Map new SECURE MESSAGING Title to Enterprise Standard Title MHV DIALOG NOTE
N ERR,IENS,FLAGS,FDA,TIUFPRIV
I +TIUDA'>0 D BMES^XPDUTL("SECURE MESSAGING TITLE NOT PROPERLY INSTALLED.") Q
S TIUFPRIV=1,IENS=TIUDA_","
S FDA(8925.1,IENS,1501)="MHV DIALOG NOTE"
S FDA(8925.1,IENS,1502)=$$FMTE^XLFDT($$NOW^XLFDT)
S FDA(8925.1,IENS,1503)="`"_DUZ
S FLAGS="ET"
D FILE^DIE(FLAGS,"FDA","ERR")
; if filing error occurs, write message to install log & quit
I $D(ERR) D Q
. D BMES^XPDUTL("Unable to map SECURE MESSAGING TITLE to MHV DIALOG NOTE - Please notify CAC.")
; otherwise activate title
K FDA
S FDA(8925.1,IENS,".07")="ACTIVE"
D FILE^DIE(FLAGS,"FDA","ERR")
; if filing error occurs, write message to install log
I $D(ERR) D
. D BMES^XPDUTL("Unable to activate SECURE MESSAGING TITLE - Please notify CAC.")
Q
;
;==========================================
ATTACH(TIUDA) ; Attach new SECURE MESSAGING Document Class to Class PROGRESS NOTES
N D,D0,DI,DIY,DQ,DA,DIC,DLAYGO,DIE,DR,I,TIUI,TIUFPRIV,X,Y,XQORM
I +TIUDA'>0 D BMES^XPDUTL("SECURE MESSAGING DOCUMENT CLASS NOT PROPERLY INSTALLED.") Q
S TIUFPRIV=1
S DIC="^TIU(8925.1,3,10,",DLAYGO=8925.14,DIC(0)="LNX"
S X="`"_TIUDA,DA(1)=3
D ^DIC Q:+Y'>0
S TIUI=$P(^TIU(8925.1,3,10,0),U,4)
S DA(1)=3,DA=+Y,DIE=DIC
S DR="4////Secure Messaging"
D ^DIE
; Serialize menu items
S (DA,TIUI)=0
F S DA=$O(^TIU(8925.1,3,10,DA)) Q:+DA'>0 D
. S TIUI=TIUI+1,DR="2////^S X=TIUI;3////^S X=TIUI" D ^DIE
; Re-compile menu
K ^XUTL("XQORM","3;TIU(8925.1,")
S XQORM="3;TIU(8925.1,",XQORM(0)="" D ^XQORM
Q
TIUP242 ; SLC/JER - Installer Routine for TIU*1*242 ;08/14/2008
+1 ;;1.0;TEXT INTEGRATION UTILITIES;**242**;Jun 20, 1997;Build 7
+2 QUIT
+3 ;=======================================================
PRE ;Pre-install - If the Exchange File entry already exists delete it.
+1 NEW ARRAY,IC,IND,LIST,LUVALUE,NUM
+2 DO EXARRAY(.ARRAY)
+3 SET IC=0
+4 FOR
SET IC=$ORDER(ARRAY(IC))
IF 'IC
QUIT
Begin DoDot:1
+5 SET LUVALUE(1)=ARRAY(IC,1)
+6 DO FIND^DIC(811.8,"","","U",.LUVALUE,"","","","","LIST")
+7 IF '$DATA(LIST)
QUIT
+8 SET NUM=$PIECE(LIST("DILIST",0),U,1)
+9 IF NUM'=0
Begin DoDot:2
+10 FOR IND=1:1:NUM
Begin DoDot:3
+11 NEW DA,DIK
+12 SET DIK="^PXD(811.8,"
+13 SET DA=LIST("DILIST",2,IND)
+14 DO ^DIK
End DoDot:3
End DoDot:2
End DoDot:1
+15 QUIT
+16 ;
+17 ;====================================================
EXARRAY(ARRAY) ;List of exchange entries used by delete and install
+1 NEW LN
+2 SET LN=0
+3 ;
+4 SET LN=LN+1
+5 SET ARRAY(LN,1)="TIU*1*242 20080814"
+6 SET ARRAY(LN,2)="08/14/2008@08:20:45"
+7 SET ARRAY(LN,3)="O"
+8 ;
+9 QUIT
+10 ;
+11 ;==========================================
POST ;Post-install.
+1 NEW ACTION,EXARRAY,IC,IEN,LUVALUE,PXRMINST,TEXT,TIUDC,TIUFPRIV
+2 SET (PXRMINST,TIUFPRIV)=1
+3 DO EXARRAY(.EXARRAY)
+4 SET IC=0
+5 FOR
SET IC=$ORDER(EXARRAY(IC))
IF 'IC
QUIT
Begin DoDot:1
+6 SET LUVALUE(1)=EXARRAY(IC,1)
SET LUVALUE(2)=EXARRAY(IC,2)
+7 SET IEN=+$$FIND1^DIC(811.8,"","KU",.LUVALUE)
+8 IF IEN=0
DO BMES^XPDUTL("Reminder Exchange entry "_LUVALUE(1)_" not properly installed.")
QUIT
+9 SET TEXT="Installing Reminder Exchange entry "_LUVALUE(1)
+10 DO BMES^XPDUTL(TEXT)
+11 SET ACTION=EXARRAY(IC,3)
+12 DO INSTALL^PXRMEXSI(IEN,ACTION,1)
End DoDot:1
+13 ;Map new SECURE MESSAGING Title to Enterprise Standard Title MHV DIALOG NOTE
+14 DO MAP($$DT("DOC"))
+15 ;Attach new SECURE MESSAGING Document Class to Class PROGRESS NOTES
+16 DO ATTACH($$DT("DC"))
+17 QUIT
+18 ;
+19 ;==========================================
DT(TYPE) ; Find IEN of SECURE MESSAGING Document Class
+1 NEW TIUY,POP,TIUNM
SET (POP,TIUY)=0
SET TIUNM=$SELECT(TYPE="DOC":"SECURE MESSAGING",1:"SECURE MESSAGING DOCUMENTS")
+2 FOR
SET TIUY=$ORDER(^TIU(8925.1,"B",TIUNM,TIUY))
IF +TIUY'>0
QUIT
Begin DoDot:1
+3 IF $PIECE($GET(^TIU(8925.1,+TIUY,0)),U,4)=TYPE
SET POP=1
End DoDot:1
IF POP
QUIT
+4 QUIT TIUY
+5 ;
+6 ;==========================================
MAP(TIUDA) ; Map new SECURE MESSAGING Title to Enterprise Standard Title MHV DIALOG NOTE
+1 NEW ERR,IENS,FLAGS,FDA,TIUFPRIV
+2 IF +TIUDA'>0
DO BMES^XPDUTL("SECURE MESSAGING TITLE NOT PROPERLY INSTALLED.")
QUIT
+3 SET TIUFPRIV=1
SET IENS=TIUDA_","
+4 SET FDA(8925.1,IENS,1501)="MHV DIALOG NOTE"
+5 SET FDA(8925.1,IENS,1502)=$$FMTE^XLFDT($$NOW^XLFDT)
+6 SET FDA(8925.1,IENS,1503)="`"_DUZ
+7 SET FLAGS="ET"
+8 DO FILE^DIE(FLAGS,"FDA","ERR")
+9 ; if filing error occurs, write message to install log & quit
+10 IF $DATA(ERR)
Begin DoDot:1
+11 DO BMES^XPDUTL("Unable to map SECURE MESSAGING TITLE to MHV DIALOG NOTE - Please notify CAC.")
End DoDot:1
QUIT
+12 ; otherwise activate title
+13 KILL FDA
+14 SET FDA(8925.1,IENS,".07")="ACTIVE"
+15 DO FILE^DIE(FLAGS,"FDA","ERR")
+16 ; if filing error occurs, write message to install log
+17 IF $DATA(ERR)
Begin DoDot:1
+18 DO BMES^XPDUTL("Unable to activate SECURE MESSAGING TITLE - Please notify CAC.")
End DoDot:1
+19 QUIT
+20 ;
+21 ;==========================================
ATTACH(TIUDA) ; Attach new SECURE MESSAGING Document Class to Class PROGRESS NOTES
+1 NEW D,D0,DI,DIY,DQ,DA,DIC,DLAYGO,DIE,DR,I,TIUI,TIUFPRIV,X,Y,XQORM
+2 IF +TIUDA'>0
DO BMES^XPDUTL("SECURE MESSAGING DOCUMENT CLASS NOT PROPERLY INSTALLED.")
QUIT
+3 SET TIUFPRIV=1
+4 SET DIC="^TIU(8925.1,3,10,"
SET DLAYGO=8925.14
SET DIC(0)="LNX"
+5 SET X="`"_TIUDA
SET DA(1)=3
+6 DO ^DIC
IF +Y'>0
QUIT
+7 SET TIUI=$PIECE(^TIU(8925.1,3,10,0),U,4)
+8 SET DA(1)=3
SET DA=+Y
SET DIE=DIC
+9 SET DR="4////Secure Messaging"
+10 DO ^DIE
+11 ; Serialize menu items
+12 SET (DA,TIUI)=0
+13 FOR
SET DA=$ORDER(^TIU(8925.1,3,10,DA))
IF +DA'>0
QUIT
Begin DoDot:1
+14 SET TIUI=TIUI+1
SET DR="2////^S X=TIUI;3////^S X=TIUI"
DO ^DIE
End DoDot:1
+15 ; Re-compile menu
+16 KILL ^XUTL("XQORM","3;TIU(8925.1,")
+17 SET XQORM="3;TIU(8925.1,"
SET XQORM(0)=""
DO ^XQORM
+18 QUIT