Introduction
The Assessment Package unites the work and needs of various
members of the OpenACS community for data collection functionality
within the OpenACS framework. We're using the term
"Assessment" instead of "Survey" or
"Questionnaire" (or "Case Report Form" aka CRF,
the term used in clinical trials) because it is a term used by IMS
and because it connotes the more generic nature of the data
collection system we're focusing on.
There has been considerable recent interest in expanding the
capabilities of generic data collection packages within OpenACS.
Identified applications include:
- Educational settings. The dotLRN project has updated the
Simple-Survey package to the Survey package now in the current
distribution. A number of groups in the OpenACS community are
interested in adding capabilities defined in the IMS Global Learning
Consortium's specs for Question and Test Interoperability and Simple Sequencing.
- Clinical research settings. The Epimetrics Group has created
an enhanced version of the Simple-Survey package that adds a
variety of scoring and scheduling tools for use in health-related
quality-of-life assessments. This Questionnaire package has not
been ported to OpenACS 4.x yet, however, and it also lacks a wide
variety of other features that are necessary for use in formal
clinical trial data collection applications, certainly for those
that intend to create data sets acceptable for new drug
applications to the US Food and Drug Administration and equivalent
European regulatory agencies.
Of note, there are large and well-funded vendors of clinical
trials data management systems. Phase Forward,
Outcome Sciences, and PHT Corporation among
others. A standards body called CDISC (Clinical Data
Interchange Standards Consortium) formed a few years ago and is
developing data models for clinical trials data derived from schema
contributed primarily by Phase Forward and PHT. These vendors
provide "electronic data capture" (EDC) services at
considerable cost -- a 18 month study of 2500 patients including
about 500 data elements costs nearly $500,000. There is clearly
interest and opportunity to craft systems that bring such costs
"in house" for organizations doing clinical research.
Data collection services for other OpenACS packages. Most other
OpenACS packages invoke some form of data collection from users.
While developments such as ad_form and the templating system in
OpenACS 4.x ease the construction of data collection forms, it may
be possible to expose a focused data collection package via
acs_service_contract mechanisms to other packages. In particular,
incorporating Workflow and a new data collection package would be
key to creation of new vertical-application tools like dotWRK. Such
integration would also be immensely useful for a clinical trials
management toolkit.
Historical Considerations (Work Done So Far)
Several OpenACS efforts form the context for any future work.
These include:
- Survey. This package (largely written/revised by Dave Bauer) doesn't currently have any
documentation in the documentation section of the OpenACS.org site,
but it is in any current OpenACS installation at /doc/survey/. Dave
has added internationalization capabilities (in the version of
Survey in CVS HEAD) and cleaned up the administrative UIs very
nicely. This package was thoroughly debugged prior to the 4.6.1
release. It supports simple one-section surveys, though the data
model has as-yet unimplemented provisions for multiple sections
within a survey.
- Exam. This package (written by Ernie Ghiglione and Malte Sussdorff) is currently an Oracle-only tool with
capabilities not much different from Survey.
- Surveys. This package was written a while ago by Buddy Dennis,
and the source code package has dropped from view. However,
we've posted it here. Presumably this package has been further
developed, since it appears to be in use at the iQ&A site,
though current source doesn't appear to be available there.
Surveys included several important enhancements to the data model:
- Conditional branching within a survey (though how well worked
out this is remains unclear)
- "Folder" based repositories of questions and
sections
However, Surveys has some important limitations:
- Surveys are "published" as static HTML files which
are served out to users when they complete the survey
- The package doesn't use a templating system
- Oracle-only
Still, this package adopts some naming conventions consistent
with the IMS spec and definitely represents the closest effort to a
"complex survey" done to date.
- "Complex Survey". This is the descendant of
"Survey" and Buddy's "Surveys" written by
Malte Sussdorf. It currently is in the /contrib branch of the
OpenACS 5 distro and represents the currently most advanced package
for OpenACS 5+. If you want to start looking at surveys in OpenACS
right now, this is the package to get. It incorporates a number of
the features of Surveys. We discuss it in greater detail
here.
- Questionnaire. This is a 3.2.5 module developed by Stan
Kaufman at The Epimetrics
Group in order to support complex scoring of a particular type
of clinical measure. (You can see a demo of this here, and if you register at the site and join
the Bay Area OpenACS Users Group, you can play with the intuitive
administrative pages for creating and editing questionnaires,
defining scoring mechanisms, setting up user scheduling and
reminder features, and configuring results reporting/graphing
capabilities.) This module runs within OpenACS 3.2.5, though, and
will need a substantial rewrite to work within the new 5.x
infrastructure.
- Simple-survey. This package remains in the OpenACS distribution
but it is now obsolete, supplanted by Survey
Competitive Analysis
The number of competing products in this area is *huge*. Starting
with the usual suspects Blackboard and WebCT you can go on to
clinical trial software like Oracle Clinical or specialised survey
systems. When writing the specifications we tried to incorporate as
many ideas as possible from the various systems we had a look at
and use that experience. A detailed analysis would be too much for
the moment.
Functional Requirements
An overview of the functional requirements can be found here
. It is highly encouraged to be read
first, as it contains the use cases along with a global overview of
the functionality contained within assessment. Additional
requirements can be found in the specific pages for the user
interface.
Design Tradeoffs
The assessment system has been designed with a large flexibility
and reuse of existing functionality in mind. This might result in
larger complexity for simple uses (e.g. a plain poll system on
it's own will be more performant than running a poll through
assessment), but provides the chance to maintain one code base for
all these separate modules.
API
The API will be defined during the development phase.
Data model
The data model is described in detail in the design descriptions
.
The UI for Assessment divides into a number of primary functional
areas, with the entry page located here
. It is split up into multiple
sections:
-
Assessment
Authoring: all the pages involved in creating, editing, and
deleting the Assessments themselves
-
Section
Authoring: all the pages involved in creating, editing, and
deleting the Sections themselves. Includes the page to browse for
items to include in sections
-
Item Authoring and
Catalogue: all the pages involving the item creation and the
item catalogue.
-
Assessment
Delivery: all the pages involved in deploying a given
Assessment to users for completion, processing those results, etc;
these are user pages
-
Section on Tests:
Currently still split away, some notes on additional user interface
for test. Shall be integrated with the rest of the pages.
- Assessment Review: all the pages involved in select data
extracts and displaying them in whatever formats indicated; this
includes "grading" of an Assessment -- a special case of
data review; these are admin pages, though there also needs to be
some access to data displays for general users as well (eg for
anonymous surveys etc). Also, this is where mechanisms that return
information to "client" packages that embed an Assessment
would run.
- Session Management: pages that set up the timing and other
"policies" of an Assessment. This area needs to interact
with the next one in some fashion, though exactly how this occurs
needs to be further thought through, depending on where the Site
Management mechanisms reside.
- Triggers and Action
Execution
TheĀ Page Flow
page is diagrammed
below and should give a very rough and outdated overview, but still
good for getting an impression.
Authors
The specifications for the assessment system have been written by
Stan
Kaufman
and Malte
Sussdorff
with help from numerous people within and outside the
OpenACS community.