8 Followers · 237 Posts

Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.

Learn more.

Question Yone Moreno Jiménez · Feb 24

Hello, how are you?

Using Healthshare for Interoperability, we often see a wide variety of encoding issues. Some happen when transforming XML to HL7. Some happen the other ay around transforming HL7 to XML.

Is there a valid way to understand which encoding needs to be used?

I ask, because we use SOAP or REST or TCP HL7 services.

And we deliver messages with TCP HL7, SOAP, HTTP Operations.

And we often face this issue where special characters like ñ or á, are not encoded correctly.

Thanks for your replies.

5
0 84
Question Preedhi Garg · Jan 12

I’m working on XML Digital Signature in InterSystems IRIS using %XML.Security.Signature

I start with an XML document that is created by parsing an input XML string, and I want to digitally sign this document using an X509 certificate.

Set x509 = ##class(%SYS.X509Credentials).GetByAlias(credAlias)
Set signature = ##class(%XML.Security.Signature).CreateX509(x509,$$$SOAPWSIncludeNone ,$$$KeyInfoX509Certificate)

Set signature.Id = "SIG1"
DO signature.SetSignatureMethod($$$SOAPWSrsasha1)
DO signature.SetDigestMethod($$$SOAPWSsha1)
Set signature.SignedInfo.CanonicalizationMethod.
2
0 78
Question Ashok Kumar T · Dec 15, 2025

Hello Community,

What is the correct way to import and compile .dfi files when using zpm load? Do .dfi files need to be defined in module.xml?

I have code that imports the .dfi file successfully; however, when I run
zpm "load /home/irisowner/dev/ -v"

I get the message: Unknown file type. Skipping file: .pivot.DFI

    zpm "install isc-dev"
    do ##class(dev.code).workdir(dir)
    do ##class(dev.code).import("*.DFI")

Thank you!

30
0 229
Question Marco Bruni · Nov 28, 2025

Hello!
I have the following XML document obtained through a string:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MainDocument xmlns="urn:hl7-org:v3">
<realmCode code="IT"/>
<title>kjbkjkjbkjb</title>
<effectiveTime value="20090905150716"/>
[.....other tags.....]
<versionNumber value="1"/>
<component>
<body>mhvjhjkvhj</body>
<component>
<section>content</section>
<ID>5</ID>
<title>Certificato</title>
<text/>
<entry>
<Id>5</Id>
[...other tags...]
</entry>
<entry>
<Id>6</Id>

7
0 122
Article Ashok Kumar T · Oct 20, 2025 11m read

What is XML?

XML(eXtensible Markup Language) is a flexible, text-based, andplatform-independentformat used to store and transport data in a well-structured way that is both human- and machine-readable. XML permits users to define custom tags to describe the meaning and organization of their data. For example: <book><title>The Hitchhiker's Guide</title></book>.

An XML document is self-descriptive and structured as a hierarchical tree of elements. Every document has a single root element that encapsulates all other content.

3
6 408
Question Nimisha Joseph · Oct 27, 2025

Hi,

I’m working in Ensemble and trying to resend a message from the Message Viewer. The message is in XML format.

When I try to edit the XML before resending,

  • I open the message in the Message Viewer.
  • I click Resend or Edit & Resend.

I’m looking for guidance on:

  1. How to make a message editable in Message Viewer.
  2. The proper way to modify an XML message before resending in Ensemble/IRIS.

Any suggestions or examples would be very helpful.

1
1 88
Article Harshitha · Oct 22, 2025 2m read

Hello community,

I wanted to share my experience about working on Large Data projects. Over the years, I have had the opportunity to handle massive patient data, payor data and transactional logs while working in an hospital industry. I have had the chance to build huge reports which had to be written using advanced logics fetching data across multiple tables whose indexing was not helping me write efficient code.

Here is what I have learned about managing large data efficiently.

Choosing the right data access method.

As we all here in the community are aware of, IRIS provides multiple ways to access data. Choosing the right method, depends on the requirement.

  • Direct Global Access: Fastest for bulk read/write operations. For example, if i have to traverse through indexes and fetch patient data, I can loop through the globals to process millions of records. This will save a lot of time.
Set ToDate=+H
Set FromDate=+$H-1 For  Set FromDate=$O(^PatientD("Date",FromDate)) Quit:FromDate>ToDate  Do
. Set PatId="" For  Set PatId=$Order(^PatientD("Date",FromDate,PatID)) Quit:PatId=""  Do
. . Write $Get(^PatientD("Date",FromDate,PatID)),!
  • Using SQL: Useful for reporting or analytical requirements, though slower for huge data sets.
6
1 201
Article Yuri Marx · Oct 9, 2025 4m read

The ObjectScript language has incredible JSON support through classes like %DynamicObject and %JSON.Adaptor. This support is due to the JSON format's immense popularity over the previous dominance of XML. JSON brought less verbosity to data representation and increased readability for humans who needed to interpret JSON content. To further reduce verbosity and increase readability, the YAML format was created. The very easy-to-read YAML format quickly became the most popular format for representing configurations and parameterizations, due to its readability and minimal verbosity.

1
1 118
Question David Saunders · Sep 4, 2025

Given the code below, I need help with getting the collected column widths from the Demo.Configuration table and stored in the columnWidths zne page property. As I understand it, I should be able to retrieve it using zenPage.columnWidths in the setColumnWidths or dgRender clientMethods but the alert is showing that it cannot be retrieved as it shows a value of Null. Once I can retrieve those values, then I want to set the widths of the colmns of the dynaGrid according to the values in the ^Demo.Configuration table. The data pulled in from the CSV file that creates ^Demo.

2
0 78
Job Ying Zhang · Jul 8, 2025

I am seeking work with InterSystems HealthConnect/Cache. My experience is working with Rules and DTLs, plus message search, and export of components.With 10 years of dedicated expertise in SOA and ESB platform development, I have successfully designed and implemented enterprise-level integration solutions for large organizations, driving significant improvements in system interoperability and business efficiency.I have actively developed and supported HL7 V2/V3 、FHIR、XML/JSON interfaces.I reside in China. Available for full-time or contract positions, with remote work options preferred.

0
0 113
Article Chi Nguyen-Rettig · Jun 1, 2025 3m read

IRIS supports CCDA and FHIR transformations out-of-the-box, yet the ability to access and view those features requires considerable setup time and product knowledge. The IRIS Interop DevTools application was designed to bridge that gap, allowing implementers to immediately jump in and view the built-in transformation capabilities of the product.

0
2 241
Article Muhammad Waseem · May 28, 2025 4m read


Hi Community,
In this article, I will introduce my application iris-fhir-bridge 
IRIS-FHIR-Bridge is a robust interoperability engine built on InterSystems IRIS for Health, designed to transform healthcare data across multiple formats into FHIR and vice versa. It leverages the InterSystems FHIR Object Model (HS.FHIRModel.R4.*) to enable smooth data standardization and exchange across modern and legacy healthcare systems.

2
1 330
Question Lee Butcher · May 19, 2025

As part of a process to generate FHIR XML bundles from HL7 messages, I have a subtransform transforming segments of an MDM_T02 message into a section of XML (EnsLib.EDI.XML.Document). So far this has worked well although I've encountered strange behaviour when making use of an xmlns attribute, whereby the attribute's name is duplicated despite the schema and DTL editor displaying it correctly.

Here's a snippet of the div.xmlns definition from the XSD schema used

Has anyone else encountered this? Any help is much appreciated

0
0 98
Question Scott Roth · May 13, 2025

We are attempting to send HL7 messages over to CBOARD NetMenu over HTTP using SSL. We set this up using the EnsLib.HL7.Operation.HTTPOperation adapter. When we attempt to send the message we are receiving 

MSH|^~\&|||DIETOE|A6M0|202505131437||ACK^HTTP^415|00|P|2.1 MSA|AE|9165602|HTTP (N)ACK 'HTTP/1.1 415 Unsupported Media Type'

The vendor mentioned something about putting a SOAP/XML wrapper around the HL7 message but isn't that what the HTTPOperation adapter does? Why would we be getting Unsupported Media Type. How would we go about setting the Media Type for the HTTP HL7 message?

4
0 175
Article Enrico Parisi · May 2, 2025 3m read

In a project I'm working on we need to store some arbitrary XML in the database. This XML does not have any corresponding class in IRIS, we just need to store it as a string (it's relatively small and can fit in a string).
Since there are MANY (millions!) of records in the database I decided to reduce as much as possible the size without compressing. I know that some XML to be stored is indented, some not, it varies.
To reduce the size I decided to minify  the XML, but how do I minify an XML document in IRIS?

3
2 236
Question Nimisha Joseph · Apr 14, 2025

Hi everyone,

I'm working on a DTL that transforms an HL7 message (EnsLib.HL7.Message) to an XML document (EnsLib.EDI.XML.Document).

The target XML is based on a custom schema and has an element like:

What I need is for the output to show:

<deceasedDateTime xsi:nil="true"/> when the source HL7 value is empty, for eg: 

<portalPatientUpdate xmlns:xsi="http://www.w3.

0
0 138