|
|
ArgusConnect Pty Ltd |
Using ArgusAgent
Last Updated: April 2006
Table of Contents
2.1.1 Example 1: Attach File(s)
2.1.2 Example 2: Pickup HL7 File(s)
2.1.3 Example 3: Pickup SAPDF File(s)
2.2 What is the difference between Events and Actions?
2.2.1 The main screen
2.3 The main toolbar
2.3.1 Add an Event
2.3.2 Remove an Event
2.3.3 Edit an Event
2.3.4 Start an Event
2.3.5 Stop an Event
2.3.6 All Events
2.3.7 View Agent Log
2.4 Running the Wizard to Add/Edit an Event
2.4.1 Generic Actions
2.4.2 Non-Generic Actions
This is a detailed guide outlining the features and use of ArgusAgent. It is the third in a set of documents comprising:
Using ArgusMessenger
Using ArgusMail
Using ArgusAgent
Using ArgusWord
Using Argus Token Selector
Using Argus Message Broker
This guide presupposes a high-level understanding of Argus, as described in detail on the ArgusConnect website.
|
Term |
Definition |
|
Argus |
The suite of programs that provides for the secure mail-exchange between health care providers (GPs, pathology labs, specialists etc.) |
|
ArgusMessenger |
This is a program that interacts with POP3/SMTP, IMAP and LDAP servers. It implements advanced HL7 handling and encryption via PKI. One instance of ArgusMessenger runs at each location. |
|
ArgusMail |
This is the ‘client’, a program that allows users to view and send email. An instance of ArgusMail runs on each user’s desktop. |
|
ArgusAgent |
This is a program that can be run in background mode to fire defined events at designated intervals. Tasks include the automatic sending of documents dropped into a directory, and polling for files to be printed automatically. |
|
Argus Message Broker |
The program that allows an administrator to review batches of messages before sending them, such as might occur in a radiology practice. |
|
ArgusAPI |
This is an API module that allows other applications to interact with Argus without using the Argus GUI. Non-windows applications can interact directly with a Java class in Argus itself, and Windows applications can use COM. |
|
Message |
A mail item, downloaded from the mail server and stored in an Interbase database. As with any email, messages often include attachments. |
|
LDAP |
Lightweight Directory Access Protocol is a client server protocol for accessing a directory service. |
|
Folder |
This does not refer to a file directory. It is used here to denote a mail folder in ArgusMail, such as the Inbox. |
|
HQL |
HL7 Query Language is a script language for retrieving data fields |
|
XML |
eXtensible Markup Language. A widely used standard from the World Wide Web Consortium (W3C) that facilitates the interchange of data between computer applications. Computer programs (such as the XMLUtiltiies module in Argus) can automatically extract data from an XML document, using its associated XSD as a guide. |
|
XSD |
XML Schema Definition. A file which defines the building blocks of an XML document, and which can be used a template when converting another format (in this case, HL7) to XML and vice versa. |
|
XMLUtilities |
A generic module which, when provided with an XSD, can convert HL7 messages into XML and vice versa. It makes use of the SAX Java library. |
|
SAX |
The Simple API for XML, a 'de-facto' standard for XML handling in Java. SAX is an event based API, which reports parsing events (such as the start and end of elements) directly to the application (in this case, to the XMLUtilities module. |
There is a number of ways to use Argus to send Email:
Create a new message with ArgusMail
Make a direct call to ArgusMessenger via the Argus API
Send a form with ArgusForms
Drop a file to be sent into a directory, to be picked up by Argus.
ArgusAgent is used for option 4. With minimal changes, it can be enhanced to pick up and process files containing data that require translation or conversion. Other programs can drop files into a designated directory where ArgusAgent picks them up, processes and sends them. ArgusAgent polls for files.
ArgusAgent has a ‘generic’ ability to pick up and send files that do not need to be processed. When somebody needs something more exotic, it is simple and quick to create a customised module for ArgusAgent to handle the proprietary requirement.
ArgusAgent does not receive messages, it only sends.
Here are some explanatory examples of how ArgusAgent has already been used. In all cases the recipient of messages must exist in the Argus address book, including their public encryption certificates. If digital signing is required, the PC upon which ArgusAgent resides must have a personal token (iKey) attached to it.
Problem: A program will periodically drop a well-formed HL7 message (as a text file) into a directory. The file must always be sent to one specific recipient, for inclusion into a data repository.
Solution: No program changes to ArgusAgent are needed. ArgusAgent can simply be configured to look periodically in a designated directory for the expected file. Such files are added as attachments to new messages for Argus to send.
Problem: A pathology laboratory will periodically drop a well-formed HL7 message (as a text file) into a directory. The file will not always be sent to the same recipient. The intended recipient of the message is designated by a Provider Number, which is embedded in the HL7 of the message. The Provider Number must be used to look up a matching Email address so that Argus knows where to send the message.
Solution: This problem required the addition of a new module to ArgusAgent. The new module looks periodically in a designated directory for the expected file. When such a file is detected Argus extracts the Provider Number and finds the matching Email address on its address book. Such files are added as attachments to new messages for Argus to send.
Problem: A pharmacy program will periodically drop a file containing an S8 drug report (as a text file) into a directory. The data is in SAPDF format, not HL7. The file must always be sent to one specific recipient, to be imported into a database at the office of the Chief Pharmacist.
Solution: This problem required the addition of a new module to ArgusAgent. The new module looks periodically in a designated directory for the expected file. Such files cannot simply be added as attachments to new messages for Argus to send because they are not in HL7 format, hence Argus would be unable to guarantee their delivery by using the HL7 acknowledgement protocol. Thus, the new module creates a basic HL7 message, encapsulating the entire block of SAPDF data within the HL7. The file is added as an attachment to a new message for Argus to send.
At the recipient’s end, ArgusMessenger can be configured to extract and save the block of embedded SAPDF text so that it can be picked up and imported by the system for which the data is intended.
An Event is a process that is activated repeatedly at a user-defined interval, in order to perform an Action. An Event must be configured with these (sort of) settings:
How often must it poll
Which directory must be polled for files to send
What file name criteria must be looked for
If it is pre-known, to what address must the message be sent
What must be done with any file that gets processed
Who is the sender of the message
Must the message be encrypted
Must the message be signed
An Action is what the Event does when it detects a file that matches its criteria.
After logging in using the administrator details used to login to ArgusMessenger, you will see the main screen with the following areas:
|
|
|
Figure 1: The ArgusAgent main screen |
Events
Every Event you have set up is shown, along with its current status (running or stopped).
Progress
Whenever an Event detects a file that matches its criteria, the Action it takes is logged in this window.
|
|
|
Figure 2: The Add an Event button |
Allows a new Event to be set up. Clicking this button opens the Event Wizard, which guides the user step-by-step through configuring an event.
|
|
|
Figure 3: The Remove an Event button |
Deletes an existing Event.
|
|
|
Figure 4: The Edit an Event button |
Allows the settings of an existing Event to be modified.
|
|
|
Figure 5: The Start an Event button |
Initiates the countdown to fire the selected Event. More than one Event can be counting down simultaneously.
|
|
|
Figure 6: The Stop an Event button |
Stops the countdown of the selected existing Event.
|
|
|
Figure 7: The All checkbox |
All events can be selected so that they can all be started or stopped at once. Multiple events can also be selected and deselected by holding down the ‘ctrl’ key and right-mouse clicking items in the event list.
|
|
|
Figure 8: View Agent Log |
Whenever an event runs, logging information regarding the event are stored in the ArgusAgent log. Argus keeps track of all the actions it performs, primarily because 99% of the time it is running as a background process. Users can view the ArgusAgent log to see what Argus has done within a particular time frame.
The first log entry created when an event begins running is coloured grey, and errors are shown in a red font colour.
The Events wizard controls the editing of Events.
Some of the actions in the Actions list are non-proprietary in that they were not created in response to a specific (exotic) user requirement.
Some of the actions in the Actions list were created in response to a specific user requirement.
The Event wizard will branch according to the settings that are appropriate to a particular Action.
ArgusAgent can be configured automatically to activate at scheduled intervals for the purpose of running all events. Argus will create either a Scheduled Task (on computers running Windows 98) or a service on computers running Windows 2000/NT/XP, Linux or Mac OSX.
The SYSDBA password must be captured in order to activate the service.
Please Note: if you change your SYSDBA password after running the AutoRun wizard you will need to configure AutoRun again using your new password.
ArgusAgent allows Argus to accommodate requirements for which it was never specifically designed. As such, its use is discouraged in favour of making direct calls to the Argus API, but the Argus team accepts the inevitability that some software vendors are unwilling or unable to modify their programs accordingly.
If you have any suggestions for future versions or Argus, please feel free to log your suggestions in Questa, on the ArgusConnect website or by mailing argushelp@argusconnect.com.au or phoning the ArgusConnect helpdesk on (03) 5335 2221 during business hours.
--- fin ---
Andrew Shrosbree, Rachel Naus
December 2004