You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

74 lines
2.4 KiB

<?php
/**
* Implementation of the SignableIF interface for the Encounter
* module.
*
* Copyright (C) 2013 OEMR 501c3 www.oemr.org
*
* LICENSE: This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://opensource.org/licenses/gpl-license.php>;.
*
* @package OpenEMR
* @author Ken Chapple <ken@mi-squared.com>
* @author Medical Information Integration, LLC
* @link http://www.open-emr.org
**/
namespace ESign;
require_once $GLOBALS['srcdir'] . '/ESign/DbRow/Signable.php';
require_once $GLOBALS['srcdir'] . '/ESign/SignableIF.php';
require_once $GLOBALS['srcdir'] . '/ESign/Form/Factory.php';
class Encounter_Signable extends DbRow_Signable implements SignableIF
{
private $_encounterId = null;
public function __construct($encounterId)
{
$this->_encounterId = $encounterId;
parent::__construct($encounterId, 'form_encounter');
}
/**
* Implementatinon of getData() for encounters.
*
* We get all forms under the encounter, and then get all the data
* from the individual form tables.
*
* @see \ESign\SignableIF::getData()
*/
public function getData()
{
$encStatement = "SELECT F.id, F.date, F.encounter, F.form_name, F.form_id, F.pid, F.user, F.formdir FROM forms F ";
$encStatement .= "WHERE F.encounter = ? ";
$data = array();
$res = sqlStatement($encStatement, array( $this->_encounterId ));
while ($encRow = sqlFetchArray($res)) {
$formFactory = new Form_Factory($encRow['id'], $encRow['formdir'], $this->_encounterId);
$signable = $formFactory->createSignable();
$data[] = $signable->getData();
}
return $data;
}
public function isLocked()
{
$locked = false;
if ($GLOBALS['lock_esign_all']) {
$locked = parent::isLocked();
}
return $locked;
}
}