Question Jeffrey Drumm · Jan 13 VS Code Compile Failure - No Error Output I'm sure I've seen this issue reported before, but a search hasn't turned it up. This appears to happen randomly, but once it starts it doesn't seem to stop ... at least for a while. I attempt to compile a class and compilation fails but produces no error explaining why. Here's an example: #ObjectScript #VSCode #InterSystems IRIS 0 1 0 38
Question Jeffrey Drumm · Nov 21, 2024 Defining Fixed-Length String Properties in a Class I'm attempting to streamline a process for renaming PDF documents received from multiple vendors to conform to a specification provided by an EMR vendor for ingestion. Things like Document ID, Document Type, Date of Service, Account Number, MRN, etc. all must be included in the filename at defined offsets and lengths. Most of the required values can be extracted from the inbound file's name and the few remaining are static values that would be the same (or handled via a lookup table based on source) for all documents. #Ensemble #Health Connect #InterSystems IRIS for Health 1 22 0 193
Question Jeffrey Drumm · Jul 31, 2024 Class Reference Local Access As the on-line documentation is currently off-line, is there a way to obtain at least the class reference locally? #InterSystems IRIS 0 2 0 83
Article Jeffrey Drumm · Jul 17, 2024 2m read Gracefully Shutting Down IRIS Without Terminal Access: *nix Flavor I found myself in the not-so-comfortable situation of working with a Linux system on which someone had accidentally disabled user access to the Linux shell. HealthConnect was running, servicing hundreds of interfaces. To resolve the access issue, though, we needed to bring the host down for the application of a fix. Without the shell, the iris command is not available to control the instance, so we were faced with the potential of shutting down the server ungracefully. We wanted to avoid that if possible ... #Security #Studio #System Administration #InterSystems IRIS for Health #Ensemble #Health Connect #InterSystems IRIS 5 7 3 298
Question Jeffrey Drumm · Jun 28, 2024 Keyboard Mapping in iris session when using Windows ssh.exe There's a distinct difference between the control sequences issued by Windows ssh.exe (OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2) vs. the RHEL 9 ssh (OpenSSH_8.7p1, OpenSSL 3.0.7 1 Nov 2022) when establishing a session to a Linux host. Windows ssh issues the following for the Home/End keys: ^[OH - Home^[OF - End Linux ssh issues these: ^[[1~ - Home^[[4~ - End #InterSystems IRIS 0 0 0 92
Discussion Jeffrey Drumm · Jun 13, 2024 $ZTRAP vs Try/Throw/Catch I'm scraping my way through some code that's been around for a while, and came across the use of $ZTRAP and (dear GOD) GOTO for trapping and handling errors. In an effort to "modernize" it and make it, I don't know, less M-ish (sorry old-timers!), I'm replacing it with Try/Catch blocks. Some questions: Is this a dumb idea? Anything I should look out for? Did I hurt anyone's feelings? And if the answer to number 3 is Yes, my deepest apologies ... I love you guys! 🤩 #Error Handling #ObjectScript #InterSystems IRIS 0 5 0 275
Article Jeffrey Drumm · Jul 24, 2023 2m read Creating Custom Captions for Interoperability Business Host Settings When creating custom Business Hosts, it's often necessary to add properties to the class for additional settings that will be used in the initialization or operation of the host. The property name itself isn't always very descriptive, so it's an advantage to have a custom caption display with the field. In Caché, it was fairly straightforward: #Interoperability #Ensemble #HealthShare #InterSystems Ideas Portal #InterSystems IRIS for Health 8 4 3 344
Question Jeffrey Drumm · May 5, 2023 Ens.Util.Statistics: LastActivity Value for Business Host I'm using the EnumerateJobStatus query of class Ens.Util.Statistics to obtain the LastActivity value of a Business Host. I would expect that this would return the timestamp of the last message received by the BH, understanding that any connect/disconnect activity would reset that timer. However, the time returned appears to actually be the time at which Ens.MonitorService generated the alert and is not directly related to anything that happened in the BH itself. #Interoperability #Monitoring #Ensemble #InterSystems IRIS 0 1 0 165
Question Jeffrey Drumm · Apr 16, 2023 Dissecting an OREF When an object is created in memory, the object reference (OREF) is represented as a string value when displayed with the Write command: #Object Data Model #ObjectScript #InterSystems IRIS 0 14 1 520
Question Jeffrey Drumm · Feb 10, 2023 IRIS OS Authentication on Ubuntu 20.04/22.04 I've been trying for a while now to get OS authentication working on IRIS running on Ubuntu 20.04 and subsequently 22.04. I have the following authentication methods enabled for %Service_Terminal: Operating System Password Operating System Delegated Authorization And i have these options selected in Authentication/Web Session Options: #Authentication #Security #Terminal #Ubuntu #InterSystems IRIS 0 2 0 192
Question Jeffrey Drumm · Jun 7, 2022 Troubleshooting VS Code Connection Issues I'm attempting to configure VS Code's InterSystems Server Manager to establish a connection to an IRIS for Health server. It has a standalone CSP gateway running on an Apache server with TLS enabled. The port for all IRIS api and browser traffic is 443. I've configured the webServer section's host, port, and variations on pathPrefix (including no pathPrefix entry), and have the correct user ID set. The password is stored in the server keychain. The connection simply fails with "Server could not be reached." Nothing in the Output or Problems tabs. #VSCode 3 5 1 1.6K
Announcement Jeffrey Drumm · Apr 4, 2022 On-Line Class Documentation Formatting Broken Looks like someone's been messing with the style sheets ...I've tried Edge, Chrome and Firefox and for all the versions I've checked, the class docs are formatted like this: #ObjectScript #Documentation 1 4 0 232
Question Jeffrey Drumm · Feb 8, 2022 VS Code: Moving Classes Between Namespaces Is there a straightforward workflow in VS Code for moving a class from one namespace to another on the same server? With Caché/IRIS Studio, it was a (sort of) simple export/change namespace in file menu/import operation. But in VS Code it's not obvious (to me, at least). I can add multiple namespaces to a workspace, but when using isfs:// paths I see only a "Download" option and no "Upload" or "Import/Compile." When I'm navigating the local file tree, I see Import options, but no way to select the namespace into which I want to import. #ObjectScript #InterSystems IRIS #VSCode 1 8 0 1.6K
Question Jeffrey Drumm · Dec 20, 2021 How to Determine Where a Mapped Package is Located Programmatically? I've found a couple of methods that will tell me whether a package is mapped from another database, but not which database. Is there such a method/routine? #Mapping #ObjectScript #InterSystems IRIS 0 2 0 281
Question Jeffrey Drumm · Nov 21, 2021 Private Web Server: FQDN vs. Host name Issue Running HealthConnect 2021.1 on RedHat Linux 8.4. I've configured IRIS/HealthConnect with an external web server to support TLS encryption. It's installed on the same server as IRIS, but is a different instance and version of Apache httpd. That all works as expected. I would also like to keep the "private" web server available, but I'm having an issue with using the fully-qualified domain name in the URL vs. just the hostname itself. If I use http://servername:52773/csp/sys/UtilHome.csp to log on, all is well. #Web Gateway #Health Connect #InterSystems IRIS 1 7 1 391
Question Jeffrey Drumm · Nov 5, 2021 Interrogate Connection Status of HealthConnect/Interoperability Service EnsLib.HL7.Adapter.TCPInboundAdapter has a Connected property that I assume is set to the state of the connection session with the remote host; i.e. 1 when Connected, 0 when not. I'm assuming this is the property the Production Configuration web page uses to display the state of the service (green for Connected, red for not Connected, etc.). How can I interrogate the value of that property of an active service, via a method running in separate process? (It really seems like I should know this, but I'm just not finding the right magical incantation) #Ensemble #Health Connect #HealthShare #InterSystems IRIS for Health 0 3 0 174
Question Jeffrey Drumm · Jun 2, 2021 Query SearchTable Definitions? I've poked through the class documentation and globals and I can't seem to find what I'm looking for, namely a mechanism that will give me the PropName key and value for each of the Items in an EnsLib.HL7.SearchTable definition. Is there some sort of query that will turn the list of Items in the XData SearchSpec section into a key/value pair of some sort? For example: #HealthShare 0 1 0 232
Question Jeffrey Drumm · Jun 1, 2021 Storing a %DynamicObject I've been tasked with an interface that needs to supply some additional metadata for the indexing of HL7v2 messages. After toying with a couple of ideas, I thought that it would be useful to subclass EnsLib.HL7.Message, add a %DynamicObject property, and store the metadata in it (it ends up getting sent to the target in JSON form anyway). And, well, it seems to work just fine ... so far. #ObjectScript #InterSystems IRIS for Health 0 4 0 873
Question Jeffrey Drumm · Oct 23, 2020 Returning a Stream in an ObjectScript Custom SQL Function I'm attempting to extract some very large messages from Interoperability/Ensemble, and I'm just not getting something right ... The closest I've come to getting something useful is this: #Ensemble #HealthShare #InterSystems IRIS for Health 0 15 0 820
Discussion Jeffrey Drumm · Feb 7, 2020 IRIS - Periodic Forced Refresh in Management Console I'm not sure what the purpose of this is, but the Management Console causes the browser to refresh periodically. If you're in a form or an editor such as the DTL or Routing Rule editors, you may lose work unless you save frequently. This did not occur in Caché 2018 and earlier releases. I've had a couple of incidents where I've created a number of rules in the DTL editor, answered the phone or stepped away for a few minutes, then come back to find any work since the last save erased. I've noticed this in both 2019 and 2020 releases of IRIS. Heads up! #Business Rules #DTL #Ensemble #InterSystems IRIS 0 4 1 498