The iGene Audit Log

Every record read or write inside iGene is recorded into an audit log called the changelog. The changelog logs the following information:

  1. The creation of new records in the system, e.g. a patient or a referral
  2. View events. e.g. Viewing of a patient
  3. The modification of any records. e.g. Changing a patient’s date of birth
  4. The deletion of any data.
  5. Any changes performed by a plugin or interface

iGene performs a logical delete. Data is never actually deleted via the front-end. It is instead hidden by setting the ‘deletedAt’ (date) and ‘deletedBy_id’ (the user) values within the table. There is always a full audit trail of any data in the system changed from either the front-end of via an interface.

It is possible to contact Genial Genetics to fully delete data from a location in iGene. However, this is not audited and it is not recommended.

For each action, the following information is recorded automatically:

  1. The person who updated or created the record
  2. The time/date of the update or creation
  3. What was changed, i.e. The fields that were edited, and what they were changed from and to.
Technical Information

In addition to the changelog, every table in the iGene database has a number of fields that record some extra information

Field Description
createdBy_id The ID of the user who created the original record
createdAt The date/time of when the record was created
updatedBy_id The ID of the user who last updated the record
updatedAt The date/time of when the last change was made
deletedBy_id The ID of the user who deleted the record
deletedAt The date/time of when the record was deleted

The above fields (except deletedAt and deletedBy) can all be used in search filters on the system.

Viewing the Audit Log

The iGene audit log is accessible on most areas in the application that are editing a single record, for example a patient or referral. Step One: Go to: Patients –> Patients Search/Add –> View. The log is accessible via the changelog button which generally appears at the top of any area alongside any Actions or Print buttons, as shown below:

Access to log

Step Two: Clicking on this button will reveal the changelog related to the area currently being viewed:

Viewing the changelog

The changelog table lists all changes and view events chronologically (the order can be changed using search filters). The table shows the following:

  • When the event happened
  • Who performed the event
  • The number or type of change/event.

In the first example, the changelog shows that user Admin made 2 changes to the selected patient at 11:07:52 on the 27th July 2017. Selecting the view button in the table will reveal exactly what was changed.

View events for some areas in the system are also listed as shown below:

Viewing Log

Any time a particular area is viewed, an event will be logged and added to the audit log. Selecting the view button will reveal which form was viewed (in this instance the Patient form).


Technical Information

The audit log is saved into the database table Audit. This table can grow very large over time and iGene will attempt to compress the log so it uses less space. The caveat to this approach is that the details of any audit events must be viewed through the application. Compression can be enabled or disabled by editing the iGene config file in the iGene home folder and setting the value indicated below to either (0 = off, 1 = on). The iGene application must be restarted for this change to take effect.
igene.progressiveAuditCompressionTask=0
With compression disabled, the event details are viewable directly as XML in the database, however iGene will format events into a more human-readable form.

Warning

Once compression has been enabled, there is no way in the application to later decompress the log by disabling compression again