2 // Copyright (C) 2011 Ken Chapple <ken@mi-squared.com>
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
9 require_once('ClinicalType.php');
11 class Characteristic
extends ClinicalType
13 const TERMINAL_ILLNESS
= 'terminal_illness';
14 const TOBACCO_USER
= 'char_tobacco_user';
15 const TOBACCO_NON_USER
= 'char_tobacco_non_user';
17 public function getListId()
19 return 'Clinical_Rules_Char_Types';
22 public function doPatientCheck(RsPatient
$patient, $beginDate = null, $endDate = null, $options = null)
26 if ($this->getOptionId() == self
::TERMINAL_ILLNESS
) {
27 // TODO check for terminal illness
28 } else if ($this->getOptionId() == self
::TOBACCO_USER
) {
29 $tobaccoHistory = getHistoryData($patient->id
, "tobacco", $beginDate, $endDate);
31 if (isset($tobaccoHistory['tobacco'])) {
32 $tmp = explode('|', $tobaccoHistory['tobacco']);
33 $tobaccoStatus = $tmp[1];
34 if ($tobaccoStatus == 'currenttobacco') {
36 } else if ($tobaccoStatus == 'quittobacco') {
38 if (strtotime($quitDate) > strtotime($beginDate)) {
43 } else if ($this->getOptionId() == self
::TOBACCO_NON_USER
) {
44 $tobaccoHistory = getHistoryData($patient->id
, "tobacco", $beginDate, $endDate);
45 if (isset($tobaccoHistory['tobacco'])) {
46 $tmp = explode('|', $tobaccoHistory['tobacco']);
47 $tobaccoStatus = $tmp[1];
48 if ($tobaccoStatus == 'quittobacco') {
50 if (strtotime($quitDate) < strtotime($beginDate)) {
53 } else if ($tobaccoStatus == 'nevertobacco') {