go to post Eduard Lebedyuk · Aug 14, 2023 You need your own datatype, which implements method generators for Set, GetStored etc. After that use your own datatype in your main class. Example.
go to post Eduard Lebedyuk · Aug 14, 2023 In your REST Web Application settings, leave only pass (and remove group by id, if any): After that check that UnknownUser does not have %ALL. Finally try to access your REST url using Postman (or similar tool) and you should be able to see Login methind being executed.
go to post Eduard Lebedyuk · Aug 11, 2023 Are InterSystems Reports available on Ensemble, or only on Iris? (ie could we use InterSystems reports from the start?) Only on IRIS. Any other options for HL7 -> PDF generation? Convert HL7 to FHIR and use The FHIR SQL Builder to make dataset available as a set of SQL Tables. Consume from InterSystems Reports.
go to post Eduard Lebedyuk · Aug 11, 2023 You don't need to create a /login route since Login method is being called implicitly if auth is required.To add logging, it's enough to redefine the Login method in your broker like this (##super docs): ClassMethod Login(skipheader As %Boolean = 1) As %Status [ ProcedureBlock = 0 ] { // do app-level logging quit ##super(skipheader) }
go to post Eduard Lebedyuk · Aug 5, 2023 Sync BO with Deferred Response. BO defers, Second BS resumes.
go to post Eduard Lebedyuk · Jul 31, 2023 If you have more than one BH referring to the same property, either use System Default Settings or Production settings.
go to post Eduard Lebedyuk · Jul 28, 2023 I thought the "irispip install *.whl" would install the wheel file. That is correct. Download pycryptodomex wheel same as you downloaded pycryptodom wheel, thansfer it to your server and try to install first pycryptodomex, then pycryptodom.
go to post Eduard Lebedyuk · Jul 28, 2023 Assuming you are using EnsLib.HTTP.OutboundAdapter, you can do this: 1. In your adapter set DEBUG flag to 1 or 2: /// This is the debug flag setting (0 do nothing, 1 show request, 2 show request/response) Parameter DEBUG As %Integer = 1; 2. Start BO in foreground.
go to post Eduard Lebedyuk · Jul 25, 2023 Try something like this: Response Timeout: 10 (Timeout for getting a response from the server (the timeout for opening the connection to the server is always 5 seconds). Setting the timeout to -1 means wait forever.) Reply Code Actions: E=R (R - Retry the message according to the configured RetryInterval and FailureTimeout; finally Fail unless a different action is also specified.) Retry Interval: 1 (How frequently to retry access to the output system) Failure Timeout: 60 (Total number of seconds to keep trying to deliver the message. After this number of seconds has elapsed, the business operation discards the message data and returns an error code. To ensure that no message is ever skipped, enter a Failure Timeout value of -1, which means 'Never time out'. Use a setting of -1 when complete data delivery is critical, for example in health care applications. )
go to post Eduard Lebedyuk · Jul 20, 2023 All object properties in a request or response object must extend %XML.Adaptor. Lists and arrays of streams are skipped. Private properties are skipped. MultiDimensional properties are skipped. XMLIO = "IN" properties are skipped. XMLPROJECTION = "NONE" properties are skipped.
go to post Eduard Lebedyuk · Jul 19, 2023 $property works with all objects, dynamic or not: >s a={"b":2} >w $property(a, "b") 2
go to post Eduard Lebedyuk · Jul 12, 2023 For DTLs, if a property name starts from %% - it would be skipped.
go to post Eduard Lebedyuk · Jul 6, 2023 Use $zdth to convert unixtime into horolog and then $zdate to convert it to date string: write $zd($zdth(572486400, -2),3) 1988-02-22
go to post Eduard Lebedyuk · Jun 27, 2023 Before you quit the onrequest method do this: Set sc = pResponse.%Save() Set ^dbg($i(^dbg)) = $lb($h, sc, pResponse.%Id()) Then check ^dbg global, sc must be 1 and there should be an id. Try to open pResponse object from a terminal.
go to post Eduard Lebedyuk · Jun 21, 2023 Why will this only work in Chrome and not Microsoft Edge? Is that a local server? Edge does not allow websockets on localhost. In the Edge open About:flags page. Enable the "allow Localhost Loopback" feature.
go to post Eduard Lebedyuk · Jun 20, 2023 UPD: Never mind, that's the wrong answer as it's about HL7. Sorry about that. There are two ways to do that: Use EnsLib.MsgRouter.VDocRoutingEngine, it has Validation setting which is a string specifying types of validation to perform. Set to 1 to block documents that don't pass default validation. Default validation checks for DocType assignment and successful BuildMapStatus. This is equivalent to 'dm': 'd' - require DocType 'm' - require successful BuildMap status. Set to 0 to skip validation. In addition configure Bad Message Handler setting to handle messages which fail validation. I'm not sure it your messages would fail BuildMap validation, but that's the easiest option to implement. Create a subclass of EnsLib.MsgRouter.RoutingEngine and implement OnValidate method to provide custom validation. You'll also need to add Validation property to settings, same as EnsLib.MsgRouter.VDocRoutingEngine does. In OnValidate method you can perform any checks you like.
go to post Eduard Lebedyuk · Jun 16, 2023 Found it: set sc = ##class(EnsLib.HL7.SchemaXML).Import(filenameOrStream) Works with both old and new export.