Marc Mundt · Jul 16, 2020 go to post

This quick test does send two messages to the same business operation:

Marc Mundt · Jul 16, 2020 go to post

Just to rule out a problem with the second when's condition, does the "IMPRESSION TO FAX" rule work if its the only rule?

And it would be good to have a look at the business rule log as it may offer some more insight into how the routing was decided.

Marc Mundt · Jul 10, 2020 go to post

Here's an example of the DTL. You may need to set other fields in the ECRUpdateRequest based on your local needs.

Marc Mundt · Jul 10, 2020 go to post

You're missing one step. The SDA your DTL is producing is in the form of an XML vDOC (EnsLib.EDI.XML.Document) which is using the SDA schema. The SDA3.InboundProcess needs to receive an HS.Message.ECRUpdateRequest with the raw XML for the SDA stored in its contentstream property. To fix this, you can create a second DTL which takes the EnsLib.EDI.XML.Document as input and outputs an ECRUpdateRequest. In the DTL you'll just need to call the VDoc's method to generate the XML stream and then set ECRUpdateRequest.ContentStream to that stream.

Marc Mundt · Jul 9, 2020 go to post

If you are interested in Business Services, Operations, Processes (as well as DTLs, and routing rules) as Benjamin mentioned the new Interface Maps may be of help. Interface Maps doesn't exist in 2017.1, but you could upgrade a test instance to 2020.1 to do your analysis of orphans before doing the main upgrade.

Marc Mundt · Jul 8, 2020 go to post

This is absolutely possible. First, you'll want to use a SQL Business Operation rather than a Business Service. Your function will send a simple request message to the Business Operation containing any parameters you want to pass to the SP (if you only have one parameter you can use Ens.StringContainer). The Operation will execute the SP on SQL Server and return a response message to your function.

You didn't mention where you plan to call this function from (a DTL? a Business Process?). If it's a Business Process then you don't need a custom function, you can just use a "call" action to send the request to the Operation.

If you need to do this from a DTL, then in order to send a message to the Operation you'll need to call a method of the business process or router. You can get a reference to the process/router this way:

set bp=%Ensemble("%Process")

And then you can send your request message like this:

set tSC=bp.SendRequestSync("My.SQLServer.Business.Operation",req,.resp)
Marc Mundt · Jul 2, 2020 go to post

Thanks Dmitriy and Kai, that worked.

It would be great to update the instructions on the extension's page to mention this -- anyone starting with a fresh install of VS Code will have this problem. The recent video is missing this step as well.

Marc Mundt · Jun 25, 2020 go to post

Vinay, the typical approach to send to CUPS for TrakCare would be to use Zen reports or JReports. TrakCare's EPS print server can run the report automatically and send the result to the configured printer through CUPs.

Marc Mundt · Jun 24, 2020 go to post

SoapUI and Postman use HTTP to send requests. HL7 over TCP (MLLP) is not an HTTP-based protocol.

You can use a business operation as you mentioned, or there are some commonly used third-party tools for testing HL7 interfaces, such as Interface Explorer.

Marc Mundt · Jun 22, 2020 go to post

There's also a convenience function for this:

set origTime=$h
set newTime=$$HorologAddSecs^EnsUtil(origTime,60)

The first parameter is the time in $horolog format, the second parameter is the number of seconds to add. It returns the new time in $horolog format.

Marc Mundt · Jun 12, 2020 go to post

Have you tried exporting the DTL classes from System Management Portal >> System Explorer >> Classes?

Marc Mundt · Jun 12, 2020 go to post

You can get a list of DTLs with a query like this:

SELECT Name FROM %Dictionary.CompiledClass WHERE Super = 'Ens.DataTransformDTL'

And then you can iterate through the list and use $System.OBJ.Export() to export them to files.

Marc Mundt · Jun 10, 2020 go to post

I think you just need to change your business rule so the first parameter you pass to CacheExists is wrapped in quotes:

CacheExists("osuwmc_Tecsys...",...)

Marc Mundt · May 21, 2020 go to post

In current IRIS versions, it's named intersystems-jdbc-3.0.0.jar

In current Caché versions it's named cache-jdbc-2.0.0.jar

In both, you'll find it under: [INSTALL DIR]/dev/java/lib/JDK18

It's also worth noting that under IRIS the JDBC URL and the driver classname have changed. See this doc for details.

com.intersystems.jdbc.IRISDriver
jdbc:IRIS://127.0.0.1:51773/USER
Marc Mundt · May 7, 2020 go to post

Can you paste in the full class definition for ORMFARM.amplitudeHTTPRequest?

Marc Mundt · May 7, 2020 go to post

I want to get message body to parse it before insert

What kind of parsing and changes do you need to make to the message?

Marc Mundt · Apr 21, 2020 go to post

The wkhtmltopdf website has an example of the command-line usage -- looks fairly simple.

And have a look at our product documentation for $ZF(-100) on how to execute an external program from ObjectScript.

Marc Mundt · Apr 8, 2020 go to post

I'd recommend capturing the status value returned by FileInfo() -- it's possible that the call is failing.

set tSC=..%sftpSession.FileInfo(pFilename,.tFileInfoList)
if $$$ISERR(tSC) {
    // There was an error, do something
}
Marc Mundt · Apr 7, 2020 go to post

这三个参数有什么用途?^PAADMi("No") 是医院episode号码的指数。空字符串的参数会不会需要episode号?

最好要修改stored procedure先检查需要的参数。

Marc Mundt · Mar 31, 2020 go to post

Cache Terminal doesn't have a setting similar to Putty.

Windows has methods for finding a specific window that belongs to another app and bringing it to the foreground. You could write a C++ or C# program to do that:

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-s…
https://stackoverflow.com/questions/11512373/findwindow-and-setforegrou…

Or many scripting languages have libraries that use those Windows methods:

https://www.autoitscript.com/forum/topic/113390-bring-application-or-pr…
https://www.programcreek.com/python/example/89828/win32gui.SetForegroun…
https://metacpan.org/pod/Win32::GuiTest