If you are creating a FHIR Bundle manually (programmatically; as opposed for example of just getting a Bundle back as a search result response from our built-in FHIR Resource Repository) I think you should be using HS.FHIRServer.Util.Bundle:CreateBundle().
Indeed behind the scenes you can see it calls the CreateGUID() method @Marc Mundt pointed to populate the id -
Set bundle.id = $ZConvert($SYSTEM.Util.CreateGUID(),"L")
I actually saw now that the Wizard would work (as per above) also in Ensemble (I tested on v2018.1.x).
The fact that an SQL query just shows the OID, doesn't bother the Wizard to do it's job.
[If you take a peek at the code you can see it generates special stream handling -
; STREAMOUT()
Do rtn.WriteLine("STREAMOUT(oref) {")
...
do rtn.WriteLine(" while (oref.AtEnd = 0) {")
do rtn.WriteLine(" set len = 32000")
do rtn.WriteLine(" set val=oref.Read(.len)")
...
do rtn.WriteLine(" write val")
do rtn.WriteLine(" }")
...
The statement text and the values of any host-variable arguments passed to it. If the total length of the statement and its parameters exceeds 3,632,952 characters, the event data is truncated.
Off
%System
%SQL/
EmbeddedStatement
An embedded SQL call is executed. See below for usage details.
The statement text and the values of any host-variable arguments passed to it. If the total length of the statement and its parameters exceeds 3,632,952 characters, the event data is truncated.
Off
%System
%SQL/
XDBCStatement
A remote SQL call is executed using ODBC or JDBC.
The statement text and the values of any host-variable arguments passed to it. If the total length of the statement and its parameters exceeds 3,632,952 characters, the event data is truncated.
Off
If you're interested only with JDBC you can stick with the last event above (XDBCStatement).
Note, while we're on the subject, if you're looking for "fancier" kind of auditing, for example to log changed fields (before and after values), you can check this thread by @Fabio Goncalves.
If, as you mention the purpose of this logging is debugging, then I would recommend going with $$$TRACE vs. $$$LOGINFO. This will allow you to turn on and off tracing without making code changes. Whereas if you go with $$$LOGINFO it's always there unless you remove it (or comment it out), then you need to compile, and then if you need it once more...
Is it also a Business Service? If so - what is the name of the BS component in the Production?
What URL are you using to access this WebService?
I have encountered this error when trying to call the WebService in a way that did not allow Ensemble to understand what is the name of the business service class it needs to use (for example by using the CfgItem URL parameter).
If you need to query specifically via SQL (and not using the Message Viewer) then see also this answer (though relating to HL7, but relevant in the same way to the XML case) regarding using the Search Table within a query.
go to post
If you are creating a FHIR Bundle manually (programmatically; as opposed for example of just getting a Bundle back as a search result response from our built-in FHIR Resource Repository) I think you should be using HS.FHIRServer.Util.Bundle:CreateBundle().
Indeed behind the scenes you can see it calls the CreateGUID() method @Marc Mundt pointed to populate the id -
[The $ZConvert changes it to lower-case, e.g.:
]
go to post
I actually saw now that the Wizard would work (as per above) also in Ensemble (I tested on v2018.1.x).
The fact that an SQL query just shows the OID, doesn't bother the Wizard to do it's job.
[If you take a peek at the code you can see it generates special stream handling -
]
go to post
You can define your property with an XMLPROJECTION attribute of "none".
For example:
See here for more info:
https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GX...
go to post
Maybe you can checkout this method:
Ens.Config.Production:CreateStudioProjectFromConfigItem()
go to post
Nicky,
You can use the %System->%SQL family of audit events.
From the docs:
%SQL/
DynamicStatement
%SQL/
EmbeddedStatement
%SQL/
XDBCStatement
If you're interested only with JDBC you can stick with the last event above (XDBCStatement).
Note, while we're on the subject, if you're looking for "fancier" kind of auditing, for example to log changed fields (before and after values), you can check this thread by @Fabio Goncalves.
go to post
For differences between InterSystems CACHE and InterSystems IRIS Data Platform I suggest you have a look here.
Specifically you can find there a table comparing the products (including InterSystems Ensemble).
As well as a document going into detail about various new features and capabilities
If you want to perform a PoC for a new system definitely use InterSystems IRIS.
go to post
Hi Michel,
Are you using DICOM interfaces?
go to post
If, as you mention the purpose of this logging is debugging, then I would recommend going with $$$TRACE vs. $$$LOGINFO. This will allow you to turn on and off tracing without making code changes. Whereas if you go with $$$LOGINFO it's always there unless you remove it (or comment it out), then you need to compile, and then if you need it once more...
go to post
What is the class name of your Web Service?
Is it also a Business Service? If so - what is the name of the BS component in the Production?
What URL are you using to access this WebService?
I have encountered this error when trying to call the WebService in a way that did not allow Ensemble to understand what is the name of the business service class it needs to use (for example by using the CfgItem URL parameter).
go to post
If I understand your question correctly then I think you'd benefit from defining and using a Search Table.
See from the Documentation -
If you need to query specifically via SQL (and not using the Message Viewer) then see also this answer (though relating to HL7, but relevant in the same way to the XML case) regarding using the Search Table within a query.