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

TIUCCRP363.m

Go to the documentation of this file.
  1. TIUCCRP363 ;COG/PB - PATCH TIU*1.0*363 POST INSTALL ; 11/08/23 14:30
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**363**;Nov 08, 2023;Build 69
  1. ;
  1. ;SAC EXEMPTION 202311211320-04 : TIU use of vendor specific code
  1. ;ICR 7205
  1. ;
  1. Q
  1. TIU ;
  1. N MYREST,IEN1802,PINGRES,MYERR,$ETRAP,X,XOBSTAT,XOBREADR,XOBREAK,NEWRESPONSE,JSON,OLDIP,OLDPORT,SC,resource,RESPJSON,NEWIP,NEWPORT,LINK,TIEN870,FDA,CNT
  1. S IEN1802=$O(^XOB(18.02,"B","CCRA WEB SERVICE",""))
  1. I $G(IEN1802)'>0 D Q
  1. . D BMES^XPDUTL("**************************************************************************")
  1. . D BMES^XPDUTL(">>>> The CCRA WEB SERVICE has not been configured. <<<<")
  1. . D BMES^XPDUTL(">>>> Install failed because the CCRA WEB SERVICE has not been set up. <<<<")
  1. . D BMES^XPDUTL("**************************************************************************")
  1. . Q
  1. ;
  1. D BMES^XPDUTL("******************************************************************")
  1. D BMES^XPDUTL(" >>>> Updating the TIUCCRA HL7 Logical Link <<<< ")
  1. D BMES^XPDUTL("******************************************************************")
  1. ;S XPDQUIT=1
  1. S CNT=0
  1. ;set error trap
  1. S $ETRAP="DO PINGH^GMRCCCRP200"
  1. ;get client REST request object
  1. S MYREST=$$GETREST^XOBWLIB("CCRA WEB SERVICE","CCRA WEB SERVER"),MYERR=""
  1. S TIEN870=$O(^HLCS(870,"B","TIUCCRA",""))
  1. S OLDIP=$$GET1^DIQ(870,TIEN870_",",400.01,"E"),OLDPORT=$$GET1^DIQ(870,TIEN870_",",400.02,"E")
  1. S resource="/address?oldip="_$G(OLDIP)_"&oldport="_$G(OLDPORT)
  1. S SC=$$GET^XOBWLIB(MYREST,resource,.MYERR,0)
  1. I 'SC I MYERR.code=404 D
  1. .D BMES^XPDUTL("The Web Service Query didn't return any data. The TIUCCRA link was not updated.")
  1. .K DIR("A"),DIR(0)
  1. .S DIR("A")="Press ENTER or RETURN to continue",DIR(0)="E" D ^DIR
  1. .K DIR("A"),DIR(0)
  1. I 'SC Q 1
  1. S NEWRESPONSE=MYREST.HttpResponse
  1. S JSON=NEWRESPONSE.Data
  1. S RESPJSON=""
  1. F Q:JSON.AtEnd S RESPJSON=RESPJSON_JSON.ReadLine()
  1. S NEWIP=$TR($P($P(RESPJSON,",",1),":",2),"""",""),NEWPORT=$TR($P($P(RESPJSON,",",2),":",2),"""",""),NEWPORT=$P(NEWPORT,"}",1)
  1. D BMES^XPDUTL("*******************************************************************")
  1. D BMES^XPDUTL("")
  1. D BMES^XPDUTL(" Updating the TIUCCRA HL7 Logical Link ")
  1. D BMES^XPDUTL(" Current IP address: "_OLDIP_" Current Port: "_OLDPORT)
  1. D BMES^XPDUTL(" New IP address: "_NEWIP_" New Port: "_NEWPORT)
  1. D BMES^XPDUTL("")
  1. D BMES^XPDUTL("*******************************************************************")
  1. K DIR("A"),DIR(0)
  1. S DIR("A")="Press ENTER or RETURN to continue",DIR(0)="E" D ^DIR
  1. K DIR("A"),DIR(0)
  1. D UPDATELINK(TIEN870,NEWIP,NEWPORT) Q
  1. Q
  1. ;updates the HL7 Logical Link File (#870) with the new ip and port addresses
  1. ;stop the link
  1. N IENROOT,MSGROOT
  1. S FDA(870,IEN870_",",.08)=NEWIP
  1. S FDA(870,IEN870_",",400.01)=NEWIP
  1. S FDA(870,IEN870_",",400.02)=NEWPORT
  1. D UPDATE^DIE("E","FDA","IENROOT","MSGROOT")
  1. Q
  1. PINGH ;
  1. ;this is where to put in the error trapping and capture the error and write out to the KIDS screen
  1. D ERR2ARR^XOBWLIB(MYERR,.MYERR)
  1. S CNT=CNT+1
  1. Q:CNT>1
  1. D BMES^XPDUTL("******************************************************************")
  1. D BMES^XPDUTL(" >>>> The IP address, "_OLDIP_" and port number "_OLDPORT_" <<<< ")
  1. D BMES^XPDUTL(" >>>> didn't return a new IP address or port. <<<< ")
  1. D BMES^XPDUTL(" >>>> The logical link, TIUCCRA was not changed. <<<<")
  1. D BMES^XPDUTL("******************************************************************")
  1. S XPDQUIT=1 ; stop the install
  1. Q