Clear filter
Announcement
Anastasia Dyubaylo · Jun 13, 2020
Hey Developers,
We're pleased to invite you to join the next InterSystems IRIS 2020.1 Tech Talk: Using Java and .NETon June 16 at 10:00 AM EDT!
In this installment of InterSystems IRIS 2020.1 Tech Talks, we put the spotlight on extending InterSystems IRIS with your own custom Java and .NET code. We will demo how to create a custom interoperability component with the new Productions Extensions (PEX) feature. Following that, we’ll demo how to call Java or .NET code from any ObjectScript code.
Speakers:🗣 @Robert.Kuszewski, InterSystems Product Manager - Developer Experience🗣 @Joshua.Goldman, InterSystems Senior Technical Writer
Date: Tuesday, June 16, 2020Time: 10:00 AM EDT
➡️ JOIN THE TECH TALK! Is this going to be made available for on-demand viewing, e.g. on youtube? Hi Wolf,
All Tech Talks are available for on-demand viewing here.
Announcement
Anastasia Dyubaylo · Jun 13, 2020
Hey Community,
We're pleased to invite all the developers to the upcoming InterSystems IRIS 2020.1 Tech Talk: Speed Under Pressure on July 14 at 10:00 AM EDT!
In this InterSystems IRIS 2020.1 Tech Talk, we'll learn about the open source Ingestion Speed Test. We will explain:
the architecture of the ingestion speed test
how we are leveraging Docker containers to run it on our PCs
how we are leveraging InterSystems Cloud Manager to easily run it on AWS so we can compare InterSystems IRIS with other databases, such as AWS Aurora
After this Tech Talk, you'll be able to use the Ingestion Speed Test on InterSystems Open Exchange for your own testing and benchmarking.
Speakers:🗣 @Joseph.Lichtenberg, InterSystems Director of Product & Industry Marketing🗣 @Amir.Samary, InterSystems Manager, Solution Architecture
Date: Tuesday, July 14, 2020Time: 10:00 AM EDT
➡️ REGISTER FOR THE TECH TALK TODAY! Tomorrow! Don't miss the last InterSystems IRIS Tech Talk webinar!
✅ PLEASE REGISTER HERE!
Announcement
Anastasia Dyubaylo · Sep 20, 2021
Hey Developers,
Get an introduction to Apache Kafka, a popular event-streaming platform, and see a demonstration of the upcoming Kafka integration with InterSystems IRIS Interoperability:
⏯ Kafka! Integrating the World's Favorite Stream Processor with InterSystems IRIS
🗣 Presenter: Helen Bang, Systems Developer, InterSystems
Subscribe to InterSystems Developers YouTube. Enjoy and stay tuned! can you post the source code for the kafka integration which you have done
Announcement
Pete Greskoff · Nov 19, 2021
November 19, 2021 - Advisory: Apache Web Server provided with InterSystems kits – Vulnerability reports
InterSystems kits include an Apache web server, which provides a convenient way for customers to interact with the Caché/IRIS Management Portal without needing to install an external web server; however, this web server should never be used for production instances, and customers must install a web server that fits their specific needs and security/risk requirements.
Recent tests have noted some security issues with the currently included Apache web server. Because this is a third-party technology that InterSystems does not control, InterSystems recommends installing a web server version directly obtained from Apache or another third party and disabling the included Apache web server. Our product documentation includes instructions on how to disable the web server provided with our kits. In addition, Apache also offers uninstall instructions that can be found on the Apache website.
InterSystems plans to include a more recent version of the Apache web server in upcoming releases. Similar to the current version, this version also cannot be used for production instances. In future releases of our products, InterSystems will not ship or install any web server; we will provide further updates with the specifics of our plans. We have always used independent web servers for production.
However, with the release of container deployment, can I get clarity on the webgateway container provided by ISC is NOT affected by the same vulnerabilities? I understood this to be a full apache instance with modules pre-installed.
If so, are there any recommended practices one should use for this container in a production environment? Hi @Trevor.Strong
The container image simply installs the standard Apache package in the container and adds the CSP add-on.
For any update on the Apache web server we should all keep an eye on https://www.cvedetails.com/product/66/Apache-Http-Server.html?vendor_id=45 and consider patching/upgrading/re-building as necessary and according to the security policies and best practices of the organizations we work for.
HTH
Article
Bob Schat · Feb 10, 2022
The InterSystems Iris Fhirserver running on a Raspberry Pi Raspberry running as a FHIRserver
Raspberry running as FHIRserver
About a year ago I wrote some articles about the installation of the HAPI FHIRserver on a Raspberry Pi. At that time, I only knew the basics of the FHIR standard, little about the technology behind FHIR-servers and not much more about the Raspberry. By trying, failing, giving up and trying again I learned a lot.More than a year later I’m still a “perseverant amateur”, but meanwhile I built up a full FHIR environment with Raspberries, a number of applications in HTML/JavaScript/jQuery/Bootstrap and some applications in PHP. I did some work with authentication- and authorization servers on the Raspberry and some experiments with SMART on FHIR.
Most of it works, although sometimes without me knowing what the difference is between the last non-working version and the success I obviously created. I ‘m still surprised daily. Looking back, I should properly have studied systems development (I’ve a degree in forestry and currently volunteer a lot in that area. But that is different story).
Please be aware that a Raspberry Pi is ok to experiment with, but is not suitable for productional situations. So don’t use the Raspberry as a productional system in healthcare or any other situation in which reliability, continuity, security, privacy etc is needed or expected. It’s a perfect and cheap computer to experiment and it exceeds my expectations time after time, but it isn’t of “industrial strength”.
The InterSystems FHIRserver
At the time I have chosen the HAPI FHIR server because of its availability and because I succeeded quite soon to get some results with it. A former colleague, who is working for InterSystems now already suggested to experiment with InterSystems’ FHIRserver too.
I know InterSystems quite well (or should I say “I.know”😉) and it sounded like fun, but at that time, more than a year ago, a suitable version of Iris wasn’t available for ARM -processors (the Raspberry runs on ARM). Apart from that is the community version of Iris distributed as a Docker-container and I knew less than nothing about Docker.
From Raspbian towards Ubuntu
Meanwhile a year has passed. There is a new and even more powerful Raspberry Pi available (while stocks last…). The new Raspberry 4, like the Raspberry 3, supports 64-bits Unix. The IRIS community version is available for ARM too and I learned somewhat more about containers and Docker.
With all these improvements, the nonsensical “lock down” we had in the Netherlands at the end of last year became an opportunity to start a new experiment in which I would try to get the community version of IRIS running on a Raspberry Pi .
Looking back this was quite easy. In fact, there are only three attention points:
You’ll need a Raspberry supporting 64 bits. This means either a Raspberry 3 or 4 .
I didn’t succeed with (64 bits) Raspbian (which is quite new by the way). But I succeeded with 64 bits Ubuntu.
The InterSystems FHIRserver seems to be more judgemental about the FHIR-calls than the HAPI FHIRserver. I will explain this later in an additional publication, but I don’t think this is bad. Being the central repository in an (health-)care environment you should be strict regarding the standards, otherwise it will be “garbage in – garbage out”.
It took however some time for me to understand while applications that ran ok with the HAPI FHIRserver failed running with IRIS. Spoiler alert: the problem was in my applications.
It is however fun and more than worthwhile to see a little computer like a Raspberry Pi, at costs less than 100 Euros, running the full InterSystems IRIS platform, complete with management portals, Ensemble, Caché and a FHIRserver.
In the next paragraph I’ll explain step-by-step what I did to get there. That will not be a lengthy story about the history of Ubuntu, the philosophy behind Docker etc. If you’re interested in that, please visit the Internet. I will focus on the “happy flow” and only when relevant mention where I firstly went wrong.
Installing the InterSystems FHIRserver
Phase 1. Ubuntu 64-bits
1. Format your SD-card and put the 64-bits version of Ubuntu for ARM-processors on it. The compressed version was named “ubuntu-20.04.3-preinstalled-server-arm64+raspi.img.xz” in my case and you’ll find it on http://cdimage.ubuntu.com . (Of course you have to decompress the .img file before putting it on the SD-card!).
Don’t use RaspberryPi-imager because that gives an incorrect version. I used Win32DiskImager.
2. Start your Raspberry with the new image. Change (and memorize!) the password for the ubuntu-account. wachtwoord van het ubuntu-account.
3. Your Raspberry is running Ubuntu now, but we are not ready yet.
Look at this:
This Ubuntu-version still is 32-bit !
We’re going to cure that now
1. Log in on your Pi
2. sudo rpi-update
3. sudo reboot now
5. sudo copy /boot/config.txt /boot/config-ok.txt (in case of errors we’ve got an escape)
6. sudo nano /boot/config.txt Add under [pi4] the text : arm_64bit=1
8. Save boot/config.txt (in nano: <ctr>O )
9. Exit from nano (<ctrl>X)
10. sudo reboot now
And now we’re running 64 bits. See for yourself:
Make a notation of your Pi’s IP-address (sudo hostname -I where I is the I from "Island") and you can put it away since in Ubuntu SSH is enabled by default.
Phase 2: Docker
1. sudo curl -fsSL https://get.docker.com -o get-docker.sh
2. sudo sh get-docker.sh
This will result (after a while) in an extensive notification of Docker about using it as a “non-priviliged user” .
3. sudo usermod -aG docker $USER
4. Log off and log on again
5. docker container run hello-world
Docker now looks for a “hello-world” image on your system. It will not find it there and than will download it from the Docker-repository. After that Docker puts the image in a container on the Pi and starts the “hello-world” image.
You can see that confirmed by another block of text from Docker, including the “Hello from Docker” welcome message.
Fase 3: The Docker image for InterSystems’ IRIS FHIRserver
1. Give the following command in one time:
sudo docker run --name my-iris -d --publish 9091:1972 --publish 9092:52773 containers.intersystems.com/intersystems/irishealth-community-arm64
Now a lot of events happen after eachother:
Docker will get the “community edition” from Irishealth and puts it in your local Docker repository.
Docker starts the community edition in a docker container named “my-iris”.
Docker maps port 1972 of IRIS, running in the container, to port 9091 of your Raspberry.
Following the same pattern, port 52773 of IRIS (in the container) becomes port 9092 on your Raspberry.
You can see what happened by:
2. sudo docker container ls But there is another, much more impressive way to experience it.
Phase 4. Start the InterSystems IRIS for Health Fhirserver
Start a webbrowser in your network, for example on your PC en go to:
<ip-address-of-your-Raspberry>:9092/csp/sys/UtilHome.csp .
You’ll see the managementportal of IRIShealth. The portal automatically adjusts to the language on your PC.
The standard account is _SYSTEM (with a leading underscore) and the initial password is SYS (without underscore). IRIS requires to change the password immediately.
Now you’re able to configure the IRIS for Health FHIRserver and start it up, following the instructions on: https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI.Page.cls?KEY=HXFHIR_server_install
You have to configure a “Foundation” and to define an “Endpoint” (FHIR 3 or 4).
The “endpoint” will result in the URI on which you can access the FHIRserver. In my case the “Patient” resource is on http://192.168.1.29:9092/csp/healthshare/fhironpi/fhir/r4/Patient (doesn’t work from outside!)
Conclusion
Has this been worth the trouble? Yes, more than that! To start with: there wasn't much trouble. I didn't succeed with Raspbian, but that was solved easily. And having the IRIS-for-health platform running on device like a Raspberry Pi is impressive. All the dashboards (DeepSee), dataconversion-tools, Ensemble (an Enterprise Service Bus plus a lot of extra tools), CSP-pages and Caché (a multi-dimensional database) seem to be available to experiment with and even I.know for natural language processing is visible in the management portal. The IRIS-for-health platform offers much more than a FHIRserver allone and far too much to describe in one article.
For me personally IRIS-for-health has an extra bonus since I worked (as an architect) with Ensemble almost as soon as it was there and apart from that IRIS-for-health's earliest start was in the second half of the 2-th century. The MUMPS development environment for healthcare applications (MUMPS: Massachusetts General Hospital Utility Multi-Programming System) ran mostly on VAX computer systems of Digital Corp. And my professional career in IT started at that time with VAXes.
MUMPS, Caché, Ensemble and today the IRIS-for-Health platform have great stability and require relatively modest support and maintenance. The documentation of the InterSystems products is extensive and easy to find.
I will experiment more with IRIS and the FHIRserver and I promise to at least publish one more article: about my "struggle" with a strict adherence to the FHIR-standard!
Stay healthy, keep thinking, play on!
Bob Nice article!
Thanks for sharing, Bob ;) very good attempt, genius idea. How stable is this scheme? Interesting article and well written. What could the potential use cases be? Can the functionality be stripped down to bear minimum to reduce the application foot print and enhance the integration capabilities for smart home devices? Hi Yankai, thank you. The InterSystems FHIR server as I wrote about is now running for 20 days without any interruption. It is -of course- not heavily used, only for my own testing purposes. A Raspberry Pi is IMHO not suitable for critical applications like airplane-control, critical healthcare systems etc and I don't think InterSystems will support "IRIS on Raspberry" . But the combination of the Raspberry Pi and IRIS appears to me, based on my modest usage, as to be pleasantly stable. Which is in line with my earlier experiences with Caché and Ensemble.
ubuntu@Ubuntu01:~$ uptime 15:26:47 up 20 days, 3:19, 1 user, load average: 0.02, 0.03, 0.00 Thank you Ravi. Some use cases could probably be found in (portable) healthcare devices that don't need 99.998% of 24x365 availability. I don't think stripping down functionallity would be necessary since this would require development and maintenance of a "special Raspberry" version of IRIS. The licensing part would be another story ;-). But because small computers like the Raspberry Pi (and Raspberry Zero) are so powerful today (and inexpensive) a lot of new applications can be thought of. If there are situations (I think mostly in the care/healthcare area) where FHIR and integration are needed in a small platform this certainly could be an option. I don't think however that for really critical applications, where health, lifes or welbeing can be dependant of this would be an advisable direction. And -from another perspective- we should take care not to desperately find a problem for this solution. Over all I'm already very happy with the opportunity to play around with IRIS and FHIR without big expenses. IRIS isn't suitable (nor meant to be) running on the edge or inside containers for that matter.As its name implies it is a Data *Platform* a framework on its own for running large-scale mission-critical applications.IRIS Agents or ECP Clients or whatever you will call them could extend IRIS to the realm of containers and edge applications.
Even in the global masters rewards where they have an RPi available with IRIS preinstalled, it's running on Ubuntu, not Raspbian, so that part didn't surprise me.
As python becomes more widely adopted in IRIS and word gets out about it, I won't be surprised if some of the RPi community shows up with some pretty cool projects using IRIS Community since a lot of them are python developers. InterSystems tends to lean into health care as the main thing, but there you've got a device that you can connect all kinds of sensors and gizmos to that may lend themselves well to other fields. Let's not be hasty dismissing it because it can't run an entire hospital.
Announcement
Janine Perkins · Nov 4, 2020
Get your hands on our technology with On-Demand Experience Labs available now through November 6th. Each lab is paired with an office hour session scheduled for this week. Learn more about how you can get hands-on with our technology.
Join the office hours to get answers your questions about the labs, talk about how the technology fits into your environment, and discuss implementation. Sign up for the Office Hours/On-Demand Experience Labs today. The labs have gotten great reviews so far!
Experience Lab Topics
InterSystems ObjectScript Development in Visual Studio Code
HealthShare Provider Directory: Sharing Clean Provider Data with FHIR
Getting Started with InterSystems Reports
Please complete the on-demand labs before arriving for office hours.
Article
Mihoko Iijima · Mar 5, 2021
**This article is a continuation of this post.**
In the previous article, we reviewed how to create and define messages used to send and receive data between components.
In this article, I will explain how to create a business operation from the component creation methods.
* Production
* Message(previous article)
* **Components**
* Business Services
* Business Processes
* **Business Operations**
We will quickly check the code by referring to the sample.。

| Component Name | Role |
|---|---|
| Start.FileBS | A business service that uses file inbound adapter to read files placed in a specified directory at regular intervals. |
| Start.NonAdapterBS | Business services that allow applications and users to input information directly without using an adapter. |
| Start.WS.WebServiceBS | Business services that allow people to enter information using web services. |
| Start.WeatherCheckProcess | A business process that controls the procedure for acquiring weather information and then registering it in a database. |
| Start.GetKionOperation | Business operation to pass the city name to the web service that provides weather information and sent back. |
| Start.SQLInsertOperation | Business operations using SQL outbound adapters to request registration of weather and purchase information into the database. |
| Start.InsertOperation | Business operations that perform updates to tables in InterSystems IRIS without the use of adapters. |
Note: BS stands for Business Services, BP for Business Processes, and BO for Business Operations.
You need to write ObjectScript in Business Services and Business Operations and can be created in VSCode or Studio. Business Processes can also be made in the Management Portal (see this article for more information on using VSCode).
There is no particular order of creation, but the external site to be connected to is a public site and can be used immediately in this sample. In this case, it is convenient to start with the business operation to make testing easier.
After creating the components, there are test page in the production for business processes and business operations.
However, testing is disabled by default in the production definition to avoid random testing in the production environment.
For details on how to allow "Testing Enables" in Production, use the following settings (the sample Production has been set to "Testing Enabled" in advance):

### 1) Business Operations
In the sample, two types of business operations are provided.
One operation is to pass the city’s name to an external Web API via REST and request the acquisition of weather information. The other operation is to give the weather information and the name of the purchased product to the InterSystems IRIS database and ask for the update process.
#### 1)-1 REST Business Operations
Let’s start by creating an operation that calls an external Web API via REST.
This operation starts the GetKion() method when a Start.Request message is entered, queries an external site, and returns the weather information in a Start.Response message.
See here for code details.
To create a business operation for REST, inherit from **EnsLib.REST.Operation** .
```objectscript
Class Start.GetKionOperation Extends EnsLib.REST.Operation
```
Inheritance of this class provides the following methods in IRIS that match the HTTP methods. Please refer to the documentation for details.
GetURL()— used for HTTP GET operations.
PostURL()— used in HTTP POST operations.
PutURL()— used in a HTTP PUT operations.
DeleteURL()— used in a HTTP DELETE operations.
For REST, use the adapter **EnsLib.HTTP.OutboundAdapter**. Set the adapter name to the **ADAPTER** parameter and the Adapter property, as shown in the example.
The INVOCATION parameter configures the **Queue**.
```objectscript
Parameter ADAPTER = "EnsLib.HTTP.OutboundAdapter";
Property Adapter As EnsLib.HTTP.OutboundAdapter;
Parameter INVOCATION = "Queue";
```
It is necessary to specify the OpenWeather API key to be obtained at runtime. There is a way to display settings that vary depending on the environment in the production settings.
The procedure is as follows:
1. Define the properties
2. Specify the name of the property you created in the SETTINGS parameter (if there are multiple properties, separate them with commas). Optionally, you can also specify a category (use “property name: category name”).
An example code is shown below.
```objectscript
/// APIキーを指定します
Property appid As %String;
/// specify lang option for OpenWeather API (default = ja = japanese)
Property lang As %String [ InitialExpression = "ja" ];
Parameter SETTINGS = "lang:OpenWeatherMap,appid:OpenWeatherMap";
```
The Production Settings page displays the following. The description in the line immediately before the property definition is also displayed in the production settings page, as shown in the figure.

Then, we will review the message map, which is an essential setting for business operations.
.png)
The above definition is defined so that the GetKion() method will work when the **Start.Request message** is **sent**.
In the GetKion() method, the city name can be obtained from the request message’s Area property passed as input information.
By setting the city name as a parameter of the URL published by the external Web API and calling it, you can obtain weather information.
The HTTP server and URL settings are configured in the Production page of the Management Portal. To obtain the settings, use the **Adapter** property provided by the HTTP outbound adapter.
Example) to specify a URL, use ..Adapter.URL
Use the GetURL() method provided by Business Operations for REST to call an external site. The first parameter is the URL to be executed (i.e., the URL specified in the required parameters such as city name). The second parameter is the HTTP response with parameters passed by reference.
Since the weather information is stored in JSON format in the HTTP response, the operation is complete when the data is registered in the response message (=pResponse).

The response message class’s name is specified in the second parameter of the created method by passing reference.
```objectscript
Method GetKion(pRequest As Start.Request, Output pResponse As Start.Response) As %Status
```
To return a response message to the caller, create an instance of the response message, store it in the second parameter variable (_**pResponse**_), and set the necessary information in the properties.
```objectscript
set pResponse.AreaDescription=weatherinfo.weather.%Get(0).description
set pResponse.KionMax=weatherinfo.main."temp_max"
set pResponse.KionMin=weatherinfo.main."temp_min"
set pResponse.Area=weatherinfo.name
// this code is fit to Japan time because weatherinfo.dt is UTC
set unixEpochFormat=weatherinfo.dt+32400
set dt=$system.SQL.Functions.DATEADD("s",unixEpochFormat,"1970-01-01 00:00:00")
set pResponse.AreaPublicTime=dt
```
Since HTTP responses from external sites are returned in JSON format, the stream that could be obtained from the HTTP response is used to convert it into a dynamic object that is convenient for JSON operations within IRIS.
```objectscript
set weatherinfo={}.%FromJSON(tHttpResponse.Data)
```
An example of a returned JSON string is shown below:
```json
{
"coord": {
"lon": 135.5022,
"lat": 34.6937
},
"weather": [
{
"id": 803,
"main": "Clouds",
"description": "broken clouds",
"icon": "04d"
}
],
"base": "stations",
"main": {
"temp": 11.38,
"feels_like": 8.33,
"temp_min": 11,
"temp_max": 12.22,
"pressure": 1007,
"humidity": 62
},
"visibility": 10000,
"wind": {
"speed": 2.57,
"deg": 220
},
"clouds": {
"all": 75
},
"dt": 1611820991,
"sys": {
"type": 1,
"id": 8032,
"country": "JP",
"sunrise": 1611784750,
"sunset": 1611822143
},
"timezone": 32400,
"id": 1853909,
"name": "Osaka",
"cod": 200
}
```
The maximum temperature, minimum temperature, and weather can be obtained as follows:
```objectscript
set pResponse.AreaDescription=weatherinfo.weather.%Get(0).description
set pResponse.KionMax=weatherinfo.main."temp_max"
set pResponse.KionMin=weatherinfo.main."temp_min"
```
If you would like to learn more about JSON manipulation in IRIS, please refer to this article and documentation.
Now, let’s use the production testing tool to see if we can get the weather information properly.
Open the Production page (**Management Portal> Interoperability> Configuration> Production**), click Start.GetKionOperation, and then click the **"Test" button** on the "**Action**" tab.
Specify a city name (Naha, Sapporo, Nagano, Shinjuku, etc.) for **Area**, and click the “**Run Test Service**” button.
You can see the test results below, with the maximum and minimum temperatures and the weather listed.

Continue to learn how to use the Trace page.

Selecting a horizontal rectangle such as  in the left screen causes the information, in the right screen, to change.
Messages sent and received during the system integration process are automatically saved in the database. Using the message Visual Trace page, you can see in detail what messages were passed to which components in chronological order and whether there was a response or not.
Besides, if an error occurs,
“An error occurred while sending/receiving/receiving □ message to the component from ○ to △.”
a red mark will appear where the error occurred so that you can see it. Of course, in addition to tracing, we also have an event log page.
**(Management Portal > [Interoperability] > [View] > [Event Log])**
Moving on, let’s check out the operation to request an update to the database.
#### 1)-2 Business operations that request updates to the database
The sample provides two types of operations: Start.SQLInsertOperation and Start.InsertOperation.
Each of them is an operation to request a database update, but Start.SQLInsertOperation uses the SQL outbound adapter, while Start.InsertOperation has no adapter.
The difference between the two is,
operation using the SQL outbound adapter is assumed to be accessed via ODBC/JDBC connections so that the database connection destination can be switched in the production settings.
For operations that do not use adapters, it is assumed that the DB update target is a database within the range of visibility from the production configuration and that no connection destination switching occurs.
The IRIS database can be used to store arbitrary data during system integration. However, suppose the system configuration changes for some reason a few years later, and the need to connect to a database on a different server arises. In that case, the operation without the adapter cannot be continued.
On the other hand, operations using the SQL outbound adapter can be operated if there are no changes processing the content of the destination specification (if there is no problem with the SQL statement to be executed, it can be connected to databases of different products).
During system integration, there may be cases where connection information changes due to external system reasons. Therefore it is vital to have a design that can flexibly respond to changes. For this reason, it is recommended to create components that support external connections in a loosely coupled manner.
However, suppose there is no change in the configuration in the future. In that case, you can access the database in IRIS without using the ODBC/JDBC connection, so you can choose to use the adapter or not, depending on your usage.
Let’s take a look at the Start.SQLInsertOperation code that uses the adapter.
The adapter used in the sample is an SQL outbound adapter, which allows you to request the database to execute SQL statements.
Different adapters provide different methods. Please refer to the documentation for details on the methods provided by the adapters.

Then review the code for Start.InsertOperation, without using the adapter.
Whether you use an adapter or not, the message map and method definitions for the operation are required. If you do not use an adapter, you do not need to define the “Paramter” and “Property” for the adapter.
.png)
Business operations without adapters: In Start.InsertOperation, SQL is executed using ObjectScript (the comment statement is the update process in object operations).
The implementation is satisfactory if the database to be updated is not detached from IRIS.
We found out that operations using adapters provide a reliable method to request processing from the destination. We also confirmed that it is possible to create operations without using adapters and freely write code for them.
Next, I would like to explain how to create a business process that calls the operations for getting weather information and updating the database in the correct order.
Announcement
Anastasia Dyubaylo · Jan 20, 2021
Hi Community,
We are pleased to invite you to the upcoming webinar in Spanish:
➡️ Developing a chatbot with Google Dialogflow, Telegram and InterSystems IRIS
Date & Time: February 2, 4:00 PM (CET)
During the webinar:
you will learn how to develop a chatbot that will permit users to interact with an appointment system. We will coordinate the appointment system's backend and the Google Dialogflow and Telegram services with InterSystems IRIS.
you will know how to consider adding a chatbot to help users to use your services in a smarter way.
we will go over the required concepts to implement a chatbot, what is needed and how you can coordinate the external services.
Speaker: @Alberto.Fuentes, Sales Engineer, InterSystems Iberia
Note: The language of the webinar is Spanish.
We are waiting for you at our webinar!
➡️ Please register here!
Announcement
Anastasia Dyubaylo · May 4, 2021
Hi Developers,
Enjoy watching this new video presented by @Evgeny.Shvarov:
⏯ Package First Development Approach with InterSystems IRIS and ZPM
A demo of package first development approach with InterSystems IRIS and ZPM Package manager. Develop the code as it is already deployed.
⬇️ ObjectScript Package Manager on Open Exchange
➡️ Join ZPM discussion in our Discord
✅ Follow DC ZMP tag to be up to date with the latest post on ZMP
Stay tuned!
Question
Sudarshan Chandrashekar · Oct 4, 2021
Folks,
I am looking to migrate a few legacy debt collection applications built using InterSystems Cache to AWS. Does anyone here have any experience, ideas and best practices on migrating Cache products to the public cloud?
Regards
Sudarshan
+1-917-685-3551 AWS offers EC2, and it will be just virtual machines. And it will be possible to migrate any of your instances quite easy, if you would choose the same environment. If you have windows on your server, you can have Windows there as well. It's the easiest way. You would need to install the same version of the InterSystems platform you use, and repeat the configuration, copy necessary information and that's it. But for sure, could be some other options.
But AWS also suppose support for containers, this could be more difficult. And the best would be if you would use IRIS. I can help with this migration if you wish.
Announcement
Anastasia Dyubaylo · Oct 19, 2021
Hey Developers,
Planning to attend the Focus Sessions of InterSystems Virtual Summit 2021? Don't miss the session dedicated to InterSystems Developer Community, Open Exchange & Global Masters!
⚡️ "Win. Win. Win with InterSystems Developer Ecosystem" VSummit21 session ⚡️
🎁 Note: All session attendees get a special prize.
Speakers: 🗣 @Anastasia.Dyubaylo, Community Manager, InterSystems 🗣 @Lena.Evsikova, Product Owner of InterSystems Open Exchange🗣 @Olga.Zavrazhnova2637, Customer Advocacy Manager, InterSystems
Learn how to succeed with the InterSystems Developer Community, Global Masters gamification hub, and Open Exchange application gallery.
Interests: Developer Experience, InterSystems IRIS, User Communities
Our Focus Sessions are available on-demand for viewing from Wednesday, October 27!
So!
Join our session to enjoy the full experience of InterSystems Technology and our Ecosystem for Developers! Looking forward to it!! I will be there! @Olga.Zavrazhnova2637@Lena.Evsikova @Anastasia.Dyubaylo Just watched your presentation. It was really GREAT !!You raised the level of presentation significantly.The most attractive presentation for me so far.It will be hard to top you.CONGRATULATIONS ! So happy to hear that, Robert! Thank you! I completely agree with @Robert.Cemper1003! Great job highlighting the D.C., OEX and Global Masters!! Thank you, Robert! So happy to hear such feedback 😊 Thank you, Ben ☺️ Very good presentation. They are a true trio of pocker aces to win
And all the crew that are in the same ship
Announcement
Anastasia Dyubaylo · Dec 15, 2021
Hey Developers,
Learn about the InterSystems Partner Directory, its value to partners, and how to join:
⏯ Partner Directory New Services for InterSystems Partners & End Users
🗣 Presenter: Elizabeth Zaylor, Partnerships & Alliances, InterSystems
See you at https://partner.intersystems.com!
Announcement
Olga Zavrazhnova · Dec 5, 2021
Hey Community,
This is the time to show our passion for the InterSystems Developer Community! We're so proud to announce that InterSystems Global Masters is a finalist for an Influitive BAMMIE Award for Most Passionate Community🤩🤩🤩
Certainly, this is because of you, our great community members!
BUT, for us to win, we'll need to get more votes than other finalists - so we need your votes!
🚀 PLEASE press "You've got my vote" > in this challenge <
Vote every day till December 9 to show that we have the most engaged community!
Let's WIN together!
3-days left! Video from Olga :)
Hey Community, only 3 days are left to vote for Global Masters! Community!
We really need your support!!! Please vote for us 🙏🏼 Vote Community! Vote, please! We have to support our dev community! Today is the last voting day! Please press the button for us in this challenge https://globalmasters.intersystems.com/challenges/2982Thank you, Community, for support! Fingers crossed!
Article
Botai Zhang · Jan 25, 2021
Built in multi model integration using InterSystems iris data platform
Solution of hospital information inquiry business
Integration of hospital information query business solutions using InterSystems IRIS data platform with built-in multiple models
### Summary:
With the gradual improvement of hospital information construction, there are more and more hospital subsystems, and more and more interfaces between systems. At the same time, the interface cost is increasing, and the management work is becoming more and more complex. Among them, the number of query business interfaces is gradually increasing according to the business type differentiation, which brings problems such as large amount of interfaces, heavy development work, code redundancy, difficult maintenance and so on. In view of this dilemma, we use InterSystems IRIS data platform built-in multi model integration of hospital information query business solutions. The application can be configured to complete the query business interface implementation, greatly reducing the key operation cycle of development, maintenance, implementation and other projects.Key applications: IRIS, Rest API, ObjectScript, Globals, SQL, data lookup tables
### Application model and Application Introduction:
1. Using the model 1. Globals (key-value) Globals is a sparse multidimensional array that can be stored and managed in IRIS database. You can use ObjectScript and native APIs to work with globals. **Tools:** https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GGBL_MANAGING **Application:** According to the key value pair of globals, the application program has the characteristics of fast access speed. It is applied in the rest dispatch class and BP process management of this program, which solves the problem of frequent value taking, slow speed and configuration operation on the front page of the lookup table, such as storing SQL model, service configuration information and so on. 2. SQL access InterSystems iris provides SQL access to data through ObjectScript, rest API and JDBC **Tools:** https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSQL_smp **Application:** In the query business, the three-party system does not cooperate with the interface transformation, which leads to the difficulty of interface implementation. At this time, we use iris embedded model ObjectScript, rest API and JDBC to realize SQL access to data and establish business interface. 3. Object access Through ObjectScript and rest API, InterSystems iris provides a way to store and change object instances in globals. **File:** https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=PAGE_multimodel_object **Application:** During the whole interaction process, the InterSystems iris object is manipulated directly. ObjectScript class definitions are often used as templates for creating objects such as patients, departments, or healthcare workers. 2. Establish application cases (this application takes patients as an example) 1. application construction: 1. basic environment Iris version information: iris for windows (x86-64) 2020.1 (build 215u) mon Mar 30 2020 20:14:33 EDT \[Health Connect:2.1.0] Iris has java and JDBC environment Postman can be used for testing 2. installation steps ① Establish rest Service New web application → configure dispatch class → configure permission. This step can be seen in the following pictures: application running / webreplication (query). PNG and webreplication (role). PNG ② Configure sql-jdbc Establish SQL connection, connect to test database mysql, import test jhip_ patient_ info.sql ③ Configuration lookup table Global-^ Ens.LookupTable Look up table file import in ④ Import code Import the code in applicationcode, compile and open production, Note: modify Bo configuration information (DNS), configure Java gateway, etc 2. application process Omitted (see PDF) 3. Application Test The postman tool (or other tools) can be used for test verification Postman can import Query.postman_ collection.json , change IP, port number information and URL for testing. 4. application summary This application takes patient service query as a case, which can be configured with inbound and outbound protocols, query conditions and business types to solve the problem of query business interface.
Finally, if you agree with this solution, please vote for the application in the inter systems multi model database contest.
Voting links
Application name:HealthInfoQueryLayer
Thank you very much for your support!
Announcement
Anastasia Dyubaylo · Mar 4, 2021
Hey Developers,
See how the InterSystems IRIS FHIR Server allows you to develop and deploy your FHIR applications on AWS without manual configuration and deployment:
⏯ Getting Started with the InterSystems IRIS FHIR Server on AWS
👉🏼 Subscribe to InterSystems Developers YouTube.
Enjoy and stay tuned!