#Ensemble

23 Followers · 2.3K 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 Craig Regester · Sep 30, 2019

Good morning -

I am attempting to pass some HL7 content (say, a complete ADT message) from one server to another via REST/JSON - for reasons. 

I can get the data across but when I try to create an EnsLib.HL7.Message object from the message in the JSON body, I end up with just the start of an HL7 msg in the resulting object. Looks like: MSH|^~\&

The start of the code accepting the data looks like this:

tReq = {}.%FromJSON(%request.Content.Read())
tInput = tReq.Message

tMsg = ##class(EnsLib.HL7.Message).%New()
tMsg.ImportFromString(tInput)
tMsg.DocType = "2.3.1:ADT_A01"

3
0 1153
Question Everardo Cunha · Sep 25, 2019

Greetings,

I am trying to test an hl7 message inside studio and when I click on the test button I get this error:

"<FUNCTION>GetProp+2^%CDCalBk"  at  9:51 am.   $I=/dev/null:50333010   ($X=0  $Y=54) $J=50333010  $ZA=0   $ZB=""   $ZS=65536 ($S=66023400)

I have never seen this before! Any suggestions?

Here a simple test message:

2
0 393
Question Sebastian Thiele · Jul 17, 2019

Hi all,

is it possible to omit the typical XML header line

<?xml version="1.0" encoding="ISO-8859-1" ?>

when writing an the contents of a EnsLib.EDI.XML.Document  using the above mentioned operation. I´ve already digged into the config value Format. It only states that:

C(e) : output an XML header line declaring character encoding e. If e is empty use the encoding defined by the Adapter. If e begins with ! force the output stream's encoding. Note that this will be applied automatically for File Operations configured with a non-UTF-8 Charset

2
0 469
Question Thembelani Mlalazi · Sep 23, 2019

I am trying to return a stream soap response using web services I can call my web service supply it with a xml string which works fine . I then work on that XML and try to return  a Stream but all works in the production when my service receives the stream after I get the error  as if its trying to copy stream to a variable and I am confused as to where that operation happens.

The errors I am getting 
ERROR <Ens>ErrException: <METHOD DOES NOT EXIST>zCopyFrom+28^%Stream.TmpCharacter.1 *Rewind

and here is the stack trace in case I am missing something

3
0 993
Question Scott Roth · Sep 19, 2019

We have a case where we have 1 message coming in, but then sending two messages out to the same location. Even with FIFO sometimes the messages get out of sequence depending on what is need to be done to the message in the DTL before send. Is it possible to call sleep or Halt or write some kind of a function to put a pause in a routing rule between two sends?

5
0 797
Question Jeffrey Drumm · Sep 17, 2019

I've created a scheduled task that dumps HL7 messages to flat files. It uses the OutputToLibraryStream() method of EnsLib.HL7.Message. I'd like to be able to run it on a mirror member host whether it's primary or backup.

When run against a database that's mounted read-only, it works fine. However, when I attempt to run it against a mirror backup database, I get the following error:

#5002: Cache error: <PROTECT>%LoadData+7^EnsLib.HL7.Message.1

Tracing that back to the source, I find:

Lock+(^EnsLib.H.MessageD(id)#"SE"):$zu(115,4)

9
0 580
InterSystems Official Pete Greskoff · Sep 19, 2019

InterSystems has corrected a defect in applications that use Unicode character 223 (ß). This defect can result in incomplete query results, class compilation errors, and removal of custom SQL privileges.

This problem occurs on systems that are running or have previously run on:

  • Caché and Ensemble 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core versions 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare Health Connect 2019.1
  • InterSystems IRIS data platform – all currently released versions
  • InterSystems IRIS for Health – all currently released versions

The defect is triggered by data and component names containing Unicode character 223 (ß). In the versions listed above, an uppercase conversion incorrectly maps that character to Unicode character 7838 (ẞ).  Applications perform this uppercase conversion using features such as $ZCONVERT and %SQLUPPER.

Problems can occur when accessing data or classes created or modified on a product with a different uppercase conversion than the one currently in use.

0
0 292
InterSystems Official Pete Greskoff · Sep 19, 2019

InterSystems has corrected a defect that could lead to invalid backups on Windows platforms. The defect causes upgrades to disable the EnableVSSBackup setting. By default, EnableVSSBackup is enabled (value set to 1) and the upgrade sets its value to 0. Windows VSS backups taken with this setting disabled may contain invalid CACHE.DAT files.

This problem is limited to Windows platforms on the following versions:

  • Caché and Ensemble 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core versions 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare 2019.1 (Unified Care Record, Patient Index, Health Insight, Personal Community, and Provider Directory) on Core version 2018.1.2
  • HealthShare 2018.1 (Information Exchange, Patient Index, Health Insight, and Personal Community) on Core versions 2018.1.1 or 2018.1.0

The defect only occurs if you are upgrading to a version listed above. Once you have upgraded to an affected version, you must manually enable the setting; otherwise, it will be disabled on future upgrades, even when upgrading to versions containing the correction.

For customers using Windows VSS backups, InterSystems recommends enabling this setting on any 2018.1 instances of Caché or Ensemble. Once you have enabled the setting, future upgrades (including to affected versions) will preserve its value.

0
0 265
Question Carl Tawn · Sep 17, 2019

Hi,

I'm trying to run a query from Management Portal, to get a count of messages in 10 minute periods for analysis. I'm using DATEPART to pull the hour and minute portions, but the value being returned is the UTC value, rather than the actual value.

i.e.

TimeCreated = '2019-09-10 23:01:45'

DATEPART(hh, TimeCreated)   is returning 22 rather than 23. 

How do i force DATEPART to return the correct display value?

5
0 313
Article Slava Rahmatoulin · Nov 5, 2016 9m read

This article will provide tips and tricks on customizing Ensemble business hosts with configurable settings.

Ensemble production Settings are configurable values that control the behavior of a production and its hosts.

The documentation for adding and removing Settings and specifying categories and controls for Settings is provided at the link:

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGDV_prog#EGDV_prog_settings

“To provide new settings for a production, a business host, or an adapter, modify its class definition as follows:

6
4 4932
Question Warren Grob · Aug 29, 2019

Is it possible to create a task that will initiate a Business Service that is dependent on the completion of a separate EDI data process?

I have a complex data flow with multiple EDI processes where one process must run and produce one or more files that get deposited in the source folder for the next EDI process.  The entire process is currently set up where 2 of the EDI processes execute at a specific time.  The problem with that is when a network or server interruption occurs at the time they are supposed to start, it causes a complete failure of the entire process.

1
0 257
Question Scott Roth · Sep 12, 2019

After upgrading I ran a $SYSTEM.OBJ.CompileAllNamespaces("u"). What I got in return was kind of a shock.

In reviewing errors I am seeing code being referenced but no longer applies. It is referring to stuff that might of been defined in the Context , Formal Spec ,Thread , etc.

ERROR #5373: Class 'osuwmc.CPD.DataStructures.TblPharmacyDEA', used by 'osuwmc.CPD.BusinessOperation:SelectProviderTempDEA:FormalSpec', does not exist

ERROR #5373: Class 'osuwmc.FeederPat3BPLTest4', used by 'osuwmc.FeederPat3BPLTest4.Thread1:compileafter', does not exist

1
1 609
Question Sylvie Greverend · Aug 25, 2019

Trying to modernize tasks I have to do on cache like change global variables on different servers, different namespaces....

Actually, I have a bash script  doing ssh on each server and running bash  script on each server like this

echo "zn \"namespace\"
s ^Var=1
"|csession ensapp

But this is not clean/modular/..... I was thinking about using Ansible - as it is exactly what I need to do all the git pull. But I am not sure how to interact with cache. A shell ansible module - no way as it does not manage state...... Is there a way to interact with cache in a command line other than csession?

3
1 877
Question Eduard Lebedyuk · Sep 8, 2019

I'm writing "Finder"-like dialog and need to get list of BPL classes.

The query is dependent on current "path" - it outputs all BPLs in the current path (if any) and all sub-packages which contains BPLs.

So far I have this query:

Query getBPL(path, needPlus = {(path'="")}) As %SQLQuery
{
SELECT DISTINCT $PIECE(Name, '.', 1, $LENGTH(:path, '.') + :needPlus) Name
FROM %Dictionary.ClassDefinitionQuery_SubclassOf('Ens.BusinessProcessBPL')
WHERE Name %STARTSWITH :path
}

My problem is, if I'm not in "root" path I need to add additional dot level, but in root path I only need to add one.

2
0 515
Announcement Jacquie Clermont · Sep 6, 2019

Hi Community,

Our latest issues of Developments  and Developments Healthcare Edition have been posted to the Developments Archive site, where you'll also find other previous issues. Learn about InterSystems API Manager, preview releases of InterSystem IRIS and IRIS for Health, and live webinars this month about how you can easily move your Ensemble or Caché applications to InterSystems IRIS. 
 

Optimize your investment in InterSystems technology by subscribing to these and other InterSystems publications.

0
0 285
Question Robert Hanna · Aug 23, 2019

Hi all, 

I am trying to create a method to count the number of entries in a global, including all subscripts. I am having a bit of trouble getting the code to make it to the second subscript. When I get to the position where my key is "Canada" and I add a comma and empty quotes to it, it returns USA as the new key when I do the order function. Is the $Order or the global not able to use a single string to represent multiple subscripts?

Here is my global structure:

20
0 849
Announcement John Murray · Sep 6, 2019

We've just published an update to the Serenji extension for VS Code. Starting with this version (3.0.7) you can now debug the code that implements your REST services. Here's a taster:

Read more about Serenji on Open Exchange.

0
2 554
Question Scott Roth · Sep 5, 2019

Currently we are using Health Share 2015.2.2, and looking to upgrade to the latest version in the next month.

From what I understand we have to upgrade to 2017 or 2018 prior to going to 2019.1 since 2019.1 is on the IRIS platform.

In trying to outline my steps in the upgrade process I came up with a question.

  • Can a Full System Backup from 2015.2.2 be restored into 2019.1?
  • Do I have to restore the 2015.2.2 back up into 2017 or 2018, then do the 2019.1 conversion?

Has anyone had experience with this? or should I open a ticket with WRC?

Thanks

Scott Roth

The Ohio State University Wexner Medical Center

5
0 529
Question Jose Antonio Benitez · Apr 11, 2019

Hi, I have used CSP to exec SQL selects from  any own NAMESPACE. But in our servers we have many SQL GATEWAY CONNECTIONS.

I'd like to create a CSP page that could use these gateway to exec SQL using these gateway connections, only Administrators will use that page to launch many select at many dsn. I'm not sure if we must deploy that CSP on %SYS namespace and how to use DSN(SQL Gateway connections) that are defined on server.

Anoyone has made that?

For example:

DSN CLIENT ONE

DSN CLIENT ONE

CSP Webpage:

TEXTBOX: Introduce your select:

select count(*) from product where stock<100 

OPTION BUTTON:

1
0 349
Question Kurro Lopez · Sep 4, 2019

Hello everyone,

We have a process that is listening to an FTP service to collect some CSV files and process them. The process works correctly and when it ends it clears the directory waiting for it to enter some other file.

We have been receiving the following error message for a long time:

ERROR <Ens>ErrGeneral: Error in SFTP Dir() ERROR #7500: Error DirEnum SSH '-2146430967': 'SSH Error [80101009]: Would block waiting for status message [80101009] at SFTP.cpp:150,0

This happens when there are no files to process and appears from time to time, maybe every 20 minutes.

4
0 1007
Question ED Coder · Aug 30, 2019

Hi, Is there a way to count the number of segments in a HL7 Mesage? I tried the examples from the other answers but nothing works for me.

I am writing a function to get the last OBX segment field value 5. Below is a sample screenshot of what I want.

The number of obx segments can change, so I want to count the last obx segment and then get the field 5 value.

Would appreciate some guidance on this.

10
0 3468
Question Tey Kitthajaroenchai · Aug 29, 2019

Hi, I’m trying to setup a Business Operation where the Property is a drop down list of Strings.  I was able to produce the desired effect but only using a hard coded list like Property LookupProp As %String(VALUELIST = ",value1,value2").  Instead I would like it to be populated from lookup table so I created a method to use SQL to fetch the result set from a Lookup table and then return it as the desired string. But doesn't allow me to do declare the property using the method like this: Property LookupProp As %String(VALUELIST = ##class(MyClass).GetLookupValues());

6
2 406