Question Alexey Maslov · Sep 2, 2020

It's well-known among Studio users that besides few predefined code fragments (for ObjectScript, Basic, MV Basic) it's possible to add user-defined code fragments. I found it rather convenient to use them as patterns that help to follow some conventions (internal standards) of writing, say, methods descriptions.

But I didn't find a way how to share these patterns, except dumb copy-pasting. Did somebody succeed with this task? Any help would be appreciated.

10
0 410
Discussion Dmitry Maslennikov · Sep 4, 2020

The use of Source Code Control systems in development is important. And there are a few systems known in the world, like GIT, SVN (Subversion), Perforce, Mercurial. Where the most popular nowadays is the git. Using it is very useful in many cases, but mostly it depends on the code as text, which can be compared between commits, branches, or versions of releases and so on. 

And InterSystems ObjectScript is not an exception, for many years it was possible to use SourceControl class in Studio, which helps to work with any Source Code Control System, and some companies already used it for many

0
0 376
Announcement Daniel Kutac · Aug 27, 2020

A Webinar was held today for our Czech and Slovak partners and end users. This webinar was an online version of what we originally planned to present earlier this year in Fabrika hotel, Humpolec as a workshop. Due to the current epidemiologic situation a decision was made to move the workshop into the virtual space.

5
1 379
Question Anna Golitsyna · Sep 1, 2020

Hi,

I exported selected globals from a Cache 2017 database into a single 4 Gb gof file. Now I tried to import from this file via Management Portal on a different machine . Only about half of the globals was imported and my attempts to select additional globals led to nothing, no new globals have been imported. Well, obviously I am mildly curious what's going on and how can I see the corresponding error which did not appear in the Import window but I can also shrug it off and consider what should I do next.

I am now considering exporting and importing globals programmatically in a loop, say, via

23
0 1365
Question alex chang · Sep 3, 2020

I  have java  language experence. If I need parse a binary tcp packet . like following format

encoded string and send it to peer by tcp

1byte msg type + 4 byte(unsigned int) + raw byte(body)

To parse this package , Some Java code like this:

byte[] data = new byte[1024];

Bytebuf buf  = new ByteBuf(data)

byte type = buf.read()

int len = buf.ReadInt()

byte[] bodyBuff = new byte[len]

buf.Read(bodyBuff)

String str = new String(strBody)

So, does Objectscript have similar functionality to achieve similar results?

Tks.

1
0 421
Question Armin Gayl · Aug 7, 2018

Hello,

I would like to schedule the Database Compact and Freespace methods as legacy tasks.

Has anyone implemented this yet?
Is this even possible? 

The request for this is due to the fact that we have 3 interfaces in a namespace whose messages are deleted after 7 days. All other messages in this namespace should be kept for one year.
This leads to a certain fragmentation. Furthermore, the messages to be deleted are relatively large (MDM^T02 > 32MB), which in turn leads to a fast growth of the database size. 

How would you solve this problem?

With kind regards

Armin Gayl

1
0 642
Article Daniel Tamajon · Sep 1, 2020 5m read

Error management on InterSystems languages has been evolving along time. Next, we will show the different implementations and why you should use the TRY/THROW/CATCH mechanism.

You can read official error recommendations here.

InterSystems will not mark as obsoletes the non-recommended error management methods to allow giving support to legacy applications. We recommend using tools like objectscriptQuality to detect that legacy unrecommended usage along with many other possible issues and bugs.

$ZERROR

$ZERROR is the older error management mechanism, supporting different implementations from

2
3 995
Question Oliver Wilms · Aug 19, 2020

I was able to define ECP connection in Installer class that I run when I build docker image for my Docker IRIS application. Now I start to use Amazon ECS and Autoscaling. When a new instance is created and it runs the IRIS container, I want it to "register" as an Application server on the remote database server. What code can I execute to add an ip address as an Application Server?

2
0 555
Question Salma Sarwar · Sep 6, 2019

Hi All

I am writing a class to take a general HL7 replace the non ASCII characters in all the segments to construct another message.  I have the following solution working to an extent however it is inserting \r at the end of the segments that have been transformed.  Firstly is this the correct approach and secondly how do I get rid of \r at the end of the segment that is affected?

Thank you for your help.

ClassMethod Transform(source As EnsLib.HL7.Message, Output target As EnsLib.HL7.Message) As %Status
{
Set $ZT="Trap",tSC=$$$OK
Do {
Try {
#Dim tMSHin As EnsLib.HL7.Segment
#Dim tSegIn As EnsLib.HL7

1
0 1116
Question Ben Anderson · Aug 31, 2020

I'm trying to parse some XML but I ran into an issue where my data has a / in it (see below).

<pArray index="0">/shared/BENANDERSON</pArray>

When I ran it, I got this error.

ERROR #6232: Datatype validation failed for tag, pArray (ending at line 1 character 183), with value: /shared/BENANDERSON

Here is the code where I found the issue occurring. The XML reader must see the / as the invalid character. The value of P0 eventually ends up as null which causes another issue downstream. Is there a way for me to proceed with the / in the data? Thank you!

do %request.Content.Rewind()
set content = %request

5
0 933
Announcement Guillaume Rongier · Aug 12, 2020

Hello,

Recently I tried to connect to JDBC on IRIS 2020.3+ and I came across the following error:

 SQL Error [461] [08S01]: [InterSystems IRIS JDBC] Communication link failure: Communication error: Server closed communication device

This error implies that the port is not open.

Checking with the netstat command:

irisowner@78c3e30b7f41:/opt/irisapp$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State     
tcp 0 0 0 0.0.0.0:1972 0.0.0.0:* LISTEN    
tcp 0 0 127.0.0.11:38005 0.0.0.0.0:* LISTEN    
tcp 0 0 0.0.0.0:52773 0.0.0:*
1
0 1154
Question ED Coder · Aug 27, 2020

I have a list of 300 code combinations in the following format, which I plan to load into a global

X123, Internal health

X234, external health

X345, Peripheral health etc..

I want to get the code from the DG1 segment, compare to the global, and add a description. Is there an easy way to do it?

So in my DG1 segment If I get the code X123, what I want to do is check if the code is in the global and if it does add the description in the field.

So DG1 will look like this:

DG1|1|CDS||X123^^^|20200827141200|Primary||||||||||Dr. Who|||

and needs to be transformed as below

DG1|1|CDS||X123^Internal
7
0 300
Article Zhong Li · Aug 22, 2020 24m read

Keywords:  IRIS, IntegratedML, Machine Learning, Covid-19, Kaggle 

Purpose

Recently I noticed a Kaggle dataset  for the prediction of whether a Covid-19 patient will be admitted to ICU.  It is a spreadsheet of 1925 encounter records of 231 columns of vital signs and observations, with the last column of "ICU" being 1 for Yes or 0 for No. The task is to predict whether a patient will be admitted to ICU based on known data.

This dataset seems to be a good example of what's called "traditional ML" task.The data seem to have the right quantity and relatively right quality.

1
1 978
Article Robert Cemper · Aug 30, 2020 1m read

Caused by a conflict in the port assignment I get this  entry in mesages.log and SMP doesn't respond:

08/30/20-12:56:40:714 (15232) 1 [Utility.Event] Private webserver may not start on port 52773, may be in use by another instance
08/30/20-12:56:40:737 (15232) 0 [Utility.Event] Private webserver started on 52773

The first line is true, the second is just wishful thinking sad

demo code on GitHub

6
0 1068
Announcement Anastasia Dyubaylo · Aug 24, 2020

Hey Developers!

This week is a voting week for the InterSystems IRIS for Health FHIR Contest!

So, it's time to give your vote to the best FHIR solutions built with InterSystems IRIS for Health.

🔥 You decide: VOTING IS HERE 🔥

 

How to vote? This is easy: you will have one vote, and your vote goes either in Experts Nomination or in Community Nomination.

6
0 425
Article José Pereira · Aug 29, 2020 1m read

The fhir-react project defines a unique component which renders the interface based on FHIR resource type. There's no need for any configuration because the library uses the standard of defined by the resource type.

So, I decided to apply the same idea, but for charts. The basic idea is depicted below:

For instance, some FHIR resources like Observation, Condition etc., has a code. Thus, we can aggregate all codes and count them.

Such aggregation creates a standard data model.

Finally, this model could be adapted for any char library.

In order to demonstrate this idea, I implemented it for FHIR

0
1 596
Question Ba Moser · Aug 25, 2020

I use these example classes:
Class Sample.Address Extends (%SerialObject, %Populate)
{Property Street As %String;
Property City As %String;
Property State As %String(POPSPEC = "USState()");
Property Zip As %String;}
Class Sample.Person1 Extends (%Persistent%Populate)
{  Property Name As %String;
Property Home As Sample.Address;
Property AR As array Of Sample.Address; }

In SQL it is Table Sample.Person1

No problem to define INDEX on Home_State

But Table Sample.Person1_AR

HowTo define an INDEX on AR_State ?
Index st On AR.State;

Does not compile!

12
0 753
Article José Pereira · Aug 29, 2020 2m read

The fhir-react project is a React UI framework based on Google Material Design, which covers almost all FHIR resources for versions DSTU2, STU3 and R4.

It design it's really friendly - there's just one component! As FHIR resource types are standards, the framework resolves internally what rendering class must be used.

To display your FHIR resource just write this component:

<FhirResource fhirResource={fhirResource} fhirVersion={fhirVersions.STU3} />

Where fhirResource is a JSON containing any FHIR resource.

In FHIR REST API, there's an operator which grabs all resources from patients: $everything:

0
1 2624