Question
· Mar 13, 2018
DICOM to HL7

We have a case where a vendor can send us more information in the DICOM message rather than in the HL7 result message. In theory it should be possible to take a DICOM and convert it to HL7, stupid question is has anyone done it before? Does anyone have any good examples of a DTL they did to show me how to setup the message structures and translation?

Thanks

Scott Roth

The Ohio State University Wexner Medical Center

Scott.Roth@osumc.edu

0 2
0 1.1K
Question
· Oct 11, 2018
Double Quotes

Hi,

I am trying to have the output of a field in sql have double quotes around them. The script is in Studio and I am accessing It through a task.

I have tried """"tect"""" and others...Please help

Aloha

Lou

0 4
0 1.1K

I have created a fairly simple process for taking a HL7 message and sending it to an external provider via a HTTP Post and this is all working correctly. However for the request and response messages I am using e a simple structure containing only a message stream and when looking in Ensemble Message viewer none of this stream content is showing (it is all blank). Would I have to create a particular message type to make this show in message viewer and if so could someone provide some guidance around how to achieve this (outline of code included below)

0 2
0 1.1K

Hi,

I am using a standard EnsLib.HL7.Operation.FileOperation to create files based on HL7 messages but I just realised that lines in the output file only contain CR (Character Return) but no LF (Line Feed). It is really important to have both as another system picking those files will fail otherwise...

Is there any way to configure this?

Thanks

1 4
1 1.1K

I"m doing a SQL insert in my BPL, one of the fields in my SQL table is an MSSQL TimeStamp. How do I get the date/time from my HL7 message and format it so that I can then insert it into my TimeStamp column in my SQL table? I've tried lots of different combinations.

I used CONVERT(DATETIME, substring(:request.GetValueAt("EVN:RecordedDateTime"),1,8)) to get just the date portion and it works, but I'd like the whole DateTime inserted into my TimeStamp field. This is an a BPL.

Thanks

0 2
0 1.1K
Article
· Oct 1, 2018 4m read
Profiling code using Caché Monitor

Not everyone knows that InterSystems Caché has a built-in tool for code profiling called Caché Monitor.

Its main purpose (obviously) is the collection of statistics for programs running in Caché. It can provide statistics by program, as well as detailed Line-by-Line statistics for each program.

Using Caché Monitor

Let’s take a look at a potential use case for Caché Monitor and its key features. So, in order to start the profiler, you need to go to the terminal and switch to the namespace that you want to monitor, then launch the %SYS.MONLBL system routine:

3 1
7 1.1K

I am trying to determine the write-access to a windows-directory, using the method %File.Writeable(). But, this method always returns the boolean "true", even when I have revoked the write-access of Healthshare-user in this directory.

Note:
1) When the same ensemble-service tries to write a file in this directory (which it says is "writeable"), it fails.
2) The method %File.Writeable(...) works perfectly in the case of files.

Any help is appreciated.
Thanks in advance... :-)

1 17
0 1.1K

I'm looking for a way to get the message header ID for the current message in a Request to a Business Process.

I've located some code that gives me what I need, but it runs the risk of violating the "abstraction layer" ISC has in place around such things. And while I very much appreciate their efforts at keeping things simple for me ... well, sometimes you just have to dig through the guts to get what you want.

Is there a documented, deprecation-resistant method for getting at %Ensemble("%Process").%PrimaryRequestHeader.%Id() from within a BP?

0 6
0 1.1K

I'm receiving HL7 message containing the escape sequence \X00D\ indicating a carriage return. In the HL7 documentation I find that this is a valid escape sequence but when I read the intersystems documentation it states that only \X0D\ is valid.

What is the best way to work around this? I think that intersystems should change the UnescapeEx method in the EnsLib.HL7.Segment so that it complies with the standards.

0 2
0 1.1K
Question
· Nov 19, 2018
Copy csv data into a global object

Hi, I have a CSV file with a list of 5000 records in the following format

Name, Acc, division

Eric, 1234, 567

John, 1235, 987

Peter, 3214, 879

I just want to copy the Acc, division to a global so eventually the global would be like the following:

^People("Customers", "Acc.division")

Can you advice on how I can perform this from the terminal? This is a one time task. I want to read all the values from the csv file and insert them into the global

Regards,

Eric

0 7
0 1.1K

I have generated a class using the linked procedure wizard however I can't get it to work if the datatype of one of the parameters is VARCHAR(MAX). It works fine if I change it to say VARCHAR(500) and rerun the stored procedure wizard.

I get the following error returned.:

ErrorMsg: SQLState: (07002) NativeError: [0] Message: [Microsoft][ODBC SQL Server Driver]COUNT field incorrect or syntax error

0 12
0 1K

Hi, folks. I have an HL7 SIU message inbound that is missing a few fields, such as patient ID and provider ID. I insert this HL7 message and a few of the fields into a SQL database. My SQL team then runs a stored procedure to retrieve the patient ID and provider ID and insert the found values into fields in the table. I would like to then do a select from the table, load the HL7 message and add the fields that were found by the SQL stored procedure into the HL7 message. I'm attempting to use a DTL to accomplish this.

0 4
0 1K

Reasonably new to Ensemble but have a requirement to take a HL7 message and send to a external source using a HTTP Post. I already have built an operation that will post a stream forwarded to it but was wondering if there was a shortcut for copying a complete HL7 Message (including end of segment and end of message) into a stream without having to parse through the whole message segments individually. Any pointers would be much appreciated.

0 1
0 1K

I am using the EnsLib.RecordMap.Operation.BatchFileOperation to write a batch to a file but for some reason this has been working fine as of yesterday I had a problem with the cache databases filling up running out of memory so had to compact my database and gain space now when I run the operation I get the above error .Of course in my batch table there is no batch record with ID 1.The message is passed with the correct header information but still get this error any suggestions why?

0 3
0 992

Hi,

I am working on a custom service that reads from a file and import content into a global. The problem is that global is also used by other processes. I have been trying to find any way to stop/disable a process from cache code so after reading the file, process is stopped, global updated and then process is restored. But I could not find anything, just to start/stop the whole production

Do ##class(Ens.Director).StopProduction()

Any ideas if this is something that can be done in ensemble?

Thanks

0 6
0 990

Hi,

I have very recently started to work with Ensemble and have both the 2014 and the 2017 version.

To learn, I have created a small test flow that takes an xml file using EnsLib.EDI.XML.Service.FileService, sends it to a Process that transforms it with xslt into another format, and then passes it onwards to a EnsLib.EDI.XML.Operation.FileOperation Business Operation.

This is the code that I have before and when sending it onwards:

0 2
0 987

Hi,

I am sending a request message to Business Process which has one property as Dynamic Object type. So i get the JSON in my REST service and convert that as a dynamic object and set that in the request message and calling the business process from the business service. But the request is not getting sent to the Business Process. Is it possible to send dynamic object input to the business process.

0 18
0 985

Hi,

We have Mirroring established between NODE 1 & Node 2 . We have set the "cachesys" database enabled for Journalling. But we dont see the User Accounts , Roles, Resources created on Node 1 ( favoured Primary) reflected on Node 2 . Is creating them manually again is the only option for this ? . Is there any way to sync them or would adding %SYS to MIRROR a possible solution. Would it be great if anyone has faced this as we have an issue that during failovers Team is locked out .

Best Regards,

Arun Madhan

1 10
1 973

Hello,

I'm looking to find if there is a datatype convert equivalent in Object Script to SQL convert function. Have a VarBinary string coming in from source application (which is really performing a SQL dump). The source application uses the standard SQL convert function to convert from varchar to varbinary on their side.

I know &sql(Convert()) should work in Object Script, but am wondering if there is a better way of doing this.

Getting data in via flat file (Record Map), then using data transform to transpose this data to SDA3.

0 4
0 937

I have package mapped SYS.History but two classes in the package are giving me problems.

SYS.History.SysData and SYS.History.PerfData has an Include ( Include (%sySite, MONEXT))

When I try to open the corresponding table in SQL I get the following error

0 2
0 926
Question
· Oct 10, 2018
Reply Code Actions

Hi!

We would like to retry message so that it's restored to end of operation's queue. This is in situation where order of messages is not needed to be handled by Ensemble, there is version number in message data and receiving application can ignore incoming message if necessary.

We would try to send message until it's accepted (or manually suspended), but this should not block operation's queue.

We have already this in actions:

D - Disable the Operation, log an error and restore the message to the front of the Operation's queue.

0 1
0 923

I have a service that takes a file and pass it through to the production .While I am passing the file through I get the file stream and set it to a variable within my message and the variable is of type %Ens.StreamContainer. But after all processing and I need to write out my file to a pdf format The file gets written but is a corrupt file since I can not read it I have tried this with asimple pass through everything is fine .But here I do not know what I am doing wrong here is the operation code

0 11
0 919
Question
· Jan 16, 2018
ECP Connectivity

Hi All,

Background: I have my data in Globals on a Cache instance A and I SQL projected(Added SQL Storage) all my globals as Classes to do SQL Operation.

I am about to start writing my application code in Ensemble(Planning to use Business Service, process and Operation) , Now I wanted to do ECP connection between Ensemble instance and Cache instance to get data from Cache.

Questions

How to do ECP connection between two instances?

Does SQL projection of classes is really required or I can use the globals from Cache server.

0 1
0 910