Caché2016
Caché2016
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.
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
Hi Developers,
Please welcome the last video from Global Summit 2019 on InterSystems Developers YouTube:
⏯ Personas: Your Teams Quiet Partners
i want to restrict certain IPs (ip for now and looking for more such parameters) from running my URL for security purposes...
i wanted to know how to access their ips and compare them with the list of restricted IPs, also if not IPs are there any other unique browser parameters which can be used for access control? and enhance security
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.
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
Hi Community!
Enjoy watching the new video on InterSystems Developers YouTube:
⏯ Using IRIS for Health to Reduce Readmissions
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.
Hey Developers,
Here is a digest of the Developer Community videos on InterSystems Developers YouTube Channel in August 2020:
| New Videos | |||
| № | Video | Views | Watch Time (hours) |
| 1 | InterSystems IRIS for Health FHIR Contest Kick-Off Webinar | 151 | 17,8 |
| 2 | REST at Ease | 98 | 16,4 |
| 3 | Introducing Analytic Workflows | 76 | 9,0 |
| 4 | Building Data-Driven Web Apps | 67 | 7,1 |
| 5 | Interoperability for Health Overview | 57 | 3,4 |
| 6 | Searching for FHIR Resources in HealthShare Unified Care Record | 44 | 1,2 |
| 7 | Scaling Up and Out on InterSystems IRIS | 41 | 4,5 |
| 8 | Searching for FHIR Resources in IRIS for Health | 34 | 0,9 |
| 9 | InterSystems Global Masters Advocate Hub Overview | 34 | 0,6 |
I’m interested in our DeepSee references who define cubes with external databases.
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
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 is the older error management mechanism, supporting different implementations from
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?
Just like the title, I want to do code version control. I don't want to change CLS at will, but I don't want to use MakeClassDeployed, I just want to set the cls or mac to read-only and uneditable state。Does CLASS have such property?
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
I need to consume the content of ^SPOOL output over SQL.
^%SPOOL utilities don't look so promising
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.
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
I am trying to compare times on an IRIS instance. The times are in the W3C format (https://www.w3.org/TR/NOTE-datetime). Are there any in-built helper functions in IRIS to support time comparisons in this format or will I need to parse it using functions such as $zdateh and $ztimeh to do the comparisons?
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:*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
Keywords: IRIS, IntegratedML, Machine Learning, Covid-19, Kaggle
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.
Hi Developers!
The InterSystems IRIS for Health FHIR Contest is over. Thank you all for participating in our FHIR Competition!
And now it's time to announce the winners!
A storm of applause goes to these developers and their applications:
Caused by a conflict in the port assignment I get this entry in mesages.log and SMP doesn't respond:
The first line is true, the second is just wishful thinking ![]()
demo code on GitHub
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.
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
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.png)
No problem to define INDEX on Home_State
But Table Sample.Person1_AR.png)
HowTo define an INDEX on AR_State ?
Index st On AR.State;
Does not compile!
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: