Custom Reporting -- Creating Reports

From IHRIS Wiki

This documentation applies specifically to iHRIS 4.0, although much of it applies to version 3.1.

Intended Use

This step is intended who has a moderate understanding of how the data are related in the system. It consists of little more than choosing a form relationship and selecting the data you want in the report with checkboxes.

Once a report has been defined, you can create multiple views of the data in the report.

First Steps

To create a report, you first must first:

  • chose a relationship
  • select a "Display Name" for the report, the name of the report for the end user.
  • select a "Short Name" for the report, which is a way to reference the report internally and can only contain alpha-numeric characters and some limited punctuation such as _ and -.
  • A description of the report.
  • A category for the report. This is used to group different report views together.

Report Tables Structure

Reports are based on a form relationship. Each set of forms which satisfy a relationship corresponds to one row of a report table. A report named XXXXX will cause a table named 'zebra_XXXXX in the database to be created and populated.

The columns in the report table are as follows:

  • `$reportFormName+id`: The id's of each of the forms satisfying the relationship.
  • `$reportFormName+$fieldName`: Any of the selected fields from each of the forms in the relationship as well as any field used to limit the report.
  • `$function`: Any functions that are selected for the report

Selecting Fields

Any of the fields of any of the forms which satisfies the chosen form relationship can be included in the report.

Selecting Limits

Any of the fields of a form in the relationship can be selected to limit the report by. These limits will show up in the report views. There are various ways (styles) that a field can be limited, depending on the field, and are cataloged here.

For each limit style for a field, you can set the header text under which the limit is displayed in the report view.

Selecting Functions

Any of the functions defined for a relationship can be selected to include in the report. They can also be chosen as limits.

Adding Links


In Limiting options for Reported Fields, there is an option "Enable Pivoting on this Limit". The pivot let's you link the values displayed in one report to the limits/filters of another report.

For an example of what this is, take a look at the iHRIS Manage Demo site, look under the "Facility List" report. Next to the values in the "Facility Name" column, you will see a [+]. Suppose you are looking at "Rushonga Hospital"

Clicking on the [+] will open a list of related reports, Job Breakdown, Position List, Staff directory. If you click on the link "Switch to Staff Directory" it will take you to the Staff Directory report where the limit of "Rushonga Hospital" has already been applied.

Report Table Generation

The zerbra_XXXXX tables contain the data of the report and are built from the form caches. These tables are generated by a background process once a report is consider stale. The background process is spawned by default every 10 minutes. This can be specified by setting the value in magic data at:

  • /modules/CustomReports/times/background

The stale time for a report defaults to 10 minutes. This can be over-ridden by the following setting values in magic data:

  • /modules/CustomReports/times/stale
  • /modules/CustomReports/times/stale_by_report/XXXXX