go to post Marc Mundt · Jul 23, 2021 Two more options. Haven't tested how they perform. set lst = "" for i=1:1:someNumber { set $LIST(lst,i)=myval } set str = $listtostring(lst,",") set lst = "" for i=1:1:someNumber { set $PIECE(lst,",",i)=myval }
go to post Marc Mundt · Jul 19, 2021 Have a look at $SCONVERT:https://cedocs.intersystems.com/ens201513/csp/docbook/DocBook.UI.Page.cl... USER>set tIEEE=$c(0,0,220,67) // bytes representing 0000000 00000000 11011100 01000011 USER>write $SCONVERT(tIEEE,"F4") 440
go to post Marc Mundt · Jul 12, 2021 Here's a working example using <img> in a <table>. I don't think you can put an <img> inside an <item> or inside another <img>. <table orient="col"> <block width="40%"> <img src="http://localhost/logo.jpg" contentHeight="0.56in" contentWidth="2.33in" style="text-align:left"/> </block> <block width="40%"> <table orient="col"> <item field='#(..pagetitle)#'/> </table> </block> <block width="20%" style="text-align:right;"> <item field='#(..subtitle)#'/> </block> </table>
go to post Marc Mundt · Jul 9, 2021 These might be helpful:Building a simple Angular app (not FHIR specific):https://community.intersystems.com/post/simple-angular-app-intersystems-... Build SMART on FHIR web app using FHIR JavaScript library (not Angular specific):https://community.intersystems.com/post/smart-fhir-js-library-and-exampl...
go to post Marc Mundt · Jun 30, 2021 It would be good to have a look at the final value of tSQL in performUpdate.
go to post Marc Mundt · Jun 23, 2021 Here is the section in the docs that explains why this is happening and why @Eduard Lebedyuk asked if that class is persistent. Business Process Execution Context The life cycle of a business process requires it to have certain state information saved to disk and restored from disk, whenever the business process suspends or resumes execution. This feature is especially important for long-running business processes, which may take days or weeks to complete. A BPL business process supports the business process life cycle with a group of variables known as the execution context. InterSystems IRIS automatically save the variables in the execution context and restores them each time the BPL business process suspends and resumes execution.
go to post Marc Mundt · Jun 22, 2021 ObjectScript includes utilities for generating GUIDs:https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI... In particular, have a look at $System.Util.CreateGUID():https://docs.intersystems.com/irisforhealthlatest/csp/documatic/%25CSP.D...
go to post Marc Mundt · Jun 14, 2021 It seems like this approach would still work with a poolsize > 1. Of course each worker job will decide on its own if it should throttle or not.
go to post Marc Mundt · Jun 10, 2021 There's no option for %DisplayFormatted to split the results into multiple parts automatically. You would need to write a custom method to do your CSV output with the logic you need. I can post some sample code that outputs CSV if that would be helpful. 8 hours for 16 million records at ~140 bytes/record seems really slow. I just did a test on a slow Windows VM and for a simple "SELECT *" for 16 million records @ 150 bytes/record, %DisplayFormatted took about 18 minutes to output the 2.4 GB CSV. I suggest you contact the WRC to help look at where the bottleneck is.
go to post Marc Mundt · Jun 9, 2021 In your assign action, there is a leading space in the property name: <assign value='source.AttendingClinicians.GetAt(st).Code' property=' npicode' action='set' />
go to post Marc Mundt · May 24, 2021 %XML.Reader and %XML.Document won't automatically update the original stream. You need to use %XML.Writer to output the %XML.Document into a stream. set writer=##class(%XML.Writer).%New() set outStream=##class(%Stream.GlobalCharacter).%New() set tSC=writer.OutputToStream(.outStream) set tSC=writer.Document(document) write "Stream:[",outStream.Read(3000000),"]",!
go to post Marc Mundt · May 24, 2021 The HL7 organization offers training:http://www.hl7.org/training/index.cfm And there are other organizations that offer HL7 classes as well:https://www.pathlms.com/hl7/courses/8159I haven't taken these courses myself so I can't say if these are good or not.
go to post Marc Mundt · May 21, 2021 If there aren't any delimiters in your input string, then this will do it: set result="233434345543433400110" for i=1:4:$LENGTH(result) { write $E(result,i,i+3),! } Output: 2334 3434 5543 4334 0011 0
go to post Marc Mundt · May 21, 2021 [1,2,,3] is arguably more ambiguous than a trailing comma, and there are some precedents for (if and) how to treat trailing commas. On the other hand, I just tested both cases in Firefox using JSON.parse() and they both fail. Browsers tend to be pretty tolerant of bad stuff, so the fact that Firefox won't accept trailing commas makes a good case for IRIS not allowing trailing commas either. Strangely, Firefox apparently allows trailing commas in JavaScript, but not in JSON.
go to post Marc Mundt · May 20, 2021 set obj1={"Value":123, } --> gives a SYNTAX Since this is the syntax for a "JSON literal", and only happens in ObjectScript code, it makes sense to me that IRIS would force the developer to do the right thing. %FromJSON has to deal with JSON that comes from other sources, so it makes sense that it is more forgiving of bad practices.
go to post Marc Mundt · May 20, 2021 File Specs for services support wildcards, but not the complex time stamp specifications that are used for outputting filenames from an operation. File SpecFilename or wildcard file specification for file(s) to retrieve. For the wildcard specification, use the convention that is appropriate for the operating system on the local InterSystems IRIS Interoperability machine. https://docs.intersystems.com/irisforhealthlatest/csp/docbook/Doc.View.c...
go to post Marc Mundt · May 20, 2021 Have a look at the Record Mapper -- you can create a spec for your target flat file format, and then map to that as the target format in your DTL.