Technical Documentation
Database Structure
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.
Module Structure
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.
Configuration (Magic) Data
Configuration (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 Storage Mechanisms -- 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.
Swiss Magic Data Editor -- The Swiss Magic editors hierarchically edit and view the configuration data. This article describes the structure of the Swiss Magic PHP classes.
How to: Migrate Forms from Entry to MagicData
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.
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.