Clear filter
Announcement
Fabiano Sanches · Nov 1, 2022
InterSystems is pleased to announce the 2022.2 release of InterSystems IRIS Data Platform, InterSystems IRIS for Health, HealthShare Health Connect, and InterSystems IRIS Studio are now Generally Available (GA).
2022.2 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in 2022.2, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. The new Columnar Storage has been released, but it stills an experimental feature.
Release Highlights
Platform Updates
InterSystems IRIS Data Platform 2022.2 expands support to include the following new & updated operating systems for production workloads:
Ubuntu 22.04 LTS, retiring support to Ubuntu 18.04 LTS
Linux Red Hat 9, retiring support to Red Hat 7.
Better Development
Better Schema Management
Projection of List Collections
Performance Improvements
Speed, Scale, & Security
SQL Enhancements
SQL Process View
Distributing a Workload Across a Sharded Cluster
Lateral JOIN Support
Analytics & AI
Columnar Storage (Experimental Feature)
More details on all these features are available through these links below:
InterSystems IRIS 2022.2 documentation and release notes
InterSystems IRIS for Health 2022.2 documentation and release notes
HealthShare Health Connect 2022.2 documentation and release notes
How to get the software
As usual, CD releases come with classic installation packages for all supported platforms, as well as container images in Docker container format. For a complete list, refer to the Supported Platforms document.
Installation packages and preview keys are available from the WRC's Continuous Delivery Releases site or through the evaluation services website.
InterSystems IRIS Studio is available from the Components distribution page.
Container images for the Enterprise Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the InterSystems Container Registry using the following commands:
docker pull containers.intersystems.com/intersystems/iris:2022.2.0.368.0
docker pull containers.intersystems.com/intersystems/irishealth:2022.2.0.368.0
docker pull containers.intersystems.com/intersystems/iris-arm64:2022.2.0.368.0
docker pull containers.intersystems.com/intersystems/irishealth-arm64:2022.2.0.368.0
Container images for the Community Edition can also be pulled from the InterSystems Container Registry using the following commands:
docker pull containers.intersystems.com/intersystems/iris-community:2022.2.0.368.0
docker pull containers.intersystems.com/intersystems/irishealth-community:2022.2.0.368.0
docker pull containers.intersystems.com/intersystems/iris-community-arm64:2022.2.0.368.0
docker pull containers.intersystems.com/intersystems/irishealth-community-arm64:2022.2.0.368.0
IMPORTANT:
ARM and Intel platform containers are published under the same name. So on an Intel machine "docker pull containers.intersystems.com/intersystems/iris:1111.2.3.456.0" will return the intel image, on an ARM machine that same pull will return the ARM image automatically, without needing to have a special .../iris-arm image.
For a full list of the available images, please refer to the ICR documentation.
The build number for this developer preview release is 2022.2.0.368.0.
Announcement
Fabiano Sanches · Jan 31, 2023
InterSystems is pleased to announce the 2022.3 release of InterSystems IRIS Data Platform, InterSystems IRIS for Health, HealthShare Health Connect, and InterSystems IRIS Studio are now Generally Available (GA).
2022.3 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in 2022.3, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. The new FHIR SQL Builder and enhancements to Columnar Storage are included, but both are still experimental features (not for production, with an active Early Access Program in place).
Release Highlights
Platform Updates
InterSystems IRIS Data Platform 2022.3 expands support to include the following new & updated operating systems for production workloads:
Oracle Linux 9
SUSE 15 SP4.
SQL Enhancements
InterSystems IRIS SQL now offers a machine-readable format for query plans. Using this new option, the $SYSTEM.SQL.Explain() method will now produce a JSON-based rendering of the query plan with significantly more detail on the plan itself as well as the tables and indices it accesses. Where the previous XML-based format used simple English phrases to describe different steps, the new format is easier to consumer for tools that wish to perform more thorough analysis or graphical rendering of query plans.
This release introduces an opt-in capability to sample runtime parameters for SQL statements. The Statement Index already records a rich set of metadata such as detailed runtime statistics and query plans for each statement, which typically has any literals substituted for placeholders that parameterize the cached query code. Now, the statement index can be extended with a sampling of the actual runtime values for those parameters. These can then be combined with the normalized statement text to, for example, build a representative workload that can be run against another deployment, for example to benchmark a new hardware environment or experiment with a different set of indices for the schema.
InterSystems IRIS SQL now supports CREATE SCHEMA and DROP SCHEMA commands to include in scripts for setting up and tearing down your application environment.
Speed, Scale, & Security
This release offers full elasticity for InterSystems IRIS Sharded clusters. DBAs can now call an API method to mark a shard for removal. Once this method is issued, data immediately gets offloaded from the designated shard to other data nodes in the cluster and automatically disconnect the node when all data buckets have been successfully moved to other shards. This process leverages the same mechanism as Online Rebalancing, meaning users can continue to query sharded tables and ingest data into them while the data is being moved.
Analytics & AI
Updated version of InterSystems Reports (Logi Report 19.2): Key improvements are:
Bookmark feature - save parameters and filters on a web report
Report Studio available on the Report Server to provide additional report editing directly from Server
Updated version of Adaptive Analytics (AtScale 2022.3) Key improvements are:
Support for the timeline feature in Microsoft Excel
Data Catalog API to expose the AtSCale Semantic Layer to data catalog vendors
More details on all these features are available through these links below:
InterSystems IRIS 2022.3 documentation and release notes
InterSystems IRIS for Health 2022.3 documentation and release notes
HealthShare Health Connect 2022.3 documentation and release notes
How to get the software
As usual, CD releases come with classic installation packages for all supported platforms, as well as container images in Docker container format. For a complete list, refer to the Supported Platforms document.
Installation packages and preview keys are available from the WRC's Continuous Delivery Releases site or through the evaluation services website.
InterSystems IRIS Studio is available from the Components distribution page.
Container images for both Enterprise and Community Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the new InterSystems Container Registry web interface.
For additional information about docker commands, please see this post:: Announcing the InterSystems Container Registry web user interface. The build number for this developer preview release is 2022.3.0.606.0.
FHIR SQL Builder
As we described before, FHIR SQL Builder is an experimental feature and is part of an active EAP (Early Access Program).To get access to this feature, please, email Patrick Jamieson, Product Manager for IRIS for Health at patrick.jamieson@intersystems.com. Congrats on another successful release! Good to know, that now it's available for both platforms by the same name
$ docker manifest inspect containers.intersystems.com/intersystems/iris-community:2022.3.0.606.0
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1584,
"digest": "sha256:a9ad0e317042db836f3fb620200a0a269543a03714da475232b1a47ce8ce7839",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1584,
"digest": "sha256:80ffdd649c7ad9bc7d94a97538a88b0f11e15961a2ef9ea12715dba5ba2631a6",
"platform": {
"architecture": "arm64",
"os": "linux",
"variant": "v8"
}
}
]
} A note on the InterSystems Reports and Adaptive Analytics components:
Adaptive Analytics and InterSystems Reports are released independently of InterSystems IRIS but we group them in with the release announcement. Adaptive Analytics v 2022.3 and InterSystems Reports v19.2 are available from the Components distribution page and the InterSystems Reports Server v19.2 container is available from the InterSystems Container Registry.
Announcement
Fabiano Sanches · Apr 18, 2023
InterSystems is pleased to announce the 2023.1 release of InterSystems IRIS Data Platform, InterSystems IRIS for Health, HealthShare Health Connect, and InterSystems IRIS Studio are now Generally Available (GA).
2023.1 is an Extended Maintenance (EM) release. Many updates and enhancements have been added in 2023.1.
There are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Additionally, a new feature to provide the ability to use Foreign Tables is being released as "experimental" and will be accessible through an Early Access Program (EAP).
Release Highlights
Platform Updates
InterSystems IRIS Data Platform 2023.1 expands support to include the following new & updated operating systems for production workloads:
MacOS 13 Ventura.
Enhancing Analytics and AI
Columnar Storage: now supports production-ready Columnar Storage as a new storage option for IRIS SQL tables that offers an order-of-magnitude faster analytical queries compared to traditional row storage on IRIS, for specific use cases.
Interoperability and FHIR
Bulk FHIR Support: InterSystems Bulk FHIR export is a new capability of our FHIR server, which is a feature that is rapidly gaining favor in the market.
Enhancing Speed, Scale and Security
Foreign Tables: This release introduces a new (experimental) capability for leveraging external data in InterSystems IRIS. Foreign Tables present themselves as regular IRIS tables to any queries you write in IRIS SQL, but their data is not physically stored on IRIS. It may be in a remote file, a third-party database (on-prem or DBaaS), or a separate IRIS server to which an ECP connection would not be practical. In other words, the data in these tables is not managed by IRIS, but it is projected to IRIS. Remember that this feature is being released as "experimental" and will be accessible through an Early Access Program (EAP).
Memory Settings: New installations of InterSystems IRIS will now use smarter defaults for shared memory and lock table size settings. The new defaults will apply best practice configurations based off the configured global buffer size (which in turn considers available system memory if not set by the user) and work well for most workloads. Users may still override these defaults with specific values as before. Existing settings are not affected.
Platform Scalability: This release includes scalability enhancements that enable large production deployments to meet the most demanding workloads. This includes asynchronous reading of journal files when de-journaling and specific optimizations to the Enterprise Cache Protocol infrastructure to optimize resource usage and limit contention under very high load.
How to get the software
As usual, Extended Maintenance (EM) releases come with classic installation packages for all supported platforms, as well as container images in Docker container format. For a complete list, refer to the Supported Platforms document.
Installation packages and preview keys are available from the WRC's InterSystems IRIS Data Platform Full Kits or HealthShare Full Kits pages. Additionally, kits can also be found in the evaluation services website.
InterSystems IRIS Studio is available from the Components distribution page.
Container images for both Enterprise and Community Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the new InterSystems Container Registry web interface. For additional information about docker commands, please see this post: Announcing the InterSystems Container Registry web user interface.
The build number for this release is 2023.1.0.229.0.
Documentation
Details on all the highlighted features are available through these links below:
InterSystems IRIS 2023.1 documentation and release notes
InterSystems IRIS for Health 2023.1 documentation and release notes
HealthShare Health Connect 2023.1 documentation and release notes
In addition, check out this link for upgrade information related to this release.
Announcement
Evgeny Shvarov · Oct 2, 2018
Hi Community!I'm pleased to announce that we've just launched the new product in the family of InterSystems Data Platforms:InterSystems IRIS for HealthIRIS for Health — is the world’s first and only data platform engineered specifically for healthcare. It empowers you to rapidly create and scale the industry’s next breakthrough applications.Advanced FHIR-Based Solution DevelopmentRepresent all of your data as FHIR resources, and use our FHIR Server to simplify data sharing. Advanced development tools enable you to map between legacy data formats and FHIR to help you increase the value of legacy systems.Certified Healthcare InteroperabilityDeep support for FHIR, HL7 V2, IHE and other standards and protocols* ensures interoperability and improved workflow across the care continuum.*ASTM, CDA® and CCD®, CCDA, DICOM, EDI – ASC X12, HL7 V3, NCPDP, EDIFACT, ITK (England), DMP and HPRIM (France), SS-MIX (Japan), ADHA (Australia), xDT (Germany)Seamless Data ManagementSeamlessly handle multiple forms of data at high speed, with vertical and horizontal scalability. Rapidly build solutions using the tools and technologies that best suit your needs.Open AnalyticsEmpower solutions using our open analytics platform, with your choice of embedded, standards-based, and best-of-breed analytics technologies for exploration, analysis, and prediction.The official press release here!Stay tuned and we'll share with you more information on our new Data Platform!
Article
Evgeny Shvarov · Jul 30, 2019
Hi Developers!
This is the second post on the resources for Developers. This part is about Open Exchange
Using Open Exchange to Learn InterSystems
InterSystems Open Exchange is a applications gallery of tools, connectors, and libraries which InterSystems Developers submit to share the experience, approaches and do business. All the applications are either built with InterSystems data platforms or are intended to use for development with InterSystems data platforms.
If you are a beginner developer you can take a look at applications in Technology Example category. All the applications in this category come with open source code repositories, so you are able to run the samples and examples in a docker container with IRIS on your laptop or in the cloud IRIS sandbox. Examples:
Also, check Tools and Developer Environment categories to use the tools for developers on InterSystems data platforms. These categories contain applications which he;p developers in their day-to-day work to speed up the development process, setup modern ways of change management and continuous integration. Examples:
Frameworks category will help you to leverage interoperability libraries with popular frameworks to develop your solutions with InterSystems faster. E.g. you can use Python, node.js, Laravel, etc to build solutions with IRIS. Examples:
Also, use stars sorting to learn which applications are more popular amongst InterSystems Developers. And subscribe to OpenExchange tag not to miss the announcements of Open Exchange applications and don't hesitate to ask your questions on DC. It would be awesome to have a roadmap for beginners like this one:https://roadmap.sh/docker You might want to submit that here: https://community.intersystems.com/post/3rd-intersystems-ideas-contest @Elena.E6756 what do you think? Great idea! We can implement it as soon as experts can provide this roadmap for InterSystems products
Announcement
Evgeny Shvarov · Sep 24, 2019
Hi Developers!
If you happen to visit Global Summit 2019 don't hesitate to stop by Developers Community Booth (table 9 on Tech Exchange, 3rd floor) - we can help to submit your Open Exchange solution to ZPM Package Manager.
One package Output Capture by @David.Crawford is already packaged and can be installed with the following command:
zpm:USER>install output-capture
Also, come to chat on your dev experience and collect your GlobalMasters badge from @Anastasia.Dyubaylo ;)
Announcement
Thomas Dyar · May 27, 2020
Preview releases are now available for InterSystems IRIS Advanced Analytics, and InterSystems IRIS for Health Advanced Analytics! The Advanced Analytics add-on for InterSystems IRIS introduces IntegratedML as a key new feature.
The build number for these releases is: 2020.3.0AA.331.0
Full product installation kits, container images, and evaluation license keys are available via the WRC's preview download site.
Community Edition containers can also be pulled from the Docker store using the following commands:
docker pull store/intersystems/iris-aa-community:2020.3.0AA.331.0
docker pull store/intersystems/irishealth-aa-community:2020.3.0AA.331.0
Advanced Analytics is an add-on to InterSystems IRIS, and introduces IntegratedML, a new feature that brings "best of breed" machine learning to analysts and developers via simple and intuitive SQL syntax. Developers can now easily train and deploy powerful predictive models from within InterSystems IRIS, right where their data lives. Future versions of Advanced Analytics will comprise additional features and third-party components for advanced machine learning and analytics functionality. This release includes documentation for IntegratedML as a User Guide. See also content about IntegratedML on the Learning Services IntegratedML Resource Guide. Here is a quick demo of using IntegratedML:
[](https://asciinema.org/a/334969)
Article
Andreas Schneider · Mar 28, 2021
This small tutorial described how to „register“ the ADO.NET Database Provider (Driver) for InterSystems IRIS and InterSystems Caché on a Windows machine.
Before we start: Why need the ADO.NET Database Provider to be registered?
ADO.NET provides factory classes standardize the way programmer will create a provider-specific Connection. This simplifies the way programmers create provider specific instances in a generic data access API. Details about that can be found here: https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/obtaining-a-dbproviderfactoryIf an Application use this system to obtain a list of available Data Providers, the provider needs to be registered. In my example I want to use the .Net Data Provider for InterSystems IRIS in a MS SQL Server Integration Service Project. This Application (SSIS) use a Connection Dialog that lists all on this machine available\known Data Provider:
As you can see there are no InterSystems Provider available. The following section describes what needs to be done to list the provider on this connection dialog.
machine.config?!
Each .NET Framework data provider that supports a factory-based class registers configuration information in the DbProviderFactories section of the machine.config file on the local computer. The DbProviderFactories class uses the machine.config file(s) to resolve the invariant name to the appropriate provider factory type. The machine.config file is located in …\<windows>\Microsoft.NET\Framework\<version>\config\machine.config.
On my computer e.g:C:\Windows\Microsoft.NET\Framework\v4.0.30319\ConfigandC:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config
Add DbProviderFactories
Open the machine.config file with a text editor and search for “system.data”. You found possibly an empty block like this:
These are the values we have to insert for IRIS:
<add name="InterSystems IRIS Data Provider"invariant="InterSystems.Data.IRISClient"description=".Net Data Provider for InterSystems IRIS"type="InterSystems.Data.IRISClient.IRISFactory,InterSystems.Data.IRISClient,Version=4.5.0.0,Culture=neutral,PublicKeyToken=ad350a26c4a4447c"/>
… and this for Caché
<add name="InterSystems Cache Data Provider"invariant="InterSystems.Data.CacheClient"description=".Net Data Provider for InterSystems Cache"type="InterSystems.Data.CacheClient.CacheFactory,Intersystems.Data.CacheClient,Version=4.5.0.0,Culture=neutral,PublicKeyToken=ad350a26c4a4447c"/>
The “system.block” should now look like this:
Pay attention to the <DbProviderFactories></DbProviderFactories> tags!
Now start Visual Studio (Data Tools), create a SSIS Projekt and open the Connection Manager again. The dialog should look like this:
Great! The providers are listed!... unfortunately that is not enough. The providers are not working if you select one of the new entries you get this message:
That’s happened because the Provider are not known it the GAC (=global assembly cache), so the entries can’t be found*.
*If you have done an IRIS\Caché installation on your computer (or just the client tools) maybe the provider is already registered in the GAC and you don’t this message and all is already working. Congratulations! 😊
Register InterSystems provider in the GAC
To registered the InterSystems provider on a computer you can do it this way:
Find the files first:
Intersystems.Data.CacheClient.dll (for Caché)
InterSystems.Data.IRISClient.dll (for IRIS)
Within an IRIS installation you can find the file e.g. …\dev\dotnet\bin\v4.5Copy the files on your computer in a folder (InterSystems.Data.IRISClient.dll).
Now you are able to register the Provider in the assembly cache with the gacutil.
Using gacutil
If you have a Visual Studio installed you can use the Visual Studio Developer Command Prompt:
That has the advantage that you don’t need to look for the gacutil path, for installation just type:
gacutil -i <full path to your dll>\InterSystems.Data.CacheClient.dlle.g.: gacutil -i D:\dev\privat_repos\NativeCacheTest\lib\InterSystems.Data.CacheClient.dll
You should see the message: Assembly successfully added to the cache
To remove something from gac, use the option "-u": gacutil -u InterSystems.Data.CacheClient
Install both provider:
gacutil -i <full path to your dll>\InterSystems.Data.IRISClient.dllgacutil -i <full path to your dll>\InterSystems.Data.CacheClient.dll
If you don’t have the “Visual Studio Developer Command Prompt” you need to search the gacutil executable first. On my computer it is located at: "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe"
Install:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" -i D:\dev\privat_repos\NativeCacheTest\lib\InterSystems.Data.IRISClient.dll
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" -i D:\dev\privat_repos\NativeCacheTest\lib\InterSystems.Data.CacheClient.dll
Remove:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" -u InterSystems.Data.CacheClient
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" -u InterSystems.Data.IRISClient
It works! :-)
And now… if you open the SSIS Project again, navigate to the Connection Manager it should looks like this:
You can now select the IRIS provider, see and configure all available connections details.
Thanks for reading.
Article
Iryna Mykhailova · Jan 3, 2023
Because I had no idea how to build an integration solution for HL7 and didn't know where to start, I decided to follow the course Building Basic HL7 Integrations with InterSystems on Learning portal to get at least the idea of where to begin. After I studied all of it, I decided it might be a good idea to share my thoughts and reflections about it with everyone.
This learning course consists of five steps:
Explore an InterSystems integration engine (30 minutes)
Route HL7v2 messages efficiently (1 hour)
Modify data to meet system requirements (1 hour 20 minutes)
Troubleshoot at the time of need (2 hours)
Practice skills from this path (1 hour 30 minutes)
But before we begin dissecting this course, here are some optional resources that may be useful if you're a complete newbie in InterSystems products:
Online Course: Introduction to InterSystems Products and Technologies (30 minutes)
Video: What is InterSystems IRIS for Health? (3 minutes)
The first course gives the basics of InterSystems products and technologies and lets students discover what products exist, how they are used, and how they compare to each other from a nontechnical perspective. It takes approximately 30 minutes to complete and consists of four instructional lessons and several quiz questions.
From the second course, you will learn what's InterSystems IRIS for Health. Using this platform, developers can create and scale healthcare applications with tools that are uniquely designed to meet the current and future needs of modern healthcare.
After the course in question, the system proposes the user to continue with two more courses:
Begin Building a healthcare production in a development environment (online course, 30 minutes)
Continue on to the next step with Building Advanced HL7 Integrations (learning path, 2 hours)
So, let's get back to the course at hand and look more in detail at these five stages.
The first one is the basic architecture and data flow of a production, the InterSystems integration solution. It takes around 30 minutes if you don't make pauses. This course consists of three lessons and several quiz questions after each lesson.
This part will teach you the basic architecture of integration capabilities and how data flows through these components, enabling interoperability between systems.
At the end of this course you will be able to:
Identify the parts of an integration engine
Explain the functions of business services, business processes, business operations, and adapters.
After a business service pulls data into production, it can:
Send messages to a business process or business operation.
Accept responses from a business process or business operation.
Return responses to calling applications.
Business processes can accept, return, and send response messages to and from business services and business operations:
Accept request messages from a business service or other business process.
Coordinate requests and responses from multiple production components.
Return responses to business processes or business services.
The main purpose of a business operation is to send data out of a production.
Within a production, adapters do the following:
Manage the specific technology and protocol used to communicate with an application.
Include details such as ports and message headers that help production communicate with the application.
Isolate connection-specific logic from the rest of the production.
Some adapters are bi-directional, allowing messages to flow to and from business services or business operations. There are two types of adapters:
Inbound adapters – used in business services.
Outbound adapters – used in business operations.
Describe message flow within an integration solution.
The second step consists of 1 online course, 4 videos and an exercise:
Course: HL7 Business Services and Business Operations (30 minutes)
Video: Configuring Validation of HL7 V2 Messages in Productions (6 minutes)
Video: Routing HL7 Messages (8 minutes)
Video: Using HL7 V2 Bracket and Parentheses Syntax To Identify Virtual Properties (6 minutes)
Video: Using the Expression Editor in Business Rules (8 minutes)
Exercise: Building a Message Router (15 minutes)
The course contains four lessons and several quiz questions after each lesson.
This part will teach you how to create, configure, and copy the business services and business operations used for HL7v2 message input and output into an InterSystems IRIS data platform production.
Upon completion of this course, you will be able to:
Create new HL7v2 business services and business operations in production (both with file and TCP adapters).
Copy an HL7v2 component already in production.
Configure HL7v2 business services and business operations.
The first video shows how to configure the validation setting on an HL7v2 message router to validate HL7v2 messages in interoperability productions.
The second video shows the HL7v2 routing rules in InterSystems IRIS for Health productions and how to use the rules editor to create a set of rules to evaluate incoming messages and route them to the appropriate downstream systems.
The following two videos give you an overview of using rules in the business process.
The last exercise will check if you understood how to create a message router and define message routing rules within an HL7v2 production.
You will get hands-on experience on how to:
Create an HL7 V2 production.
Build a message router.
Define message routing rules within a production.
The third step consists of an online course, an exercise and a video:
Course: Data Transformations Basics (1 hour)
Exercise: Building a Data Transformation (15 minutes)
Video: Designing Custom Schemas (3 minutes)
The course contains eight lessons and several quiz questions after each lesson.
This part will teach you how to create data transformations using the graphic interface of Management Portal, map fields, use functions to modify fields, and use literals as values for fields.
In the end, you will learn how to test and implement the transformation.
Upon completion of this course, you will be able to:
Explain possible reasons for using a data transformation.
A data transformation creates a target message based on a source message. Frequently, the resulting target message has both a different format and different data from the source.
Create a data transformation using the wizard in the Management Portal.
Describe when you would use two possible values of Create: copy and new.
Implement a function to change the value of a field.
Assign the value of a target field to a literal value.
Explain the difference between the if action and the switch action, and how to use them in your data transformations.
Test a data transformation.
The exercise will check if you have understood how to create a data transformation in an HL7v2 production. At the end of this exercise, you will be able to:
Create a data transformation.
Test a data transformation.
The final video will show you when and how to design custom schemas within your productions to handle messages that do not meet HL7v2 standards.
The fourth step consists of 2 online courses and a video:
Course: Searching Messages Using the Message Viewer (1 hour 30 minutes)
Video: Error Handling in HL7 Productions (7 minutes)
Course: Introduction to Troubleshooting Productions (30 minutes)
The first course contains four lessons and several quiz questions after each lesson.
This part will teach you how to navigate the Message Viewer and search for messages using information from the message header, message body, and message content.
Upon completion of this course, you will be able to:
Access and identify sections of the Message Viewer.
Message Viewer is a useful tool for searching messages in your system. For example, you can use the Message Viewer to find all messages from a local hospital in the last two hours or all bank transactions for a certain day.
Search for messages in the Message Viewer using base criteria, header fields, body properties, lookup table fields, and virtual document properties.
Resend messages.
The video will show you the troubleshooting options for HL7v2 productions in InterSystems IRIS for Health. You'll see how to use alerts to quickly resolve issues, how to handle bad messages and NACKs, and how to resend or suspend messages.
For example, we can add an alert in case of an error:
and see the reason for the error in the Event Log:
Additionally, we can add an alert if the incoming message is in the wrong format:
The final course contains five lessons and several quiz questions after each lesson.
This part will teach you how to troubleshoot productions, review locations and purposes of Management Portal pages to view logs, messages, queues and jobs.
Upon completion of this course, you will be able to:
Access the Management Portal pages: Configuration, Message Viewer, Event Log, Queues, and Jobs.
Find information to help with troubleshooting on the Management Portal pages.
Find information to help with troubleshooting in the Configuration page tabs: Log, Messages, Queue, and Jobs.
The fifth and final step is an exercise: Building Your First HL7 Production (1 hour 30 minutes).
The task is to move from a legacy system to InterSystems IRIS for Health and create a production HL7v2 based on a set of specifications, using an approach that creates an interface to generate the same messages as the old system.
At the end of this course, you will be able to:
Apply your knowledge of HL7v2 concepts to a real-world scenario.
Create your own HL7v2 production with InterSystems IRIS for Health.
I can say that this exercise requires more knowledge than was given during this training. But it is possible to open clues on how to do all the steps. Anyway, I found it very useful and instructive to do this last part. Made it a nice finishing touch to the 6+ hour experience.
If you are new to productions and/or HL7v2, this training will be a great first step. I totally recommend it.
As usual, if you have any questions about this topic or the training, feel free to ask them in the comments.
--
Disclaimer: All images are taken from the mentioned videos/courses and are the intellectual property of InterSystems. The InterSystems learning team thanks you for your honest review. I agree; overall, the training is a good introduction, but the fifth and final step is more difficult.
Announcement
Ming Zhou · Jun 2, 2023
InterSystems is pleased to announce the central component for InterSystems Supply Chain Orchestrator™, the 2023.1 release of InterSystems IRIS for Supply Chain, is now Generally Available (GA).
InterSystems Supply Chain Orchestrator is built on InterSystems IRIS®, our complete cloud-first data platform that enables a smart data fabric architecture to make it easier to build and deploy high-performance, machine learning-enabled applications that connect data and application silos. It brings together the power of InterSystems IRIS with supply chain-specific accelerators and frameworks to provide optimized solutions for supply chain orchestration, demand sensing and forecasting, fulfillment, and fast-moving consumer goods repackaging.
A key component of InterSystems Supply Chain Orchestrator is InterSystems IRIS for Supply Chain, which brings smart data fabric architecture offered by InterSystems IRIS closer to supply chain use cases and help to achieve accelerated time-to-value.
*: requires InterSystems IRIS advanced server
**: available through InterSystems Package Manager (IPM)
Feature highlights
InterSystems IRIS for Supply Chain 2023.1 offers the following capabilities on top of InterSystems IRIS:
A customizable supply chain data model
Built-in analytics cubes
KPI configuration framework
Issue lifecycle managements
Issue analysis and actionable insights
Full REST API support
Documentation and references
Product documentation: InterSystems IRIS for Supply Chain 2023.1
InterSystems online learning: supply chain learning path
InterSystems overview: supply chain
Is InterSystems IRIS for Supply Chain a seperate version of IRIS, with different commercial licensing models? Or can partners just go ahead and use it as part of IRIS?
Article
Iryna Mykhailova · Jul 22, 2024
One good thing about COVID-19 is that it taught people that online work and study are possible. I remember a week before the lockdown started, everyone said that working online was impossible, not secure, etc. And what do you know, it all became possible and "secure" in the blink of an eye. As with everything, it depends on whether a person is capable of organizing his or her day and their work or study attitude. Thus, I became a great believer in online education. As an associate professor who teaches databases, I find it beneficial to my schedule and students. One thing that studying online brings is flexibility. Another one is accepting third-party courses to grant credits to my students 😉
Considering that I'm teaching the basics of IRIS, I thought a new course, Getting Started with InterSystems IRIS for Coders, could be a relevant addition to my course. Therefore, I decided to follow the new Learning Path and see how it corresponds to my Syllabus and how many ECTS credits I can give for finishing it.
The Learning path consists of 6 steps:
Get an introduction
Get familiar with the tools
Develop an application
Connect with an external language
Expand your expertise
Assess your knowledge
At the very beginning of the Learning path, there is a link to enroll in classroom courses at your earliest convenience: Developing with InterSystems Objects and SQL, which lasts 5 days. I haven't taken this exact class, but from the description you can find in this series of articles by @Yuri.Gomes, it is really useful.
But let's get back to the Learning path at hand.
The first part is Get an introduction. It should take around 15 minutes to complete if you don't make pauses. It consists of 3 videos and an exercise. The first video, "Welcome to InterSystems," provides a very short description of InterSystems, its core principles, and its products. The second one, "What Is InterSystems IRIS?", provides a 4-minute description of InterSystems IRIS
and mentions its key features, for example, a massively scalable multi-model database:
I'd say this is my favorite image and the reason InterSystems Caché was chosen as an example of a Postrelational database more than 10 years ago. It gives me the possibility to explain how non-relational databases work based on different models while using the same core and language.
The third task, "Receiving and Routing Data in a Production", consists of a video and an exercise. First, you watch a video on the basics of interoperability and how to share data between systems using InterSystems IRIS. Overall, it was a quick overview of IRIS's interoperability capability.
The next step is to do an exercise. Basically, it more or less shows the production described in the video. This step took me a lot of time because I waited for more than an hour for the VM-based Learning Lab to start. And then, when it started, it kept disconnecting. Interestingly, you don't even have to do the exercise for this course to be marked as completed 😁 Just tick the checkbox under the video, and you're good to proceed. It kind of defeats the purpose.
The second part is Get familiar with the tools. It should take around 8 minutes to complete if you don't make pauses, giving you a general understanding of the Management Portal, Terminal, and useful extension packs of VS Studio to work with IRIS and how to use them. It consists of 3 respective videos:
Management Portal Overview for Developers
Install and Use ObjectScript Extensions for VS Code
Using the InterSystems Terminal
What was new to me was the possibility in the SQL section of the Management Portal to drag and drop the table name into the Execute Statement field to get the formed SQL select statement with all columns of this table mentioned in it — this is very handy!
Another useful tip is the usage of ! (exclamation point) to call the OS commands. For example:
The third part is Develop an application. It should take around 18 hours to complete and consists of 6 courses.
The first course is called Building a Server-Side Application with InterSystems, and it itself consists of 4 courses:
The first course has 4 parts:
a video called Get oriented, which is an intro to this course by @Derek.Robinson and @Brenna.Quirk
a video called InterSystems Architecture Overview, which talks about databases and namespaces by @Shane.Rose
an online course (30 minutes): Creating an InterSystems IRIS Class Definition with quizzes after each part. This course was interesting because it gives you step-by-step instructions on how to create classes, properties, methods, parameters, and, of course, the syntax of ObjectScript while teaching people how to use VSCode instead of Studio.
an online course (1 hour 30 minutes): InterSystems ObjectScript Basics with quizzes after each part. It shows how to use commands and operators in InterSystems ObjectScript to create variables, manipulate them in a number of expression types, and destroy them when needed. Moreover, it gave an overview of branching and loops to make decisions about manipulating variables and other operations.
The second course consists of 3 parts, one of which is optional:
1. a compulsory online course (30 minutes): InterSystems IRIS Objects Introduction with quizzes after each part. It goes into detail about working with classes, objects, methods, and properties.
A small comment
Some of the answers in the quiz in this module are debatable if you actually know how it works. For example, if we have a class Demo.Person
Class Demo.Person Extends (%Persistent, %Populate)
{
Property Name As %String;
Property Gender As %String;
}
and the question is "How many properties will the objects have?" answer 2 is not really correct, because there are properties inherited from %Persistent class, making it 4. But based on the info from the lesson, 2 is the correct answer.
2. a compulsory online course (30 minutes): InterSystems SQL Overview with quizzes after each part. From it, you will learn how to test SQL queries using both Terminal and the Management Portal, as well as how to use class queries, dynamic SQL, and embedded SQL queries within an InterSystems class.
Some more comments
In the following question, it really depends if the employee's name is a unique index because if it is, object access may be preferable, in my opinion.
But if taking into account just the info from the course, it is SQL.
Another thing, but I might have missed it, but I don't remember the explanation of -> operator in this course. It just appears in the video as a given that it's an implicit left outer join, but it doesn't go into detail.
3. optional link to the documentation: Basic Ideas in Class Programming
The third course consists of one exercise: Building a Server-Side Application with InterSystems IRIS, which should take 1 hour and 30 minutes. You're required to create classes and work with SQL to store and retrieve information about an extensive book collection. This is the main task that gives you hands-on experience with using IRIS and VSCode.
More comments
1. I started doing it using the VM-based Learning Lab but got an error and decided to proceed on my own IRIS:
2. In exercise 2.2 Displaying Books, it doesn't say that method PrintOne should return %Status, but the last task is to return $$$OK. Furthermore, task 5 says to write a method that will iterate over all books in the library and return the data for each using a method that writes the info of one book opened by ID. If the task is to write an SQL query, then it would've been more logical to get all the data from the table and make 1 read of each line, not first read ID and then read the object.
The last one is a knowledge assessment, which I failed because the file that I was supposed to edit was read-only, and I didn't manage to either find the file where the correct answers to the test questions are stored or edit this file. Even the DDL statements were prohibited 😁
But if you do pass it, you will get a Credly badge:
Oh well, it is time to switch to the second course of the Develop an application series. It's called Getting Started with InterSystems ObjectScript and consists of 5 courses:
The first course consists of two parts: link to the documentation and an online course: InterSystems ObjectScript Basics. This one was already done in the previous course so everything is already marked as complete.
The second course, "Dive deeper into commands and functions, " consists of a link to another documentation and two reasonably short videos. The first one is called "Using System Functions in ObjectScript," which shows the syntax for running system functions and how to use the values they return in other functions and commands. The second one is "Controlling Command Flow with Postconditional Expressions", which deals with adding a condition to a single command without using an If statement.
The third course, "Understand data types and variables", again consists of 2 videos and a link to the documentation. The first video, "Exploring Data Types in ObjectScript," explains different variable types in InterSystems ObjectScript and, in particular, three common data types: strings, lists, and objects. The second video is called "Using Variables in ObjectScript" and it deals with assigning values to the most common variable types and operator precedence.
The fourth course is called "Create a class definition" and is an online course that teaches how to create an InterSystems class definition in Visual Studio Code. And it's also already done in the previous parts 🤗
The last one is a test 🤞 which I passed, so I got my Credly badge that is displayed in my profile 😉:
The third course is called Using JSON in InterSystems IRIS. It should take around 30 minutes to complete and has exercises in each part. This course shows how to consume JSON data from an upstream system to use in your application and produce a JSON string from dynamic entities.
The next course, Setting Up RESTful Services, should take around an hour and 30 minutes. From it, you will learn how to set up RESTful service and client and how the data flows between them:
This course has quiz questions at the end of each part.
The fifth course is called "Developing on an InterSystems Server Using VS Code". It consists of 4 courses:
The first course is Install and set up VS Code and consists of a link to the documentation, a 3-minute video called "Install and Use ObjectScript Extensions for VS Code," and an online course, "Installing VS Code and Configuring InterSystems Server Connections". From the video, you will learn how to install the ObjectScript extensions, export ObjectScript classes from the server, and write new methods in VS Code. The online course, which is an exercise, will teach you how to use Visual Studio Code to write code for an InterSystems server. It doesn't have any test within it.
The second course is called Configure a workspace and consists of a link to documentation and a 6-minute video. The video is called "Configuring VS Code Workspaces for Multiple ObjectScript Connections". Two configurations are shown in this video:
Use a multi-root workspace and virtual folders to view code and perform server-side editing across multiple InterSystems IRIS® data platform namespaces or servers.
Use multiple VS Code workspaces—each with a unique active connection—to view code and do client-side code editing for multiple namespaces or servers. It is also possible to enable server-side editing in single-folder workspaces.
Here, two InterSystems servers are depicted, each containing two namespaces. Stacked between the servers is a server labeled App Server.
Here, a single VS Code instance is depicted with a folder structure inside. The folder structure in the VS Code instance contains five folders. Each folder connects to one namespace on the left or to the App Server, representing an active connection. A pencil icon is located next to each namespace and the app server, indicating that code editing takes place on the server side.
The third course is called Develop on an InterSystems server and consists of an article, two 5-minute videos, and an online course. The first video, "Working with Classes in VS Code for Client-Side Editing," shows the basics of working with InterSystems classes in VS Code and the creation of new classes in the VS Code Explorer using code completion. The second video, "VS Code Debugger for ObjectScript", shows how to write launch configurations for debugging class methods and production components, and gives an overview of the VS Code debugger interface — including the variables section, watch pane, and debug console. The course "Creating an InterSystems Class Definition in VS Code" will show how to work with classes in VSCode.
Remark
In the course, you will see the following comment: Note that the previous video used %Library.Populate rather than %Populate. These two classes can be used interchangeably.It sounds a bit misleading to me as both of these names are the names of the same class. So, not the two classes can be used interchangeably, but the two names. It's just possible to omit the package name %Library and when a class doesn't have a package specified, the system assumes that this class is from %Library.
At the end of this course, you will be able to assess your knowledge. And if you pass the quiz, you will get a Credly badge:
The final course of this part is Building Custom Integrations and consists of 4 courses:
This course teaches you to build custom interoperability components in InterSystems ObjectScript to add to your InterSystems IRIS productions.
The first part is a 4-minute video called Receiving and Routing Data in a Production and an exercise. It's the same exercise you've already done in the first part of the general course Get an introduction.
The second part is called "Build Custom Production Messages" and is a short video that shows an example of healthcare message.
The third part, "Design and Build Custom Components", consists of three courses and deals with respective parts of the interoperability:
Building Custom Business Operations
Building BPL Business Processes
Building Custom Business Services
The final part is the assessment. If you successfully pass it, you will receive a Credly Badge.
This course marks the end of the very long third part which is Develop an application.
The fourth part is Connect with an external language and gives you four choices based on the programming language you prefer. Your choices are:
Java
.NET
Node.js
Python
For this article, I chose to study Python. Python course consists of 4 parts:
I loved that there is a Python for Beginners course for those who have yet to study this language.
The first part is the Overview of Python in InterSystems Products page, which shows you the ways you can use Python to work with IRIS.
The second part is a link to the documentation on using pyodbc to connect to IRIS from Python.
The third part, "Run Python side-by-side with ObjectScript", deals with Embedded Python and consists of two links to the documentation, a 4-minute video called "What is Embedded Python?" and two exercises. The first one, "Embedded Python QuickStart", gives you a general idea of what can be done with Embedded Python and how to use it to work with objects. And the second one, "Parsing Images and Charting Data with Embedded Python", gives you an example of using Embedded Python for a "real-world" task.
The last part, "Build InterSystems IRIS applications in Python," consists of a link to the documentation, two videos, and two exercises. It deals with connecting to IRIS from outside using Python and working with classes and globals. The first video, "Using the Native API for Python", briefly explains what is Native API for Python and how to use it. The second video, "Evaluating Python Development Strategies", gives the sample-based examples of using IRIS with Python: traditional client/server APIs, Embedded Python, and the Python Gateway.
The fifth part is Expand your expertise and it is optional. It gives you a general understanding of running IRIS in Docker, API manager and using Angular with IRIS.
At the end of the course, if you have completed all the compulsory parts, you can assess your knowledge. If you pass this assessment, you will get another Credly badge 😉
This is it for this Learning Path.
As you can see, it takes quite a bit of time, but it covers the most essential parts of working with IRIS. Some of the courses and exercises overlap, so it saves a bit of time, but still, it's quite a commitment. In my opinion, it's a great introduction to the IRIS database platform.
Overall, the main disadvantage for me in using this Learning Path as a part of the curriculum is the inability to prove that the student actually did all the tasks because, for the most part, you can just tick courses as passed, and that's it. The only exception is that you really have to pass the quizzes at the end of some parts, and the final quiz will become available only when you complete all the compulsory parts.
Disclaimer: All images are taken from the mentioned videos/courses and are the intellectual property of InterSystems. Thank you for the review of this online learning program! As a course developer for InterSystems, I am glad you found it engaging.
I am looking into the issues you described in your "More Comments" sections, and I will let you know when they are resolved.
UPDATE: Both broken VMs have been repaired. In the VM for the exercise Building a Server-Side Application with InterSystems IRIS, the IRIS user's password had expired. In the VM for the assessment, a change in the VS Code configuration had made the file read-only. It is edit-able again now. I am also updating the quizzes, to improve the accuracy of the questions and answers. I will not post those updates here, to avoid giving away the answers to future users. Thank you again for your comments! In the future you can email onlinetraining@intersystems.com if you find broken VMs or inaccurate quizzes. Thanks a lot for the quick feedback! Now I will know what to do if something goes awry 😉
Question
Murali krishnan · Apr 26, 2017
Please let me know the Configuration management tools that can be integrated with InterSystems....
How to integrate the Config management tool with InterSystems.. Please let know the steps Unless you upgrade to 2016.2 or beyond you can't yet use Atelier as your code editor, so integration with file-based source code management (SCM) tools such as Git or Perforce isn't so straightforward. Deltanji works natively inside Caché 2008.1 and later and integrates easily with Studio (as well as with Atelier). The Solo edition is free.Or maybe when you write "Configuration management tools" you aren't referring to SCM? Hi, Murali!What configuration do you want to manage?Users/Roles/Resources?Namespace mappings?Memory/CSP settings? What Cache version are you running?Are you editing code with Studio, Atelier, Serenji or some other tool?Do you have any specific configuration management tools in mind? If not, have you looked at Deltanji? I am using cache version Cache for Windows (x86-64) 2016.1.2. Editing code with Cache Studio..
I am not aware of Configuration management tools Please find my answers in line
Scope : Movement of config and its dependencies across DEV , TEST and PROD Environments. This has to be automated with config setting details
What configuration do you want to manage? ----
Users/Roles/Resources? ---- yes
Namespace mappings? ---------yes
Memory/CSP settings? - Not required for now
Globals, Routines
Question
Murali krishnan · May 10, 2017
How is the security handled in intersystems for GUI and web services testing part ? Does it have inbuilt security handling packages ? what are the limitations ? Please enlighten. If by the 'Web Services testing part' you mean a page like this:http://localhost:57772/csp/samples/SOAP.Demo.clsThat doesn't even use SOAP, it uses an HTML form submission to run the method directly. What that page does is test the logic of your webservice methods in a simple way, to make sure your desired inputs give the desired outputs. You should use something like SoapUI if you want to more completely test your SOAP methods. Comprehensive documentation here and here.Murali, if this or any other answer to your question is useful/accepted please remember to click the checkmark alongside it.
Question
Soundar Aswin · Apr 9, 2019
Hi There ,
We are trying to do a small POC trying to integrate NHS Careconnect with Ensemble/Healthconnect. Does anyone have implemented this before. It would be good that you provide some suggestions or any sample implementation. It would be good to get suggestions any interesting use cases
within NHS England for the POC. Im working for Integrella . We are trying to achieve a POC with Care connect/ GP connect. We are trying to do it with Intersystems Technologies. Hi Soundar, Several NHS trusts working with Health Connect have implemented some aspects of the Care Connect API. InterSystems is also engaged in a number of FHIR API initiatives with the NHS, for a variety of different profiles. May I ask which Trust you are working with?Jon
Question
Murali krishnan · Jul 12, 2017
how do we do estimation in Intersystems ? what is the unit of work that we refer for intersystems ? let's say for example if we to add 200 fields how many business classes ( Business service, Business process, Business operations) that we must change ?
Any thumb rule ? Please let know Please consider clarifying your question.InterSystems Caché is a database, so adding 200 fields is fairly straightforward.InterSystems Ensemble is a ESB. It has Business Hosts (Business services, Business processes, Business operations). They manipulate data stored in Caché database based on arbitrary rules. Let' s say for 200 fields at a high level how many business classes that we might need to change...Please let know. How much of reusability % that we can factor in ? Noone would give you exact numbers. It really depends on your use case.However, adding 200 properties to an Ensemble message (not considering other classes as you pass just messages) may either simp0ly mean that you add 200 properties to ONE class or to MANY classes, depending how clever the original design of your production was.You may, or with the same probability many not, need to change the message design and switch to virtual documents ... it really depends on many factors unique to your particular use case - throughput expected, load of data incoming etc etc... As Dan already explained, there isn't a way to say this in a generalized manner. Code, and especially Ensemble code, is highly specialized to each customer's needs. You are actually in the best position to gauge the impact of adding a field to a class: how much code is touching the class? How much of the code is going to rely on your new fields? etc.