#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

Article Mihoko Iijima · Feb 22, 2024 2m read

InterSystems FAQ rubric

To remove InterSystems products installed on your Windows system, use Add or Remove Programs in Control Panel (in Windows 10, select Apps from Windows Settings).

Since we will be making changes to the system, you will need to log in as a user with administrator privileges.

1) Log in to the system as an administrator.

2) From the system tray, exit the launcher of the InterSystems product instance you want to uninstall (click launcher → exit).

0
0 515
Question Thomas Schroyen · Sep 20, 2021

Hi gentlemen,

It may be very easy but I'm currently battling with a stupid business operation.

Here is what I must do and what is already in place:

A business service scan every 5 sec the apparition of files and send it to a business process.

The business process (a routeur) don't let pass everything and a few of them go to a specific operation.

The operation must :

1 ) create the file with the same name of the original one (in the service) then save it.

2) change the original and resave it a second time (replacing the previous one but without using the function rename)
Hope you can help me.

2
0 1754
Article Michael Breen · Nov 9, 2016 5m read

The Ensemble Scheduler is used for automatically turning on and off business hosts at certain dates and times.   You could use it if, for example, you wanted to only run a business host from 9am to 5pm every day.    Conversely, if you want do to trigger an event to occurr at a specific time, for example, a job running at 1am to batch up and send off all the previous day's transactions in one file, we recommend other methods such as the Task Manager.

This article explains how the Ensemble Scheduler works.

5
3 4086
Article Hiroshi Sato · Feb 15, 2024 2m read

InterSystems FAQ rubric

The $ZF(-100) command is used in the following format.

$ZF(-100, flags, command name, command arguments)

The "/shell" flag is required when running OS commands.
For example, use mkdir like this:

 // mkdir C:\temp\newdir
 Write $ZF(-100, "/shell", "mkdir", "C:\temp\newdir")


If a command has multiple arguments, enclose them in double quotes and separate them with commas, as in the example below.

 // move C:\temp\a.txt C:\temp\a2.txt
 Write $ZF(-100, "/shell", "move", "C:\temp\a.txt", "C:\ temp\a2.
0
3 377
InterSystems Official Fabiano Sanches · Feb 14, 2024

InterSystems announces the Maintenance Release (MR) of CachéEnsemble and Health Connect HSAP 2018.1.9. This is a maintenance release with many updates across a wide variety of areas.

Caché and Ensemble

Full product installation kits can be downloaded from the WRC Software Distribution website:

For information about the corrections in this release, refer to the Release Changes Notes. The documentation for Caché and Ensemble includes these as well as the Supported Platforms document, the Class Reference, and a full set of guides, references, tutorials, and articles.

0
0 286
Job Malcolm King · Feb 10, 2024

My name is Malcolm King and I’m an experienced IT Professional seeking full time employment.
I have 25 years of experience in the software development industry, with a wide variety of skills and knowledge. I have been involved in writing both front and back end code, along with interfacing to multiple systems, using multiple languages such as Cache Objectscript, C#, Java, Javascript and SQL.
I have experience with SOAP services and RESTful APIs as well as database design, implementation and administration.

0
0 231
Question Nimisha Joseph · Dec 6, 2023

Hi there,

I'm working on a project where I retrieve RawHL7 message(ORU R01 2.3.1) content from a database in a BPL. I've created a context object of type Enslib.HL7.Message, and I need to populate it with the contents from the RawHL7 message so that I can use this context object as source for my DTL transformation.

Does anyone have suggestions on the best approach to achieve this? I'm looking for guidance on how to efficiently transfer the data from the RawHL7 message to the context object.

Thanks in advance for your help!

3
0 668
Article Muhammad Waseem · Oct 15, 2021 2m read

In this article I will demonstrate the following :

  • Update ReferencesRange(OBX:7) against ObservationIdentifier(OBX:3.1)[TestCode] from database by using custom utility function
  • Update Abnormal Flag(OBX:8) against ObservationIdentifier(OBX:3.1)[TestCode]  and ObservationValue(OBX:5)[Result] from database utility function
  • Route Message based on Abnormal Flag(OBX:8)

Below is the primary and transformed HL7 2.

6
0 1004
Article Muhammad Waseem · Feb 2, 2024 3m read

Sometimes we need to convert FHIR message to HL7 V2, e.g. to register a patient to the PACS system.
In this article, I will explain the steps to achieve the desired by using IRIS FHIR Server production.

Below are the steps we need to follow:

  1. Make sure FHIRServer production is started.
  2. Register Business Service with FHIRServer endpoint.
  3. Define Business Processes to convert FHIR message to SDA and then Convert SDA to HL7 v2.
  4. Post JSON resource to FHIRServer endpoint and get HL7 V2 response.

Let's review the steps in detail.
 

Step 1. Make sure FHIRServer production is started

Open the production page and make sure Production is started. In the next step, we need to make sure business service HS.FHIRServer.Interop.Service is registered with FHIRServer

0
0 778
Article John Murray · Feb 8, 2018 1m read

When defining a server connection in Atelier we are required to enter a username and password because these are mandatory fields in the dialog. However, if the /api/atelier web application definition on that server has only the "Unauthenticated" checkbox set in the section titled "Allowed Authentication Methods", then our Atelier connection will succeed even if we supply an invalid username and/or password.

6
0 767
Article Mihoko Iijima · Jan 25, 2024 4m read

InterSystems FAQ rubric

If the system does not stop for 24 hours, old journal files will be deleted at 0:30 according to the "Journal file deletion settings".

A possible cause of journal files remaining that are older than the "Journal file deletion settings" is that there are transactions that remain open.

In that case, you will be able to delete the journal file by searching for processes executing transactions and finalizing the transactions.

The sample below checks for the existence of open transactions, and if they exist, outputs the target file name and journal record information.

3
2 430
Question Nimisha Joseph · Jan 17, 2024

Hi everyone,

I'm facing issues uninstalling Ensemble software from my system. I've tried using the command first ensemble-2018.1.0.184.0-win_x64.exe /instance LOCALENSEMBLE /qn REMOVE=ALL. Additionally, when I try to uninstall it through Settings > Apps and Features, it doesn't get removed and lists the app again there.

Has anyone encountered a similar problem or could provide guidance on the proper uninstallation process for Ensemble? Any help would be greatly appreciated.

Thanks!

1
0 211
Question Nimisha Joseph · Jan 4, 2024

Hi,

Im using an ORU_R01 2.3.1 message for converting to pdf. For the stylesheet, i need all the OBX segments under each OBR segment with  custom table headers. Can anyone help me with the xslt?

eg msg:
MSH|^~\&|WinPath|WinPath|EDT|TAY|202311262232||ORU^R01|49960|P|2.3.

1
0 208
Article Anssi Kauppi · Jun 30, 2020 3m read
Many organisations implement centralised log management systems to separate and centralise the log data in order to e.g. automate threat detection (and response) and to comply with regulatory requirements. The primary systems of interest are the various user facing applications, but increasingly also other kinds of systems including integration platforms.

What comes to the data platform (not the user facing application) most of the the events of interest/required are available as predefined system audit events in audit log - out of the box. They just need to be enabled.

2
2 525
Question water huang · Jan 15, 2024

hi there,when i use %XML.Reader parse XML to object,if the element value is null,the data in the table is $c(0),how avoid this?

my class file like this:

Class M.PATLIST Extends (%RegisteredObject, %XML.Adaptor) [ Inheritance = right, Not ProcedureBlock ]
{ Property Data As list Of PAT(XMLPROJECTION = "ELEMENT"); Parameter XMLIGNOREINVALIDTAG = 1; Parameter XMLIGNORENULL = 1; Parameter XMLNAME = "DATALIST"; }

Class M.PAT Extends (%Persistent, %XML.

3
0 286
Question Scott Roth · Jan 13, 2024

Within a DTL is it possible to access and update the Message Header properties of an EnsLib.HL7.Message?

Currently we have multiple EMR Services for each environment sending to 1 Business Process to Normalize the data, then it is sent to another Business Process to route the data. 

Since the SourceConfigName changes with every send to a Business Process, I am looking for a way to maintain the SourceConfigName of the SessionID so I know how to direct the message.

7
0 690
Article Megumi Kakechi · Jan 11, 2024 2m read

InterSystems FAQ rubric

This error occurs when an instance of the class is already open at compile time.

There are two ways to deal with this issue:

  1. Terminate the process or application that has the instance open
  2. Compile options in the studio build menu: Check the compile flag “Compile classes in use” and compile.  

If you want to determine which process is using the class, try the sample routine below.

 

/// Test.
1
0 225
Discussion Stefan Cronje · Dec 15, 2023

Hi all,

The last time I used CSP was back in 2008, so I am very rusty on it.
This question might have been asked many times, and the answer probably is that it is a matter of preference.

Are there scenarios to which CSP pages is easier/better to use than classes extending from %CSP.Page?
I want to build a little thing and don't want to start at the wrong end.
Doing an API-based, heavy client-side framework is not a requirement, and I would prefer not to do it that way.

Some of the criteria

  • Users need to do a login.
4
0 395
Question Stefan Cronje · Dec 15, 2023

HI *,

So last night I was doing a deployment which had a query to select from a large dataset of joined tables, to iterate through and populate data in a new table.

This was done in a classmethod using embedded SQL and the %PARALLEL keyword.
On a testing environment with the same dataset, this worked perfectly a few days earlier.

It was going to be a long-running process, so we started it from a csession using the JOB command.
Then get the PID with $zchild, go to Processes and monitor it there.
It would terminate after a minute or so with a <STORE> error.
The per process memory is set at 1GB.

2
0 332
Article Megumi Kakechi · Jan 4, 2024 1m read

InterSystems FAQ rubric

If a relationship is set and there is a large number of n in a 1:n ratio, a large amount of memory may be consumed due to sequential processing of the relationship.

After referencing a many-sided object in a program and internally swizzling it, simply releasing the variable containing the OREF (deleting it, setting another value, etc.) will not free the many-sided object and the relationship object. This is the cause.

0
0 345
Question Mark Scicluna · Jan 3, 2024

I wish to retrieve data from a cache table and then chart the results using javascript/chart.js.  I have had numerous iterations of the code attempting to do this (none of which worked) and my latest iteration is shown below.  

<html>
<head>
   <title>Cache Server Page</title>


   <!-- Include the Chart.js library -->
   <script src="chart.umd.min.js"></script>
   
<csp:SQLQUERY NAME='resultSet' P1='A'>
select Value, StatsDate from Stats 
</csp:SQLQUERY>


<script LANGUAGE="JavaScript">
// Initialize arrays to store data
var xValues [];
var yValues [];
</script>

8
0 399
Article Mihoko Iijima · Dec 28, 2023 1m read

InterSystems FAQ rubric

There is no need to recompile the routines after the version upgrade, but since the version update overwrites %SYS, user-created INT and OBJ format routines (*.INT,*.OBJ) in %SYS will be deleted. Therefore, you need to be careful. 

MAC, INT and OBJ routines with the following names are not deleted.

%Z*.INT, %z*.INT, Z*.INT,z*.INT
%Z*.OBJ, %z*.OBJ, Z*.OBJ,z*.OBJ

Please note that classes/CSPs need to be compiled after upgrading.

However, if you are upgrading to a maintenance release, no compilation is required. For details, please refer to the document below.

0
1 257
Question Jimmy Christian · Dec 21, 2023

Hello community,

I am trying to see the complete HL7 message for the class  EnsLib.HL7.Message.

But it is showing the truncated version only.

I also tried to convert to stream

msg.OutputToLibraryStream(.streammsg)
newmsg=##class(EnsLib.HL7.Message).ImportFromLibraryStream(streammsg)

While (streammsg.AtEnd = 0) {
     Set len = 1000
        Set tPrintMessage=newstream.Read(.len)
     Write tPrintMessage
}

 

But when i print it, its not showing complete message.

Any idea or suggestions?

Thank you in advance.

Jimmy Christian.
 

2
1 365
Question Jon Astle · May 5, 2023

Hi I want to utilise the file adaptor to pick up some PDF documents however I must not delete the source files from the server.  I can see that there is a setting in the FTP adaptor to not delete from server but not in the file adaptor.  Is there an easy way to do this or do I just need to create a custom adaptor that copies the files to a working location and records in a tracking global when I have done this so that I don't process the same file twice?

5
0 443