I'm currently looking at a process where we're utilising the Class Ens.StreamContainer, and was looking to do some deletions outside of any purge routines.
Having been burned before, I wanted to make sure that deleting the container also deletes the contents within.
From looking in the class, the %OnDelete ClassMethod appears to be removing an index from a search table and nothing more.
We are receiving the report in text format and it has special characters like ', - like that in the text. Source system is using the UTF8 encoding format hence the text is showing as ' � ' . Is there a way to convert the utf8 to actual character in the DTL.
Is there a generic process for "walking" the structure of a virtual document - eg an HL7 message (EnsLib.HL7.Message) or an XML document (EnsLib.EDI.XML.Document).
At least we'd want to be able to visit all "nodes" (HL7 fields or sub-fields, XML nodes) in the virtual document and be able to work out/generate the Property Path (so we could call "GetValueAt").
We can just about come up with something generic for HL7, since it only nests down to 4 levels within each segment, though we're using numeric Property Path's at that point rather than symbolic ones (MSH:1.3 etc).
I need to make changes to OBX 5 which shows as immutable
I have tried ConstructClone, ThrowOnError, and Streams but I can't get the syntax correct
Example
OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|142|REASON FOR REQUEST: Total Cost: 0.00||||||O ^^^^ remove "REASON FOR REQUEST" ^^ add cr/lf so down stream reports can be formatted more easily
I have a HL7 DTL in which I'm doing a lookup to a table based on a code value in the IN1:3 field. That incoming code may have a 1 to 1 mapping, or 1 to many mapping in a table. If it's a 1 to many, the values in the lookup table are comma delimited. If it's 1 to 1, that IN1 segment will map straight across. If it's one to many, I need to create additional IN1 segments. For example, if the incoming code maps to three, I need to map the original IN1 segment with one of the mapped codes, then create two additional IN1 segments with the other 2 codes for a total of 3 IN1 segments. I'd lik
I'm looking for a practical project guide to help me gain hands-on experience with InterSystems Ensemble HL7. Ideally, this guide would walk through building a small project — something that covers key concepts like message routing, transformations, and interoperability.
We are calling a REST web-service from Ensemble using EnsLib.HTTP.OutboundAdapter and redefining the adapter class to set custom headers as described by @Eduard Lebedyuk here: How to set Content-Type
Looking for a SQL query or any other method to find the Unique/distinct message counts for all productions or at least per production namespace within a given time frame. For e.g TimeCreated = January 2025 (Whole month)
I have used the following, but its not restricting the numbers based on the TimeCreated filter. Every time a new message is processed by system, its added to the total. I am running the query in today's date
Select Sum(MsgCount)
From
(Select DISTINCT TargetConfigName, count(DISTINCT SessionID) as MsgCount
The compile step in VS Code when using the InterSystems VS Code extensions appears to modify line endings in our class files when newly pulled from remote repo.
What steps can we take to stop this happening? / What settings can we modify?
At the moment we're creating multiple BPLs are using a router (or another BPL) to direct to these based on a unique key modulo the amount of BPLs available, e.g. if we have 3 BPLs created.
Message key = 1 mod 3 + 1 -> BPL02 Message key = 2 mod 3 + 1 -> BPL03 Message key = 3 mod 3 + 1 -> BPL01
FIFO only matters in that each messages for each key is processed in order.
how do I know that my service is running in a production, I've this receiving service and the as blow that says lost TCP then closing TCP connection, then last one says ConfigItem starting job, and in the Jobs tab it says Listing.
We are using a DTL transformation to take HL7 and transform into custom XML (XML is a virtual document, held in an EnsLib.EDI.XML.Document object). The schema specifying the format of the XML says one element should occur no more than 24 times (maxOccurs="24" in the XSD schema). However, the transformation to produce one such element always produces 24 elements, all but the last one blank, when tested stand-alone.
We are using a DTL transformation to take HL7 and transform into custom XML. But the nodes in the resulting XML are appearing out of sequence - and therefore failing validation against the schema.
The XSD schema for the XML looks fine when imported into Ensemble: root node in the XSD looks like this: And shows in Ensemble like this:
Is it possible to generate INFO level logging events from within a routing rule?
TRACE level events and debugging are easy enough, but we have a case where we have a rule where we want to log messages that are not routed for further processing in the event log as INFO events - in production tracing will be turned off, so TRACE level events won't be visible.
Everytime I try to send a POST FHIR bundle I'm getting the following response: 404 Not Found. I'm not really sure why, although it works fine with a GET!
This is an example:
Response:
It might be something related to request path but not really sure.