New Http Rest Client (#2023)
[openemr.git] / rest_controllers / PatientRestController.php
blob31d69e38e0658bc78c6c12657702f26d20c24fd5
1 <?php
2 /**
3 * PatientRestController
5 * @package OpenEMR
6 * @link http://www.open-emr.org
7 * @author Matthew Vita <matthewvita48@gmail.com>
8 * @copyright Copyright (c) 2018 Matthew Vita <matthewvita48@gmail.com>
9 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
13 namespace OpenEMR\RestControllers;
15 use OpenEMR\Services\PatientService;
16 use OpenEMR\RestControllers\RestControllerHelper;
18 class PatientRestController
20 private $patientService;
22 public function __construct($pid)
24 $this->patientService = new PatientService();
25 $this->patientService->setPid($pid);
28 public function post($data)
30 $validationResult = $this->patientService->validate($data);
32 $validationHandlerResult = RestControllerHelper::validationHandler($validationResult);
33 if (is_array($validationHandlerResult)) {
34 return $validationHandlerResult; }
36 $serviceResult = $this->patientService->insert($data);
37 return RestControllerHelper::responseHandler($serviceResult, array("pid" => $serviceResult), 201);
40 public function put($pid, $data)
42 $validationResult = $this->patientService->validate($data);
44 $validationHandlerResult = RestControllerHelper::validationHandler($validationResult);
45 if (is_array($validationHandlerResult)) {
46 return $validationHandlerResult; }
48 $serviceResult = $this->patientService->update($pid, $data);
49 return RestControllerHelper::responseHandler($serviceResult, array("pid" => $pid), 200);
52 public function getOne()
54 $serviceResult = $this->patientService->getOne();
55 return RestControllerHelper::responseHandler($serviceResult, null, 200);
58 public function getAll($search)
60 $serviceResult = $this->patientService->getAll(array(
61 'fname' => $search['fname'],
62 'lname' => $search['lname'],
63 'dob' => $search['dob']
64 ));
66 return RestControllerHelper::responseHandler($serviceResult, null, 200);