Technical Documentation

From IHRIS Wiki

iHRIS makes use of multiple tables in a relational database (MySQL) to store its data in. Database Structure describes several of the tables used by iHRIS, in particular the user table and the tables used for audited form data changes.

Modules

This tutorial describes the iHRIS Module Structure. An iHRIS module is a collection of various types of "code" by the features that they provide to the system. Modules serve as the building blocks of iHRIS and are grouped according to the functionality they provide.

Modules Lists are links to the various modules used by iHRIS.

The File Search Utility lets you easily categorize different files and make them available to iHRIS. It also allows you to copy a file from the core iHRIS Suite into your site customization to make changes there, without having to modify the core iHRIS software.

Magic Data

Magic Data is a mechanism intended to handle dynamic site-level configuration data. It is the basis of much of the functionality provided by the IntraHealth Informatics Core Engine (I2CE), including how pages are served and how custom reports are made.

Magic data provides a central mechanism for configuring iHRIS. This magic data is stored in a database table. Due to frequent access of the data, a caching mechanism is needed to keep the database load down. For this reason, several magic data storage mechanisms have been created.

The Swiss Magic editors hierarchically edit and view the configuration data. This article describes the structure of the Swiss Magic PHP classes.

This tutorial explains how to how to migrate forms from previous versions that were stored in the entry table and move them to magic data storage, as well as update any mapped fields that referenced the values.

Tasks and Roles

Tasks and Roles -- iHRIS uses a task- and role-based security mechanism to limit access to various parts of the system. A user is assigned a role, and a role is a collection of tasks that the role can perform. This article describes how roles and tasks are defined in Magic Data and used by the iHRIS system.

Pages and Templates

Pages and Templates -- This tutorial describes the role of Pages and Templates in iHRIS. A page handles each URL request. A template is used to access the HTML elements of a page.

HTML Template List

Forms and Fields

Forms and Form Classes -- Records are stored in the IntraHealth Informatics Core Engine (I2CE) in forms, which consist of collection fields. You can think of a form as table in a database and a field as a column of that table.

Form Storage Mechanisms -- The iHRIS system uses a level of abstraction to separate how data is stored in the system versus how it is organized and relates to each other. A form (and its fields) provides the organization. The data storage is handled by various form storage mechanisms.

Defining Forms -- This page describes how to define and customize forms and fields in iHRIS by defining them in magic data.

Limiting Forms -- Data in iHRIS is stored in forms and fields. This article describes the structure of how various limits are applied to forms.

Form Fields -- This article describes the main data types, or form fields, used by iHRIS. These fields are defined in Magic Data; this page describes the details of how they should be defined.

Form Caches -- The iHRIS software caches data saved in the database (or XML file or LDAP server) for faster access and the ability to create indices. These caches are used, for example, to populate reports and drop-down lists.

Printed Forms -- This tutorial describes how to create "standardized" or "official" PDF forms based on the data in the system.

How to: Add Fields -- These tutorials describe how to add new forms and fields to iHRIS.

How to: Add Validations for Forms and Fields -- This tutorial describes how to add custom data validations for forms and fields.

Reports

Custom Reporting -- This page collects the various articles that describe how to use the Custom Reporting system in iHRIS. This includes detailed documentation about the structure of custom reports and their use in advanced iHRIS features, as well as several tutorials on creating particular reports.

Cron Jobs - Running functions on a regular basis with iHRIS.


We also have additional tutorials for Developers or Implementers.