This is how i solved the issue


 Set tSC = pRequest.NewResponse(.tResponse)  Quit:$$$ISERR(tSC) tSC
 Set tResponse.encodedMessage = $get(encodedMessage)
 set dMsg = $SYSTEM.Encryption.Base64Decode(tResponse.encodedMessage)
 set pResponse = ##class(EnsLib.HL7.Message).%New()
 set pResponse = ##class(EnsLib.HL7.Message).ImportFromString($Get(dMsg))
 set pResponse.DocType = ##class(EnsLib.HL7.Schema).ResolveSchemaTypeToDocType(pResponse.TypeVersion,pResponse.Name)

This is how I solved the issue...

 Set tSC = pRequest.NewResponse(.tResponse)  Quit:$$$ISERR(tSC) tSC
 Set tResponse.encodedMessage = $get(encodedMessage)
 set dMsg = $SYSTEM.Encryption.Base64Decode(tResponse.encodedMessage)
 set pResponse = ##class(EnsLib.HL7.Message).%New()
 set pResponse = ##class(EnsLib.HL7.Message).ImportFromString($Get(dMsg))
 set pResponse.DocType = ##class(EnsLib.HL7.Schema).ResolveSchemaTypeToDocType(pResponse.TypeVersion,pResponse.Name)

Not sure I am following, the idea was to take the HL7 message, encode it, and put it into the osuwmc.Nutrition.OSU.CBOARDNetMenuRequest.SendMessageRequest  as the encodedMessage. Using the osuwmc.Nutrition.OSU.CBOARDNetMenuRequest.SendMessageRequest  to pass to the Web Service Class to send outbound to the vendor.

The two Parenthesis was a typo, and I was using the $Get(a) to dereference the %Stream to a string for the osuwmc.Nutrition.OSU.CBOARDNetMenuRequest.SendMessageRequest.

The Soap wizard created the osuwmc.Nutrition.OSU.CBOARDNetMenuRequest.SendMessageRequest as the vendor requires a key value and encoded message in the body of the soap request.

I dismounted, secure copied the IRIS.dat to my backup/DR and mount the Database, but when I attempt to Activate Mirror Database on the backup, I am getting the following error...

sc="0 "_$lb($lb(2073,"/ensemble/TEST/DB/TESTING/",,,,,,,,$lb(,"%SYS",$lb("e^ActivateMirroredDatabase+3^SYS.Mirror.1^2","e^^^0"))))/* ERROR #2073: Mirrored Database '/ensemble/TEST/DB/TESTING/' is not found on this system */
 

but it shows that the database has been mounted in the Terminal.

Still not working right..

Class osuwmc.Nutrition.OSU.CBOARDNetMenuOperation.CBORDHL7Port Extends Ens.BusinessOperation [ ProcedureBlock ]
{

Parameter ADAPTER = "EnsLib.SOAP.OutboundAdapter";

Property LocalInterface As %String(MAXLEN = 255);

Parameter SETTINGS = "LocalInterface:Connection:selector?context={Ens.ContextSearch/TCPLocalInterfaces}";

Method OnInit() As %Status
{
	If 'IsObject(..Adapter.%Client.HttpRequest) {
		Set ..Adapter.%Client.HttpRequest=##class(%Net.HttpRequest).%New()
	}
	Set ..Adapter.%Client.HttpRequest.LocalInterface=$ZStrip($P(..LocalInterface,"("),"*W")
}

Terminating Job 819984 / 'NutritionCBOARDNetMenuSOAP' with Status = ERROR <Ens>ErrException: <SUBSCRIPT>OnInit+1^osuwmc.Nutrition.OSU.CBOARDNetMenuOperation.CBORDHL7Port.1 *IsObject("") -- logged as '-' number - @' If 'IsObject(..Adapter.%Client.HttpRequest) {', %QuitTask=

Class osuwmc.Nutrition.OSU.CBOARDNetMenuOperation.CBORDHL7Port Extends (Ens.BusinessOperation, EnsLib.SOAP.GenericOperation) [ ProcedureBlock ]
{

Parameter ADAPTER = "EnsLib.SOAP.OutboundAdapter";

Property LocalInterface As %String(MAXLEN = 255);

Parameter SETTINGS = "LocalInterface:Connection:selector?context={Ens.ContextSearch/TCPLocalInterfaces}";

Method OnInit() As %Status
{
	set interface = $ZStrip($P(..LocalInterface,"("),"*W")
    Set ..%Client.HttpRequest=##class(%Net.HttpRequest).%New()
	set ..%Client.HttpRequest.LocalInterface = interface
	QUIT $$$OK
}

I tried using ..%Client but got..

ERROR: osuwmc.Nutrition.OSU.CBOARDNetMenuOperation.CBORDHL7Port.cls

ERROR:  osuwmc.Nutrition.OSU.CBOARDNetMenuOperation.CBORDHL7Port.1(4) : MPP5376 : Method or Property '%Client' does not exist in this class.

 TEXT:   Set ..%Client.HttpRequest=##class(%Net.HttpRequest).%New()

ERROR:  osuwmc.Nutrition.OSU.CBOARDNetMenuOperation.CBORDHL7Port.1(5) : MPP5376 : Method or Property '%Client' does not exist in this class.

 TEXT:  set ..%Client.HttpRequest.LocalInterface = interface

When I tried to compile.

I ended up doing..

Class osuwmc.Nutrition.OSU.CBOARDNetMenuOperation.CBORDHL7Port Extends (Ens.BusinessOperation, EnsLib.SOAP.GenericOperation) [ ProcedureBlock ]
{

Parameter ADAPTER = "EnsLib.SOAP.OutboundAdapter";

Property LocalInterface As %String(MAXLEN = 255);

Parameter SETTINGS = "LocalInterface:Connection:selector?context={Ens.ContextSearch/TCPLocalInterfaces}";

Method OnInit() As %Status
{
	set interface = $ZStrip($P(..LocalInterface,"("),"*W")
	set HttpRequest = ##class(%Net.HttpRequest).%New()
	set HttpRequest.LocalInterface = interface
	$$$LOGINFO("CBORDHL7Port OnInit: LocalInterface="_interface)
	QUIT $$$OK
}

The $$$LOGINFO is showing the correct address, but I am still having issues connecting. But thanks

This has been presented in each of the previous Global Summit's conferences. We will be reviewing it again at this years InterSystems READY 2025. Orlando Health has been the mainstay in the Development work of this tool. Please see previous session recordings via You Tube.

Integration Production Tools: HealthShare Health Connect & InterSystems IRIS Health
https://www.youtube.com/watch?v=61Nduu5UyS0&ntb=1&msockid=232752513fc511f08781af03632c4a64

 

I am not sure I quite understand the question, but I just recently wrote EnsLib.SQL.InboundAdapters that will query MS SQL Server and write the data directly to IRIS Cache Tables I built, so in that sense it is possible. But if you have a service that is listening for a connection to query IRIS Tables, then I think you would want to build like an API listener that then queries the tables.

Hello Community,

  • My name is Scott Roth
  • I am from the United States, and currently live in Columbus, Ohio.
  • I am a Sr Application Development Analyst for the The Ohio State University Wexner Medical Center
  • I have been in Health Care Integration for 21 years and have been using InterSystems HealthShare Health Connect since 2015. I became a Developer Community Moderator in 2016/2017
  • I’m a Health Care Integration Developer with hands-on experience in HL7. Beyond standard interface development, I focus on enhancing our integration capabilities by exploring new tools, technologies, and architectural approaches to improve interoperability and streamline workflows.
  • Currently working with and on developing the Health Share Provider Directory with Managed Services to hopefully one day replace our homegrown built Provider Master Solution.
  • I can be found on Linked In
  • I will be presenting at InterSystems Ready 2025 on Tuesday afternoon at 2:30