go to post Julian Matthews · Oct 1, 2018 Hi all, I have answered my own question.Per number, I will need to create a new HS.SDA3.PatientNumber and set the required information, and then insert each HS.SDA3.PatientNumber into the HS.SDA3.PatientNumbers list that exists within the HS.SDA3.Patient object.For the benefit of anyone else that stumbles across this post (and myself when I forget this in a few weeks time and end up finding my own post): To achieve this in Terminal as a testing area, these are the steps I followed:Set Patient = ##class(HS.SDA3.Patient).%New()Set PatNum1 = ##class(HS.SDA3.PatientNumber).%New()Set PatNum2 = ##class(HS.SDA3.PatientNumber).%New()Set PatNum1.Number = "123456"Set PatNum1.NumberType = "MRN"Set PatNum2.Number = "9999991234"Set PatNum2.NumberType = "NHS"Do Patient.PatientNumbers.Insert(PatNum1)Do Patient.PatientNumbers.Insert(PatNum2)
go to post Julian Matthews · Sep 21, 2018 Hi Akio.Generally speaking, the password for the "_SYSTEM" account is set by the user during the install process, so I don't think there will be a default.
go to post Julian Matthews · Jul 27, 2018 Thank you Vitaliy, not sure how I missed that in the documentation!
go to post Julian Matthews · Jul 17, 2018 Is the Business Process custom? If so, it's possible that there is a bit of bad code that is returning an error state and then continuing to process the message as expected?It might help if you provide some more detail on the BP itself.
go to post Julian Matthews · Jun 15, 2018 Hi Guilherme.I think your best starting point will be providing your system specifications, the OS you're running Studio on, and the version of Studio/Cache you are running.Depending on the issue it could be anything that is causing your problems.
go to post Julian Matthews · Jun 15, 2018 You could run the compile command you would use in Terminal within Studio using the output window. However, the only "speed boost" would be time saved from not launching and logging in to Terminal.If you're suffering from really slow compile times, it might just be that your namespace is huge, or a sign of a need to upgrade your hardware.Get in touch with either WRC or your sales engineer, and they'll happily help out.
go to post Julian Matthews · Jun 4, 2018 Thanks for the response.It sounds like I should be fine with the machine I'm running (Win7, 120GB SSD, 8GB RAM, i5 CPU (dual core)).My biggest hits are at start up, but once up and running it's pretty snappy. I should probably try to be more patient!
go to post Julian Matthews · May 29, 2018 The accepted answer would probably be your best shot.Say for example you wanted a count of all messages that have come from a service called "TEST Inbound", you could use the SQL query option (System Explorer>SQL) to run the following:SELECT count(*)FROM Ens.MessageHeader WHERE SourceConfigName = 'TEST Inbound'If you wanted to put a date range in as well (which is advisable if what you're searching is a high throughput system and your retention is large):SELECT count(*) TotalFROM Ens.MessageHeader where SourceConfigName = 'TEST Inbound' AND TimeCreated >= '2018-04-30 00:00:00' AND TimeCreated <= '2018-04-30 23:59:59'
go to post Julian Matthews · May 29, 2018 Hi Gadi.Glad to hear you have something in place now.I guess a task is better for specifying the exact time for the event to run rather than every x number of seconds, as the timing could go out of sync if the service was restarted at any point.For the setup I have, because I want to check the status of the drive free space (and I also check a specific folders files to alert if any of them have existed for more than 5 minutes) it makes sense to just let the Call interval run every x seconds.
go to post Julian Matthews · May 24, 2018 I use a similar approach to Edwards answer (using a BS that runs every x seconds), but for alerting when freespace on my drives fall below a specified value.I'm not sure if my approach is the most efficient to your requirement, but I would do something like this in the Service:Query the table and sort it so you get the most recent result at the top (I'm assuiming the dateTime field is suitable for this)Take a Snapshot of the results, and and get the first datetime result.Compare it to the system datetimeSend an alert to Ens.Alert if the difference is more than 24 hours
go to post Julian Matthews · May 18, 2018 Thanks Joyce, I made contact with them instead of support, and after a webex the solution was found!It turns out the performance issues I had been getting when adding the entire namespace was because I had included all of the system folders (ens, enslib, EnsPortal, etc). So on each launch, Eclipse was then reindexing the entirety of the core files in each namespace.
go to post Julian Matthews · May 17, 2018 I tried this as a way of moving everything so far into our source control system, and the performance impact on Eclipse/Atelier was soul destroying.
go to post Julian Matthews · Apr 11, 2018 Hi Izak.What task would Ensemble be completing to link the two applications together?
go to post Julian Matthews · Apr 4, 2018 Hi Bob. Please can you try running the task without KeepIntegrity selected?If this doesn't resolve your problem, I'm all out of ideas.
go to post Julian Matthews · Apr 4, 2018 Hi Bob. Do you have KeepIntegrity selected?I ask because the only thing I can see which might point in the right direction is that the selection of message headers when KeepIntegrity is selected does a "select top 100000000" and your Ens.MessageBodyS is a digit greater (10 digits vs 9), so it could be that the items are somehow being missed? If this is the case, running the purge without the Keep integrity selected might work?Also, I assume you are getting a success status from the task running?
go to post Julian Matthews · Apr 4, 2018 Hi Bob.These will be picked up by either Purge running the all command, or by selecting "Messages" for TypesToPurge in either one.The MessageBodyS should be purged when the "BodiesToo" tick box is selected in the task. The description for the BodiesToo option is: "Delete message bodies whenever their message header is deleted. This is off by default because some Productions may use message objects that are part of a larger environment and not transitory." so it may be that your task was left with the defaults and this has built up.
go to post Julian Matthews · Apr 4, 2018 Hi Bob.I ran a comparison against the two Tasks to find the answer.Basically they're almost identical, except that Ens.Util.Tasks.PurgeMessageBank includes the ability to purge "Message Bank Events" and "Message Bank Messages" using the "ALL" Parameter in TypesToPurge or by individually selecting them. So using Ens.Util.Tasks.Purge with all selected will not touch the Message Bank.My guess would be that Intersystems either added Ens.Util.Tasks.PurgeMessageBank when the Message Bank functionality became available and didn't want to edit the Ens.Util.Tasks.Purge task so that ALL started to include purging the message bank, or Ens.Util.Tasks.Purge exists to be able to have a task which can purge all except the message bank so that customers that would like to purge all except the message bank can do so with one task rather than 7 separate tasks.