In this 3-part series of articles, is shown how you can use IAM to simply add security, according to OAuth 2.0 standards, to a previously unauthenticated service deployed in IRIS.
In the first part, was provided some OAuth 2.0 background together with some IRIS and IAM initial definitions and configurations in order to facilitate the understanding of the whole process of securing your services.
I am trying to create a database using python. The example shows setting a Name string and a Properties object containing Directory=.
; Use class methods to create an instance
%SYS>s Name="ABC"
%SYS>s Properties("Directory")="c:\abc\"
%SYS>s Status=##Class(Config.Databases).Create(Name,.Properties)
%SYS>i '$$$ISOK(Status) w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
How do I update and pass the Directory property using Python?
We are glad to announce that DBeaver has supported InterSystems IRIS out-of-the-box since version 7.2.4. You don't need to configure it manually anymore, just find the IRIS icon in the Connections list.
As you know the concept of ObjectScript Package Manager consists of ZPM client - client application for IRIS which helps you to install packages from the registry. And the code which works "on the other side" is ZPM Registry - server which hosts packages and exposes API to submit, list and install it. Now when you install the ZPM client it installs packages from community package registry, which si hosted on pm.community.intersystems.com
But what if you want your own registry? E.g. you produce different software packages for your clients and you want to distribute it via private registry? Also, you may want to use your own registry to deploy solutions with different combinations of packages.
Is it possible? The answer is YES! You can have it if you deploy ZPM registry on your server with InterSystems IRIS.
To make it happen you would need to set up your own registry server.
Has anybody tried to extend the Menu on Management Portal? I like to add a new page or a dashboard that will be created soon to the Management Portal and allow others to use it also. I understand there are risks that I could lose things during an upgrade. I am okay with that. Does InterSystems support such an effort?
Say I have an ObjectScript object called Book. It has 2 properties title and author. It extends JSON.%Adaptor, so I can call book.%JSONExport() and get this output:
{ "title": "For Whom the Bell Tolls", "author": "Hemmingway" }
In my web service I want to have a search function that returns an array of Books along with the total number of responses, like this:
If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).
In the WRC, we frequently see customers contact us because their Web Gateway is unable to serve web pages. This article will explain a frequent reason why these errors can occur, and explain some tools which can be used to debug the problem. This explanation is focused on the Web Gateway serving InterSystems IRIS instances, but the same explanation should apply to the CSP Gateway serving Caché instances as well.
I've successfully installed and configured the custom MESH API supplied by intersystems. I'm able to send HTML rendered documents directly to GP's using Kettering.xml.
Ideally, I'd like to be able to send PDF/RTF files rather than HTML. Is this possible and if so can I still use Kettering xml? I know FHIR is the preferred method of transmission but i've tried sending a test FHIR message through MESH to EMIS but it's not displaying so I'm not sure if EMIS is able to display FHIR formatted messages.
OpenAPI-Client Gen has just released, this is an application to create an IRIS Interoperability Production client from Swagger 2.0 specification.
Instead of the existing tool ^%REST that creates a server-side REST application, OpenAPI-Client Gen creates a complete REST Interoperability Production client template.
Hello, I need to use IRIS to connect to an MSSQL base. It has to be done via ODBC, I can't use JDBC at this time by client option.
I am trying to use Microsoft Driver libmsodbcsql-13.1.so.9.2
But I can't, my attempts result in: Connection failed. SQLState: () NativeError: [11001] Message:
I have done all DSN configuration, and my configuration is listed in SQL Gateway Connections. I know it's working, because when I run a test with isql I have the information that connects to the bank.
I want to check patient class in multiple rules, since the message structure is different to reach out to patient class value, i created a method to get the patient class and put it in a variable. This variable i can use in multiple rules. But somehow function is not able to read the HL7 message. Any tips.
Hi Developers, We invite you to write a review on the InterSystems IRIS on Capterra. The first 100 reviewers will get a $20 USD gift card from Capterra and $25 VISA card from InterSystems for the published review!
Hi, please let me know where i find details on Objectscript internal implementation - is it an interpreted language ? - compiled into binary code (how - which compiler/toolchain ?) ? - support of LLVM ? thanks a lot Frank
I want to share a quick little method you can use to enable ssl with a self signed certificate on your local development instance of IRIS/HealthShare. This enables you to test https-specific features such as OAuth without a huge lift.
1. Install OpenSSL
Windows : Download from https://www.openssl.org or other built OpenSSL Binary.
Debian Linux: $ sudo apt-get -y install openssl
RHEL : $ sudo yum install openssl
I want to share with you the approach you can use working with Unit Testing which I personally find very convenient and robust.
Will not talk much here about Unit Testing, we have documentation, enough good articles on the topic not only on the Internet but here on Developers Community too, e.g. this one.
How can you manage the Unit Testing of your ZPM module?
This is pretty handy with ZPM. It has a special command "test" which runs all the tests you mentioned in the module. You can execute it as shown below:
zpm:USER>module-name test
And this command runs all the tests you mentioned in module.xml.
If you're viewing a HL7 message in the front end, with a schema correctly applied, you can mouse over a segment or a field and see the schema path, e.g:
Mousing over PV1 in the above message shows the schema path is "PIDgrp(1).PV1".
I'm writing a utility function which you pass an EnsLib.HL7.Message into. I'd like to loop through each segment and take action dependant on that schema path. How can I reference or determine that schema path in code?
I'm not sure what the best practice is for this. I have a DTL for returning ORUs back to a hospital in a different time zone. They have requested that various timestamps have the time zone offset added to the HL7 format (%q%k, I think). First, I just wanted to be sure the system was aware it was DST. I was able to determine if DST is in effect like this:
Many organisations implement centralised log management systems to separate and centralise the log data in order to e.g. automate threat detection (and response) and to comply with regulatory requirements. The primary systems of interest are the various user facing applications, but increasingly also other kinds of systems including integration platforms.