Article Oliver Wilms · Dec 18 4m read Bringing Idea Inbound Interoperability adapter for HTTP Calls to Reality ## Implements Idea DPI-I-456 Idea #API #Business Service #Interoperability #InterSystems IRIS for Health #Ensemble #InterSystems IRIS Open Exchange app 2 0 0 26
Question Oliver Wilms · Dec 15 ERROR #9761: No key in provided JWKS for alg ES512 and kid I am trying to work with Epic on FHIR. Epic's documentation stated, your application makes a HTTP POST request to the authorization server's OAuth 2.0 token endpoint to obtain access token. Set tSC = ##class(%SYS.OAuth2.Authorization).GetAccessTokenClient(pClient,pScopes,.prop,.err) returns ERROR #9761: No key in provided JWKS for alg ES512 and kid I check this /csp/sys/oauth2/OAuth2.JWTServer.cls?client_name=medbank and I see this: #FHIR #OAuth2 #InterSystems IRIS 0 1 0 18
Article Oliver Wilms · Dec 15 3m read Setup OAuth2 Client for iris-http-calls to Epic on FHIR I have started working on utilizing Epic on FHIR about a month ago. Creating a Public Private Key Pair mkdir /home/ec2-user/path_to_key openssl genrsa -out ./path_to_key/privatekey.pem 2048 For backend apps, you can export the public key to a base64 encoded X.509 certificate named publickey509.pem using this command... #Authentication #AWS #Docker #FHIR #OAuth2 #SSL #InterSystems IRIS for Health Open Exchange app 4 2 0 62
Question Oliver Wilms · Nov 22 Can I connect to Epic FHIR sandbox server using iris-fhir-client? I finally figured out how to get JWT token using set x = ##class(%SYS.OAuth2.Authorization).GetAccessTokenClient("medbank","openid fhirUser",.prop,.err). I also found iris-fhir-client app on Open Exchange. I registered Epic sandbox server, but I cannot list resources. I suspect I need to integrate authorization / authentication. How do I do this with irisfhirclient py? #Authentication #FHIR #OAuth2 #InterSystems IRIS for Health 2 1 0 43
Question Oliver Wilms · Nov 19 How to create a signed JWT I need to create a JWT to connect to EPIC FHIRserver sandbox. https://fhir.epic.com/Documentation?docId=oauth2§ion=BackendOAuth2Guide You will generate a one-time use JSON Web Token (JWT) to authenticate your app to the authorization server and obtain an access token that can be used to authenticate your app's web service calls. There are several libraries for creating JWTs. See jwt.io for some examples. #Encryption #FHIR #JSON #OAuth2 #InterSystems IRIS for Health 0 5 0 73
Question Oliver Wilms · Oct 17 Can I add Dynamic Object or Iterator to BPL Context? I have a BPL iterating over Dynamic arrays. Can I add Dynamic Array (%Dynamic Abstract Object) and also %Iterator.Array to BPL context? I tried and I see Error: %AddToSaveSet method does not exist for %Iterator.Array #Business Process (BPL) #HealthShare #Ensemble #Health Connect #InterSystems IRIS 0 1 0 64
Question Oliver Wilms · Oct 12 Error when I want to build image: sudo: unable to allocate pty: Operation not permitted What is the reason for RUN apt-get update && apt-get install -y \ git \ nano \ python3-opencv \ sudo && \ /bin/echo -e ${ISC_PACKAGE_MGRUSER}\\tALL=\(ALL\)\\tNOPASSWD: ALL >> /etc/sudoers && \ sudo -u ${ISC_PACKAGE_MGRUSER} sudo echo enabled passwordless sudo-ing for ${ISC_PACKAGE_MGRUSER} I think I get error because I do not have sudo privilege in the environment where I use podman to build the image podman build --tag oliver3 . #Git #Ubuntu #Open Exchange 0 0 0 55
Question Oliver Wilms · Oct 3 Create - and use - custom setting in BPL I try to add custom setting in BPL process by adding parameter SETTINGS = "Scope" and property Scope As %String. But how do I access instance property in BPL process? I get error that method or property Scope is not found. #InterSystems IRIS for Health #Ensemble 0 2 0 60
Question Oliver Wilms · Sep 28 This site can’t be reached - trying out iris-DataViz I want to try out iris-DataViz app to visualize my own data. I cloned the repo and docker-compose up -d in AWS. IRIS portal works, but on port 8051 I get nothing. I checked my AWS security groups. I reversed IRIS webserver port and 8051 and I can connect to Management portal using port 8051. I don't understand what is refusing connection on port 8051 running in iris-DataViz container. #AWS #Docker #Management Portal #Security #InterSystems IRIS 0 1 0 48
Question Oliver Wilms · Sep 19 Input Redirection Hello, I try to develop a REST interface where I need to interact with legacy MUMPS routines. How can I pass in input to a Read without modifying the legacy code? I think in linux I can execute command < inputfile to read from file, but how does it work in ObjectScript? #ObjectScript #InterSystems IRIS 0 4 0 120
Question Oliver Wilms · Aug 29 Create PDF and transfer it via REST Hello, I want to create PDF from HTML source. I found pandoc. I installed pandoc on IRIS container image. I created Interoperability production. I have setup REST service to receive HTML file in request body. I call pandoc command pandoc -o output.pdf input.html from a BPL process. I copy output.pdf file stream into response body. I save the response at the source. I get a file named output.pdf but it does not load in Acrobat. I suspect I am doing something wrong with headers (accept-encoding?) or maybe do I need to base64 encode the pdf file to transfer it via REST? #HTML #Interoperability #REST API #InterSystems IRIS 0 7 0 167
Question Oliver Wilms · Jun 24 <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 96
Question Oliver Wilms · Jun 23 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 120
Question Oliver Wilms · Jun 23 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 155
Question Oliver Wilms · Jun 22 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 228
Question Oliver Wilms · Mar 10 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 118
Article Oliver Wilms · Feb 3 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 217
Article Oliver Wilms · Jan 31 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 159
Question Oliver Wilms · Jan 11 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 774
Question Oliver Wilms · Jan 10 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 215