ARION

Robert W. Weeks bob.weeks@cox.net, http://members.cox.net/bob.weeks

ARION (Arthritis Research Inter-Office Network) is a medical information system designed for management of clinical rheumatology data. ARION is implemented in Paradox version 3.5, and also runs under version 4.

ARION is dictionary-based, meaning that the structure of the database is user-definable and can change. This was a major goal of the ARION database project, as the need to track new data items may arise at any time. With a dictionary-based system as implemented in ARION, users can easily add, drop, or modify variables as their needs change.

The major work that ARION performs is to define and manage the data dictionary information, accept clinical data entry, store the data, print patient charts, and export the data to other systems. ARION is multi-user in that it allows several users to simultaneously use the system when using a local area network.

For more information about ARION, email Robert W. Weeks at bob.weeks@cox.net

ARION Data Dictionary ARION data is stored in any number of Paradox tables. A table dictionary (itself a Paradox table) keeps track of the data tables. Typically, a data table contains a number of related variables, such as laboratory data, joint examination data, and so forth.

Each data table has its own dictionary that defines the characteristics of each variable. Variable characteristics include name, three types of descriptions, entry and printing orders, categorizations, ARION data types, Paradox field types, formatting information, calculator information, validity check information, and export details. From information entered in a dictionary table, ARION creates Paradox tables, data entry forms (users can also create their own custom forms), validity checks, user-definable help, and other necessary items. As users change the dictionary, ARION manages the changes needed to the table structure, forms, and other items. ARION can print reports showing the dictionary information. A typical ARION installation might track about 800 variables.

ARION System Architecture

ARION Data Types ARION supports the usual variable types found in database management systems such as alphanumeric, numeric, and date variables. ARION also supports a number of its own variable types as follows:

A Yes/No question, where ARION knows to expect only Yes/No answers.

Paired Left/Right Values such as joint codes, where ARION records a value for the left and right joint.

Lookup values, where the allowable values are stored in a lookup table. ARION allows entry of only the values in the lookup table, and at print time, ARION substitutes the value from the lookup table. An example usage of this variable type is storing the patients' marital status as 1, 2, or 3 instead of single, married, or divorced.

A coded variable, where each unique value found becomes a row of output. An example of this type of variable is storing a diagnosis code. Entering the value 2, for example, might mean rheumatoid arthritis. At print time, however, ARION needs to print a row on the report for this diagnosis, and for each other diagnosis code found. This is different from the simple substitution that lookup values perform.

A coded plus variable, which is a coded variable with an associated value. Each unique value found becomes a row of output, and an associated value is captured for each visit. This data type needs two Paradox fields: one to hold the coded value, and a second to hold the associated value. An example of a coded plus variable is drug information, where the first field holds the lookup code of the drug, and the second field holds the dosage.

A dual-coded variable, which records two coded variables and an associated value. Each value combination of values found in the two coded variables becomes a row of output, and an associated value is captured each visit. An example of dual-coded variable usage is tracking joint surgeries and the date of the surgery. This situation won't work with a coded data type, as we need to keep track of both a joint and the type of operation performed on the joint. The first variable would be a coded lookup into a table of joints, the second variable would be a coded lookup into a table of surgery types, and the third variable would hold the surgery date. A second example is tracking joint injections. The first variable would be a coded lookup into a table of joints, let the second variable would be a coded lookup into a table of drugs to inject, and the third variable, would hold the amount injected.

ARION Coded Variables

ARION has complete facilities for creating, editing, and printing lookup tables.

ARION Data Entry ARION accepts data in either a forms-based method or a batch method. During form-based data entry, users enter data on either ARION-generated or user-customized entry forms. Forms- based entry is easy because each variable has its own area for entry. During batch data entry, users make entries in a single table. ARION then processes the entries as a batch. Batch data entry is potentially faster but more difficult to learn, as ARION uses variable codes to identify the data entered during the batch entry process.

ARION includes a variety of features to help make data entry as easy as possible. During both form and batch data entry, users can copy the previous visit values for a single variable or all variables. ARION provides a "normal" facility that automatically enters a pre-defined normal value for each variable. For coded variables, ARION provides lookup assistance. Each variable may have absolute limits on the range of acceptable values, and a different set of advisory or warning values.

ARION includes a calculator feature that further assists with data entry. Calculators may operate upon data that is already entered into tables, or calculators may directly query the user for input values. Calculators, like most other features of ARION, are user-definable, so that users can create new calculators as needed.

ARION Reports ARION users may define the reports they want ARION to produce. ARION supports two types of patient reports: a summary, and a longer detail chart. Each report requires considerable computation effort to transform, summarize and order the data properly. ARION also produces a variety of fixed reports that print information about the ARION system.

The summary report usually contains patient demographic information such as name, address, age, and dates of past medical problems. It may also contain summaries of important clinical, laboratory, and radiographic data. For example, a clinic might define the summary page to show the lowest, highest, and current rheumatologic factor, along with the date of the highest value. The summary page will also usually show the current rheumatic diagnoses, any joint surgeries the patient has had, and history of anti-rheumatic drugs the patient has ever taken. Generally, the summary report is just a single page.

The detailed chart report, which may run to seven or eight pages, contains data from the patient's ten most recent visits, along with space for the doctor and nurses to enter the current visit's data. The ordering of items on this report, as well as the grouping, is user-definable.

ARION supports two modes of printing patient charts. Users can print charts one at a time, or they can enter requests in a print queue, where the print requests remain until printed as a batch. The print queue feature supports a print server feature. An office using this feature would designate one computer on a network as a print server. As other users on the network enter print requests in the print queue, the print server computer processes and prints the charts.

Querying ARION Data ARION supports simple ad-hoc querying of the data tables. ARION also supports detailed querying of diagnoses and drug therapy. ARION can produce range checks on variables, and can produce a histogram of the frequency distribution of any variable.

Exporting Data ARION can export data to either Medlog (a medical data analysis system) or SAS. As part of the conversion process, users can define new variables and conversion functions to apply on ARION data before exporting. Conversion functions can perform unit conversions, table lookup conversions, and other calculations before sending the data to Medlog or SAS.

ARION also keeps track of the conversion status of data sent to Medlog. This means that after the initial conversion, ARION can periodically send just the new or changed data to Medlog.

Transaction Protection Whenever ARION is about to undertake a critical process such as restructuring a table, ARION records its state and makes copies of objects as necessary. If an error such as a power failure occurs during the process, ARION can back out of the process and restore the system to its original state.

Configuration ARION supports a configuration database to store information about users' printers, directory preferences, color preferences, and other information.

Technical Information ARION consists of over 18,000 lines of PAL code and numerous forms and reports. ARION was developed using Paradox 3.5 and also runs in version 4 in compatible mode, taking advantage of version 4 features where possible. Because of the computational overhead that a dictionary-based system requires, ARION functions best on 80486-based computers. ARION will run on any network that Paradox runs on.

Dr. Frederick Wolfe provided the medical knowledge and vision necessary to design ARION.

email: bob.weeks@cox.net