Question Oliver Wilms · Jan 19 Where did my variables go? Without Exclusive NEW, now I get <UNDEFINED> I inherited some legacy MUMPS / ObjectScript code. A code review identified an exclusive NEW and that is not allowed per our coding standards. The original code contains: RUN(CALL,DRVNAME) S $EC="" S ^TMP($J,"RMPV","DRVNAME")=DRVNAME N TMPFILE,OLDIO S OLDIO=$IO I $G(^TMP("RMPV","SILENT"),1) S IOP="NULL",%ZIS=0 D ^%ZIS I '$G(POP,1) U IO D INIT^@DRVNAME D ; scope variables .N (DUZ,CALL) ; Protect %response .S IOF="""""",IOM=80,U="^" .D @CALL U OLDIO Q #ObjectScript #Caché #InterSystems IRIS for Health #InterSystems IRIS 0 3 0 49
Article Oliver Wilms · Dec 18, 2024 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 62
Question Oliver Wilms · Dec 15, 2024 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 28
Article Oliver Wilms · Dec 15, 2024 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 1 113
Question Oliver Wilms · Nov 22, 2024 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 56
Question Oliver Wilms · Nov 19, 2024 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 103
Question Oliver Wilms · Oct 17, 2024 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 79
Question Oliver Wilms · Oct 12, 2024 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 67
Question Oliver Wilms · Oct 3, 2024 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 69
Question Oliver Wilms · Sep 28, 2024 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 53
Question Oliver Wilms · Sep 19, 2024 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 130
Question Oliver Wilms · Aug 29, 2024 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 178
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 102
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 124
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 169
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 243
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 126
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 226
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 173
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 835