Graphic2

ArgusConnect Pty Ltd
ABN 63107558387
Suite 9, GreenHill Enterprise Centre
University Drive, Ballarat Victoria 3353
Tel: 0415 645 291
Email: andrew.s@argusconnect.com.au
Website: http://www.argusconnect.com.au

Using ArgusAgent

Last Updated: April 2006

Table of Contents

1 Introduction

1.1 Purpose of Document

1.2 Terms and Abbreviations

2 Using ArgusAgent

2.1 What is ArgusAgent?

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

2.4.3 Setting the Parameters for an Action

2.5 Auto- Synchronise

3 Hints, allegations and things left unsaid

1 Introduction

1.1 Purpose of Document

This is a detailed guide outlining the features and use of ArgusAgent. It is the third in a set of documents comprising:

This guide presupposes a high-level understanding of Argus, as described in detail on the ArgusConnect website.

1.2 Terms and Abbreviations

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
from an HL7 message.

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.

2 Using ArgusAgent

2.1 What is ArgusAgent?

There is a number of ways to use Argus to send Email:

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.

2.1.1 Example 1: Attach File(s)

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.

2.1.2 Example 2: Pickup HL7 File(s)

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.

2.1.3 Example 3: Pickup SAPDF File(s)

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.

2.2 What is the difference between Events and Actions?

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:

An Action is what the Event does when it detects a file that matches its criteria.

2.2.1 The main screen

After logging in using the administrator details used to login to ArgusMessenger, you will see the main screen with the following areas:

Graphic28

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.

2.3 The main toolbar

2.3.1 Add an Event

Graphic1

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.

2.3.2 Remove an Event

Graphic3

Figure 3: The Remove an Event button

Deletes an existing Event.

2.3.3 Edit an Event

Graphic4

Figure 4: The Edit  an Event button

Allows the settings of an existing Event to be modified.

2.3.4 Start an Event

Graphic5

Figure 5: The Start an Event button

Initiates the countdown to fire the selected Event. More than one Event can be counting down simultaneously.

2.3.5 Stop an Event

Graphic6

Figure 6: The Stop an Event button

Stops the countdown of the selected existing Event.

2.3.6 All Events

Graphic8

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.

2.3.7 View Agent Log

Graphic7

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.

2.4 Running the Wizard to Add/Edit an Event

The Events wizard controls the editing of Events.

2.4.1 Generic Actions

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.

2.4.2 Non-Generic Actions

Some of the actions in the Actions list were created in response to a specific user requirement.

2.4.3 Setting the Parameters for an Action

The Event wizard will branch according to the settings that are appropriate to a particular Action.

2.5 Auto- Synchronise

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.

3 Hints, allegations and things left unsaid

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