Have you tried to change the timeout? The documentation says that timeout is defined in milliseconds, maybe you are waiting just 5 milliseconds.
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
- Log in to post comments
Have you tried to change the timeout? The documentation says that timeout is defined in milliseconds, maybe you are waiting just 5 milliseconds.
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
You can call the transformation from the BPL as the first step.
Here you can see an example of a Dockerfile with an IRIS, Nodejs and nginx:
Hi Lorenzo! I'm no sure if this is the reason, but I've defined a proxy for the Angular front-end. You can check proxy.config.json:
{
"/api/*": {
"target": "http://iris:52773",
"secure": false,
"logLevel": "debug"
}
}All my requests to the server are using localhost:4200 and they are translated into iris:52773 after the request.
You can create a previous Business Rule to apply a transform before to the redirection to BPL.
https://docs.intersystems.com/iris20232/csp/docbook/DocBook.UI.Page.cls…
In the transformation your can apply $EXTRACT function to the OBX.5 bigger than 510 and replace that OBX.5
Your 5 stars are always welcomed! Thanks @Robert Cemper
Well, in theory if you define the identifier in the request section and define the method as "PUT" the server should create the organization if it doesn't exist or updated if it do.
<?xml version="1.0" encoding="UTF-8"?>
<Bundle xmlns="http://hl7.org/fhir">
<type value="transaction"> </type>
<entry>
<resource>
<Organization>
<id value="17C7D86E-664F-4FE2-91D7-AF9A8E47311E"></id>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"> LITTLE CLINIC 2000 PATIENT DRIVE ANN
ARBOR MI US - NOI # 888333111 </div>
</text>
<identifier>
<system value="www.nationalorgidentifier.gov"/>
<value value="888333111"/>
</identifier>
<name value="LITTLE CLINIC"/>
<address>
<line value="2000 CLINIC DRIVE"/>
<city value="ANN ARBOR"/>
<state value="MI"/>
<country value="US"/>
</address>
</Organization>
</resource>
<request>
<method value="PUT"/>
<url value="Organization?identifier=www.nationalorgidentifier.gov|888333111"/>
</request>
</entry>
<entry>
<resource>
<Patient>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"> EVERYWOMAN EVE 2000 PATIENT DRIVE ANN
ARBOR MI MPI #12312311 </div>
</text>
<identifier>
<system value="www.mypatientidentifier.com"/>
<value value="12312311"/>
</identifier>
<name>
<family value="EVERYWOMAN"/>
<given value="EVE"/>
</name>
<address>
<line value="2000 PATIENT DRIVE"/>
<city value="ANN ARBOR"/>
<state value="MI"/>
<country value="US"/>
</address>
<managingOrganization>
<reference value="Organization/17C7D86E-664F-4FE2-91D7-AF9A8E47311E">
</reference>
</managingOrganization>
</Patient>
</resource>
<request>
<method value="PUT"/>
<url value="Patient?identifier=www.mypatientidentifier.com|12312311"/>
</request>
</entry>
</Bundle>
But this is the theory...not sure if it will work for your FHIR server.
Have you tried to split your variable in various variables to avoid the string length limitation?
XData VariableName1 [ MimeType = application/json ] {}
XData VariableName2 [ MimeType = application/json ] {}
...
XData VariableNameN [ MimeType = application/json ] {}
Congratulations to me!

Hi Corentin! Here you can see how to initialize ListOfDataTypes objects:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
What do you think that we have in the kitchenette (cocina) in southern Europe? A machine of sangria? That would be great...
Try with the following code:
do context.listIdProcess.InsertList(callresponse.listId.Serialize())Is listIdProcess initialized?
Can you create an idea with this request in the Ideas Portal?
What are the statuses of the allergies? Maybe they are inactive or have an InactiveTime defined.
Welcome and good article!
Have you tried InsertList method?
https://docs.intersystems.com/iris20232/csp/documatic/%25CSP.Documatic…
Well, I guess that you just need to call the BO/endpoint form the WHILE loop:
Set tSC = ..SendRequestSync(outbound, pRequest, .pResponse)We know that you can do it @Dmitry Maslennikov , it is not necessary to rub it in our faces.

Maybe it's a problem of privileges of the IRIS user.
FHIR Adapter is the solution for your problem, but it's available from IRIS 2022.1:
https://docs.intersystems.com/irisforhealth20232/csp/docbook/DocBook.UI…
You are right, you have to create the properties before to use %FindDocuments...BUT...it doesn't work for arrays of data. I've found this answer to a similar question:
https://community.intersystems.com/post/how-query-data-docdb-through-py…
I was testing the behaviour with this example:
DO db.%CreateProperty("type","%String","$.PhoneNumber.type")
SET dynAbObj = {
"FullName":"John Smith",
"FirstName":"John",
"Address":{
"street":"101 Main Street",
"city":"Mapleville",
"state":"NY",
"postal code":10234
},
"PhoneNumber":
[
{"type":"home","number":"212-456-9876"},
{"type":"cell","number":"401-123-4567"},
{"type":"work","number":"212-444-5000"}
]
}
$$$TRACE(dynAbObj.%ToJSON())
SET jstring = dynAbObj.%ToJSON() // dynamic abstract object to JSON string
DO db.%FromJSON(jstring) // JSON string inserted into document database
$$$TRACE(db.%FindDocuments(["type","cell","="]).%ToJSON())
$$$TRACE(db.%FindDocuments(["type","home","="]).%ToJSON())This is the answer for the first search:
{"sqlcode":100,"message":null,"content":[]}And this is the answer for the second search:
{"sqlcode":100,"message":null,"content":[{"%Doc":"{\"FullName\":\"John Smith\",\"FirstName\":\"John\",\"Address\":{\"street\":\"101 Main Street\",\"city\":\"Mapleville\",\"state\":\"NY\",\"postal code\":10234},\"PhoneNumber\":[{\"type\":\"home\",\"number\":\"212-456-9876\"},{\"type\":\"cell\",\"number\":\"401-123-4567\"},{\"type\":\"work\",\"number\":\"212-444-5000\"}]}","%DocumentId":"1","%LastModified":"2023-09-18 10:13:30.694"}]}As you can see, it only works fine for the first value of the array, the definition of the property doesn't allow to define an array of values.
db.%FindDocuments({["PhoneNumber.type","cell","="],["PhoneNumber.number","401-123-4567","="]})Here you can find the answer:
https://community.intersystems.com/post/fixing-iris-service-did-not-sta…
Take a look here: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
This deserves an article @Alex Woodhead !
Use Docker is not neccessary, Docker is just to deploy the code and test it, but I think that you can just follow the article to create and deploy your own REST service.
To receive REST call directly into a Business Service is not the most recommended because you can't apply any kind of access restriction to the service. What I always recommend is to create a web application managed by a class that extends from %CSP.Rest and resend the JSON received to the Business Service.
You can see an example on this article:
https://community.intersystems.com/post/creating-rest-service-iris
Well, I think that nothing has changed, maybe it's a different configuration of the browser or some other subjective circumstance, but I remember to have this situation with Ensemble for long time ago.
What can I say...
