Question Lewis Greitzer · Nov 14, 2018

I created a custom class for a process that does some basic manipulation to an HL7 message. I'd like to be able to write some debugging to the process event log. How would I do that?

I've tried ##class(Ens.Util.Trace).WriteTrace("system","HOSP.IHE.PDQProcess","MessageHeaderHandler","Discarding input message")

but I get a runtime error when I try that. I know this is pretty basic stuff, but any help would be appreciated.

2
0 1156
InterSystems Official Jeff Fried · Nov 12, 2018

Note: there are more recent updates, see https://community.intersystems.com/post/updates-our-release-cadence

InterSystems is adopting a new approach to releasing InterSystems IRIS.  This blog explains the new release model and what customers should expect to see.  We laid this out at Global Summit at the end of the InterSystems IRIS roadmap session  and have received a lot of positive feedback from customers.

With this new model we offer two release streams:

1) An annual traditional release that we call EM (for Extended Maintenance)

2) A quarterly release that is tagged CD (for Continuous Delivery) and will be available only in a container format.

3
8 4371
Question Evgeny Shvarov · Nov 13, 2018

Hi Community!

Consider I have InterSystems IRIS server in a cloud and want to introduce a DR server for it.

Are there any requirements for DR server for InterSystems IRIS if it is in a cloud?

Should it be the same subnet? One private cloud?

Can DR server be placed on another cloud, say Primary on Google Cloud and DR on Azure? Are there any caveats/concerns?

3
0 496
Question Evgeny Shvarov · Nov 15, 2018

Hi All!

I asked previously about the DR server in the cloud but actually, I'm curious about the backup server to use as analytics server more than for recovery in DR case.

There is a recommended practice to use an async mirror as a server for BI (InterSystems Analytics, DeepSee)

The question is if I have PRIMARY in the cloud (AWS, Google, Azure, etc) "how far" should async mirror member be placed? Same cloud, same private cloud or it doesn't matter at all for analytics purposes?

3
0 428
Article Gevorg Arutiunian · Nov 14, 2018 2m read

(Originally posted to InterSystems CODE by @Dmitry Maslennikov) The following code snippet outputs message header data in Ensemble. The class method "fetchExecute" runs the process, and the result is stored in the argument "qHandle":


include Ensemble
Class DAiMor.fetchMessageHeaderData extends %RegisteredObject
{
 
Query Fetch(Namespace As %String) As %Query(ROWSPEC = "Namespace:%String,ID:%Integer,Type:Ens.DataType.MessageType,Priority:Ens.DataType.MessagePriority,Invocation:Ens.DataType.MessageInvocation,TimeCreated:Ens.DataType.UTC,TimeProcessed:Ens.DataType.UTC,Status:Ens.DataType.
2
0 714
Question Sean Connelly · Nov 16, 2018

Is there a responsive way to detect a source code change without using a source control hook?

Update

I have my own custom unit test tool which has lots of extra functions that I find useful such as Asserting HL7 Transformers and REST targets.

I have a studio hook that will send an event signal to my test runner that will automatically re-run a specific test class or test suite, for which I have a test runner viewing page that updates with the results.

There are some environments that already have a studio class registered and I don't want to shim something in-between the two.

8
0 665
Article Gevorg Arutiunian · Nov 16, 2018 2m read

The data model of your solution based on InterSystems platforms constantly changes over time. But what do you do with the data that was entered before? Back then, the data was valid, but what’s happening to it now after a number of data model changes? The answer to this question can be provided by the IDP DV tool that checks the property data of persistent and serial classes according to the types of these properties. In case any discrepancies are found, the tool generates a detailed error report for the user.

2
0 667
Question Alex Kogan · Nov 15, 2018

Greetings all,

I have a quick SQL question.  I am working with a class, which has a calculated property, which in turned indexed.
The calculation for this property is created based on another property value via: 
SqlComputeOnChange = attributes  - so basically every time I add a property attribute to my class, my new property 
is calculated based on some SqlComputeCode which calls some class method.

That initial setup works as designed.

Question: If my code for whatever reason gets to a ROLLBACK, does the calculated property always rolls back,
and it's index always cleared?

1
0 333
Question David.Satorres6134 · Nov 16, 2018

Hello,

We are trying to migrate all our production to new IRIS servers. To test everything is working fine, and to be able to script the process, we want to import the data into new IRIS servers using a backup file (created with ^BACKUP). But we've found that IRIS doesn't recognize Ensemble backups so we can't import it using ^DBREST  :-O

Any of you know how to import in IRIS an Ensemble backup file?

Thanks a lot,
David

3
0 655
Article Luca Ravazzolo · Jan 31, 2018 3m read

Containers

With the launch of InterSystems IRIS Data Platform, we provide our product even  in a Docker container. But what is a container?

The fundamental container definition is that of a sandbox for a process.  

Containers are software-defined packages that have some similarities to virtual machines (VM) like for example they can be executed. 

Containers provide isolation without a full OS emulation. Containers are therefore much lighter than a VM.

20
1 2816
Article Wilber Tang · Jul 25, 2016 1m read

EnsLib.HL7.Message.cls provides many API methods for manipulating an HL7 message.  RemoveSegmentAt(), for example, can be used to remove a segment by path or index, but only one segment at a time.   There may be times that you'll need to remove all segments within a group or even many groups of segments from the HL7 message.  Surely you can iterate through each segment in each group and remove them one by one, but there's a much easier way. 

With just one command, like below, you can remove all OBX segments in an ORU_R01 message (msg):

Set tSC = msg.SetValueAt(,"PIDgrpgrp(1).ORCgrp(1).

1
0 2627
Question brett morgan · Nov 13, 2018

Hi

Totally new to IRIS and Cache.

Trying to evaluate it and work out how we could use it.

As a standard application database. Object or relational etc. does not matter. 

Issue is ObjectScript.

So:

1) Can we develop, maintain and use an IRIS database and never use ObjectScript i.e. use only Java, Python, C++ interfaces etc. (exactly which one does not matter)? Would that make designing and using the IRIS database more prone to inefficiency and error?

2) Can we import an existing Cache database into IRIS and convert its ObjectScript code into Java, Python whatever?

4
0 1052
Question Ben Spead · Nov 14, 2018

I need to write a script to answer a couple of fairly simple questions:

1) What is the current routine DB (name and location) for this namespace?

2) What is the current data DB (name and location) for this namespace?

3) Is global ^ABC mapped to a different location than the default data DB?

Can anyone point me to some system APIs that would allow me to answer these questions?

Thanks!

Ben

2
0 611
Question Arun Madhan · Aug 15, 2018

Hi,

Trying to build a passthrough based on ASTM . I have created 2Way TCP/IP Business Service and specified a PORT (as Adapter Settings). The Source system is broadcasting from  IP 20:30:100:100 , Port 10000 . Ensemble is on 20:40:40:100 , What is the possible change that I have to implement to receive this broadcasted messaged ? . Should the Ensemble Server be on the IP range to receive the broadcast ? 

Many Thanks, 

3
0 538
Announcement Neerav Verma · Sep 17, 2018

Hello,
Fellow community members, here is an extendable / re-usable / generic pub-sub model.
An initial calling service reads a CSV file, parses through all records and transforms it to a generic JSON message.
The message is then transported via a pub-sub business process to the end-points Targets (business operations)
as configured for the subscribers for each Topic as demonstrated in the image below.


Steps and flow to implement this are as follows
1. Service 
a. Read a csv file, loop through all records
b.

10
0 1249
Question anas lamaizi · Nov 13, 2018

Hello 
Please I have a problem to save all name of files attached in table with date and load all files attached in directory 
My code HTML
-------------------------------------

<cache block="INC_REAPRO">
  <form method="post" id="formupload" enctype="multipart/form-data" action="cache-call:SubmitUpload^MyMac" data-upload-url="cache-call:FileUpload^MyMac">
    <input type="hidden" value="##/SERIENR##" name="SERIENR" />
    <input type="hidden" value='' name="FILE" id="upload-select-hidden" />
    <div id="upload-drop" class="uk-placeholder">
      <div id="upload-text" class="uk-text-center">
        <i

2
0 901
Question Jan Buschtöns · Nov 9, 2018

Hi,

I ran into the Issue https://hibernate.atlassian.net/browse/HHH-10620. The workaround  described at https://community.intersystems.com/post/support-java-hibernate-5 worked for me. I'm using Hibernate Version 5.3.2.Final.

It would be nice if someone from InterSystems could fix the the problem in Hibernate. That was mentioned in https://community.intersystems.com/post/support-java-hibernate-5 but it doesn't seem to have happened.

3
1 469
Question Paul Dayan · Nov 9, 2018

Can anyone tell me how to discover in ObjectScript the operating system and operating system version that Caché is actually running in? (Not the operating system the build was compiled for.)

11
1 1306
Question Justin Wilson · Nov 9, 2018

I need to dynamically create a class based on a parameter passed into a class method.  Basically the method takes in a string that contains the name of the class I need to create a new instance of. 

I need something along these lines. 

ClassMethod someMethod(className As %String)
{
	set classObject = ##class(className).%New()

...
}

Trying to do this right results in a class not found error because it seems to be treating the variable as a literal string.

3
1 1234