4 * body_composition new.php
7 * @link http://www.open-emr.org
8 * @author Rod Roark <rod@sunsetsystems.com>
9 * @author Brady Miller <brady.g.miller@gmail.com>
10 * @author Daniel Ehrlich <daniel.ehrlich1@gmail.com>
11 * @copyright Copyright (c) 2006 Rod Roark <rod@sunsetsystems.com>
12 * @copyright Copyright (c) 2018 Brady Miller <brady.g.miller@gmail.com>
13 * @copyright Copyright (c) 2018 Daniel Ehrlich <daniel.ehrlich1@gmail.com>
14 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
17 require_once("../../globals.php");
18 require_once("$srcdir/api.inc.php");
19 require_once("$srcdir/forms.inc.php");
21 use OpenEMR\Common\Csrf\CsrfUtils
;
22 use OpenEMR\Core\Header
;
24 $scale_file_name = '/tmp/tanita_scale.txt';
28 if (! $encounter) { // comes from globals.php
29 die("Internal error: we do not seem to be in an encounter!");
32 function rbvalue($rbname)
34 $tmp = $_POST[$rbname];
42 function rbinput($name, $value, $desc, $colname)
45 $ret = "<input type='radio' name='" . attr($name) . "' value='" . attr($value) . "'";
46 if ($row[$colname] == $value) {
49 $ret .= " />" . text($desc);
53 $formid = $_GET['id'];
55 // If Save was clicked, save the info.
57 if ($_POST['bn_save']) {
58 if (!CsrfUtils
::verifyCsrfToken($_POST["csrf_token_form"])) {
59 CsrfUtils
::csrfNotVerified();
62 // If updating an existing form...
65 $query = "UPDATE form_body_composition SET
66 body_type = ?, height = ?, weight = ?, bmi = ?, bmr = ?, impedance = ?,
67 fat_pct = ?, fat_mass = ?, ffm = ?, tbw = ?, other = ? WHERE id = ?";
69 sqlStatement($query, array(rbvalue('form_body_type'), trim($_POST['form_height']), trim($_POST['form_weight']), trim($_POST['form_bmi']),
70 trim($_POST['form_bmr']), trim($_POST['form_impedance']), trim($_POST['form_fat_pct']), trim($_POST['form_fat_mass']), trim($_POST['form_ffm']),
71 trim($_POST['form_tbw']), trim($_POST['form_other']), $formid ));
72 } else { // If adding a new form...
73 $query = 'INSERT INTO form_body_composition (
74 body_type, height, weight, bmi, bmr, impedance, fat_pct, fat_mass, ffm, tbw, other
75 ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
77 $newid = sqlInsert($query, array(rbvalue('form_body_type'), trim($_POST['form_height']), trim($_POST['form_weight']), trim($_POST['form_bmi']),
78 trim($_POST['form_bmr']), trim($_POST['form_impedance']), trim($_POST['form_fat_pct']), trim($_POST['form_fat_mass']),
79 trim($_POST['form_ffm']), trim($_POST['form_tbw']), trim($_POST['form_other'])));
81 addForm($encounter, "Body Composition", $newid, "body_composition", $pid, $userauthorized);
84 formHeader("Redirecting....");
91 $row = sqlQuery("SELECT * FROM form_body_composition WHERE " .
92 "id = ? AND activity = '1'", array($formid));
94 // Get the most recent scale reading.
95 $items = explode(',', trim(file_get_contents($scale_file_name)));
96 if ($items && count($items) > 11) {
97 $scale_file_age = round((time() - filemtime($scale_file_name)) / 60);
98 $row['body_type'] = $items[0] ?
'Athletic' : 'Standard';
99 $row['height'] = $items[2];
100 $row['weight'] = $items[3];
101 $row['bmi'] = $items[10];
102 $row['bmr'] = $items[11];
103 $row['impedance'] = $items[4];
104 $row['fat_pct'] = $items[5];
105 $row['fat_mass'] = $items[6];
106 $row['ffm'] = $items[7];
107 $row['tbw'] = $items[8];
113 <?php Header
::setupHeader(); ?
>
116 <body
<?php
echo $top_bg_line;?
> topmargin
="0" rightmargin
="0" leftmargin
="2" bottommargin
="0" marginwidth
="2" marginheight
="0">
117 <form method
="post" action
="<?php echo $rootdir ?>/forms/body_composition/new.php?id=<?php echo attr_url($formid) ?>"
118 onsubmit
="return top.restoreSession()">
119 <input type
="hidden" name
="csrf_token_form" value
="<?php echo attr(CsrfUtils::collectCsrfToken()); ?>" />
124 <table border
='0' width
='95%'>
126 <tr bgcolor
='#dddddd'>
127 <td colspan
='3' align
='center'><b
>Body Composition
</b
></td
>
131 <td width
='5%' nowrap
>Body Type
</td
>
132 <td colspan
='2' nowrap
>
133 <?php
echo rbinput('form_body_type', 'Standard', 'Standard', 'body_type') ?
> 
;
134 <?php
echo rbinput('form_body_type', 'Athletic', 'Athletic', 'body_type') ?
> 
;
139 <td nowrap
>Height in inches
</td
>
141 <input type
='text' name
='form_height' size
='6'
142 value
='<?php echo attr($row['height
']) ?>' />  
;
150 <td nowrap
>Weight in pounds
</td
>
152 <input type
='text' name
='form_weight' size
='6'
153 value
='<?php echo attr($row['weight
']) ?>' />  
;
155 <td align
='center' nowrap
>
157 if ($scale_file_age >= 0) {
158 echo "<font color='blue'>This reading was taken " . text($scale_file_age) . " minutes ago.</font>\n";
169 <input type
='text' name
='form_bmi' size
='6'
170 value
='<?php echo attr($row['bmi
']) ?>' />  
;
178 <td nowrap
>BMR in kj
</td
>
180 <input type
='text' name
='form_bmr' size
='6'
181 value
='<?php echo attr($row['bmr
']) ?>' />  
;
189 <td nowrap
>Impedance in ohms
</td
>
191 <input type
='text' name
='form_impedance' size
='6'
192 value
='<?php echo attr($row['impedance
']) ?>' />  
;
200 <td nowrap
>Fat %
</td
>
202 <input type
='text' name
='form_fat_pct' size
='6'
203 value
='<?php echo attr($row['fat_pct
']) ?>' />  
;
211 <td nowrap
>Fat Mass in pounds
</td
>
213 <input type
='text' name
='form_fat_mass' size
='6'
214 value
='<?php echo attr($row['fat_mass
']) ?>' />  
;
222 <td nowrap
>FFM in pounds
</td
>
224 <input type
='text' name
='form_ffm' size
='6'
225 value
='<?php echo attr($row['ffm
']) ?>' />  
;
233 <td nowrap
>TBW in pounds
</td
>
235 <input type
='text' name
='form_tbw' size
='6'
236 value
='<?php echo attr($row['tbw
']) ?>' />  
;
244 <td nowrap
>Notes
</td
>
245 <td colspan
='2' nowrap
>
246 <textarea name
='form_other' rows
='8' style
='width:100%'><?php
echo text($row['other']) ?
></textarea
>
253 <input type
='submit' name
='bn_save' value
='Save' />
255 <input type
='button' value
='Cancel' onclick
="parent.closeTab(window.name, false)" />