Versions

Tools for Caché and for Ensemble Interfaces 

January 9, 2021 - No more updates unless requested to RalphGCrawford@gmail.com.

September 19, 2020 - Allow Google to convert the web site to the new format since the old format will no longer be supported.

January 7, 2020 - Update copyright dates at bottom of pages for SimpleHL7Search and SimpleCacheBackups.  Remove code that allows SimpleHL7Search to work with versions of Ensemble before version 2011. In the unlikely event that someone is using an Ensemble version 10 years old or older, the double slash code can be removed for code near the lines checking $ZV for Ensemble versions. Then the edited XML file can be imported and compiled. Fix possible bug in SimpleCacheBackups that only shows up if the current year is greater than 2019.

January 9, 2019 - Update copyright dates at bottom of pages for SimpleHL7Search and SimpleCacheBackups.

February 6, 2018 - Update copyright dates at bottom of pages for SimpleHL7Search and SimpleCacheBackups.

February 4, 2017 - Update copyright dates at bottom of pages for SimpleHL7Search and SimpleCacheBackups.

January 19, 2016 - Update copyright dates at bottom of pages for SimpleHL7Search and SimpleCacheBackups.  For SimpleHL7Search add code to automatically use "(Ens.MessageHeader).ResendMessage" for Ensemble versions before 2010, and use "(Ens.MessageHeader).ReSubmitMessage" for Ensemble versions 2010 and later.

May 5, 2015 - fix resend code in the Search page for new versions of Ensemble (change from using the ResendMessage method to the ResubmitMessage method because the name was changed in Ensemble).  If you have an older version of Ensemble, you can change back to using ResendMessage by replacing ResubmitMessage with ResendMessage for all 4 occurrences in the class SimpleHL7Search.Search and recompiling.

April 6, 2015 - Update copyright dates at bottom of web pages.

September 12, 2014 - Fix the NSLookup to get IP address for DNS names that begin with a number (like 123Server). Previously, any name beginning with a number was presumed to be a raw IP address, so the IP address was not looked up.  The server name must have at least one letter in it to be considered a server name, otherwise the code will assume the name is a raw IP address.

June, 2014 - Fix interface monitors to work with Red Hat Linux.  Netstat has a slightly different format than for AIX, HPUX, Mac OSX.

June 4, 2014 - Fix bug in Interface Monitor for automatic addition of new interfaces (no more redirects to monitor settings web page).

March 17, 2014 - Update pause indexing parameter to now pause as little as 0.1 seconds up to 10 seconds between indexing 1000 messages. This prevents indexing from getting behind for high volume message sites if the pause is set to tenths of a second.

January 14, 2014 - Fix HL7 File Format page - now accomodates BHS and BTS segments in the file.

December 20, 2013 - Add a button to the On Call Settings web page to set all interfaces to the support group listed. This allows easier management since most interfaces will be supported by the same support group.

November 11-18, 2013 - Add an index size calculator and a total HL7 Message Segments size calculator and display them on the Simple HL7 Search Settings Page. Add option to monitors not to alarm when an interface goes down - the interface box just goes red (option is by user ID).

November 8, 2013 - Add mouseovers to TCP/IP Interface Monitor for "up" interfaces and no name - down interfaces show full name. This allows more interface density on the display.

November 6, 2013 - Background process for World Wide Monitor now automatically includes new items added to a production using default interface monitor settings.

October 8, 2013 - Worldwide TCP Monitor - add mouseovers to interface icons (slightly to the right of each icon).

September 10-16, 2013 - Interface Monitors - Modify so that inbound connections display properly for servers using multiple IP Addresses. Also, only show the middle 12 letters for interface names longer than 12 characters on the TCP/IP Interface Monitor. Finally, allow inbound connections to stay yellow when FIN_WAIT_2 exists for that port number.

July 10, 2013 - Update Simple HL7 Search and Simple Caché Backups code. Modify button on Simple HL7 Search Settings page to allow for resetting all indexing to the most recent HL7 message (useful for test systems where HL7 messages are produced infrequently). Fix bug in Simple Caché Backups code where the setting for how long to keep backups was not being respected (introduced when the FTP code was added).

February 24, 2013 - Add capability to FTP any type of file with Caché Auto FTP, not just data files. Now image and video files can be FTP'ed.

February 5, 2013 - Fix rename bug for Caché Auto FTP and add date/time patterns for the 4 file name fields. Only evaluate patterns if they are within a set of braces to create the file name with a substitution of the current date and time information and then remove the braces from the file name.

February 3, 2013 - Add Caché Auto FTP utility that works similarly to Caché Auto Tasks. However, unlike Caché Auto Tasks, Caché Auto FTP has one list of tasks that all authorized users access (Caché Auto Tasks has individual lists for each user and one user can't see another user's tasks).

August 21, 2012 - Add Class name filter for Simple Cache Backups and the Class Compare pages so that the class of interest can be quickly found in packages having large numbers of classes.

May 14, 2012 - FREE the software. No more timeouts or restrictions on the use of Simple HL7 Search and Simple Cache Backups and associated utilities.

April 16, 2012 - In this version, some improvements were made to indexing to tolerate gaps of days between interface messages (for test environments) and deletions of Ensemble messages with Ensemble purge routines. Also, the maximum number of segments displayed per message for HL7 Search was increased from 75 to 999.

March 12, 2012 - Added reverse sort for the "Watch Mode" table at the bottom of the task scheduler web page. Each time the column header is clicked on the sort order is reversed.

March 1-2, 2012 - For Caché Auto Tasks, display the output from any of all previous runs (drop down list) for the selected task when in "Edit Mode". Also on the display, it is indicated if there were any runtime errors or not for that task run. This allows users to have output from their background programs that is captured and displayed on the Task Scheduler page (output from normal Caché "write" commands in the task).

February 28-29, 2012 - Added column sort for the "Watch Mode" table on the task scheduler. Click on the column header to sort the table by that column.

February 27, 2012 - Added a filter for the "Watch Mode" of the the task scheduler so that only the tasks of interest are displayed in the watch table at the bottom of the web page. Also, the user can now elect by task whether or not to launch an overdue task after a down Caché system comes back up.

February 20-21, 2012 - Added variable screen refresh intervals between 5 seconds and 30 seconds inclusive for the Interface Monitor and the World Wide Interface Monitor. Adding the more frequent screen refreshs required adding better management of the incoming data streams for the World Wide Interface Monitor TCP Client and Server jobs, as well as the World Wide Monitor itself. Now on the World Wide Monitor the icons refresh more quickly when a production shuts down and restarts, or interfaces are added or removed to productions. For the World Wide Monitor, an update of any item on the settings page will automatically go and refresh any new interfaces that have been created in an Ensemble production. And running the TCP/IP Interface Monitor also does the interface name refresh, as always.

February 16, 2012 - The Interface Monitor Settings page was improved to decrease user scrolling when updating items at the middle and bottom of the page. Also the World Wide Monitor Settings page was improved by adding a drop down selection of Ensemble site numbers to choose from for easy updating, and there is now less scrolling for updating items at the bottom of the page.

February 13, 2012 - Added a table at the bottom of the Caché Auto Tasks Scheduling page that displays all scheduled tasks, their running status, when the next launch is scheduled, etc. The task name is a link, that when clicked on allows editing of the task and allows termination of the task process if it is running. A safety checkbox must be checked to terminate the running process. This page now functions as both a monitoring page and an editing page. When running in monitoring mode, the page refreshes every 5 seconds. A stop watching button puts the page in edit mode and a watch button puts it back in monitoring mode. There are plus and minus buttons to adjust the position of the page in monitoring mode when there are lots of processes (has effect when there are more than 15 processes). Tasks with running process are at the top of the table in order by process number. Tasks that are not running are at the bottom in order by task name.

February 7, 2012 - Added a security option to limit sending/editing HL7 Messages and to limit the ability to dequeue messages. An administrator can set these privileges.

February 5, 2012 - Added Caché background task functionality to Simple Caché Backups. This includes a web page for setting up Caché background tasks. for monitoring the background tasks, and for showing the status of the last compile and run of the Caché command for the background task. Additionally, the page shows the date, day of week, and time for the next scheduled run of the selected background task. Tasks can be scheduled to repeat from 1 minute to 99999 minutes (more than 69 days).

January 18, 2012 - Added the special interface name "ProductionNotRunning" to show any down/suspended Ensemble productions in monitored namespaces for the Interface Monitor and the World Wide Interface Monitor (see the Interface Monitor and World Wide Monitor pages on this site to view screen prints). This interface name works like any other interface name, going red when a production isn't running and sounding the chime alert if sound is enabled. It also appears on the Interface Monitor Settings page so that contact information can be added for whom to alert if a production is not running. Finally, this special interface name works with the On Call settings like any other interface name so that multiple on call support staff can support Ensemble Productions based upon date ranges and a support link can be entered in the on call group for down productions just like for down interfaces.

January 17, 2012 - Improved the display of very long class names in Simple Caché Backups.

January 16, 2012 - Improved the functionality for using new/unlisted topics in the Knowledge Base Utility for Simple Caché Backups.

January 9, 2012 - Updated Simple HL7 Search utilities and Simple Caché Backups utilities to be aware of each other. On the drop down menu, the other set of utilities can be chosen - if the other set of utilities is installed in the same name space, the menu takes the user there, otherwise, it takes them to the relevant page on this web site.

December 12, 2011 - Updated Simple Caché Backups to include a user-editable notes field that is displayed on the Caché Class Comparison page for the currently selected left package backup. Also keep the pattern filter in effect indefinitely until the clear display key is clicked - either the Simple Caché Backups page or the Class Comparison page.

December 6, 2011 - Released Simple Caché Backups.

November 18, 2011 - Modify the World Wide Interface Monitor to show an interface's namespace in the details section.

November 8, 2011 - Add warning messages to Simple HL7 Search when resending and dequeuing messages to allow up to 2 minutes for the screen to paint. Otherwise, all the intended messages may not be resent or dequeued if the user navigates away from the web page or clicks again on a button on the web page.

November 3, 2011 - Fix a bug when restoring a complete package from a package backup to a different namespace. Fix bug in a background search when using a UK date format (was switching the day/month position twice instead of just once). Change the "Update Segment" button text to say "Update Segment Copy" for the Segment Editor for Simple HL7 Search, since that is what is really happening. The original Ensemble segment is not edited, only a copy is edited.

November 2, 2011 - Add context sensitive interface-support hyperlink capability for the Interface Monitor.

October 27, 2011 - Improve the resend and dequeue functions of Simple HL7 Search across multiple namespaces. Add "How To" videos to the "How To" web pages on this site.

October 25, 2011 - On the Interface Monitor a message search button has been added to the interface details. Also the resend-of-all-displayed-messages function for Simple HL7 Search has been enhanced to be more robust. Up to 10,000 messages at a time can be resent to the original target destinations no matter what the search criteria. Resend all messages for a patient number to all systems, all messages for an interface, or only the messages that contain a certain pattern.

September 18, 2011 - Fixed the TCP/IP Monitors to work correctly with an IP address setting in Ensemble of "localhost" or "127.0.0.1". Also added an automatic redirect for the interface monitor to the settings page to get default settings when business services and operations are added to Ensemble - with an automatic redirect back to the interface monitor as soon as the default settings are added.

August 26, 2011 - Updated for Ensemble 2011 compatibility.

May 28, 2011 - allow flexi-indexing for multiple segments within the same message. For example if there are multiple IVT inventory locations for an item in a materials management HL7 interface, previously only the first location would become an index when using flexi-indexing. Now up to 100 inventory locations per message can become an index for each message. Convenient when looking up all items for a particular inventory location.

May 25, 2011 - add working directory option, so all operations can occur in that directory instead of the default Ensemble directory.

May 21, 2011 - rearrange the spacing for the Simple HL7 Search page. Put an index indicator at top right to show most recently indexed message date/time. Collapse the include and exclude fields into one field for each category, with a delimiter of "@" between up to 3 include and 3 exclude patterns. Add start date to the description of a saved search for better identification in the saved search drop down list. Fix a concatenation problem for the background monitor used with the World Wide Monitor when opening a file multiple times in the background by explicitly deleting a file before opening it with a "N" parameter for file open.

May 15, 2011 - fixed case sensitive directory name references for the Interface Monitors to prevent problems for some unix systems.

May 13, 2011 - Forgot to add the start and stop times for saved searches - fixed. Tweak indexing back to 1000 messages at a time instead of 5000, which could be too aggressive in certain situations.

May 11-12, 2011 - Add start and stop time to Simple HL7 Search. Now limit searchs to date AND time ranges. Also add to background search. Find all messages matching a pattern for any particular minute, hour, 5 minute period, a whole day - whatever date/time range.

May 4, 2011 - modify Search Settings page to also show the namespace of the current message being indexed or reindexed. Add message that displays when a blank pattern is searched using an index other than INTERFACE- and flexi-indexes. This message states that only 1 message will be displayed for each found index pattern. Useful for finding some existing names, patient numbers, etc. when nothing is known about the data. Then once some existing data is found, a refined search can be made with the name or number filled into the pattern field to find all occurrences within the date range. Upload SimpleHL7Search-May-2011.xml to Google Documents and update links on this site to this new file. Also, prevent future stop and start search dates from being used in the Search utility.

Apr 25, 2011 - modify the Search Settings page to show indexing progress and reindexing progress as the most recently indexed message date and time to the millisecond, instead of using an arbitrary counter. Upload a new version of SimpleHL7Search-Apr-2011.xml to Google Documents that includes all changes to date.

Apr 5, 2011 - Make the World Wide Monitor respect the maximum tolerated suspended messages in a row before an interface is shut down and the interface icon goes red. Upload a new version of the software to Google Documents.

Mar 29, 2011 - prevent the IP Address and port number from being used more than once in the World Wide Monitor Settings, which would cause an error.

Mar 28, 2011 - continue to update the World Wide Interface Monitor to have the newer features of the local Interface Monitor. Make the WW Monitor respect the email/paging alerts for Event Log errors if the email/paging field is filled in on the Interface Monitor settings page. This email/paging is generated from each sending site if an email/paging address is filled in.

Mar 27, 2011 - update the World Wide TCP/IP Interface Monitor to respect the Announcement settings and display announcements. Adjust borders of the tables to gray instead of black to make the look less harsh. Add settings for namespace selection to the World Wide TCP/IP Monitor settings page.

Mar 26, 2011 - add "Get DNS IP" button to TCP/IP Interface Monitor Settings page, so users won't have to figure out the DNS server IP address being used by the Ensemble server. This should be used when setting up the TCP/IP Interface Monitor and/or the World Wide TCP/IP Interface Monitor.

Mar 26, 2011 - update the World Wide TCP/IP Interface Monitor to respect the On Call settings.

Mar 26, 2011 - add setting to the World Wide Monitor Settings page to email/page when the World Wide TCP/IP Interface Monitor isn't running. Unlike the setting for the TCP/IP Interface Monitor, this is not by Ensemble user ID, so as long as someone is running the World Wide TCP/IP Interface Monitor there will be no emails/pages if the field is filled in. If no one is running the World Wide Monitor, an email/page will go out if the field is filled in.

Mar 6, 2011 - fix potential bug if administrator adds another user to the security page before addiing himself/herself, he/she could get locked out. If another user is added before the administrator adds himself/herself, he/she is automatically added with full security to all pages. Fresh version of code uploaded to Google Documents.

Mar 1, 2011 - fix disk refresh counter to refresh the disk space info in the interface monitor immediately after changing the interface monitor settings (by user id) and upload the change to Google Documents.

Feb 15, 2011 - add maximum setting to the TCP/IP Monitor for error email/pages per day in case some error condition produces thousands of error messages. Uploaded new version of SimpleHL7Search-2-5-2011 to Google Documents.

Feb 14, 2011 - add paging/email capability to the TCP/IP Monitor for any or all Ensemble Event Log errors. The user can selectively block any patterns to prevent emails and pages of unwanted error types, such as simple disconnect errors and only get paged for serious errors (default filter string provided).

Feb 9, 2011 - add filtering by selected staff member to the On Call application and undelete for most the recently deleted staff member or on call item.

Feb 7, 2011 - add a repeat option to the On Call application for scheduling an individual for up to 99 instances with one update.

Feb 5, 2011 - new On Call application for the Interface Monitor.

Jan 12, 2011 - fix interface filter list in the Search utility to include all namespaces (was only showing interfaces for the current namespace). Upload new code to Google Documents.

Jan 3, 2011 - allow deletion of old HL7 message bodies that have no headers (for older versions of Ensemble that had ACK messages with no headers). Code is only executed if a message header is not found for the message body and the message body is older than the allowed message age. Uploaded as SimpleHL7Search-10-25-2010a.xml to Google Documents.

Dec 26-27, 2010 - Add automatic delete of old HL7 message bodies and associated HL7 message headers. No other message headers are touched for non-HL7 message types. Fix reindex bug when reindexing and no HL7 messages exist in one of the namespaces before the current day. On the settings page, added a refresh field that displays the most recently deleted message header id for each namespace (cycles to another HL7 message namespace that has had a message deleted every 2 seconds).

Dec 18, 2010 - Fix display of FTP status when exporting packages or classes via FTP (with password filled in). Also fix a bug in the auto backup of all lookup tables.

Dec 15, 2010 - Fix bug in the background search that ouputs data to files to include all namespaces (was only including the current namespace). Also, fix bug to stop hyperevents when a saved search is selected.

Dec 7, 2010 - Add automatic daily backup of lookup tables option. New code uploaded still with the Dec 5th date.

Dec 5,2010 - Fix bug in editor when editing a message in a different namespace than the installed namespace for SimpleHL7Search.

Nov 30,2010 - Add functionality to automatically disable an outbound interface if the number of suspended messages in a row exceeds the user defined threshold (by user id). When this occurs, have this disabled interface show up on the monitor red (normally disabled interfaces don't show up on the monitor) and send an email/page. Like the other email/page alerts, the email sent flag clears when the interface is re-enabled and ESTABLISHED with nothing in the queue, so only one email/page occurs per incident. Also fix bug for setting of disk space by user id when the user id on the settings page isn't the user who is logged in.

Nov 27, 2010 - Modify Simple HL7 Search to be able to resend any messages displayed in chronological order. This potentially would allow for a user to adjust the search criteria for displaying messages to resend and then once the criteria is perfected, the user can do the search again with the resend option to resend all the displayed messages (up to 10,000 messages). Also add the send email option so that the user can get an email for every resent message if they wish.

Nov 26, 2010 - Add Dynamic Down Time Announcements to the TCP/IP Interface Monitor and upload code to Google Documents.

Nov 19, 2010 - Make saved searches work for the UK date format (oversight). Add change password page.

Nov 18,2010 - Make drop down list unique for each user id (one user doesn't see other users previous searches). New uploaded code on front page still says SimpleHL7Search-11-17-2010.xml, but has the new change.

Nov 17, 2010 - Added a drop down list of previous searches (up to 25) with a clear list button.

Nov 16, 2010 - Added a choice of UK date format (dd-mm-yyyy) and US format (mm-dd-yyyy). Choice made on the Search Settings page applies to all utilities.

11/14/2010: Add email/paging alert for the TCP/IP Interface Monitor by user ID if the Interface Monitor stops automatic refreshing for a 5 minute period, for whatever reason - network problem, Windows update with reboot to the Monitoring PC, user navigating away from the Interface Monitor.

11/12/2010: Modified so that disk space monitoring works for all versions of UNIX. Also, tweak the look for Internet Explorer.

11/11/2010: Added disk space monitoring for the TCP/IP Interface Monitor. When no interface details are displayed, the free disk space for all user selected local disks or file systems are displayed in the lower left. Also, when the space falls below the user defined threshold the free space is displayed in red and an email/page is sent to the email addresses in the low disk space email field. Code uploaded to Google Docs.

11/6/2010: Add Flexi-Indexing to Simple HL7 Search and upload code to Google Documents.

11/5/2010: Pay some real attention to how these pages look in the IE Browser and greatly improve the appearance (not needed for Safari or Chrome on the Mac). Upload new code to the Intersystems FTP site and to the Google Documents site (download link on the "About Us" page).

11/4/2010: Add a Fix HL7 File Format utility page for those pesky FTP Windows/UNIX file format issues.

10/30/2010: Fix the double quote limitation for the Terminal Command Page. Now double quotes are allowed in the command just like for the Caché Command page.

10/27/2010: Add a Caché Command page. Add Caché commands to the drop down list and conveniently execute them from the web browser whenever.

10/26/2010: Rename UNIX/DOS Terminal Command page to UNIX/Windows Terminal Command page. Add drop down list for user saved favorite directories like the user saved favorite terminal commands.

10/23/2010: Add UNIX/DOS Terminal Command page. Allow administrator users to add any commands with any parameters, redirection, etc. Only restrict deletion when the asterisk (*) character appears anywhere in the complete command with parameters.

10/22/2010: Enable the Package and Class Version Management page to work across all namespaces. Easily backup packages from namespace and restore to the same or different namespace. Import an XML file into any namespace or export any package or class from any namespace to a file.

10/18/2010: Add user id field to Monitor settings so an administrator can change the display settings for a non-administrator who has no access to the page. New code not uploaded yet.

10/13/2010: Knowledge Base topic buttons now generate topic lists of all Ensemble interfaces across all namespaces and all classes and rules for a package name across all Ensemble namespaces.

10/12/2010: Enable the TCP/IP Port Manager to work for all Ensemble productions in all Ensemble namespaces.

10/3/2010: Fix a bug where the interface queue is displaying in the TCP/IP Monitor when the interface is disabled.

9/14/2010: Add message counter to indexing and create Message Count web page.

9/12/2010: Modify message search to deal with possible overlapping session id numbers from multiple productions running in different namespaces. Also, allow the include fields to search for a session id as well as content in the HL7 Message.

9/10/2010: Modify code to clearly distinguish inbound interface ACK's from outbound interface ACK's.

9/9/2010: Modify World Wide Monitor code to work for all namespaces selected on the TCP/IP Monitor (however it only displays the interface name and not the namespace as well). Modify DNS code to work for all namespaces for the Monitor and the World Wide Monitor.

9/7/2010: Fixed a bug for the Interface Monitor when monitoring Ensemble running in Microsoft Windows.

9/4/2010: Cosmetic work for display on IE. Add display of ACK message(s) underneath its respective HL7 message in SimpleHL7Search (for when IO logging = 1).

8/29/2010: Utility for editing and backing up Ensemble productions now works across all namespaces. Also Production Tidy now works across all namespaces.

8/17/2010: Modify Lookup Table Editor and Lookup Table Backup/Restore/Import/Export to work simultaneously across all namespaces. Code uploaded.

8/15/2010: Fix the show all messages option so that only the original inbound message of a session ID is displayed with a blue link by default (unchecked). If the all messages option is checked, all additional messages for the session ID are shown with their hyperlinks to the Ensemble Message browser in green. Anytime there is a green link, look below for the blue link of the original message. This could be far down when a message has been resent hours or days later.

8/14/2010: Fix reindexing and the display to show an indexing indicator. Previously, the most recently indexed message ID for the current namespace was shown, and now the most recently indexed message ID's for all namespaces are summed together to give an indicator that shows indexing is moving along.

8/12/2010: Change the size of the fonts for the Monitor and Simple Search - they were too large in IE, but not for Safari. Adjust headings width to work for all font selections in IE.

8/11/2010: Finish development of HL7 Message search across all Ensemble namespaces that have HL7 messages in them and upload code to ftp.intersystems.com.

8/1/2010: Development of TCP/IP monitoring across all Ensemble namespaces. Code uploaded to ftp.intersystems.com and the 4shared file sharing site.

7/13-16/2010: Development of Simple Upgrade.

7/5/2010: Add web page font selection by user id in the security page and the monitor settings page. Increase application timeout to 5 minutes for all pages (allows for importing, exporting, backing up, and restoring very larges files and/or packages).

6/18/2010: Finish the Program Access Security page and upload code. Also fix a bug in the interface/router list for Knowledgebase.

6/16/2010: Add program access security. The 1st person to run the program becomes the only administrator and is the only user that has the security program on the menu. All restrictions apply by removing programs from the menu and also by redirects on each web page if the user doesn't have appropriate security to use the program. Code still being tweaked and has not been uploaded yet.

6/5/2010: Modify so that all the utilities can run in any namespace. Also decrease the size of the fonts in the monitor.

5/9/2010: Add from field to put in the ensemble email name that shows up in the email. The part after the "@" character should be the email extension of the organization so the SMTP server won't block the emails.

5/8/2010: Add Merged Duplicates Report and fix a potential delimeter problem for the duplicate reports (when less common HL7 delimeters are used).

5/1/2010: Add more fields to the Unresolved Suspected Duplicates Report. Add sort by clicking on column title. Add filter.

4/24/2010: New report: Unresolved Suspected Duplicates Report.

4/18/2010: Release Duplicate Medical Record Detector.

4/14/2010: Update screen for Duplicate Medical Record Detector. Add exact message creation date (local time), message size, and number of segments to the HL7 Message Search display. For better visibility move the red scrolling banner at top of the interface monitor when an interface is down and hasn't been clicked on.

3/7/2010: Add Knowledge Base utility.

3/3/2010: Remove erroneous blank display of foreign IP for File and FTP Services and Operations.

3/2/2010: Fix bug for cloning a production item which was introduced 2/8 when alphabetizing by upper case item name.

3/1/2010: Change for email to overcome some security restrictions.

2/25/2010: Limit resend target options to original target or an operation of the currently running production because other targets would fail if selected.

2/24/2010: Found and fixed bug for parsing multiple patient identifiers when "^" characters are present.

2/20/2010: Add red warning message if message indexing hasn't been started after a new installation. Now TCP/IP Monitors and Simple HL7 Search are perpetual trialware until registered. Delete the global ^SimpleHL7Search and the 90 day fully functional trial period starts all over again. This way one can use the software without any licensing issues, and hospital customers can register the software if they want to use the monitoring software in their command center and the search software on their production data.

2/15/2010 - Fixed bug introduced in the previous version for searching on the current day - prevented finding all of today's results - forgot to adjust for Greenwich Mean Time. Also, any message not having a completed or aborted status in 3 days will fall off the reindex list and the background indexing job will no longer attempt to reindex that message (mainly applies to test systems where queued messages may hang around indefinitely and never get completed - no point in wasting CPU checking if the messages get completed for these situations).

2/8/2010 - Fix display of Update Production Items and Production Tidy to display items in original case instead of all upper case. Fixed bug for searching on a recent date when the current date has no HL7 messages indexed.

2/6/2010 - SimpleHL7Search - allow for days when there are no HL7 messages instead of assuming messages every day. Fix background counter to write number of messages printed instead of number of segments printed. Add an instant 1000 and an instant 100000 button to set search through 1000 indexes per search or 100000 per search. Update Search Help to reflect the instant 1000 and instant 100000 buttons.

2/4/2010 - Fix Internet Explorer display problem for the Package and Class Versions page. Fixed bug for starting an interface when it shouldn't be started.

2/3/2010 - Uploaded bug fix for Production Tidy and Update Production Items for items starting with lower case letters.

1/30/2010 - Uploaded new code with additions for email for resent messages. Put back in production classes in the backup and restore of packages.

1/23/2010 - Uploaded code for modifying productions, backing up and restoring productions, backing up and restoring packages and classes.

1/18/2010 - Fix bug to now allow blanking out a setting in a production configuration item.

1/17/2010 - Added backup, restore, import, and export of individual lookup tables with FTP option for export. Added version maintenance - backup of packages, restore of packages, restore of individual classes, import of packages and/or classes, and export of packages or individual classes from any backup version.

1/16/2010 - Added an automatic email/paging option for each individual interface. Also pages the "InterfaceMonitor" special interface setting when the Ensemble production is down, suspended, troubled, etc.

1/13/2010 - Upload new code for the backup and restore of Ensemble productions in "Update Production Items".

1/12/2010 - Add production backup and restore to "Update Production Items". Backup and restore an unlimited number of Emsemble productions. Code not uploaded yet.

1/10/2010 - Upload new code to include "Update Production Items" to Intersystems FTP site.

1/1/2010 - Update the help screens and tweak Production Tidy.

12/26/2009 - Upload code for Production Tidy to Intersystems FTP site and tweak Monitor to run correctly in newer Windows installations of Ensemble .

12/22/2009 - Fix TCP/IP Monitor code for running Ensemble in Windows - broke it in the rewrite several weeks ago to handle an unlimited number of interfaces (previously more than 300 interfaces could cause the standard pipe to fail).

12/12/2009 - Update code on Intersystems FTP site to include the start and stop multiple interfaces utilities. Improve display of the most recent connection event in the TCP/IP Monitor and World Wide TCP/IP Monitor details display.

11/30/2009 - Prevent ever receiving a hyperevent error when retrieving large numbers of search messages (takes longer than 1 second so need to cancel hyperevents when clicking on any button).

11/29/2009 - Add hyperevents for real time update display of the most recently indexed message id and the most recently reindexed message id on the search settings web page (hyperevent call by javascript once per second). This allows for easy verification that indexing is keeping up with the interface message volume and easy monitoring of reindexing status whenever reindexing is used (after adding a new index). Also display each date of indexes being deleted as they are deleted in real time (1 second per day). Finally add a real time status display of background search progress on the Message Search page, which displays the number of messages found, the number of message written to a temporary global, the number of messages writing to files, the number of completed messages, and the number of messages processed at the time the user interrupts the process. This is useful for tracking progress when extracting messages over a large span of message dates.

11/26/2009 - Add better control of all background jobs. Start buttons now stop old jobs and restart new ones. This overcomes the problem of a restart of Caché and the old job number being used by a different method, which would prevent a background job from starting because the job number already exists. Also, there is now a stop button for all background jobs, one for the background monitor, one for the world wide update jobs, one for the update jobs from old interface engines, and one for the indexing jobs.

11/23/2009 - Added setting to turn sound on or off for TCP/IP Interface Monitor and World Wide TCP/IP Interface Monitor.

11/21/2009 - Set World Wide Monitor to respect the allowed down time setting before turning red instead of 60 seconds. Now all settings for the local monitor also apply to the World Wide Monitor. The settings are passed along in the TCP/IP stream from the local environment to the Monitoring location/environment.

11/15/2009 - Monitoring for non-Ensemble TCP/IP connections of other systems: Updated the TCP/IP Interface monitors so it doesn't matter if the port numbers on the old interface engine are the same as the Ensemble port numbers (as long as the old interface engine is on a separate box, which usually will be the case). So actually, one can monitor TCP/IP connections of any system as long as the perl client (on the Intersystems FTP site) is installed on each foreign box to push the netstat content from each foreign box to the Ensemble box. The only limitation is that a port number should only be used twice per box (once inbound and once outbound). So port number 10,000 could be used twice on the Ensemble box, twice on the old interface box, and twice on any other box being monitored. If it is used for multiple inbound or multiple outbound interfaces on one box, the status will show ESTABLISHED if any one of those interfaces has an ESTABLISHED status for that one box.

11/10/2009 - Updated the World Wide Interface Monitor to support multiple site monitoring for non-Ensemble interfaces as well as Ensemble interfaces.

11/2/2009 - Fix focus when first entering pages to go to the correct item on the page and so that the Enter key invokes the correct button based upon the cursor position.

10/22/2009 - Security - for user "MONITOR", "monitor", or any combination of case, that Ensemble user only has access to the Interface Monitor or the World Wide Interface Monitor. If that user clicks on any other navigation menu choice, the user is redirected to the Interface Monitor.

10/21/2009 - Added highlighting for message searchs for all patterns that are matched in an HL7 message search. Uploaded new code to FTP site.

10/17/2009 - Added safety features - no resending messages or dequeueing when the production is not running. Also added combined view mode for World Wide Interface Monitor.

10/13/2009 - Queue display added to World Wide Interface Monitor.

10/9/2009 - New look for titles on all web pages.

10/6/2009 - Added monitoring of FTP and File services and operations to the World Wide Interface Monitor. FTP icon is yellow and File icon is dark blue. The FTP icon shows the FTP server name/IP Address and last event log entry for that service or operation when clicked on. The File icon shows the file path and name and the last event log entry for that service or operation when clicked on.

10/1/2009 - Added most recent event in the event log for each interface clicked on for the TCP/IP Monitor and the World Wide Interface Monitor. Also added GMT comparison for updates on the World Wide Interface Monitor to accomodate sites in different time zones.

9/27/2009 - Fixed TCP updates to World Wide Interface Monitor to accommodate unlimited amount of update data (previously only 30,000 characters or about 300 interfaces per site). This will allow for more information per interface to be uploaded for future versions. 

9/22/2009 - World Wide Interface Monitor - Chime rings when any interface goes red or any site title goes red. When clicked on, a red check mark appears in front of the site title or for an interface. When all red items have a check mark, the chime no longer sounds. Alternatively, if the interface reconnects or the site receives an update, the chime stops ringing as well.

9/21/2009 - Modified and tested all code to also run on Microsoft Windows installations of Ensemble in addition to UNIX. Fixed bug for looking up server names (domain names) when IP addresses aren't used (localhost now works as well if you have a DNS server).

The Software procured from this web site is provided on an "AS IS" basis, without warranty of any kind, including without limitation the warranties of merchantability, fitness for a particular purpose and non-infringement. The entire risk as to the quality and performance of the Software is born by you, the software user. Please validate the performance of this software in your test Caché environment before using it in a similar production environment.