OpenClinic Project

Missing language on Linux system

If you can not configure OpenClinic with some of the languages in which it is translated, try to run the locale-gen command to generate the language of your choice in the system.

An example:

$ sudo locale-gen es_ES

Deleting a medical problem or patient bug

In version 0.7 it happened an error when you try to delete a patient or a medical problem. It is caused by the lack of a field in the database. In order to solve this bug, it is necessary to execute the next SQL sentences with an user with permissions to alter the table structure:

mysql> ALTER TABLE deleted_patient_tbl
  ->   ADD collegiate_number VARCHAR(20) AFTER id_member;
mysql> ALTER TABLE deleted_problem_tbl
  ->   ADD collegiate_number VARCHAR(20) AFTER id_member;

Problem to see medical tests

There is a bug in 0.7 version that does not allow to see the medical test in a medical problem. Until it is fixed in the next version, you can mitigate its misworking following these two advices:

  • The filenames of medical tests must be respect the guidelines shown in the section Code Files Format inside the document Coding Guidelines.
  • Edit medical/test_list.php and remove the line:
    #141:    $temp = urlencode($temp);

How to translate the date-relative entries

There are 2 entries in the file .po that can cause some problem in the way OpenClinic works. They are related with the dates ('Y-m-d H:i:s' y 'Y-m-d'). By default they are in ISO format but they could be changed according to localization of every language.

The syntax to follow is the one that is understand by the function date of PHP.

To complete the translation of a language, it is possible, but not compulsory, to translate also the file copyright.txt. This file has inside a copy of the GPL of the software application and it is shown choosing the option Home » License.

How to fix the Staff Member bug in 0.7 version

One of the improvements in 0.7 version was the profile removal. In the page aforementioned not all the profile references were deleted, that is the reason why there are a little misunderstanding between the content and the headers.

To fix the problem by hand it is necessary to edit the file admin/staff_list.php and perform the following changes:

$thead = array(
  _("Function") => array('colspan' => 23),
  _("First Name"),
  _("Surname 1"),
  _("Surname 2"),

How to achieve that the second surname family name was not compulsory

Many people have asked the Surname 2 was not compulsory. We are building the next version so this feature can be set.

By now we explain the way it can be fixed. You have to comment the lines in the next files classes/Patient.php, classes/Staff.php, classes/User.php at validateData() method so they remain this way::

/* if ($this->_surname2 == "")
    $valid = false;
    $this->_surname2Error = _("This is a required field.");
  }  */

Authentication dialogue to get access to install folder

The authentication dialogue is shown when you try to get access to folder install in previous versions to 0.7 and the following files are active .htaccess in Apache configuration.

To fix this problem it is only necessary to delete the file install/.htaccess. This file is used in DEMO version hosted in SourceForge but in later versions it is not used at all. So from 0.7 version it is not available.

PHP Configuration

How to configure PHP sessions. Edit your php.ini file and verify these values:

  • session.use_cookies=1

    Shows if the module can use cookies to save the session id on the client side. By default it is set to 1 (activated).

  • session.auto_start=0
  • session.use_trans_id=1
  • session.save_path=an existing directory

    If the length of the path of session.save_path is greater than 2, there will not be removed by garbage collector.

    If it is pointing to a read-only directory for the rest of users, as /tmp (by default), the rest of server users can hijack the sessions by catching the file list of that directory.

Characters allowed to passwords

The valid characters to be in passwords are letters ([a-zA-Z]), digits ([0-9]), white space and the next symbols: # * , ; : _ - + ! $ % & / | ? { [ ( ) ] } =