新しい投稿

查找

質問
· 2023年11月22日

Handling CDATA in XML Responses: Removing <![CDATA[]]> in String Properties for Clean Integration

Hello,

First of all thanks for your help.

We have the following scenario: some responses include special characters as ">" and "<" which are being put inside a property defined as:

Property PACPROBLEMAS As %String(MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");

 

So then, when we observe the LOG SOAP it shows that the Target System replies to the ESB as follows:

➡️ <PAC_PROBLEMAS>46807#278.01#OBESIDAD INFANTIL GRAVE     ( Z-SCORE IMC &gt;2,70 ) #19/09/2019##N#</PAC_PROBLEMAS>

 

However when we observe the Visual Trace, the message being replied from the Operation to the Process has a CDATA section as you could see:

➡️ <s01:PAC_PROBLEMAS><![CDATA[46807#278.01#OBESIDAD INFANTIL GRAVE     ( Z-SCORE IMC >2,70 )#19/09/2019##N#S]]>
</s01:PAC_PROBLEMAS>

 

We do need to find a way to remove the <![CDATA[]]> because the system which receives the response needs it to be raw without any CDATA.

We do have checked that it only shows this behaviour with special character which conflict with the ones that are used in XML as ">" and "<".

 

We do have investigated the following options:

📌 Declare CONTENT = "ESCAPE"

Property PACPROBLEMAS As %String(CONTENT = "ESCAPE", MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");

It stills being the same

 

📌 Declare ESCAPE = "HTML"

Property PACPROBLEMAS As %String(ESCAPE = "HTML", MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");
It behaves similarly

 

📌 Declare ESCAPE = "XML"

Property PACPROBLEMAS As %String(ESCAPE = "XML", MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");

It just shows the same behaviour

 

We have also read:

https://docs.intersystems.com/irisforhealthlatest/csp/documatic/%25CSP.D...

https://community.intersystems.com/post/convert-string-property-cdata-an...

https://community.intersystems.com/post/there-way-automatically-remove-s...

 

However the previous post does not cover this topic.

Could you help us please?

🔎 How could we remove <![CDATA[]]> in a String property? 📍  

Could we declare there any properties, parameters, configurations or options to remove it?

What is the most recommended and clean way to achieve this?

 

Thanks for your help, time, answers, teaching and support.

5 Comments
ディスカッション (5)2
続けるにはログインするか新規登録を行ってください
質問
· 2023年11月21日

Configure SQL.OutboundAdapter to SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

Hi,

DBA has asked me to configure a working Business Operation using a SQL.OutboundAdapter (connecting to external MSSQL server) to run as TRANSACTION ISOLATION LEVEL READ UNCOMMITTED.

I would like help with an example of how this is done.

Thanks

4 Comments
ディスカッション (4)3
続けるにはログインするか新規登録を行ってください
質問
· 2023年11月20日

Error on FHIR resource publish through Process to FHIR repository

I have received 2 errors while publishing Patient data to repository. Message viewer displays like below and the Application log found  bold content.

Could you please help me on this to resolve the errors.

An error occurred with the web application.
It has been logged to system error log (System Operation>System Logs>Application Error Log).

"<METHOD DOES NOT EXIST>OnPage+42^EnsPortal.MessageContents.1 *%Id,HS.FHIRServer.API.Data.Request : CSP Error"

Business Operation Event logs displays "ERROR <Ens>ErrRequestNotHandled: Request message '3@HS.FHIRServer.API.Data.Request' not handled"

Please suggest what is the issue here ..

Thanks,

6 Comments
ディスカッション (6)3
続けるにはログインするか新規登録を行ってください
質問
· 2023年11月20日

Optimizing HL7 Routing Rules: Filtering ADT_A08 Messages Without OBXs

Hello,

First of all thanks for your time reading this doubt.

We have discovered the following behaviour. Inside a Router we have a roule which needs to filter out the ADT_A08 messages which have not OBXs.

The legacy system had this rule implemented:

(((Document.{OBX(1).SetIDOBX}<"1")||((Document.{EVN:EventReasonCode}!="COD")&&(Document.{EVN:EventReasonCode}!="FIN")))

 

However we have tested it and it does not filter out the ADT_A08 messages.

Is there any way to express inside a Rule, that we need to discard ADT_A08 messages which have not OBXs?

 

We have been investigating this class which provides the functions to use inside a Rule: " Ens.Util.FunctionSet"

We do observe a "Contains" function but we do not see a "Count" function.

 

We have also read:

How to work with Rules: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=EB...

How is Routing Rule Editor expected to work: https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...

 

Could you help us please?

 

Thank you for your time, thoughts, replies and for your help.

Thanks.

5 Comments
ディスカッション (5)3
続けるにはログインするか新規登録を行ってください
記事
· 2023年11月19日 1m read

NativeAPI for Java from WebTerminal

Based on the successful solution for my 2nd contribution to the Contest 
I used an adapted version for this package. And have some findings I'd like to share.

Multiple communication steps over CPIPE may take time.
You won't recognize it on a fast machine. But a slower box with
Windows + Docker Desktop + your browser (and more) is neither
"Speedy Gonzales" nor a "Road Runner". 🙂

First observation you launch your OS command and see NO result
On the console, you just sit there and expect a reply.
Establishing the Connection to IRIS is a typical case.
Jour redirected Output is just empty.  

This happens every now and then since between submission of
the user input, execution, and filling of the redirection file is a delay.
Reading of the output file immediately after command submission
doesn't make sense.

So I had to add a delay before checking the result.
As the delay was not sufficient in some cases also a RePaint was added,

I also observed a similar effect also with my command pipe.
To avoid missing content it sometimes required double submission.
I didn't find a real solution, just a workaround.
It mostly happened in my private box.
The OpenDempServer was always fast enough.

Suggestions on how to trace and solve this are welcome.

1 Comment
ディスカッション (1)1
続けるにはログインするか新規登録を行ってください