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

SDPAWS.m

Go to the documentation of this file.
  1. SDPAWS ;MS/SJA - UPDATE LLP, 'TMP_SEND' TO USE AWS SERVERS;July 05, 2018
  1. ;;5.3;Scheduling;**765**;May 29, 2018;Build 13
  1. ;
  1. ; Reference to ^HLCS(870, supported by IA#6409
  1. ;
  1. Q
  1. POST ; Entry point
  1. ;Output:
  1. ; ^XTMP("SDPAWS",0) = purge date ^ today's date ^ patch
  1. ; ^XTMP("SDPAWS",1) = Link name ^ DNS ^ Port Number ^ DNS DOMAIN ^ TCP/IP PORT (OPTIMIZED)
  1. ; ^XTMP global will be deleted after 30 days from installation
  1. ;
  1. N SDENV,X,Y
  1. D MES^XPDUTL(" Start Logical Link updates...")
  1. I $G(SDRLBK) G STBK
  1. ;
  1. ENV ; install environment
  1. ; Output: P = Production, T = Test (Pre-Prod), Q = SQA Test, D = Development
  1. S SDENV=$$PROD^XUPROD()
  1. N DIR,DIRUT,DTOUT,DUOUT,DIROUT
  1. S DIR("B")=$S($G(SDENV)=1:"P",$G(SDENV)=0:"Q",1:"T")
  1. S DIR(0)="S^P:Production;T:Pre-Prod(Test);Q:SQA Test;D:Development"
  1. S DIR("A")="Select Environment"
  1. S DIR("?")="Select the Environment associated with this install"
  1. D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) D BMES^XPDUTL("Aborted. No Updates made.") Q
  1. S SDENV=Y
  1. ;
  1. ; AWS HealthShare servers (DNS name, IP address, and port number)
  1. N DNS,SDDNS,SDIP,SDPORT,OPTI
  1. S DNS("P")="vac10cluhl7r201-hl7.domain.ext^127.0.0.1^7950"
  1. S DNS("T")="vac10cluhshhl7rtr401.domain.ext^127.0.0.1^6950"
  1. S DNS("Q")="vac10apphsh924.domain.ext^127.0.0.1^54619"
  1. S DNS("D")="vac10apphsh804.domain.ext^127.0.0.1^54619"
  1. S SDDNS=$P(DNS(SDENV),U),SDIP=$P(DNS(SDENV),U,2),SDPORT=$P(DNS(SDENV),U,3),OPTI=SDPORT
  1. ;
  1. STBK ;
  1. N FDA,SDA,SDACTV,SDDP,SDLNK,SDP0,SDDAPP,SDP4,SDER,SDLLN
  1. S SDLLN="TMP_SEND",(SDDP,SDLNK)=+$$FIND1^DIC(870,"","MX",SDLLN)
  1. I SDLNK=0 D BMES^XPDUTL("Link '"_SDLLN_"' does not exist. Update aborted.") Q
  1. L +^HLCS(870,SDLNK):10 I '$T D BMES^XPDUTL("Logical Link '"_SDLLN_"' was locked and unable to access. Update aborted.") Q
  1. S SDP0=$G(^HLCS(870,SDDP,0)),SDDAPP=$P(SDP0,"^"),SDP4=$G(^HLCS(870,SDDP,400))
  1. ;
  1. ; Save current LLP, Link Name ^ IP ^ Port# ^ DNS, to XTMP
  1. I '$G(SDRLBK) D
  1. . S ^XTMP("SDPAWS",0)=$$FMADD^XLFDT(DT,30)_U_DT_U_"SD*5.3*765"
  1. . S ^XTMP("SDPAWS",1)=$P(SDP0,U)_U_$P(SDP4,U)_U_$P(SDP4,U,2)_U_$P(SDP0,"^",8)_U_$P(SDP4,U,8)
  1. ;
  1. ; Shutdown LLP
  1. ; 4=status,10=Time Stopped,9=Time Started,11=Task Number, 14=Shutdown LLP
  1. ; DD14(P15)=0 means LLP was ON, OK to shutdown, piece 12=DD11 above
  1. ;
  1. S SDACTV=1
  1. I $P(SDP0,U,15) D BMES^XPDUTL("Logical Link '"_SDLLN_"' status was already shutdown.") S SDACTV=0
  1. N SDER
  1. I '$P(SDP0,U,15) D Q:$D(SDER)
  1. . S X="FDA(870,"""_SDDP_","")",@X@(4)="Halting",@X@(10)=$$NOW^XLFDT,(@X@(11),@X@(9))="@",@X@(14)=1
  1. . ; SDP4-P3="C"LIENT, P4="N"ON-PERSISTANT, No task number
  1. . I $P(SDP4,U,3)="C"&("N"[$P(SDP4,U,4)),'$P(SDP0,U,12) S @X@(4)="Shutdown"
  1. . D FILE^DIE("","FDA","SDER")
  1. . I $D(SDER) D Q
  1. .. D BMES^XPDUTL("Logical Link '"_SDLLN_"' was NOT able to Shutdown!")
  1. .. D BMES^XPDUTL("Error: "_$G(SDER("DIERR",1,"TEXT",1)))
  1. .. D BMES^XPDUTL("Please log a ticket to report this error")
  1. . ;
  1. . D BMES^XPDUTL("Logical Link '"_SDLLN_"' has been shutdown!")
  1. ;
  1. ; If Roll Back, retrieve previous saved Link data
  1. S SDA=0 I $G(SDRLBK) D Q:SDA
  1. . S X=$G(^XTMP("SDPAWS",1))
  1. . I X="" S SDA=1 D BMES^XPDUTL("No rollback data stored in ^XTMP('SDPAWS') global") Q
  1. . S SDIP=$P(X,U,2),SDDNS=$P(X,U,4),SDPORT=$P(X,U,3),OPTI=$P(X,U,5)
  1. . S:SDIP="" SDIP="@" S:SDDNS="" SDDNS="@" S:SDPORT="" SDPORT="@" S:OPTI="" OPTI="@"
  1. . D NOW^%DTC
  1. . S ^XTMP("SDPAWS",2)="Roll back performed: "_+$E(%,1,12)
  1. ;
  1. ; Update LINK
  1. S DIE="^HLCS(870,",DA=SDLNK,DR="400.01///"_SDIP_";400.02///"_SDPORT_";.08///"_SDDNS_";400.08///"_OPTI
  1. D ^DIE K DIE,DA,DR
  1. D BMES^XPDUTL("SD link 'TMP_SEND' "_$S($G(SDRLBK):"rolled back",1:"updated with new data"))
  1. D BMES^XPDUTL(" - Logical Link "_SDLLN_", DNS: "_SDDNS)
  1. D BMES^XPDUTL(" - TCP/IP Address: "_SDIP_", PORT: "_SDPORT)
  1. I SDACTV=0 D END Q
  1. ;
  1. ; Activate LLP
  1. K SDER
  1. I $P(SDP4,U,3)="C"&("N"[$P(SDP4,U,4)) D Q:$D(SDER)
  1. . ;4=state 9=Time Started, 14=Shutdown LLP
  1. . K FDA S X="FDA(870,"""_SDDP_","")",@X@(4)="Enabled",@X@(9)=$$NOW^XLFDT,@X@(14)=0
  1. . D FILE^DIE("","FDA","SDER")
  1. . ;
  1. . ; if DIE unable to enable LINK, EXIT
  1. . I $D(SDER) D Q
  1. .. D BMES^XPDUTL("Logical Link '"_SDLLN_"' was NOT enabled!")
  1. .. D BMES^XPDUTL("Error: "_$G(SDER("DIERR",1,"TEXT",1)))
  1. .. D BMES^XPDUTL("Please log a ticket to report this error")
  1. .. Q
  1. .. ;
  1. . D BMES^XPDUTL("Logical Link: '"_SDLLN_"' has been enabled!")
  1. . Q
  1. ;
  1. END L -^HLCS(870,SDLNK)
  1. I '$G(SDRLBK) D BMES^XPDUTL("Logical Link '"_SDLLN_"' now pointing to the new AWS server.")
  1. Q
  1. ;
  1. ROLLBAK ; rolled back
  1. N SDRLBK S SDRLBK=1 D POST
  1. Q