Article Nigel Salm · Sep 16, 2021 3m read

I have just created a new Global Master Topic, "IRIS Cheatsheets". IRIS has introduced a lot of new functionality, especially in scripting languages, FHIR R4 support, enhanced Interoperability Tools, and IRIS Analytics. Having spent 35 years working on Windows-based PC's and Laptops, I have surprisingly little knowledge of Linux, Docker and Git. Furthermore, I have written almost every application and Interface in ObjectScript with splatterings of SQL, .Net, and Java Gateways and the most basic knowledge of WinSCP, Putty, SSH. All that changed when I received my first Raspberry Pi.

3
1 580
Job Nigel Salm · Sep 15, 2021

Hi

I am a very experienced Ensemble and IRIS developer who has spent his entire career either working for InterSystems or with their products. I was a Senior Sales Engineer with InterSystems for 14 years with a further four years working for InterSystems TrakHealth. I started working for the InterSystems UK office and from there I spent several years travelling to InterSystems offices in Europe, Scandinavia, the Middle East, Israel and eventually ending up in the South African office. I moved back to South Africa in 2001.

2
0 610
Article Nigel Salm · Aug 21, 2021 106m read

How to develop an interoperability solution in one code base and then use it to generate many individual interfaces

Overview

In 2009 I wrote the first of several Interfaces for LabTrak. The Interfaces allowed existing National Health Laboratory Services (NHLS) clients to send Patient Demographics and Orders to LabTrak. LabTrak would, in turn, send the results of those tests back to the client. I wrote 3 or 4 at the time and an Interface that fed data from LabTrak into the NHLS Corporate Data Warehouse.

2
0 787
Article Nigel Salm · Aug 18, 2021 15m read

Why I love ObjectScript and why I think I might love Python More


 

I was looking at the thread of messages on the topic of "Performance when constructing a comma-separated string", and I started writing a response but got distracted, the page refreshed, and I lost my text. I couldn't spend the time rewriting my response, so I started writing this document instead.

 

I started writing MUMPS at the beginning of my career. I wrote very tight and dense code blocks where exercises such as the string example were authentic challenges.

17
5 1759
Article Nigel Salm · Aug 11, 2021 3m read

I have attached a document that describes the product I have developed called NiPaRobotica Pharmacy. This is an interface I developed that accepts Pharmacy Dispense Requests and converts the line items on the order into dispense dialogues which it sends to pharmacy robots. I deployed the interface into 3 Hospital pharmacies two of which had 6 robots that were arranged in such a way that the dispense chutes channelled medications to desks by the pharmacists sitting in windows serving 1200 patients a day. The robots cut the average waiting time from 2 hours down to one hour.

2
1 520
Question Nigel Salm · Jun 11, 2021

Hi

I have had customers who would rather use a backup application rather than using IRIS Backups. In my experience, I have tried a number of free backup tools and I have paid for at least two "very good Backup Tools" and all of them have failed to create usable backups especially if my Ensemble/IRIS Instances are still running and even if Ensemble/IRIS have been shut down I have found that the backups created by these tools have around an 80% chance of being able to restore a system (let's assume that I am not trying to backup core Windows elements like the Registry and Windows system files).

4
0 643
Question Nigel Salm · Apr 22, 2021

NigelTSalm

Hi, I am loading zpm for the first time. I downloaded the %ZPM.Installer xml file and then tried to import it trough the Cache Studio. It threw up 4 errors Compilation started on 04/22/2021 23:41:53 with qualifiers 'cukb /checkuptodate=expandedonly' Compiling class %ZPM.Installer Compiling routine %ZPM.Installer.1 ERROR: %ZPM.Installer.cls(ExtractPackage+2) : MPP5610 : Referenced macro not defined: 'FileTempDir' TEXT: Set pFolder = ##class(%File).NormalizeDirectory($$$FileTempDir) ERROR: %ZPM.Installer.

3
0 719
Question Nigel Salm · Apr 21, 2021

Hi

How do I view the .int code of a compiled class in VS Code?

I am trying to use gj::Locate and the setup works, the explanation is all fine but when i paste an error from the Error Logs into the gj::locate it firstly tells me that it can't find the .cls and when I paste in the .int reference in the text box where you can specify the class, method, line+offset it replies that it can't find the item.

This is something to do with the objectscript extension rather than gj::locate

Nigel 

5
0 892
Question Nigel Salm · Mar 16, 2021

Hi 

I have a class in several namespaces. This class is what I call a common component in that it is a class that performs a certain set of functions that are common to a number of Interfaces. In this example the class is essentially a Message Queue. When a Data Event is created in my source database I want to invoke the CreateMessage() class method in all of Interface namespaces.

The common component class has a name DFI.Common.Queue.ODSMessageQueue. I can inherit the class into one or more classes e.g. DFI.Common.Queue.Interface1MessageQueue, DFI.Common.Queue.Interface2MessageQueue.

5
0 2035
Question Nigel Salm · Oct 4, 2020

Hi

How do I run a CSP page from within VS Code.

Secondly I have installed an extension called "Live Server" which will run .html pages within VS Code. Have any of you made use of this extension and if so can you specify that .csp pages are html pages?

If I press F5 in VS Code (just as you would in Cache Studio) in order to view a csp page when I press F5 in vs code it tries to open

http://localhost:57772/csp/bootstrap/

without the csp page name

If I add the csp page name in the url it works. The question is how do I link the csp page to the url passed to the browser

Nigel

6
2 1379
Question Nigel Salm · Dec 3, 2019

I need to add some extensions to the HS.FHIR.vSTU3,Model.Resource.Patient class and then use those extensions to convert incoming FHIR JSON to the FHIR Patient Resource and Likewise add functionality to create A FHIR Patient (target class) from my patient database into the FHIR Patient  Resource Object (target class)

 

many months ago I found a tutorial that explained all of this but can no longer find that tutorial.

 

Yours

Nigel Salm 

3
0 762
Question Nigel Salm · May 12, 2017

Hi

I am working on a project that will interact with some software called ROS (Robot Operating System). One of the development challenges we have is as follows:

 

ROS uses web sockets... So one connect with ws://localhost:9090 to the web socket server.  It starts off as http, but then "upgrades" to web socket.  It then keeps open this "tunnel" for bi-directional communication..

 

I need something like a HTTP Outbound adapter, but the Web Socket version of it...

Does anyone have any experience in this area?

 

Nigel

14
1 1397
Question Nigel Salm · Apr 28, 2017

Hi

I have an Ensemble Application with many classes and relationships between those classes.

I need a tool that can connect to Cache/Ensemble and create a visual ERD from the class definitions within a particular Cache Namespace

MS-Access is one option but it does not automatically create the relationship connectors between classes

Any suggestions

Nigel Salm

6
0 5518