Click or drag to resize

At a Glance

[This is preliminary documentation and is subject to change.]

TOPICA consists of 2 major parts: a static and a dynamic part

Static part

The static part contains functionality used in almost every clinical database application:

  • login and session handling

  • organization

  • employees/ users

  • patients

  • misc. utility objects, e.g. classification, phrases

  • a simple report engine, including interface to run reports designed in Reporting Services

Although is the called the "static" part, it is not completey static. The data model (table layout in the database) is static, but the user interface is configurable using .config files and/ord data in the database.

Dynamic part

The dynamic part is basically a "forms and data model generator", that allows a configurator to design the forms for entering patient data (and the relations between these forms) by editing XML files. The configurator performs the following steps:

  • Design forms (by editing XML files directly, or using the built-in form template editor. Forms may contain an arbitrary number of validation rules, computations of default values, etc.

  • Define relationship between forms by editing the structure file, either directly as XML, or using the built-in form template editor. It is possible to define styling, visibiliyt and accessibilty of individual forms by means of rules / computations.

  • Build/update Data Dictionary. This step will build/update the data model in the database, so that is fits with the designed forms.

As a result of the above steps, the end user now can enter data in the designed forms, and the entered data will automatically persist in the database.

The configurator may now design reports in the following formats:

An open system

Anything NOT mentioned above is NOT part of the TOPICA framework. But the system is extremely open for adding custom functionality, both client-side and server-side.