Question Oliver Wilms · Dec 27, 2023 Does InterSystems REST service creation support swagger API version 3? Does Using the %REST.API Class work with Swagger OpenAPI version 3? I got an error when I tried it on IRIS 2022.2 ERROR #8738: Correct OpenAPI 2.0 version was not specified: . <$.swagger> #API #InterSystems IRIS 0 1 0 222
Article Oliver Wilms · Nov 28, 2023 2m read java-excel-iris uses java code to read Excel data and store it into IRIS global My newest app includes a java routine to read data from Excel 95, 97, 2000, XP, and 2003 workbooks and write the data into IRIS globals using Java Native API library. If you have Git and Docker installed, clone/git pull the repo into any local directory $ git clone https://github.com/oliverwilms/excel-java-iris.git Open the terminal in this directory and run: $ docker-compose up -d Execute java class IRISNative #Java #InterSystems IRIS #Open Exchange Open Exchange app 2 1 0 199
Discussion Oliver Wilms · Jun 29, 2023 The idea for iris-user-manager I want to deploy IRIS apps running in containers in Kubernetes with user accounts configured. I have a %ZSTART routine which looks for an XML file with Users export data and if the %ZSTART routine finds this file, it imports it. This Users export data can be obtained by running a class method. I have defined a task which can be scheduled or run on demand. This tasks imports user data from an XM file. In Kubernetes I can provide a ConfigMap to stage the Users data for the %ZSTART routine. #Kubernetes #InterSystems IRIS 1 2 0 190
Article Oliver Wilms · Apr 21, 2023 2m read Copy data into IRIS Cloud SQL deployment using sqlalchemy-iris We have a rule to disable a user account if they have not logged in for a certain number of days. IRIS Audit database logs many events such as login failures for example. It can be configured to log successful logins as well. We have IRIS clusters with many IRIS instances. I like to run queries against audit data from ALL IRIS instances and identify user accounts which have not logged into ANY IRIS instance. #Cloud #Python #SQL #InterSystems IRIS Open Exchange app 1 1 0 177
Article Oliver Wilms · Apr 21, 2023 1m read Still trying to copy data from audit-consolidator into IRIS Cloud SQL Within IRIS I defined a task to export audit data every day. I provide some sample files in my GitHub repo. #Python #SQL #InterSystems IRIS Open Exchange app 1 1 0 184
Article Oliver Wilms · Apr 18, 2023 2m read Lessons Learned working on audit-consolidator I have Audit consolidator deployed in AWS where I scheduled Audit Export task to run daily. Xml files are stored in mgr directory because the task runs in %SYS namespace. #SQL #InterSystems IRIS Open Exchange app 2 0 0 144
Question Oliver Wilms · Apr 13, 2023 Read a long Stream into JSON Dynamic Object - MAXSTRING error I am trying to read binary data from HTTP Request Stream and build a Dynamic Object with multiple properties. I am getting MAXSTRING error with this code: #JSON #InterSystems IRIS 2 5 0 584
Article Oliver Wilms · Apr 7, 2023 2m read Autoscaling IRIS Workloads. My adventure with IKO, HPA, and Traffic Cop This week I was able to demo a proof of concept for our FMS interface on traffic cop architecture to my team. We are working on modernizing an Interoperability production running on mirrored Health Connect instances. We deploy IRIS workloads on Red Hat OpenShift Container Platform using InterSystems Kubernetes Operator (IKO). We can define any number of replicas for the compute stateful set where each compute pod runs our Interoperability production. We introduced Horizontal Pod Autoscaler (HPA) to scale up the number of compute pods based on memory or CPU utilization. #Kubernetes #REST API #Health Connect #InterSystems IRIS 5 0 0 375
Article Oliver Wilms · Apr 4, 2023 6m read copy/sync system configurations and user accounts between IRIS instances to simplify user and configurations management. IRIS configurations and user accounts contain various data elements that need to be tracked, and many people struggle to copy or sync those system configurations and user accounts between IRIS instances. So how can this process be simplified? In software engineering, CI/CD or CICD is the set of combined practices of continuous integration (CI) and (more often) continuous delivery or (less often) continuous deployment (CD). Can CI/CD eliminate all our struggles? #Change Management #Continuous Delivery #Continuous Integration #Kubernetes #Tutorial #InterSystems IRIS 9 1 2 677
Question Oliver Wilms · Mar 21, 2023 ERROR <Ens>ErrBPTerminated: Terminating BP JSON2HL7 # due to error: ERROR #5035: General exception Name 'Parsing error' Code '3' Data '' > ERROR #5035: General exception Name 'Parsing error' Code '3' Hello, I want to show a fellow DC member how to convert JSON file into HL7 message. I personally do not work with HL7. I set up a production with EnsLib.File.PassthroughService. It passes Ens.StreamContainer to BPL process. I call a DTL to transform StreamContainer to HL7 message. I run into an error: ERROR <Ens>ErrBPTerminated: Terminating BP JSON2HL7 # due to error: ERROR #5035: General exception Name 'Parsing error' Code '3' Data ''> ERROR #5035: General exception Name 'Parsing error' Code '3' Data '' The code is in this GitHub repo: #Business Process (BPL) #DTL #HL7 #JSON #Ensemble 0 2 0 622
Article Oliver Wilms · Mar 19, 2023 5m read Tutorial how to analyze requests and responses received and processed in webgateway pods csp-log-tutorial Prerequisites Make sure you have git installed. I created a git folder inside the IRIS mgr directory. I right clicked the git folder and chose Git Bash Here from the context menu. git clone https://github.com/oliverwilms/csp-log-tutorial.git Clone my csp-log-tutorial GitHub repo if you like to try it out for yourself. #Best Practices #Tutorial #Web Gateway #InterSystems IRIS 11 1 0 324
Article Oliver Wilms · Feb 5, 2023 2m read Embedded Python for iris-log-viewer conclusion As my entry into InterSystems Developer Tools Contest happening now I have been working on an alternative to the Console Log Viewer web page provided as part of InterSystems IRIS Management Portal. Console log is a file called messages.log. It is what InterSystems support asks me to send to them when I open a support ticket. #Embedded Python #InterSystems IRIS Open Exchange app 0 0 1 158
Question Oliver Wilms · Feb 5, 2023 Error reading messages.log file using Embedded Python in iris-log-viewer I copied a 5 MB messages.log file to AWS where I have iris-log-viewer app deployed. I ran the test to see how it takes in IRIS code to import the lines into a persistent table: IRISAPP>set m5mb="/home/irisowner/irisdev/messages.old_20221231.log" IRISAPP> IRISAPP>do ##class(otw.log.irislogreader).Test1(m5mb)Test1 begins at 02/05/2023 12:49:30ReadLogLines/home/irisowner/irisdev/messages.old_20221231.logOpenTest1 ends at 02/05/2023 12:49:34Test1 execution time: 3.500789 select count(*) from otw_log.Log 63239 #Embedded Python #InterSystems IRIS 0 7 0 238
Article Oliver Wilms · Feb 4, 2023 1m read Embedded Python for iris-log-viewer I developed iris-log-viewer on a work laptop using an older version of IRIS. My messages.log file has nearly 10k lines. I noticed it takes a couple of seconds to read messages.log file line by line, import each line into a persistent class, and display messages on my screen. I wonder if Python can speed up the process. #Embedded Python #InterSystems IRIS Open Exchange app 0 0 0 208
Article Oliver Wilms · Feb 2, 2023 1m read Console Log Viewer with Download link and filters Messages.log file contains lots of useful information about IRIS. Sometimes the file gets big, and it is not easy to get to the data I am interested to review. It would be nice to jump to a specific date and time we suspect a problem may have started. #CSP #Tools #InterSystems IRIS #Open Exchange Open Exchange app 3 1 0 246
Question Oliver Wilms · Jan 6, 2023 IRIS Interoperability shutdown Has anybody tried to write custom code to empty out queues when Interoperability shuts down? We run IRIS in Kubernetes cluster and we have compute pods scaling up and down. We have Message Bank operation to keep all messages in one place. We want to see all messages in Message Bank. #Ensemble 1 3 0 292
Article Oliver Wilms · Dec 1, 2022 1m read My First FHIR app I participated in InterSystems Women’s Health FHIR contest, because I loved the challenge to learn a new-to-me technology. I wanted to develop an app that receives data from a mobile device like my Fitbit or a Smart Watch. I did not get access to such data except when I downloaded a spreadsheet (CSV file) showing my daily steps and sleep data. I saw in iris-fhir-template it imported some patient data to a FHIR server. #DTL #FHIR #InterSystems IRIS for Health Open Exchange app 4 1 0 353
Question Oliver Wilms · Nov 23, 2022 What is the likelihood of encountering "missing messages" in message bank? My team works on implementing an Interoperability solution utilizing InterSystems Kubernetes Operator on Red Hat OpenShift container platform. We are trying to determine how many messages we can process in any given time. We have a Feeder app running in 10 containers sending 50k messages each to a load balancer all beginning at the same time. Messages are received via HTTPS protocol by webgateway containers. Interoperability production runs in compute pods with persistent data, journals, and WIJ volumes. #Containerization #Enterprise Message Bank #InterSystems IRIS 1 1 1 432
Article Oliver Wilms · Sep 16, 2022 1m read Background story around interoperability-soap My team is working on redesigning and implementing an Ensemble production on Red Hat OpenShift Container Platform. We had to learn about Kubernetes and IKO. #Web Gateway #Ensemble #Open Exchange Open Exchange app 2 0 0 230
Article Oliver Wilms · Sep 11, 2022 1m read Routing REST messages inside interoperability-test I deployed online demo here: #REST API #Ensemble #InterSystems IRIS Open Exchange app 1 0 0 275