There's been quite a bit of discussion lately in this forum on the tools available in IRIS for using both XML and JSON, and debate on cross-conversion between the two formats.
https://www.youtube.com/embed/FLqU-_uT_Ek [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
I have a SQL Query using %iFind.Highlight which returns text highlighting certain words and phrases. %iFind.Highlight seems to remove cr/lf from the returned text.
Here's my query
ClassMethod Search(pSessionId As %String, pSearchString As %String) As %String { set tTags="<span style='background-color:yellow;'>" &sql( SELECT %iFind.Highlight(Text , :pSearchString , , :tTags) into :results FROM SSA_OCR.TempSearchable where sessionId = :pSessionId) quit results }
When I try to open a DTL in the tabbed editor I always get this error:
You are using Internet Explorer 7. This version is obsolete and is not compatible with diagram editors. Please update Internet Explorer to a recent version.
My actual Internet Explorer is version 11.
I'm running Eclipse Photon.
Atelier IDE 1.3.141 com.intersystems.atelier.feature.group InterSystems Corporation
The same error occurred with Atelier 1.2 on Eclipse Oxygen. I've never been able to get this to work.
Ensemble is based on message flow, and a data transformation is a way to convert from one message type to another. DTL (Data Transformation Language) adds a layer to this - it provides a graphical way to do the conversion. This is really helpful because most of the time, people with domain-specific knowledge may not have extensive coding skills. However, you always have the ability to do some coding, so if you need or want to, this is available.
DTL has several components: the data transformation engine, the language itself, and the DTL editor.
One of the pain points for maintaining HL7 interfaces is the need to run a reliable regression test upon deployment to new environments and after upgrades. The %UnitTest class allows unit tests to be created and packaged alongside interface code. Test data can also be maintained within the unit test class, allowing for quick and easily repeatable smoke-testing and regression testing.
Welcome to the third and final publication of our articles dedicated to the development of RAG applications based on LLM models. In this final article, we will see, based on our small example project, how we can find the most appropriate context for the question we want to send to our LLM model and for this we will make use of the vector search functionality included in IRIS.
Continuing with the series of articles on voice file management, we are going to see how we can convert text into audio and receive the file with the chosen voice. We will also explore how a service from OpenAI can help us analyze a text and determine the mood expressed in it. Let's analyze how you can create your own voice file and how it can “read” your feelings.
I have to do a development that should to connect with a external REST API and it throws different HttpStatus and a body content with the description of the problem.
We have officially released our CCR Technical Implementation Specialist certification exam for beta testing. The beta test will be available until March 1st, 2022.
I use Microsoft Query via Excel to query an Intersystems database.
Since upgrading from CACHE to Intersystems, lots of reports fail to refresh twice - by which I mean I can open the report (which may have several separate queries) and query the database once, and then it will refuse to reconnect.
Since I'm just starting to use this aspect of IRIS I can't tell if this is a bug or some kind of nuance. If I run a single column query like this, I get results:
However if I try to retrieve using a DISTINCT or GROUP BY, I get no results:
And again except with a GROUP BY, with no results:
Has anyone used the ##class(HS.JSON.Path).%Evaluate() classmethod interrogate JSON and return a specific object value? I need to extract the MessageHeader.destination.endpoint value from a FHIR bundle and can't seem to get that XPath-like method to work.
I am glad to say that VSCode-ObjectScript reached 4000 installs. Thanks to all of you who use it in their work.
VSCode-ObjectScript is an extension for VSCode which allows you to develop InterSystems based applications on ObjectScript using the modern code editor developed by Microsoft. Choice #1 editor amongst all developers worldwide by Stackoverflow survey 2019.
Some short notes about how to install and configure it you can find here.
If you need any help with a migration process of your development team to VSCode, please contact us by info@caretdev.com.
The following code walks a DOM using %XML.Node. It also prevents %XML.Writer to change whitespace. Run the code using the class method "test":
Class objectscript.walkDOM Extends %Persistent
{
ClassMethod dfs(node As %XML.Node)
{
s entrynode=node.NodeId
do {
//element nodes with one whitespacetyped child are the ones we want to change
if (node.NodeType=$$$xmlELEMENTNODE){
s snode=node.NodeId
if (node.MoveToFirstChild())
{
i ('node.MoveToNextSibling()){
i (node.NodeType=$$$xmlWHITESPACENODE){
s node.NodeType=$$$xmlTEXTNODE
s node.NodeId=snode
}
}
}
s node.NodeId=snode
}
if (node.HasChildNodes()){
d node.MoveToFirstChild()
d ..dfs(node)
}
} while (node.NodeType'="" && node.MoveToNextSibling())
s node.NodeId=entrynode
}
ClassMethod test()
{
set xml = "abcdefg<![CDATA[ ]]>"
s reader=##class(%XML.Reader).%New()
do reader.OpenString(xml)
set writer = ##class(%XML.Writer).%New()
//do some magic
d ..dfs(reader.Document)
w !,"with indent=1:",!
set writer.Indent = 1
do writer.OutputToString()
do writer.Document(reader.Document)
w writer.GetXMLString()
set writer.Indent = 0
w !,"with indent=0:",!
do writer.OutputToString()
do writer.Document(reader.Document)
w writer.GetXMLString()
}
}