go to post Enrico Parisi · Aug 23 Why modify the code when you can modify the SQL Gateway definition to point to the production system? This way the code is the same (dev/prod) but only the configuration change. In your example "xxxxx" is the SQL Gateway name, change in management portal to point to the required environment.
go to post Enrico Parisi · Aug 23 You can use the ImportFromString() method in EnsLib.HL7.Message class: Set HL7Message=##class(EnsLib.HL7.Message).ImportFromString(StringHL7,.Status)
go to post Enrico Parisi · Aug 21 With "pre-compiled parameter" you mean a class parameter? Of what class? You may user the $paramater function: $parameter(classname,parametername)
go to post Enrico Parisi · Jul 31 Set dynOBJ={}.%FromJSONFile("c:\temp\BundleSample.json")Set firstResource=dynOBJ.entry.%Get(0).resourceWrite firstResource.resourceType
go to post Enrico Parisi · Jul 2 Using your code (simplified by me) from terminal it works fine using a sample CCDA from here. set ccdaStream = ##class(%Stream.FileBinary).%OpenId("c:\temp\CCDA_CCD_b1_Ambulatory_v2.xml") write "Size of CCDA Stream: ", ccdaStream.Size,! set xsltTransform = "SDA3/CCDA-to-SDA.xsl" set tTransformer = ##class(HS.Util.XSLTTransformer).%New() set tSC = tTransformer.Transform(ccdaStream, xsltTransform, .sdaStream) if 'tSC write "Transformation to SDA3 failed with error ",$system.Status.GetErrorText(tSC),! set fhirStream = ##class(%Stream.TmpBinary).%New() set SDA3ToFHIRObject = ##class(HS.FHIR.DTL.Util.API.Transform.SDA3ToFHIR).TransformStream(sdaStream, "HS.SDA3.Container", "R4") if '$isobject(SDA3ToFHIRObject.bundle) write "Failed to transform SDA3 to FHIR",! do SDA3ToFHIRObject.bundle.%ToJSON() The result/output is a pretty long JSON FHIR bundle with CCDA data (I didn't check the content!) Does your code works with that sample CCDA? If not, then maybe there is something wrong in your CCDA. For my test I used: IRIS for Windows (x86-64) 2024.1 (Build 267_2U) Tue Apr 30 2024 16:35:10 EDT
go to post Enrico Parisi · Jun 30 To lock a persistent object (in different modes) use the second argument of the %OpenId() method as described in Object Concurrency Options documentation.
go to post Enrico Parisi · Jun 28 You need to pass each argument separately, this will work: d $ZF(-100,"/logcmd", "qpdf", "--encrypt", "test123", "test123", "256", "--", "C:\test\basement.pdf", "c:\test\basementenc.pdf")
go to post Enrico Parisi · Jun 28 I don't think the upgrade runs $System.OBJ.CompileAll() "automatically", it's your responsibility to recompile, if necessary.
go to post Enrico Parisi · Jun 27 %SYS>s db=##class(SYS.Database).%OpenId("C:\InterSystems\IRIS\mgr\user") %SYS>w db.SFN8%SYS>
go to post Enrico Parisi · Jun 27 Your question is too vague to answer, I'd suggest to start reading the documentation, a good starting point can be Communication Protocols in Interoperability Productions. Then, after reading the documentation you can ask a more specific question.
go to post Enrico Parisi · Jun 27 Have you read the chapter "Purpose of System Default Settings" in the RIS documentationpage that @Vic Sun I linked in his post? After reading the documentation, have you found the info you were looking for?
go to post Enrico Parisi · Jun 24 In my opinion, if you need to encode a file/stream "as is", without any conversion, so that the counterpart receiver get EXACTLY what your source file/stream is/was, then use %Stream.FileBinary. If you need some character conversion (say, Unicode/UTF8 or others), then use %Stream.FileCharacter (with appropriate parameters...) that can handle the conversion.
go to post Enrico Parisi · Jun 23 I'm a little puzzled, according to documentation the method %FromJSONFile() it's not implemented in version 2022.3, it has been implemented in 2024.1, so I don't understand why you get that error, I'd expect a <METHOD DOES NOT EXISTS> error, but I don't have version 2022.3 at hand to test. In any case, for IRIS versions that implement the %FromJSONFile() method, please note that the parameter to pass is the filename, not a %File object instance. Form class reference of the %Library.DynamicAbstractObject class the first parameter is documented as: filename A file URI where the source can be read. So, the code should be: set newObject = {}.%FromJSONFile("/tmp/longObjectFile.txt")
go to post Enrico Parisi · Jun 17 Why define and reference an outbound adaptor when you don't use it in your code?I'd suggest to have a look to the documentation Using the HTTP Outbound Adapter. Anyway, given your code, you don't need a stream, it's just waste of resources and make your code more complicated for no reason, you can simply: ....Set httpRequest.ContentType = "application/xml"Do httpRequest.EntityBody.Write("<?xml version=""1.0"" encoding=""UTF-8""?><getURL>"_pRequest.getURL_"</getURL>")Set sc = httpRequest.Post("", 2).... Note that I assume that <Url1></Url1> is contained in the getURL string property content, as your first post suggest.
go to post Enrico Parisi · Jun 17 I don't understand your question in the context of the original question: "I work with a legacy that most screens are built using only CLS" If you want to rewrite using modern approach, then use your favorite front-end framework and implement a REST API in the Caché backend.......and maybe move from legacy Caché/Ensemble to modern IRIS as well...
go to post Enrico Parisi · Jun 16 I'm not sure if this apply to your case but in the past we found that a very old database (20+ years) that has been upgraded many time over the years had bitmap indices "not compacted" and we gained a lot of space and, more importantly, huge performance improvement running %SYS.Maint.Bitmap documented here: This utility is used to compact bitmap/bitslice indices. Over time in a volatile table (think lots of INSERTs and DELETEs) the storage for a bitmap index may become less efficient. To a lesser extent index value changes, i.e. UPDATES, can also degrade bitmap performance.
go to post Enrico Parisi · Jun 16 From a class that extends %CSP.Page you can include a CSP page using the Include() method inherited from %CSP.Page, like: Do ..Include("TestInclude.csp") This is what is actually generated when a csp page containing a CSP INCLUDE tag documented here is compiled, like: <CSP:INCLUDE page="TestInlude.csp"> Please note this is legacy (deprecated?).
go to post Enrico Parisi · Jun 16 It looks like an <UNDEFINED> error occurs in a SQL query generated code. Debugging generated code it's not easy/simple, I would double check SQL queries and parameters passed to the queries in the CSP page.
go to post Enrico Parisi · Jun 6 It depends on your timezone, well...the timezone configured in the IRIS system! 😊 Does the trailing +01:00 represent your timezone? Or what? I'm in a UTC+2 timezone, so: USER>w $zdt($zdth("1988-08-18 00:00:00.000",3),3,5,2) 1988-08-18T00:00:00.00+02:00