First Steps

Introduction

Before we start the implementation process, it is important to get familiar with the terminology commonly used in the rest of this book. At the beginning some words might be a bit puzzling, but with a bit of practice, you will find this terminology quite logical.

Even if you are not a technical person, it might be helpful to understand that GNU Health is an ecosystem of heterogeneous platforms. GNU Health has the following main components and nodes:

  • Hospital Management Information System (HIS) node

  • Laboratory Information System (LIMS) node

  • Person Master Index

  • Message server (Thalamus)

  • Health Information System

HIS and LIMS nodes

Todo

Take and add new screenshots like here: https://en.wikibooks.org/wiki/GNU_Health/First_Steps

The following concepts are essential to understand how GNU Health HIS and LIMS nodes work.

  • Party: In GNU Health, a party is an entity. An abstract concept to define someone or something that has legal status. It’s the unit of the relationship in Tryton. Some examples of Parties are:

    • Patients

    • Companies

    • Health professionals

    • Health centers

  • Model: The model defines each object in GNU Health. Models define the database objects (tables). gnuhealth.patient is a model example.

  • Field: The building blocks of the model. For example: age and sex are gnuhealth.patient fields.

  • View: Views are the representation of the model on the screen. Most models will have an individual form to accept data into the model and display data out from the model.

    • Tree: The list format of the model. The tree view allow us to search and select multiple records.

    • Form: The representation of the model on the screen that allows you to input data.

  • Table: The model representation at the database server. The model gnuhealth.patient is mapped in the table gnuhealth_patient in PostgreSQL.

  • Record: Each unique entry in a particular database table. For example Ana Betz is a record on the gnuhealth_patient table in PostgreSQL.

  • Module: Modules are programs that provide specific functionality. GNU Health provides different modules to meet your health center needs. Example of modules are Socioeconomics, Genetics and Surgery. You should only activate the modules that are actually needed for your center.

  • Report: Reports allow you to dynamically print documents in Open Document / LibreOffice format (ODF), Portable Document Format (PDF) or even directly to the printer.

  • Action: Actions are processes excecuted upon one or more selected records.

  • Notebook: A tabbed group of forms designed to make navigation easier.

Form fields and field types

Let’s now go through the most relevant field types and how to properly use them. We will use the previous screenshot of the patient as the example.

  • Text fields : These type of fields allow us to enter a lot of information. You will see them normally like large boxes. In our example, the field under “Patient Allergies and Critical Information” is a text field.

  • Character fields : These type of fields are similar to the Text fields, but with a limited size. There are few character fields and none in this example. The diet type in the lifestyle section or the Gene ID on genetics are example for character fields.

  • Date Fields : These fields will open a calendar when clicked, so you can choose the date. Alternatively, you can enter the date manually. The date of birth is a Date field.

  • DateTime Fields : Similar to the date fields, but with the addition of time. An example of this field is the Date/time of birth of the newborn, in the neonatology module.

  • Integer fields : These fields allow only integer numbers. They show a “0” by default. An example is Minutes of physical exercise per day

  • Float fields : You can enter decimal numbers. The body temperature is one example of a float field.

  • Function fields : These are special fields, in the sense that they are calculated in real time, depending, most of the time, on the values of other fields. For example, the Patient Age is a function field. Notice that the field has a grey background, meaning that is ‘read-only’. It will calculate the current patient age in years/months/days depending on the patient date of birth. Another example of function field is the Hospitalization Status of the patient.

  • Selection fields : These fields will let you choose from a list of options. For example, the patient Sex or the blood type are selection fields. This type of field minimizes typing error.

  • Relational fields : These fields retrieve information from a related model. They are of the form One2Many or Many2One. Relational fields are important to keep the uniqueness of data. By using this type of fields, you link the ID of an existing record, without duplicating information, to another record. The patient is a relational (One2Many) field. It relates to the party model, from where it gets all the administrative data (Social security number, address, etc… ).
    Shortcuts : [F2] will open the related record and [F3] will create a new record
  • Required fields: These fields are mandatory. You must enter information or else the record won’t be saved. You can quickly identify the required fields because they have a blue background. The Patient field is a required field.

Time to Practice

Important : Make sure you are in your demo database. This demo database that you created has no important information. You can put anything you want. You can even delete it and recreate it. Just make sure you don’t use a production database for your tests. One way to prevent accidentally entering the production database is to have a different password for your demo database, this way if you select the wrong database, you won’t be able to login.

If you do not have a demo database yet, please refer to the chapter Local Demo Database to learn how to create your own testing environment.

It’s been a lot of information! Now is time to play around with all this information.

With the information try the following :

  1. Navigate in the Main menu

  2. Open the Configuration Submenu

  3. Create a Physician with the Family Medicine Specialty.