Question
· Jun 1, 2017
Casting JSON

I'm doing a REST service. A method has as body parameter a JSON corresponding to a class A.

In my production I have class A so that I retrieve the parameters using a dynamic object, such that:

Set body = ##class(%DynamicObject).%FromJSON(%request.Content)
Set myObjectA = ##class(A).%New()
Set myObjectA.Id = body.Id
Set myObjectA.Name = body.Name
Set myObjectA.Date = body.Date
Set myObjectA.Salary = body.Salary

I would like to know if I can avoid doing the manual mapping, doing a casting, since I am sure that FromJSON will return a class A. Something like this:

0 9
1 978

Hi, I'm still very much new at Ensemble DTL. I am trying to set up an algorithm that requires loading fields from an OBX into an Array. I don't think that I know how to iterate through the OBXs. I know that there is a "for loop", that I will try to play with, but in the mean time, could someone tell me what is wrong with the following?

For example the code below works when I hard code the number 1 in OBXgrp(1)

0 9
0 586

I have a project where I will need to take an HL7 messages and transforms it into a multi-line flat file. I tried creating a complex record map but those require leading data to identify the record type I'm dealing with but based on the destination vendors spec they do not want any leading data prior to the actual data being sent. Also the lines in the output file require different pieces of data pull from different HL7 fields in the messages and in the third field in the flat file I need to generate a unique line number.

Any assistance would be greatly appreciated.

1 9
0 838
Question
· Jan 13, 2021
Handling Errors

I have a case where our EMR is sending data, but not all the values needed for the Ancillary are valued properly and causes that message to error/halt processing on the Ancillary system, not ideal but its what they do. I would expect them to still process the message except that 1 field, but they don't.

I want to add validation to make sure certain fields are valued correctly for the Vendor.

So I add some statements to take those items that don't pass this validation out to a batch file with headers.

0 9
0 1K
Question
· Jul 2, 2019
Ensemble Queue Counts Incorrect

A couple of our queues in Ensemble are reporting a queue count of one however there are no messages in the queue. Does anyone know what the best method is to reset to the queue count back to zero or remove one from the queue count?

0 8
0 602

I am pleased to announce the field test of Caché and Ensemble 2016.3 - with many new improvements.

The product team at InterSystems looks forward to your participation in the field test and feedback over the coming months.

Some of the more signification changes in 2016.3 are new RESTful APIs for iKnow and broader APIs for programmatic control of multiple servers (enterprise manager). As always, there are a host of scalability and performance improvements, including improvements to the core database and SQL. And hundreds of smaller improvements and corrections.

6 8
0 1K

I need to open a Windows explorer window by pressing button on a Zen page.

Is this possible.? I

performed a search but I did not find anything.

The command I used in the terminal was D $zf(-2,"START C:\WINDOWS\SYSTEM32").

I am not sure how to use this in a Zen application.

Any help will be greatly appreciated.

0 8
0 510

Created a record map to read a flat-file of lab results.

Have multiple lines that represent result components for a given order per pt MRN.

Grouping these records together based upon the order number in a custom service to create a single XML message.

Within the XML message, there are some fields that occur once and some that occur one or more times.

Within the record map, the fields/properties that occur once are configured as "As %String. The fields/properties that occur more than once are configured as "As List of %String.

0 8
1 733
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 184

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
11 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 657

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 84

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 471
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 395
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 703
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