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() {
18 return 'Clinical_Rules_Char_Types';
21 public function doPatientCheck( RsPatient
$patient, $beginDate = null, $endDate = null, $options = null )
25 if ( $this->getOptionId() == self
::TERMINAL_ILLNESS
)
27 // TODO check for terminal illness
29 else if ( $this->getOptionId() == self
::TOBACCO_USER
)
31 $tobaccoHistory = getHistoryData( $patient->id
, "tobacco", $beginDate, $endDate );
33 if ( isset( $tobaccoHistory['tobacco'] ) ) {
34 $tmp = explode( '|', $tobaccoHistory['tobacco'] );
35 $tobaccoStatus = $tmp[1];
36 if ( $tobaccoStatus == 'currenttobacco' ) {
38 } else if ( $tobaccoStatus == 'quittobacco' ) {
40 if ( strtotime( $quitDate ) > strtotime( $beginDate ) ) {
46 else if ( $this->getOptionId() == self
::TOBACCO_NON_USER
)
48 $tobaccoHistory = getHistoryData( $patient->id
, "tobacco", $beginDate, $endDate );
49 if ( isset( $tobaccoHistory['tobacco'] ) ) {
50 $tmp = explode( '|', $tobaccoHistory['tobacco'] );
51 $tobaccoStatus = $tmp[1];
52 if ( $tobaccoStatus == 'quittobacco' ) {
54 if ( strtotime( $quitDate ) < strtotime( $beginDate ) ) {
57 } else if ( $tobaccoStatus == 'nevertobacco' ) {