GNU Health - Laboratory Management - Wikibooks, Open Books For An Open World
GNU Health - Laboratory Management - Wikibooks, Open Books For An Open World
Contents
7.2.1 Requirements
7.2.2 Usage
Date: The date and time of the request (default values are the current date and
time)
Urgent: A checkbox to indicate an urgent request
Patient: The name of the patient (link to a patient record)
Doctor: The name of the health professional requesting the laboratory test
Tests: One or more tests to be performed
Test Types
1. Click on the Relate button in the patient form and choose the Lab Reports
command.
2. Click on the Health → Laboratory → Lab Test Results command in the main
navigation.
In the upper half of the Main Info tab you see information about the patient and about
the test as a whole. The majority of this information is copied from the laboratory test
request. In addition there are the following fields:
In the lower half of the Main Info tab there is the Lab Test Criteria table. This table
allows to enter the following information for each criterion of the test:
Warn
Excluded
Analyte
Value
Result - Text
Lower Limit
Upper Limit
Units
Remarks
Note: If you already know that the patient has a condition that will mark a certain value
as warning (e.g the value of blood sugar in case of a diabetic persons or if the person is
taking a specific medication), then check the Excluded box. This will provide to the
physician a clearer vision of the patient's general and real condition.
The Extra Info tab offers room for a summary of the results and a diagnosis.
Configuration
GNU Health Laboratory Reports
To configure the available laboratory tests, go to the
Health → Configuration → Laboratory section in the
main menu. There you have two options: You can create, edit, or delete test types
(including their test criteria), and you can configure the units used in the tests.
Unit
Code (in most cases identical to Unit)
GNU Health: Configuration of lab
Lab Test Types test units
In the Main Info tab of the test types form you can
manage the following information:
Below there is the list of Test Cases (or test criteria, as GNU Health: Configuration of lab
they are called elsewhere) of a test type. Each test case test types
consists of the following information:
Sequence: A number to create an order within the test cases of a test type
Analyte: The substance or aspect to be analysed
Lower Limit: The lower limit of the range where a value is considered to be normal
or not critical (used for information purposes, but also used to print a test case in
red if a value is outside the range)
Upper Limit: The upper limit of the range where a value is considered to be normal
or not critical (used for information purposes, but also used to print a test case in
red if a value is outside the range)
Reference: A text field to add more information about the expected values of a test
case
Units: The unit of the values in a test cases (used for Upper Limit, Lower Limit, and
the test value itself)
Using the Service field at the bottom of the Main Info tab each test type is linked to a
product. The product defines the price of a test to be charged to the patient. So for each
test type record you will need a product record; this product record is typically named
after the test type.
The Extra Info tab contains a text field Description for additional information about a
test type.
Generally, the health professional creates a lab test order, and this is sent to a
laboratory. When the laboratory processes the order, the results are sent back in either
paper or digital form. Moreover, in larger institutions, the center counts with their own
laboratories and lab systems. The interface will allow to automatically retrieve the
results from the lab and upload them to GNU Health.
In order to automate the task for processing the data, both the health institution and the
laboratory need to agree in the way the data format and transferred. There are
different formats and message exchange methods (csv, xml, web services, HL7, ... ), and
they can fit different scenarios.
Basic workflow
In most cases, we would need to set up a basic workflow. Let's think about a basic
hemogram / Complete Blood Count (CBC)
1. The health professional creates a test order, that contains one (or more) lab test
type, with its unique ID. This lab test ID includes key information such as the lab
test type, patient, ordering physician, date of request, ...
2. The information on that test ID is then sent to the lab
3. The lab prints the test ID labels and place them in the test tube
4. The nurse extracts the blood sample from the patient and places in the tube
labeled with the unique lab test ID
5. The sample is then taken to the analyzer, this reads the bar code of the lab test and
processes the CBC
6. The lab technician generates the report with the result for each analyte associated
to the lab test request ID
7. This result is sent to GNU Health in the way agreed by both parties (laboratory and
institution)
8. GNU Health LIMS interface will process and upload the result to the lab test.
Of course, there can be higher or lower degree of automation, but most of this steps will
exist in many scenarios.
Sample interface
As part of the GNU Health documentation, there is now a sample script that will take a
csv encoded batch file and upload the results to GNU Health.
This program reads a CSV formatted file that contains the lab test id, the analytes and its
results.
Included in the directory, there is a sample TEST006.csv, that contains the results of the
test "TEST006", a "Complete Blood Count - CBC"
You can customize the program (GNU Health server name, credentials, ...), as well as the
lab test result file. Of course, the name of the lab test result can be change to meet your
needs.
You can find the latest version of the sample program in the GNU Health mercurial
server, on the development branch :
http://hg.savannah.gnu.org/hgweb/health/file/tip/tryton/doc/samples/interfaces/lab
Requirements
Installing proteus :
Usage
Invoke the program and pass the csv formatted file as an argument eg:
$ ./gnuhealth_csv_lab_interface.py TEST006.csv
The main program steps are :