Question
· Apr 3, 2024
Security Deployed classes

Hi Guys,

I'm converting our system from Ensemble 2014 to 2018 and we do have Security package of classes in deployed mode in our 2014 (eg. Users, Role, ...etc) which doesn't exist in our newly installed 2018, so how can I include those classes in 2018?

Thanks

1 8
0 185

Hi all,

I was wondering, what is your favourite public cloud provider?

What is your level of engagement with the cloud provider? Are you testing their infrastructure? In which case I'd expect you being progressing a parallel test with at least a second provider ;-) Or, are you already running a production environment?

--

OK, so, let me be the first one to share my experience with one specific cloud provider.

2 8
0 487

So I have an interesting problem. I am going to be using a process and rule to determine if an HL7 message qualifies to be sent out, then using a record map to write certain aspects of that HL7 message to disk (with an HL7 to record map DTL). This is simple enough but the recipient of this file is requiring a single record map entry per DG1 segment in the HL7 message.

For instance if said HL7 message for PATIENT^TEST has 3 DG1 segments, I would need to write three lines (or records) like so:

123^^^^MR|TEST|PATIENT|DG1(1) TEXT|DG1(1) CODE|DG1(1) DATE

0 8
1 1.2K
Article
· Jul 8, 2020 7m read
Tips for debugging with %Status

Introduction

If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).

15 8
12 2.3K
Question
· Aug 10, 2018
Ensemble - Username

Hi,

Not sure if is possible, but I am trying to find the way to show in the log the username of whoever enable a specific service. The idea is that a service is normally disabled..if someone enable it, the username will be reported to the log...

I have tried with $username but it only return "_Ensemble" when running from ensemble although it works in Studio.

Thanks

0 8
0 658

We have classes in a Production environment that are causing us some issues - example attached.

When we export them from the production environment the XML contains a snippet like the following:

<UDLText name="T">
<Content><![CDATA[
//Property any As list Of %XML.String(XMLNAME = "any", XMLPROJECTION = "ANY") [ SqlFieldName = _any ];

]]></Content>
</UDLText>

When imported and compiled into an Ensemble instance this class works as expected.

0 8
0 86

Hi All,

I created a Business Operation to Integrate with Amazon S3.
I have used HTTP Outbound Adapter for the same. Used Get method of Adapter Class.
Basically in a request I want to send Unique File Name and File and in Response I want to get Version ID and if operation was successful, then set flag to true.

I have created a class for request in that I have two properties, as shown Below :

Property fileName As %String;
Property file As %GlobalBinaryStream;

This is in my Operation Class

0 8
1 1K

Dear All,

I am currently working on a project to record ORU^R01 into a global for a particular set of tests.

I have multiple OBX repeats that need to go into a specific fields withing one row/ record on the global.

I am having trouble finding a way to either count or loop though the OBX's correctly in ObjectScript often with the counter being undefined.

I have done this this way, as I am building upon an existing class to populate this global.

The latest iteration of my obx looping code is below:

0 8
0 1.5K

Hi, I want to create a service which on start will simply go through a list of values in a global and compare dates. If criteria is met, it will send an email.

But what kind of Adapter do I use? I see SQL, FILE, HTTP etc..etc.. But I dont want to use them

Please can you advice on how I should go about this?

Should I create a BS. Class and do onAdapterTASK() and simply build a method? Even then it is asking the kind of adapter I want

Would appreciate some guidance on this

Regards,

Eric

0 8
0 473
Question
· Feb 23, 2019
FileSpec wildcard question

For the FIleSpec on a file service can you use a multiple wildcard values like *CLINICALENCOUNTER*.xml?

It seems like you are restricted to a single wildcard value.

0 8
0 867
Question
· Apr 12, 2019
Timing of Database look up

We use a lot of external MS SQL calls to look up numerous things when it comes to HL7. I am running into an issue where the outbound calls are queued but the message is sent onto the next process before it gets a response. How do I get it to wait till the response gets back from the MS SQL call before sending it onto the next process?

Below is a screen shot of what I am trying to explain...Select Research Study executes at 8:33 the message is sent to the next process at 8:34, but the response of the MSSQL call doesn't come till 9:31.

1 8
0 397
Question
· Apr 26, 2022
CAST an average time problem

Hi guys,

I have a %Time filed with (Format=1) to allow showing hh.mm.ss and the field is showing fine in display mode eg:

it should show 00:07:30 but the seconds are cut off from it as below :

0 8
0 282

I have created a class file that I want to execute daily to gather Metrics (Message Header, Space Available, etc..) and write the data into a Cache table. Now that I have written the class I want to add it to the Task Scheduler within Ensemble to run every morning. How do I go about getting the class file created as a Task within the Task Scheduler? The Documentation isn't as clear cut for creating custom tasks as one would expect.

0 8
0 707
Article
· May 16, 2017 3m read
The COS Faker

Hi Community,

This post is to introduce one of my first project in COS, I created when started to learn the language and until today I'm keeping improve it.

The CosFaker(here on Github) is a pure COS library for generating fake data.

cosFaker vs Populate Utils

So why use cosFaker if caché has the populate data utility?

10 8
2 1K

Hello,

I want to convert a json, which passed on in the a REST call, into a request message.

I use method %ConvertJSONToObject of the %ZEN.Auxiliary.altJSONProvider class.

Set sc = ##class(%ZEN.Auxiliary.altJSONProvider).%ConvertJSONToObject(%request.Content, "TestRequest", .request)

Is there an alternative for this? I want to avoid to use the %ZEN library.

Best Regards

Roger de Coninck

0 8
0 719

Hello Everyone,

I have a healthshare web application with production, I try to make a field in basic setting of business service, and I would like to set a string to DISPLAYLIST and VALUELIST of that Property (string maked by query to sql table). I code the same here but it's syntax incorrect in DISPLAYLIST = GetTypeDisplay(), VALUELIST = GetTypeValue(). Someone know a best way to solved my problem? Thanks so much!

0 8
0 1.7K

I have a process that takes data from a CSV file (actually a record mapper object) and creates a nicely formatted JSON string I would love to send this along to a RESTful business operation. However no matter what I try, I continually get <INVALID OREF> errors when trying to populate the object that extends Ens.Request to give it the JSON string.

I can add strings, other objects, you name it - but stuffing a JSON formatted variable/object into another object I want to send someplace is proving to be an impossibility.

0 8
1 965

Hi, I am trying to transform a message to meet a third party specification, and would like to know if you can advice me on how to separate a single OBX segment into several segments based on a '.'

I would like to separate the segment where the . [marked in red] is into another OBX segment. So the next segment would be:

0 8
0 1.2K

How suitable is Docker for standalone deployment of an Ensemble version and Ensemble application together?

The context is deployment by an application partner of an integration application and the supporting Ensemble version as a single package (single file ideally), to multiple environments and to multiple customer sites.

I don't have experience with Ensemble on Docker so I'm wondering what gaps and pitfalls may exist.

3 8
0 1.6K
Question
· Oct 15, 2017
HL7 Email Operation

Dear All,

I'm to create a HL7 business operation that uses the Enslib.Email.OutboundAdapter to create and use AttachStream() to create a file attachment of the HL7 contents, using the RawContent property of a Enslib.HL7.Message.

The class compiles okay, however when I send a message to the class I get the following error:

0 8
0 1.1K

Hello,

I want to process more requests per second in Ensemble 2015 (soap service). My problem is in a business process that makes a great transformation. I thought that I can put its group size to 4 (the current value is 1), or put 4 business processes and apply, for example, the round-robin algorithm.
Which alternative is better?

0 8
0 562

Hi,

I'm getting mad trying to get data from an external REST service that uses Basic Authentication from Ensemble. The BO worked fine when I was using a test server without authentification, but as soon as we need to go to production I cannot have it working.

So far, I've created the username/password at the credentials page (Ensemble-Configure-Credentials). I've setup the BO to use this credentials. But nothing happens.

I've tried with the Rest Client (addon for Mozilla), and using the same address, port and user/pwd works just fine.

0 8
0 1.8K
Question
· Sep 13, 2018
Operators as Variables

We have the need to write a function that can loop through say a field in an OBX segment within HL7 and compare it to a string passed. Is it possible to have the user enter the Operator ( >,<,=,<>) as a variable inside Cache object script? Does anyone have any examples they can share?

Thanks

Scott Roth

The Ohio State University Wexner Medical Center

0 8
0 577
Question
· Jun 25, 2019
Cache Ensemble

Hello,

Working on to learn very basic CUSTOM Business Service which sends to a EnsLib.File.PassthroughOperation.

But operation is not writing to File and erroring out (No Stream contained in StreamContainer Request")'.

How do convert the object to STREAM and wrap in the StreamContainer so the operation does not error and write to a file.

Thanks.

Persistent Class

0 8
0 600