#Ensemble

23 Followers · 2.4K Posts

InterSystems Ensemble is a complete and easy-to-use integration platform that enables users to connect people, processes, and applications in record

time.

Learn more

Documentation

Question Nimisha Joseph · Dec 2, 2024

Hi everyone,

I’m using EnsLib.SQL.OutboundAdapter in my InterSystems Ensemble operation to execute an insert statement in Sql Server Management Studio 20. While inline queries (e.g., constructing the query string with _ concatenation) work fine, I'm facing issues when trying to use parameterized queries.

Serialized JSON: {"CHI":"2894","Forename":"Janis"}

Include Ensemble

Class TNHS.Operation.RDS.PatientOperation Extends Ens.BusinessOperation{

Parameter ADAPTER = "EnsLib.SQL.OutboundAdapter";Property Adapter As EnsLib.SQL.OutboundAdapter;
Method OnMessage(pRequest As TNHS.Data.RDS.Patient
10
0 238
Question Lee Butcher · Dec 4, 2024

I'm attempting to import all the FHIR XSD files provided by http://hl7.org/fhir but get the immediate and unhelpful error message:

I've tried different versions of EOLs to no avail. Any idea what this error could mean?

Here's the XSD I'm trying to import:

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2011+, HL7, Inc
 All rights reserved.

 Redistribution and use in source and binary forms, with or without modification, 
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this 
 list of conditions and

0
0 106
Article Megumi Kakechi · Nov 7, 2024 1m read

InterSystems FAQ rubric

It can be obtained with a List query of the %SYS.Namespace class.

1. Create a routine like this:

getnsp
   set statement=##class(%SQL.Statement).%New()
   set status=statement.%PrepareClassQuery("%SYS.Namespace","List")
   set resultset=statement.%Execute()
   while resultset.%Next() {
       write resultset.%Get("Nsp"),!
   }
   quit

2. Run it in your terminal

USER>do ^getnsp
%SYS
DOCBOOK
SAMPLES
USER

The method of executing class queries introduced in this article can be applied in a variety of cases.

You can see various class queries in the class reference. For example,
 

4
1 565
Question Nezla · Jun 19, 2023

Hi Guys,

I have images in my zen report, eg. 

<table orient="row" width="100%">
<item value="Images:" style="font-weight:bold;font-size:0.9em"/>
<img src="./images/wo/Bearing.jpg" id="WOImage" align="right" height="20px" width="250px"/>
</table>

and if I run the report to the screen the report with its images comes up fine

but I need to generate and save the report as pdf to a specific path, so I used the below code and it generates the pdf report but the no images, so how can get my report with images?

FYI, I do have those images in a file location and also streamed in a database.    

Set obj=##c

2
0 258
Question Smythe Smythee · Nov 15, 2024

Hi Team,

I am converting xml message into HL7 message but the input XML message contains pdf which is converting into base 64 and getting mapped to OBX:5.5 in HL7 message and sending it to downstream 

In Downstream service i am using normal HL7 TCP class EnsLib.HL7.Service.TCPService but the message looks like below i am not sure why stream is taking as another segment in HL7 message,

Any thoughts on this?

Thanks,

Smythee

15
0 338
Article Megumi Kakechi · Nov 14, 2024 1m read

InterSystems FAQ rubric

By default, the order of columns in a table is determined automatically by the system. To change the order, explicitly set the order for each property using the property keyword SqlColumnNumber when defining the class.

Example:

Property Name As %String [SqlColumnNumber = 2];

Please see the documentation below.

SqlColumnNumber

If you want to change the SQL table name, specify SqlTableName. If you want to change the column name (field name), specify SqlFieldName.

Both apply only to persistent classes.

0
0 224
Question Lee Butcher · Nov 11, 2024

I have a business process that adds data to a global variable on receipt of an HL7 message, and a scheduled task that executes a class method defined within the same business process that removes data from the same global variable. With this in mind it makes sense to consider concurrency and therefore make use of the LOCK command.

My first question is whether this is actually necessary?

My second question is what happens to locks when an error/exception is encountered after a lock but before the code to release the lock, is this managed automatically or should try-catch be used to release the

1
0 166
Question Yone Moreno · Nov 4, 2024

Hello,
Please, we would need your help 🙂:

In a development environment, we have added quite a few presentation contexts to the DICOM configurations (the associations). We would need to find a way to export them from this environment to make it easier for us to import them in PRO (and avoid doing it by hand one by one).

We know that there is this method, the ImportAssociation(), that given a file, and the names of the local AET and the remote AET, creates it automatically:
    https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.U…

2
0 161
Question john.smith4237 · Oct 29, 2024

Hi Guys,

I'm calling the expandAll() method to expand the whole tree structure but for some reason its only expanding the root folders but not all elements under those folders ?

var tree zenPage.getComponentById( "MyTree");
tree.expandAll(true);
 

Thanks

3
0 154
Question Colin Brough · Oct 28, 2024

An interface running on Ensemble generates PDFs by building a command line and invoking c:\InterSystems\Ensemble\fop\fop.bat

One day last week the PDF generation stopped working. The output from the .bat script says:

The Server has not restarted, and the Java version has not been updated. Ensemble has not restarted. And Java is still accessible outside of Ensemble from the command line. So how come Ensemble has "lost" java? Any clues as to what might have gone on?

2
0 169
Question prashanth ponugoti · Oct 23, 2024

Hello Experts ,

Could you help to search message details based on MRN in intersytems iris. 

We have created 100+ interfaces and currenly in live (interystems cloud) . Now I try to search message details based on MRN using below query. it is working fine in DEV. but in prod it is taking ages.

SELECT Header.SessionId, Header.SourceConfigName ,Body.RawContent
FROM Ens.MessageHeader AS Header 
JOIN EnsLib_HL7.Message AS Body ON Header.MessageBodyId = Body.ID     
 where  Body.TimeCreated BETWEEN '2023-03-15 13:10:22.993' AND '2023-03-15 13:10:25.993'
 AND Body.RawContent LIKE '%40103262%'

could you

2
0 173
Question john.smith4237 · Oct 25, 2024

Hi guys,

Strange that Horizontal in my below code is "Z" but the i(Horizontal=='Z') is actually not recognizing it and does execute the rest of the code !? 

(Horizontal,Vertical)=""
Set Horizontal= ..GetSensorInfo($P(Temp))
&js<var Horizontal='#(Horizontal)#';
   alert(Sensor+"="+Horizontal)
  if (Horizontal=='Z')
  {
    alert(Sensor+"=2"+Horizontal)          

 document.getElementById('Z'+i).value='H'
  }

Thanks

1
0 120
Question john.smith4237 · Oct 22, 2024

Hi Guys,

Given that Analyst property is defined as class object I'm getting the Analyst ID in the below dataBinding, but I'm looking to display the Analyst name, I tried  using dataBinding="Analyst->Name" but no luck, I got the same issue when binding to dataCombo or comboBox ?     

<text dataBinding="Analyst" id="AnalystName" label="Analyst Name:" size="36" />
 

Thanks

2
0 243
Question Yone Moreno · Oct 18, 2024

Hello,

First of all: thanks for your help, and thank you for your time.

Thanks for your time.

We have the following situation:

We are in a BPL, and we have defined 4 <call> asynchronous as follows:

First one name: "Enviar a Proceso NEGRIN"

The second one, named as: "Enviar a Proceso HUNSC"

The third one, titled: "Enviar a Proceso CHUIMI 02"

And the fourth and last one names as: "Enviar a Proceso Fuertev"

Inmediately after the 4 calls, we have a <sync> instruction which should wait for all of them to finish.

It has in the calls text area the name of the four ones which it should wait for: "Enviar a

9
0 238
Question Chris Lambert · Oct 17, 2024

Hello,

I'm trying to carry a custom error from one business process to another.

BPL:LookupClass fails it's lookup and a custom error of "Lookup XYZ" is generated.

The class quits with that error, but upon quitting, the custom error gets wrapped in an Ensemble System error: 

ERROR <Ens>ErrBPTerminated: Terminating BP LookupClass # due to error: Lookup XYZ

This means, when I use the %LastError property to get the error message, it's not got the value I want to use. In this case, "Lookup XYZ". It instead has "Terminating BP LookupClass # due to error: Lookup XYZ"

Is there a way to prevent the

0
0 150
Question Qais Azam · Oct 16, 2024

I am experiencing an issue while executing a stored procedure in InterSystems Cache. Here’s the procedure I created
CREATE PROCEDURE Silk.sp_InsertRecord (
    IN RecordDate TIMESTAMP,
    IN UserName VARCHAR(50),
    IN RecordType INT,
    IN RecordID VARCHAR(50),
    IN CategoryID INT,
    IN ApprovalDate TIMESTAMP,
    IN FileSize BIGINT,
    IN WorkstationName VARCHAR(50)
)
BEGIN 
    INSERT INTO DummyRecords (
        RecordKey, 
        FilePath, 
        RecordDate, 
        UserName, 
        RecordType, 
        RecordID, 
        CategoryID, 
        FileSize
    ) 
    VALUES (
        'd4a4e44b-4b56-4a74

0
0 164
Announcement John Murray · Oct 9, 2024

We've just made a change to Server Manager with the aim of it coping better when a stored password is no longer valid, for example because it has been changed.

We plan to include this in the next published version (no release date yet set), but if you'd like early access please download the v3.6.3-beta.3 VSIX and install it, for example by dragging it from your file explorer onto the Extensions view in VS Code.

If you encounter problems with this beta you can easily revert to the most recent published version (3.6.2) by means of the "Install Specific Version..." option on the gearwheel of the

1
0 186
Question john.smith4237 · Oct 14, 2024

Hi Guys,

I've the below databinding on a combobox and the issue that the binding is coming with the display value of my levels so eg. I'm getting normal instead of 1 which mean the combobox in my form is not showing, so how get the binding to bring the VALUELIST rather then DISPLAYLIST ?  

Property Level As %String(DISPLAYLIST = ",Normal,Dangerous,", VALUELIST = ",1,2,3");
 

<combobox dataBinding="levels" label="levels :" dropdownHeight="130px" dropdownWidth="230px">
  <option value="1" text="normal"/>
  <option value="2" text="dangerous"/>
  <option value="3" text="Extreme"/>
  </combobox>

Thanks

1
0 142
Question Roma Bunga · Sep 25, 2018

Hi,

We see a lot of TCPIP connection error for few of the components not sure if it is a network glitch at the source/target or is it with us. And most of the times these errors are very transient and vanish on their own and the connection gets re established and the messages get processed. Here is the error we mostly see

ERROR <Ens>ErrTCPTerminatedReadTimeoutExpired: TCP Read timeout (30) expired waiting for terminator SegTerminatorAscii=13, on |TCP|50007|10620, data received =''

or

ERROR <Ens>ErrOutConnectionLost: Lost HL7 Read connection to 10.101.87.133:50007 - detected via ERROR #5002: Cache

3
1 1749
Question Lorraine Dodgson · Feb 8, 2018

Hello

I am writing a simple routing interface that picks up files from a share using File.InboundAdapter.

I am then using PassthroughService and passing it to a router.

The Router is using Ens.StreamContainer to then get the filename.  I have then used contains to pick out part of the filename.

and then pass it to another simple passthrough operation to another share.

If I do a direct link without using the router it works fine and I get no errors, once I direct the messages through the router I am getting ERROR #5005  Cannot open file, it does however write a file to the share but the file is a

10
0 1505
Question john.smith4237 · Sep 29, 2024

Hi Guys,

I'm using the below simple Get Webservice to return a JSON file, its working but the response is actually of Text type not JSON Type 

ClassMethod cmGetHomes(cnt1, cnt2) As %Status
{    response="{""Land"""_":"_""""_cnt1_""",""Home"""_":"_""""_cnt2_"""}"
 // set dataObj=##class(%DynamicObject).%FromJSON(response.data)
 //set response.data = dataObj
 //W response.%ToJSON()
 //set response.data = {}.%FromJSON(response.data)
 //set response.data = {}.%FromJSON(response.data)
 response
 Quit $$$OK
}

This is the response that I'm getting in Postman

But it says type is text not JSON 

Thanks

5
0 199