Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: HLP142

HLP142.m

Go to the documentation of this file.
  1. HLP142 ;OIFO-O/RJH - HL*1.6*142 POST-INSTALL ROUTINE ;03/16/2009 16:39
  1. ;;1.6;HEALTH LEVEL SEVEN;**142**;OCT 13, 1995;Build 17
  1. ;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;
  1. ; check "ORLANDO VAMC" entry in Institution file (#4),
  1. ; and "ORLANDO.DOMAIN.EXT" entry in Domain file (#4.2)
  1. ;
  1. N HLPARAM,HLSITE
  1. ;
  1. S HLPARAM=$$PARAM^HLCS2
  1. S HLSITE("DEFAULT-PROCESSING-ID")=$P(HLPARAM,"^",3)
  1. ;
  1. I HLSITE("DEFAULT-PROCESSING-ID")="P" D
  1. . D MES^XPDUTL("Checking environment ...")
  1. . I '$O(^DIC(4,"D",675,0)) D
  1. .. S XPDQUIT=2
  1. .. D BMES^XPDUTL("'ORLANDO VAMC' entry with station number as 675 does not exist in Institution")
  1. .. D MES^XPDUTL("file.")
  1. . I '$O(^DIC(4.2,"B","ORLANDO.DOMAIN.EXT",0)) D
  1. .. S XPDQUIT=2
  1. .. D BMES^XPDUTL("'ORLANDO.DOMAIN.EXT' entry does not exist in Domain file, patch XM*999*172")
  1. .. D MES^XPDUTL("must be installed first.")
  1. . I $G(XPDQUIT) D BMES^XPDUTL("Aborting installation...")
  1. Q
  1. ;
  1. POST ; post install
  1. ;
  1. D POST1
  1. D POST2
  1. ; D ENDPST
  1. Q
  1. ;
  1. POST2 ;
  1. ; deal with VAORL entry in file #870.
  1. ; Is VAORL entry in the HL LOGICAL LINK (#870) file?
  1. ; If yes, continue, If no, quit.
  1. ;
  1. ;find ien of VAORL
  1. N HLLINK
  1. S HLLINK=$$VAORL()
  1. Q:'HLLINK
  1. ;
  1. ; check and update fields of VAORL
  1. D UPDATE2
  1. Q
  1. ;
  1. VAORL() ;
  1. ; for VA-VIE entry
  1. ;
  1. N HLLLK
  1. S HLLLK=+$$FIND1^DIC(870,"","X","VAORL")
  1. ;
  1. ; if no VAORL entry, abort install
  1. I HLLLK=0 D
  1. . D BMES^XPDUTL(" 'VAORL' logical link failed to come in with this patch.")
  1. . D MES^XPDUTL(" Log a Remedy ticket for assistance before proceeding.")
  1. . S XPDABORT=1
  1. ;
  1. Q HLLLK
  1. ;
  1. UPDATE2 ;
  1. ;update the following fields for logical link, VAORL:
  1. ; - DNS Domain (#.08)
  1. ; - Autostart (#4.5)
  1. ; - Institution (#.02)
  1. ;
  1. N HLDOM
  1. N HLPARAM,HLSITE
  1. N HLJ
  1. N DIE,DR,X
  1. ;
  1. S HLDOM="HL7.ORLANDO.DOMAIN.EXT"
  1. S HLPARAM=$$PARAM^HLCS2
  1. S HLSITE("DEFAULT-PROCESSING-ID")=$P(HLPARAM,"^",3)
  1. S HLSITE("INSTITUTION IEN")=$P(HLPARAM,"^",4)
  1. S HLSITE("STATION NUMBER")=$P(^DIC(4,HLSITE("INSTITUTION IEN"),99),"^")
  1. ;
  1. D BMES^XPDUTL(" Updating 'VAORL' logical link ...")
  1. F L +^HLCS(870,HLLINK):3 Q:$T H 1
  1. ; update AUTOSTART and DNS domain field if this is production
  1. ; account, MAILMAN DOMAIN fields should be updated by KIDS.
  1. ;
  1. I HLSITE("DEFAULT-PROCESSING-ID")="P",(HLSITE("STATION NUMBER")'=675) D
  1. . ; find ien of institution file (#4) with station number as 675
  1. . N ORLIEN,OTHER
  1. . S ORLIEN=$O(^DIC(4,"D",675,0))
  1. . ; if the ien with station number as 675 is pointed to by
  1. . ; other link, remove it.
  1. . I ORLIEN S OTHER=$O(^HLCS(870,"C",ORLIEN,0))
  1. . I ORLIEN,OTHER,(ORLIEN'=OTHER) D
  1. .. K ^HLCS(870,"C",ORLIEN)
  1. .. S $P(^HLCS(870,OTHER,0),"^",2)=""
  1. . S DIE="^HLCS(870,",DA=HLLINK,DR="4.5///1;.02///^S X=ORLIEN"
  1. . ;
  1. . I ($L($P(^HLCS(870,HLLINK,0),"^",8),".")'>2) D
  1. .. ; the API FILE^DIE does not implement input transform
  1. .. ; for updating TCP/IP ADDRESS field
  1. .. S DR=DR_";.08///^S X=HLDOM"
  1. . D ^DIE K DIE,DA,DR
  1. ;
  1. ; ORLANDO VAMC site should have VAORL entry as multi-listener.
  1. I (HLSITE("STATION NUMBER")=675) D
  1. . N IP
  1. . ; remove data from AUTOSTART field
  1. . S $P(^HLCS(870,HLLINK,0),"^",6)=""
  1. . ; remove data from PERSISTENT field
  1. . S $P(^HLCS(870,HLLINK,400),"^",4)=""
  1. . ; remove data from EXCEED RE-TRANSMIT ACTION field
  1. . S $P(^HLCS(870,HLLINK,200),"^",10)=""
  1. . ; remove data from DNS DOMAIN field
  1. . S $P(^HLCS(870,HLLINK,0),"^",8)=""
  1. . K ^HLCS(870,"DNS","HL7.ORLANDO.DOMAIN.EXT")
  1. . K ^HLCS(870,"DNS2","HL7.ORLANDO.DOMAIN.EXT")
  1. . ; remove data from TCP/IP ADDRESS field
  1. . S IP=$P(^HLCS(870,HLLINK,400),"^")
  1. . I IP D
  1. .. S $P(^HLCS(870,HLLINK,400),"^")=""
  1. .. K ^HLCS(870,"IP",IP)
  1. . ; check TCP/IP SERVICE TYPE
  1. . I $P(^HLCS(870,HLLINK,400),"^",3)'="M" D
  1. .. S $P(^HLCS(870,HLLINK,400),"^",3)="M"
  1. .. K ^HLCS(870,"E","C",HLLINK)
  1. .. S ^HLCS(870,"E","M",HLLINK)=""
  1. . ;
  1. . ; find ien of institution file (#4) with station number as 675
  1. . N ORLIEN,OTHER
  1. . S ORLIEN=$O(^DIC(4,"D",675,0))
  1. . ; if the ien with station number as 675 is pointed to by
  1. . ; other link, remove it.
  1. . I ORLIEN S OTHER=$O(^HLCS(870,"C",ORLIEN,0))
  1. . I ORLIEN,OTHER,(OTHER'=HLLINK) D
  1. .. K ^HLCS(870,"C",ORLIEN)
  1. .. S $P(^HLCS(870,OTHER,0),"^",2)=""
  1. . ;
  1. . ; update institution field
  1. . I HLSITE("INSTITUTION IEN"),HLSITE("DEFAULT-PROCESSING-ID")="P" D
  1. .. I '$D(^HLCS(870,"C",HLSITE("INSTITUTION IEN"),HLLINK)) D
  1. ... S ^HLCS(870,"C",HLSITE("INSTITUTION IEN"),HLLINK)=""
  1. ... S $P(^HLCS(870,HLLINK,0),"^",2)=HLSITE("INSTITUTION IEN")
  1. . ;
  1. . ; check TEST account of ORLANDO
  1. . I HLSITE("DEFAULT-PROCESSING-ID")'="P" D
  1. .. I $P(^HLCS(870,HLLINK,400),"^",2)=5000 D
  1. ... S $P(^HLCS(870,HLLINK,400),"^",2)=5025
  1. .. I $P(^HLCS(870,HLLINK,400),"^",8)=5001 D
  1. ... S $P(^HLCS(870,HLLINK,400),"^",8)=5026
  1. ;
  1. L -^HLCS(870,HLLINK)
  1. ;
  1. ENDPST2 ;
  1. ; no update of DNS domain field for non-production account
  1. ;
  1. I HLSITE("DEFAULT-PROCESSING-ID")'="P",(HLSITE("STATION NUMBER")'=675) D
  1. . D MES^XPDUTL("")
  1. . D MES^XPDUTL(" Because this is not a production account, the 'MAILMAN DOMAIN', 'DNS DOMAIN'")
  1. . D MES^XPDUTL(", 'TCP/IP ADDRESS' and 'AUTOSTART' fields won't be updated.")
  1. Q
  1. ;
  1. POST1 ;
  1. ; update data fields for local I.E. entry, VA-VIE.
  1. ;
  1. ; Is VA-VIE entry in the HL LOGICAL LINK (#870) file?
  1. ; If yes, continue, If no, quit.
  1. ;
  1. ;find ien of VA-VIE
  1. N HLLINK
  1. S HLLINK=$$VAVIE()
  1. Q:'HLLINK
  1. ;
  1. ; get domain of VIE server of this site
  1. N HLDOM
  1. S HLDOM=$$VIEDOMNM^HLMA3()
  1. ;
  1. ; update DNS Domain field of VA-VIE
  1. D UPDATE
  1. D OPTION
  1. Q
  1. ;
  1. OPTION ;
  1. ; Changes the "SYNONYM" from "FM" to "FL" for item, "HL FILER
  1. ; MONITOR" [HL FILER MONITOR],in option "Filer and Link Management
  1. ; Options" [HL MENU FILER LINK MGT]
  1. ;
  1. N DIC,X,DA,DR,DIE
  1. S DIC="^DIC(19,",DIC(0)="X",X="HL FILER MONITOR"
  1. D ^DIC
  1. S DA("SUB")=+Y
  1. S X="HL MENU FILER LINK MGT"
  1. D ^DIC
  1. S DA(1)=+Y
  1. S DA=$O(^DIC(19,DA(1),10,"B",DA("SUB"),0))
  1. S DIE="^DIC(19,"_DA(1)_",10,",DR="2///FL"
  1. D ^DIE
  1. Q
  1. VAVIE() ;
  1. ; for VA-VIE entry
  1. ;
  1. N HLLLK
  1. S HLLLK=+$$FIND1^DIC(870,"","X","VA-VIE")
  1. ;
  1. ; if no VA-VIE entry, abort install
  1. I HLLLK=0 D
  1. . D BMES^XPDUTL(" 'VA-VIE' logical link failed to come in with this patch.")
  1. . D MES^XPDUTL(" Log a Remedy ticket for assistance before proceeding.")
  1. . S XPDABORT=1
  1. ;
  1. Q HLLLK
  1. ;
  1. UPDATE ;
  1. ;update the following fields for logical link, VA-VIE:
  1. ; - DNS Domain (#.08)
  1. ; - Autostart (#4.5)
  1. ;
  1. N HLPARAM,HLSITE
  1. N HLJ
  1. N DIE,DR,X
  1. ;
  1. S HLPARAM=$$PARAM^HLCS2
  1. S HLSITE("DEFAULT-PROCESSING-ID")=$P(HLPARAM,"^",3)
  1. ;
  1. D BMES^XPDUTL(" Updating 'VA-VIE' logical link ...")
  1. F L +^HLCS(870,HLLINK):3 Q:$T H 1
  1. ; update DNS domain field if this is production account
  1. ; I HLSITE("DEFAULT-PROCESSING-ID")="P",$D(HLDOM) D
  1. I HLSITE("DEFAULT-PROCESSING-ID")="P" D
  1. . S DIE="^HLCS(870,",DA=HLLINK,DR="4.5///1"
  1. . I $D(HLDOM),($L($P(^HLCS(870,HLLINK,0),"^",8),".")'>2) D
  1. .. ; S HLJ(870,HLLINK_",",4.5)=1
  1. .. ; S HLJ(870,HLLINK_",",.08)=HLDOM
  1. .. ; the API FILE^DIE does not implement input transform
  1. .. ; for updating TCP/IP ADDRESS field
  1. .. ; D FILE^DIE("","HLJ")
  1. .. S DR=DR_";.08///^S X=HLDOM"
  1. . D ^DIE K DIE,DA,DR
  1. ;
  1. L -^HLCS(870,HLLINK)
  1. ;
  1. ; check the updated data of DNS domain field for production account
  1. I HLSITE("DEFAULT-PROCESSING-ID")="P" D
  1. . I $L($P(^HLCS(870,HLLINK,0),"^",8),".")'>2 D
  1. .. D MES^XPDUTL("")
  1. .. D MES^XPDUTL(" Failed to update the DNS Domain field for logical link VA-VIE.")
  1. .. D MES^XPDUTL(" In order to make the link 'VA-VIE' work, data need to be entered in fields")
  1. .. D MES^XPDUTL(" 'DNS DOMAIN'(field #.08) and/or 'TCP/IP ADDRESS'(field #400.01).")
  1. ; no update of DNS domain field for non-production account
  1. ENDPST1 ;
  1. I HLSITE("DEFAULT-PROCESSING-ID")'="P" D
  1. . D MES^XPDUTL("")
  1. . D MES^XPDUTL(" Because this is not a production account, the 'DNS DOMAIN', 'TCP/IP ADDRESS'")
  1. . D MES^XPDUTL(" and 'AUTOSTART' fields won't be updated.")
  1. Q
  1. ;
  1. ENDPST ; quit
  1. D BMES^XPDUTL(" Execution of post-install routine has been completed.")
  1. Q
  1. ;