feat: expose suffix and valedictory in user admin and esign (#6814)
[openemr.git] / interface / forms / newpatient / report.php
blobecb56aba91e73d8ecb601741f49ae5e8943c5380
1 <?php
3 /**
4 * Encounter form report function.
6 * @package OpenEMR
7 * @link http://www.open-emr.org
8 * @author Brady Miller <brady.g.miller@gmail.com>
9 * @author Robert Down <robertdown@live.com
10 * @copyright Copyright (c) 2019 Brady Miller <brady.g.miller@gmail.com>
11 * @copyright Copyright (c) 2023 Robert Down <robertdown@live.com
12 * @copyright Copyright (c) 2023 Providence Healthtech
13 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
16 require_once(dirname(__file__) . "/../../globals.php");
18 use OpenEMR\Common\Acl\AclMain;
19 use OpenEMR\Services\AppointmentService;
20 use OpenEMR\Services\UserService;
21 use OpenEMR\Common\Twig\TwigContainer;
23 function newpatient_report($pid, $encounter, $cols, $id)
25 $res = sqlStatement("select e.*, f.name as facility_name from form_encounter as e join facility as f on f.id = e.facility_id where e.pid=? and e.id=?", array($pid,$id));
26 $twig = new TwigContainer(__DIR__, $GLOBALS['kernel']);
27 $t = $twig->getTwig();
28 $encounters = [];
29 $userService = new UserService();
30 while ($result = sqlFetchArray($res)) {
31 $hasAccess = (empty($result['sensitivity']) || AclMain::aclCheckCore('sensitivities', $result['sensitivity']));
32 $rawProvider = $userService->getUser($result["provider_id"]);
33 $rawRefProvider = $userService->getUser($result["referring_provider_id"]);
34 $calendar_category = (new AppointmentService())->getOneCalendarCategory($result['pc_catid']);
35 $reason = (!$hasAccess) ? false : $result['reason'];
36 $provider = (!$hasAccess) ? false : $rawProvider['fname'] . " " . $rawProvider['lname']
37 . ", " . $rawProvider['suffix'] . ", " . $rawProvider['valedictory'];
38 $referringProvider = (!$hasAccess || !$rawRefProvider) ? false : $rawRefProvider['fname'] . " " . $rawRefProvider['lname'];
39 $posCode = (!$hasAccess) ? false : sprintf('%02d', trim($result['pos_code'] ?? false));
40 $posCode = ($posCode && $posCode != '00') ? $posCode : false;
41 $facility_name = (!$hasAccess) ? false : $result['facility_name'];
43 $encounters[] = [
44 'category' => xl_appt_category($calendar_category[0]['pc_catname']),
45 'reason' => $reason,
46 'provider' => $provider,
47 'referringProvider' => $referringProvider,
48 'posCode' => $posCode,
49 'facility' => $facility_name,
52 echo $t->render("templates/report.html.twig", ['encounters' => $encounters]);