Question Oliver Wilms · Jun 24, 2024 <STRINGSTACK> Error I am updating a large JSON Dynamic Object. Inserting three streams using Do obj.%Set("data",pStream,"stream>base64"). Maybe I am calling Iterate() too often? #JSON #InterSystems IRIS 0 2 0 126
Question Oliver Wilms · Jun 23, 2024 Long JSON values I have JSON object which contains file references. I need to replace the file reference with base64 encoded file which is up to 10MB. I tried the following but it did not work as expected: #JSON #InterSystems IRIS 0 9 0 154
Question Oliver Wilms · Jun 23, 2024 Long JSON Error {}.%FromJSONFile(file) I am working on JSON and want to be prepared to handle large Objects. I try this code: ClassMethod MaxLen() As %Status { set longStr="" for i=1:1:$SYSTEM.SYS.MaxLocalLength() { set longStr = longStr_"x" } write "Maximum string length = "_$LENGTH(longStr) ; set longObject = {"a":(longStr),"b":(longStr)} set file=##class(%File).%New("/tmp/longObjectFile.txt") do file.Open("WSN") do longObject.%ToJSON(file) do file.Close() ; do file.Open("RS") #JSON #InterSystems IRIS 0 5 0 233
Question Oliver Wilms · Jun 22, 2024 Base64 encode Word document Hello. I was asked to base64-encode files such as Word documents (which contain images) and then post them to a Jira server. I found code to base64 encode a file here: https://community.intersystems.com/post/encoding-base64-stream-chunk-siz... It seemed to work, but when someone tried to open the Word document, the images inside could not be displayed. #InterSystems IRIS 0 3 0 324
Question Oliver Wilms · Mar 10, 2024 How to show connections in Production Configuration screen for HL7 Router Hello, I created HL7 router Extends Ens.Rule.Definition. When I click the dot to the left, it does not draw lines to targets. I tried to add ClassMethod OnGetConnections(), but it does not get executed. #InterSystems IRIS for Health 0 1 0 148
Article Oliver Wilms · Feb 3, 2024 2m read My first real use case for Embedded Python The architect of the JSON schema (MS) asked if IRIS could perform schema validation. I asked on Discord objectscript channel how we could validate a Dynamic Object against a JSON schema. Dmitry Maslennikov replied that probably the easiest way would be to use python, but it would require converting ObjectScript JSON to Python dict. #Embedded Python #JSON #InterSystems IRIS for Health Open Exchange app 4 0 1 246
Article Oliver Wilms · Jan 31, 2024 2m read What is iris-hl7? An App that converts HL7 messages to JSON objects. About a year ago I started a GitHub repo for collecting stuff related to HL7. Recently my team added an HL7 interface to our Interoperability Production and we were asked to persist HL7 messages. We created a Kafka topic to receive HL7 messages. We use Kafka Bridges to send messages to Kafka topics. Kafka messages are sent to the Kafka Bridge in JSON format. #HL7 #JSON #InterSystems IRIS for Health #Open Exchange Open Exchange app 0 0 0 195
Question Oliver Wilms · Jan 11, 2024 Convert HL7 message to JSON Hello, I tried to convert HL7 message to JSON in a business process and I got errors. Has anybody converted HL7 to JSON? Are certain characters not allowed in JSON? I just tried to set a property to quote request.RAWContent and quote. I will try to put example in GitHub and share here later. #HL7 #JSON #InterSystems IRIS for Health 0 5 0 963
Question Oliver Wilms · Jan 10, 2024 When we deploy IRIS cluster using IKO, can we add async IRIS instance outside of the cluster? Hello, we deploy IRIScluster using IKO on Red Hat OpenShift deployed in AWS. For DR, we have another AWS region on stand by. We do daily backups. I run a standalone IRIS in the second region. I want to add it as async member to the mirror to have some essential data available in the standby region. Is this possible? #Kubernetes #Mirroring #InterSystems IRIS 0 5 0 238
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 249
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 230
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 199
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 192
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 196
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 151
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 651
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 393
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 719
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 689
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 352