go to post Marc Mundt · Mar 14, 2022 How about polling the global looking for updates? It would be lightweight to just check if the value of ^FSLOG has incremented since the last check: set lastFSEntry = ^FSLOG or use $order: set lastFSEntry = $order(^FSLOG(""),-1) As for timestamps, in my test environment all of the ^FSLOG entries seem to end with timestamps already: ^FSLOG(41)="DispatchRequest^HS.FHIRServer.Service^11062|Msg| [1] -> DO 0|03/14/2022 01:57:19.398158PM"
go to post Marc Mundt · Feb 11, 2022 One more way: s myObj = ##class(%Persistent).%Open($lb(id,className))
go to post Marc Mundt · Jan 11, 2022 Request.AdditionalInfo is defined as an array of AdditionalInfoItem, so the methods for working with that array are documented under ArrayOfObjects. For an array, GetAt expects a key rather than a numeric index. For example GetAt("ClientAddr") should work.
go to post Marc Mundt · Nov 16, 2021 If you already have a Zen report, you can change it to output as an Excel spreadsheet. This will work if the report is called from a web browser just as it does for PDFs. If you don't have an existing Zen report, then I don't recommend creating a new Zen report. Use one of the approaches others are suggesting.
go to post Marc Mundt · Oct 27, 2021 Vivek, The method for transforming HL7 to SDA can be found here. Note that this doc covers transforming HL7>SDA>C-CDA, so you'll only be interested in the first half of that:https://docs.intersystems.com/irisforhealth20191/csp/docbook/DocBook.UI.... And the methods for transforming SDA to FHIR can be found here:https://docs.intersystems.com/irisforhealth20191/csp/docbook/DocBook.UI.... -Marc
go to post Marc Mundt · Oct 21, 2021 Yes, all lookup table entries are stored in Ens_Util.LookupTable.
go to post Marc Mundt · Oct 12, 2021 You can log %msg to get more information about the error: set ^ztest($now(),"%msg") = $G(%msg)
go to post Marc Mundt · Oct 12, 2021 I created a simple inbound adapter and a simple business service that uses it, and the &sql() call succeeds for me. It would be good to check the event log and see if any additional error information got logged. Class Example.InboundAdapter Extends Ens.InboundAdapter [ ProcedureBlock ] { Method OnTask() As %Status { set suspendedCount=-1 &sql(SELECT count(ID) into :suspendedCount FROM Ens.MessageHeader where TargetQueueName not like '_S%' and TargetQueueName not like 'ENS%' and Status='5') // log what we got back set ^ztest($now(),"SQLCODE") = SQLCODE set ^ztest($now(),"suspendedCount") = suspendedCount quit 1 } } Class Example.Service Extends Ens.BusinessService { /// The type of adapter used to communicate with external systems Parameter ADAPTER = "Example.InboundAdapter"; }
go to post Marc Mundt · Oct 8, 2021 It's a bit clunky, but you could use %SYSTEM.OBJ::ExportToStream in the source namespace followed by %SYSTEM.OBJ::LoadStream in the target namespace.