Article José Pereira · Jun 5, 2021 8m read

Introduction

This article aims to provide an overview of InterSystems IRIS FHIR Accelerator Service (FHIRaaS) driven by the implementation of application iris-on-fhir, available in OEX developed for the FHIRaaS contest.

A basic tutorial will guide you in configuring a function FHIRaaS deployment, including an API key and an OAuth 2.0 server.

A library to use FHIR resources through FHIRaaS also is briefly discussed.

Finally, some features of the iris-on-fhir application are shown in separted articles. You can check out the full code at the application’s github repository.

This content will be p

0
0 514
Question Tim Stowe · Jun 4, 2021

I'm probably missing something really basic here -

  • I spun up a copy of the Iris community edition AMI.  
  • Added Objectscript extension to vscode
  • Added objectscript extension pack to vscode
  • Added server manager to vscode
  • Connected to iris AWS instance using PuTTY
  • Changed password
  • in vscode, I used server tool to add the server

It seems to connect OK; I can see the %SYS and USER namespaces.  I clicked the "edit code in namespace" button and created a bit of hello world code.  However, when I try to save it, I get "failed to save file 'filename.mac' on the server."
I can connect via a b

1
0 398
Question Eduard Lebedyuk · Jun 4, 2021

Is there a way to add/substract from a pivot variable?

I have this MDX:

SELECT
  NON EMPTY [DateOfSale].[Actual].[YearSold].&[$variable.Year] ON 0,
  NON EMPTY [Product].[P1].[Product Name].Members ON 1
FROM [HOLEFOODS]

And with pivot variable Year equal to, say, 2016 it works:

Now I want to add previous year  first with one pivot variable and one explicit reference. It also works:

SELECT
  NON EMPTY
  {
    [DateOfSale].[Actual].[YearSold].&[$variable.Year],
    [DateOfSale].[Actual].[YearSold].&[2015]
  } ON 0,
  NON EMPTY [Product].[P1].[Product Name].Members ON 1
FROM [HO

3
0 223
Article Eduard Lebedyuk · Aug 7, 2020 5m read

In this article, I will show how you can easily containerize  .Net/Java Gateways.

For our example, we will develop an Integration with Apache Kafka.

And to interoperate with Java/.Net code we will use PEX .

Architecture

Our solution will run completely in docker and look like this:

Java Gateway

First of all, let's develop Java Operation to send messages into Kafka. The code can be written in your IDE of choice and it can look like this.

In short:

  • To develop new PEX Business Operation we need to implement  abstract com.intersystems.enslib.pex.BusinessOperation class
  • Public
7
1 1461
Article Jose-Tomas Salvador · Apr 8, 2020 6m read

This time I want to talk about something not specific to InterSystems IRIS, but that I think is important if you want to work with Docker and your server at work is a PC or laptop with Windows 10 Pro or Enterprise.

As you likely know, containers technology comes basically from Linux world and, nowadays, is on Linux hosts were it shows maximum potential. Those who use Windows on a normal basis see that both, Microsoft and Docker, have done important efforts during these last years that allow us to run containers based on Linux images on our Windows system in a really easy way... but it's something not supported for production systems and, this is the big problem, is not reliable if we want to keep persistent data outside of containers, in the host system,... mostly due to the big differences between Windows and Linux file systems. In the end, Docker for Windows itself uses a small linux virtual machine (MobiLinux) to run the containers... it does it transparently for the windows user... and it works perfectly well if, as I said, you don't require that your databases survive longer than the container...

Well,...let's get to the point,... the point is that many times, to avoid issues and simplify, we need a full Linux system and, if our server is based on Windows, the only way of having it is through a virtual machine. At least till WSL2 in Windows is released, but that will be another story and sure it'll take a bit of time to become robust enough.

In this article, I'll tell you, step by step, how to install an environment where you'll be able to work, if you need it, with Docker containers on an Ubuntu system in your Windows server. Let's go...

11
3 29866
Announcement Jamie Kantor · Jun 3, 2021

Hello All,

InterSystems Certification has developed a certification exam for HealthShare Patient Index and, if you match the exam candidate description given below, we would like you to beta test the exam.

Exam title: HealthShare Patient Index Technical Specialist

Exam candidate: An IT implementation professional who:

  • has 6-12 months experience with installing, configuring and supporting the HealthShare Patient Index product to provide either a standalone system or as a master patient index for the HealthShare Unified Care Record, and
  • also has domain expertise in the use of master patie
0
0 210
Question Nicky Zhu · Jun 3, 2021

Hi guys,

How can we remove a business host from a running production?

I've read and tested how to add it to a production, while when I try to remove it from the production with the following codes:

Set tSC = $$$OK
    Set prodName = "CDRDemo.DemoProduction"
    Set confName = "TEST1"
    Set className = "Demo.LISClient.Operation.PatientOperation"
    #Dim prodConf As Ens.Config.Production = ##class(Ens.Config.Production).%OpenId(prodName)
    Set itemId = ""
    &SQL(Select ID into :itemId from Ens_Config.Item
        where Production=:prodName
        and ClassName=:classNa

1
0 299
Question Jeffrey Drumm · Jun 2, 2021

I've poked through the class documentation and globals and I can't seem to find what I'm looking for, namely a mechanism that will give me the PropName key and value for each of the Items in an EnsLib.HL7.SearchTable definition. Is there some sort of query that will turn the list of Items in the XData SearchSpec section into a key/value pair of some sort?

For example:

<Items>
<Item DocType=""  PropName="MSHTypeName" Unselective="true">{1:9.1}_"_"_{1:9.2}</Item>
<Item DocType=""  PropName="MSHControlID" PropType='String:CaseSensitive' >{1:10}</Item>
<Item DocType=""  PropName="PatientID"  

laugh

1
0 321
Question Jeffrey Drumm · Jun 1, 2021

I've been tasked with an interface that needs to supply some additional metadata for the indexing of HL7v2 messages. After toying with a couple of ideas, I thought that it would be useful to subclass EnsLib.HL7.Message, add a %DynamicObject property, and store the metadata in it (it ends up getting sent to the target in JSON form anyway).

And, well, it seems to work just fine ... so far.

I seem to remember that %DynamicObjects are not persistent, and for that reason not something you would normally stuff into a database. I was a little surprised when things worked as I had hoped. With ZWRITE

4
0 1160
Article Katherine Reid · Dec 6, 2016 7m read

When using Studio, ODBC or a terminal connection to Caché or Ensemble, you may have wondered how to secure the connection. One option is to add TLS (aka SSL) to your connection. The Caché client applications - TELNET, ODBC and Studio - all understand how to add TLS to the connection. They just need to be configured to do it.

Configuring these clients is easier in 2015.1 and later. I'm going to be discussing this new method. If you're already using the old, legacy method, it will continue to work, but I would recommend you consider switching to the new one.

Background

These client applicat

7
4 6240
Question James Hipp · Apr 21, 2021

Hello,

We have a need to track Database changes over time - down to the SQL level of granularity if possible. Such as: User xyz runs routine ^abc and we get something similar to a changelog that tells us: table A had this value updated, insert, update etc....

Is that possible using IRIS level tools (Audit Log, Journal File, etc...) , is there a way to convert the global sets and kills from the journals into SQL level changes?

I also found a third-party java-based tool named Liquibase , but it seems more oriented to tracking schema and table based changes or pre-defined definitions.

3
1 599
Announcement Anastasia Dyubaylo · May 4, 2021

Hey Community,

Please join the next InterSystems online programming competition:

🏆 InterSystems FHIR Accelerator Programming Contest 🏆

Submit an application that uses InterSystems FHIR-as-a-service on AWS or helps to develop solutions using InterSystems IRIS FHIR Accelerator.

Duration: May 10 - June 06, 2021

Total prize: $8,750 

👉  Landing page 👈


15
1 2900
Question Yakov Berger · Oct 29, 2020

Hi,i have created a simple production with:

Business Service-EnsLib.HL7.Adapter.TCPInboundAdapter

Business  Process - EnsLib.HL7.MsgRouter.RoutingEngine

Business  Operation - EnsLib.SQL.OutboundAdapter

the sending application requires a  ACK wich is different than the ACK i choose from in the AckMode settings of the Business Service.

How do i create a custom ACK?

Thanks

4
0 798
Question A.R.N. H Hafeel · May 27, 2021

Hi community, 

I am in the process of building a React Native Application for a restaurant. 

I am not quite sure if we can use IRIS as the main database for this and if there is a possibility I am not quite sure how to do it. 

If there is a possibility could some one help me out with it please? 

Or do you think using AWS is a better choice?  

Please let me know your ideas and guidelines in the comments or please feel free to reach out to me directly. 

Hoping to hear soon. 

Regards.

2
1 424
Question wenjie zhao · May 24, 2021

HA backup strategy

we use Rose to do HA with cache2016.2, the database is placed on the hard disk array, which is essentially an instance, and the same array disk is mounted by rose switch, another mirror machine is made.

Is there any problem with this structure for disaster recovery and backup, I hope to give some advice. Thanks!

8
0 435
Article Anton Umnikov · May 31, 2021 6m read

All source code to the article is available at: https://github.com/antonum/ha-iris-k8s 

In the previous article, we discussed how to set up IRIS on k8s cluster with high availability, based on the distributed storage, instead of traditional mirroring. As an example, that article used the Azure AKS cluster. In this one, we'll continue to explore highly available configurations on k8s. This time, based on Amazon EKS (AWS managed Kubernetes service) and would include an option for doing database backup and restore, based on Kubernetes Snapshot.

Installation

Let's get right to business. Fir


2
0 1573
Question MohanaPriya Vijayan · May 28, 2021

Does InterSystems IRIS will support Visual Studio 6.0 Enterprise Edition (Visual Basic)?

We are in the process of transitioning Intersystems Cache 2017 to Intersystems IRIS 2020 version.

For terminal based applications we can able to use the same DAT file used for Cache with minor changes.

For Web based we are using Visual studio 6.0(Visual Basic). Will IRIS supports Visual Studio 6?

While I am configuring from that GUI application, I am getting the error like, Access Denied or No connection could be established. Same configuration followed in Cache that works. 

2
0 284
Question Daniel Fernández García · May 25, 2021

Hi,

I have created a method than evaluates an XML expression using the EvaluateExpression method. I need to replace an element value by other string but I couldn't find the way of doing it.

To get that, first I have created the "%XML.XPATH.Document" object using an stream and then I have evaluated the XML expression with the "EvaluateExpression" method. Once I found the element I would like to replace,  I got the value of the element using "do element.Read()" and "set cadena = element.Value" and then I realized some transformations like $ZCVT. Finally, I tried to insert the new string in the






1
0 788
Question Denny Zhu · May 30, 2021

when i connect to DB via DBeaver , it always report Connection refused, i tried both Cache and IRIS but same error, I have already download intersystems-jdbc-3.2.0.jar as IRIS Driver.

And meanwhile SqlDBx tool is able to connect via internal Intersystems Cache Driver.

2
0 1086