Question Oliver Wilms · Jul 12, 2022

Hello,

I work on deploying IRIS using Kubernetes operator and Red Hat OpenShift. I encouraged another team working on Java application to consider using IRIS as database. My team deployed IRIS cluster using two mirrored data pods for the other team. The other team asked me for the connection information.

To learn how to use Java with IRIS, I attempted to deploy two apps from Open Exchange:

https://openexchange.intersystems.com/package/CRUD-GLOBALS-IRISNATIVEAP…

Here I got errors like this:

package com.intersystems.jdbc does not  exist

https://openexchange.intersystems.com/package/springboot-iri

1
0 377
Article Oliver Wilms · Jul 10, 2022 1m read

As I was thinking what I could develop for InterSystems Full Stack Contest, I saw this post:

https://community.intersystems.com/post/how-access-production-items-through-objectscript

I developed ProductionManager.csp. It displays items in the active production. It also displays the Class in use and the date and time of last message. I believe these data points can help you make decisions which items to remove from the production.

I read that contest asked for apps which insert, update, or delete data in InterSystems IRIS.

0
0 292
Question Oliver Wilms · Jul 10, 2022

I am still working on iris-for-money app: https://github.com/oliverwilms/iris-for-money

Account.csp posts a rest call with _SYSTEM username and the password.

xhttp.open("POST", "/restapi/sql/" + query, true,"_SYSTEM","SYS");
xhttp.send();

/restapi web application has Password Authentication Method enabled.

SYS is the correct password for _SYSTEM user.

I do not understand why I see login failure in Audit database.

1
0 383
Question Oliver Wilms · Jul 9, 2022

I am working on iris-for-money app: https://github.com/oliverwilms/iris-for-money

Account.csp posts a rest call with _SYSTEM username and the password.

xhttp.open("POST", "/restapi/sql/" + query, true,"_SYSTEM","SYS");
xhttp.send();

The error is logged in Riches.REST for this line:

Set tSC = tStatement.%Prepare(pQuery)

ClassMethod PostSQL(pQuery As %String = "", pIndex As %String = -1) As %Status
{
    Do ..DebugTEST("Riches.REST - PostSQL")
    Do ..DebugTEST("pQuery = "_pQuery)
    Set tSC = ..TestQuery(pQuery,.pQuery)
    Do ..DebugTEST("TestQuery = "_pQuery)
    Set tStatement =

3
0 1147
Article Oliver Wilms · May 30, 2022 1m read

InterSystems Production Monitor is a page in Management Portal to display monitoring information for the current running production. I like the page as it comes, but one size does not fit all.

On May 13, 2022 I read this post on Developer Community:

https://community.intersystems.com/post/creating-custom-monitoring-page

I agree with Mark that Production Monitor is complex. I liked the idea to create a nice clean clear monitor page.

I began to work on a Cache Server Page utilizing class methods to provide the production data.

I shared my first attempt with Mark.

2
1 502
Article Oliver Wilms · May 30, 2022 1m read

IRIS Interoperability formerly known as Ensemble comes with many built in adapters. It does not have a service or adapter to receive mail. I have written email service to receive mail messages via SMTP which can be passed to email operation.

Now I want to load-test a production which sends messages to an external mail server using email operation. The mail server team does not want me to send them thousands of messages.

I created iris-mail app to have a substitute mail server.I updated the server and port settings in the email operation.

0
0 296
Article Oliver Wilms · May 30, 2022 1m read

My team works on an IRIS interoperability solution which is running on Red Hat OpenShift container platform. I want to test how many messages can be processed by the running webgateway pods and compute pods with data being stored in the mirrored data pods.

In order to push IRIS out of its comfort zone, I deployed multiple feeder containers and scheduled tasks on each feeder to send a load of messages at the same time.To get to the next level of testing, I want to have multiple types of test files available on demand.

0
0 323
Article Oliver Wilms · Apr 8, 2022 1m read

I wanted to join the InterSystems Globals contest. I have worked with InterSystems globals more than twenty years and I consider myself an expert. I developed another money app for globals contest because I needed it. What I had created previously was not really that useful for me. 

I still miss the features of Microsoft Money. I wanted to be able to get a report of transactions based on some criteria like how much did I spend on Groceries in March. 

I still use Excel spreadsheets to keep track of my financial transactions.

0
0 206
Article Oliver Wilms · Jan 16, 2022 2m read

I participate in InterSystems Datasets Contest. I created dataset-finance and analyze-dataset-finance apps along with Online Demo.

The username is _SYSTEM and password is SYS. I created an online demo with a pretty dashboard here:

 https://finance.demo.community.intersystems.com/dsw/index.html#/login?from=%2FUSER%2FGenerated%2FSamples%20for%20finance.dashboard

 I wanted to create my own pivot table and went to regular management portal:

 https://finance.demo.community.intersystems.com/csp/sys/UtilHome.csp

 We can access Analyzer in USER namespace directly: 

https://finance.demo.community.intersystem

0
0 228
Question Oliver Wilms · Jan 8, 2022

I have csv date file with date values like this "4/10/2021" for April 10, 2021. I defined a table with this property: Property TranDate As %Library.Date.

I capture error

[SQLCODE: <-104>:<Field validation failed in INSERT, or value failed to convert in DisplayToLogical or OdbcToLogical>] [Location: <ServerLoop>] [%msg: <Field 'dc_data_finance.transact.TranDate' (value '4/10/2021') failed validation Field ...

I do not really want to change TranDate to %String. How can I import "4/10/2021" into %Date property?

10
0 688
Article Oliver Wilms · Jan 8, 2022 2m read

I have a csv file with 13 columns.

The header row is:

"Date","Check","Merchant","Category","SubCategory","Memo","Credit","Debit","Bill Pay","Debit Card","Account","Balance","Status"

The first data row is:

"","","","","","","","","","","Cash","56",""

I have created a SQL table to LOAD DATA into. When I ran

LOAD DATA FROM FILE '/irisrun/repo/data/finance-transactions-08-Jan-2022_08-25.csv' into dc_data_finance.transact

I got Cash into “Account” property (correct) and I saw 56 in “Status” property. I want to skip the “Balance” column. I updated my LOAD DATA statement to:

LOAD DATA FROM FILE

1
0 295
Article Oliver Wilms · Jan 8, 2022 2m read

I read under Topics and Rules of InterSystems Datasets Contest:

  • Class naming convention. Start the class names with: dc.data.your_name.class. E.g. if there is a dataset on trading data the class names could be: dc.data.finance.transaction, dc.data.finance.instrument.

I created a class “dc.data.finance.transaction”.I expected that it would not compile, because I remembered “Date” was a reserved word in SQL, and one of its properties was named “Date.”  To my surprise, the class compiled successfully.

2
0 317
Article Oliver Wilms · Dec 24, 2021 4m read

One of my colleagues had developed an interface in Health Connect (HealthShare 2019.1) to add large amounts of data to an external SQL Server database.The data comes from many text files with delimited rows and data for one table per file.There is a business process to read a file line by line and send an Insert Request to an operation.The request contains an Insert statement like ‘Insert into TABLE columns (col1, col2, … colZ) values (val1, val2, … valZ).’ The Health Connect operation utilizes Outbound SQL Adapter to insert one row into a table per request.

0
0 400
Article Oliver Wilms · Oct 17, 2021 3m read

I work as an Integration Engineer for United States Department of Veterans Affairs (VA).I work on a Health Connect production which processes many RecordMap files.I do not fully understand RecordMaps and I wanted to develop an application for the Interoperability contest where I could learn more about working with RecordMaps.I browsed InterSystems documentation for inspiration on how to start.I was happy to find CSV Record Wizard.I had created a CSV file for my Analytics contest entry.I wanted to use it to test the CSV Record Wizard.It was not obvious how to use it.

0
0 501
Article Oliver Wilms · Sep 11, 2021 5m read

I regret getting a late start in the InterSystems Analytics contest. I had tried a couple of times before to use Analytics, but I had not gotten too far. I have been recording financial transactions in Excel workbook ever since I had to retire Microsoft Money. Since my iris-for-money was not fully functional, I created a worksheet per account I was tracking. I had developed a CSP page in iris-for-money to import transactions by reading a CSV file. I realized this process requires escaping many characters that can cause the process to fail.

One week ago I realized I had just two days left to

1
0 345
Question Oliver Wilms · Aug 22, 2021

I want to try SAM in AWS. I followed these steps:

docker pull store/intersystems/sam:1.0.0.115

git clone intersystems-community/sam: System Alerting and Monitoring (SAM) (github.com)

git clone https://github.com/intersystems-community/sam

tar zpxvf sam-<version>.tar.gz

tar zpxvf sam-1.0.0.115-unix.tar.gz

$ cd sam-<version>

cd /home/ec2-user/git/sam/sam-1.0.0.115-unix/

$ ./start.sh

In your browser, visit:
http://<ip-address-of-host-where-SAM-runs>:8080/api/sam/app/index.csp
You'll be prompted to login.You can use standard InterSystems IRIS credentials like _SYSTEM/SYS.

7
0 1036
Article Oliver Wilms · Aug 22, 2021 2m read

I have described my efforts to optimize IRIS Mirror deployment in AWS ElasticContainer Service (ECS) in my prior article.

IRIS Mirror in the cloud (AWS) | InterSystems Developer Community | AWS
 

I have come to the opinion that IRIS Mirror is not as reliable as needed when deployed in ECS. The root of the problem is the fact that ECS randomly assigns one of the available IP addresses to each EC2 host or Fargate task it starts.

These get stored in iris.cpf file in MapMirrors section as shown here:

[MapMirrors.IRISMIRROR]

FAILOVER1=10.2ab.1cd.146,2188,,10.2ab.1cd.146,588E6700-DAB7-11EB-9111-0242AC11

0
0 472
Article Oliver Wilms · Aug 4, 2021 3m read

I have been working on redesigning a Health Connect production which runs on a mirrored instance of Healthshare 2019.We were told to take advantage of containers.We got to work on IRIS 2020.1 and split the database part from the Interoperability part.We had the IRIS mirror running on EC2 instances and used containers to run IRIS interoperability application.Eventually we decided to run the data tier in containers as well.Later we switched from using EC2 instances to Fargate “server-less” compute.

14
2 1006
Article Oliver Wilms · Jul 27, 2021 2m read

I heard about Message Bank when we started redesigning a Health Connect production to run in containers in the cloud. Since there will be multiple IRIS containers, we were directed to utilize Message Bank as one place to view messages and logs from all containers.

How does Message Bank work?

I added Message Bank operation to our Interoperability Production. It automatically sends messages and event logs to the Message Bank.

Resending Messages

The Message Bank provides an interface for portal user to resend messages from the Message Bank portal.

1
0 558
Question Oliver Wilms · Dec 7, 2020

Hello,

I like to know if we need to have the message in a file to process a Record Map?

I am working with Interoperability Production that processes files /messages using Record Maps. My team was asked to redesign the solution for deployment in AWS. We use containers. We had problems with having multiple containers processing files from the same directory. We are considering Amazon Simple Queue Service instead of having files on a shared file system.

Has anybody migrated a Record Map to a Schema Definition to validate a message as a Virtual Document as I have seen with X12 messages?

Some of our

1
0 317
Article Oliver Wilms · Nov 22, 2020 2m read

Report about what happened during a test - check Message Bank to see what happened on the instances that received test messages from Feeder
 

I developed Feeder on an IRIS instance while working in development VPC and I configured a Message Bank in a different namespace on the same IRIS instance. I added Feeder.csp and submitted Feeder app to Full Stack contest. I currently refactor the Feeder and Message Bank apps for Interoperability contest and to deploy in another VPC.

Below I show a sample report from development VPC:

NAMESPACE>DO ##class(UnitTest.TestReport).Go(564)

UnitTest 564 began

0
0 262
Article Oliver Wilms · Nov 16, 2020 2m read

My team is working on redesigning an Interoperability solution that currently runs on a HealthShare server that is part of a mirror. Most of the messages are delimited records processed using Complex Record Mapping. We were told to utilize cloud services available in AWS, use containers, autoscaling…

Once we figured out how to use Docker, we imported the Health Connect code in multiple containers with a shared Elastic File System with the directory structure we copied from the existing server.

0
0 341
Article Oliver Wilms · Oct 5, 2020 2m read

IRIS Interoperability Productions formerly known as Ensemble are fun to work with. Yes, I really think my work is fun. I have seen File Passthrough Services and File Passthrough Operations come in handy. At one point we placed test messages in files, then we utilized a File Passthrough Service with Inbound File Adapter to send the contents of the file as a Stream to a File Passthrough Operation with Outbound TCP Adapter. The Operation pointed at a TCP service and sent the test messages.

Later I wanted to troubleshoot another service that received file contents as the body of HTTP requests.

1
0 461
Question Oliver Wilms · Aug 19, 2020

I was able to define ECP connection in Installer class that I run when I build docker image for my Docker IRIS application. Now I start to use Amazon ECS and Autoscaling. When a new instance is created and it runs the IRIS container, I want it to "register" as an Application server on the remote database server. What code can I execute to add an ip address as an Application Server?

2
0 555
Question Oliver Wilms · Jul 28, 2020

Hello,

I work with IRIS for Health 2020.1 and I attempted to set up Enterprise Systems to populate Message Bank. I see entries in Message Bank Event Log from the defined Enterprise Systems.  I can browse Messages going back before I set up Enterprise Systems using Enterprise Message Viewer. However, I find no messages in Message Bank Viewer. Do I need anything extra to archive messages?

5
0 469