go to post David Loveluck · Jun 5 the error message seems to say that HL7 is not a property of context.
go to post David Loveluck · Sep 7, 2023 That works perfectly with the caveat that a restart was needed for the messages to appear. Thanks.
go to post David Loveluck · Nov 9, 2022 this applies to Ens.MessageHeader as well. The code is mapped to EnsLib which is normally mounted read only.I think Tunetable is trying to update the class definition.I can't remember if it has always behaved like this
go to post David Loveluck · Mar 8, 2022 the problem with stats and studio deployed classes goes away in a more recent release (2020 perhaps).
go to post David Loveluck · Mar 8, 2022 LorenzoTwo guesses - First, check that the task 'Update SQL query statistics' is running and that you have waited long enough for the task to run.Second, are you looking at a query that is embedded SQL in a 'deployed' class (meaning there is no source code)? There is a problem with statistics for deployed classes, but I don't remember if it matches your situation exactly.
go to post David Loveluck · Apr 25, 2019 The page in the management portal is limited and was never intended to meet the needs of everyone.The intention was to make the information readily accessible from SQL, so people could use their favorite reporting tool or dashboard product. Wrapping SQL in a restful service would be straightforward and there is an example of a REST service that calls a query and generates the JSON for Grafana here Dave
go to post David Loveluck · Feb 26, 2019 And just to add some more detailsI am using the SimpleJson plugin from Grafana Labs as my data source - https://grafana.com/plugins/grafana-simple-json-datasourceThe url http://localhost:52777/syshistory/ for that points to the REST application that is implemented by the page I included. When setting up the data source, I only checked ‘Basic Auth’ and added the username and password under ‘Basic Auth Details’. dave
go to post David Loveluck · May 9, 2018 When i wrote this, i was quoting an already old test report. While it may or may not have been correct at the time, it is certainly not relevant or useful today with modern hardware.The proper story today is that there is a fixed CPU overhead per byte encrypted or decrypted. The fractional overhead of a single core would be approximately the data read or write rate in bytes per second divided by the CPU clock speed in hertz.So on my current 2.8 GHz laptop reading 100 MBs would take roughly 3.6% of one core. Different chips and data rates would give different results.
go to post David Loveluck · Apr 24, 2018 your code snippet includes set SIUString = source.ImportFromString(source.SchedulingData,.tSC)
go to post David Loveluck · Apr 24, 2018 you would need to give a lot more detail about CustomEDI.SQLSIUInRequest and its ImportFromString method for anyone to tell you what is going wrong. What data type does the ImportFromString return, and have you tested it in isolation?I think the 'normal' way to do this, would be to leave the HL7 message as an object. You could use a business process that extracts only the fields that are needed to retrieve the patient ID and send that to the SQL database. But i suspect you already have external logic that processes a whole serialized HL7 message.
go to post David Loveluck · Apr 10, 2018 One option to consider is to have separate business operations, but have StayConnected=false. If the receiving service could support reconnecting each time, this would be a simple solution.
go to post David Loveluck · Feb 1, 2018 https://community.intersystems.com/post/apm-finding-expensive-parts-your...also describes how to locate expensive points in your code.In this case you are talking about tiny differences. If this is executed millions of times in a common path that is executed frequently you might want to think about it, but for most applications it is not an issue. Those SQL queries that don't use an index are the killers.
go to post David Loveluck · Jan 18, 2018 based on feedback, i have updated the document to warn against activating other monitor classes without checking first. Some will affect the performance of your system, but the ones I describe in the article are safe."There are a number of of other classes but don't be tempted to activate them without testing first. Some use PERFMON and are not suitable for running on a live system."Dave
go to post David Loveluck · Jan 3, 2018 The meaning is documented http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...including information about when the alerts are sent and how often the sensors are sampled.Changing he values is documented:http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...you have to navigate the options in do ^%SYSMONMGRto edit the sensors. You have to then provide CPUusage (case sensitive) as the sensor you want to edit.
go to post David Loveluck · Dec 29, 2017 How many requests are you hoping to process? 10 per second? 100 per second? 1,000 per second? More?The full answer to this question depends on how far you are trying to push the system.
go to post David Loveluck · Dec 18, 2017 I see the images so i don't know what the problem is. I will investigate and fix as soon as i can
go to post David Loveluck · Dec 6, 2017 If you have a general query this is a great place to ask.But if you have an operational problem you should pick up the phone (or your preferred technology) and call InterSystems support. The people there enjoy answering questions and getting systems back in action.617-621-0700 in the US but if you google InterSystems Support i think you will get what you need worldwide.
go to post David Loveluck · Nov 29, 2017 Johnthe only place i can think of it being used in the pull down menu for selecting a target in a send. It only offers you configuration items that exist in the production you choose. If you haven't specified a production it lists everything it can find and gives you a big red warning.There is nothing to stop you typing in a target that isn't on the listdave
go to post David Loveluck · Nov 21, 2017 Before answering the specific questions, i will explain what business rules are for. (Routing rules are another story). Rules were invented to allow people who were not programmers to change code dynamically on a running system. That put a lot of constraints around them. It is the responsibility of the developer of the BP that invokes a rule to make sure the analyst who dynamically changes the rules can't do any damage, no matter how stupid or how malevolent they are.If you are a programmer and your code is going through normal dev/test/promote cycles then you should probably just write a method of a utility class to do the work. You can't do anything in a rule that isn't easier to do in code if you are a programmer. I will repeat that routing rules are another story.to answer your points1. You would have to post your code for a real answer but a few guesses. a) you can put values into context properties with an assign elements b) the value that you <return> goes in the Result Location specified in the rule activity of the BP. c) make sure you <return> when you have finished and don't continue through following <when> elements.2. yes. you just use mulitple <assign> elments3. a) lookup tables are designed for the case where you want to translate a lot of values. For example if you have thousands of product codes and their descriptions, that might be fixed of maintained on a regular basis, then lookup tables are the way to go.3 b) Data transformations are for when you have two structures that are similar but not quite the same. For example an invoice might be represented slightly differently in two applications but they are close and you want to move fields around between the two formats. A second example would be to change the values in a data structure, perhaps by using lookup tables to translate from the codes used by the sending application to the codes used by the receiving application.