pbmc-cmod/app/Controllers/API_HISPatients.php

92 lines
3.1 KiB
PHP
Raw Normal View History

2024-12-13 14:20:14 +07:00
<?php
namespace App\Controllers;
use CodeIgniter\RESTful\ResourceController;
2024-12-14 10:00:45 +07:00
class API_HISPatients extends ResourceController {
2024-12-13 14:20:14 +07:00
protected $format = 'json';
public function index() {
$db = \Config\Database::connect();
$date1 = $this->request->getPost('date1');
$date2 = $this->request->getPost('date2');
$sql = "select o.VISITNUMBER, o.VISITDATE, o.PAYERNAME, o.TREATDOC, p.PATNUMBER, p.SEX, p.PATNAME,
TESTS=stuff(( select ', '+t.HISCODE from
( select t.HISCODE from cmod.dbo.CM_HIS_TESTS t
where t.ORDERID=o.ORDERID
) as T
for xml path('')),1,1,'')
from cmod.dbo.CM_HIS_ORDERS o
left join cmod.dbo.CM_HIS_PATIENTS p on p.PATID=o.PATID";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['data'] = $results;
return $this->respond($data,200);
}
2024-12-14 16:39:06 +07:00
public function patnumberSearch($patnumber) {
2024-12-13 14:20:14 +07:00
$db = \Config\Database::connect();
$sql = "select * from cmod.dbo.CM_HIS_PATIENTS where PATNUMBER like '%$patnumber%'";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['patients'] = $results;
return $this->respond($data,200);
}
2024-12-14 16:39:06 +07:00
public function search() {
2024-12-13 14:20:14 +07:00
$db = \Config\Database::connect();
2024-12-14 16:39:06 +07:00
$patnumber = $this->request->getPost('patnumber');
$patname = strtolower( $this->request->getPost('patname') );
$sql = "select * from cmod.dbo.CM_HIS_PATIENTS";
// Initialize a WHERE clause
$where= '';
if (!empty($patnumber) || !empty($patname)) {
$where= ' WHERE ';
if (!empty($patnumber)) { $where .= "PATNUMBER like '%$patnumber%'"; }
if (!empty($shorttext)) {
if (!empty($testcode)) { $where .= ' OR '; }
$where .= "LOWER(PATNAME) LIKE '%$patname%'";
}
}
$sql .= $where;
$query = $db->query($sql);
$results = $query->getResultArray();
$data['patients'] = $results;
return $this->respond($data, 200);
}
public function detail($patid) {
$db = \Config\Database::connect();
$sql = "select * from cmod.dbo.CM_HIS_PATIENTS where PATID='$patid'";
2024-12-13 14:20:14 +07:00
$query = $db->query($sql);
$results = $query->getResultArray();
$data['patient'] = $results[0];
return $this->respond($data,200);
}
2024-12-14 10:00:45 +07:00
public function save() {
2024-12-13 14:20:14 +07:00
$db = \Config\Database::connect();
$patid = $this->request->getPost('patid');
$patnumber = $this->request->getPost('patnumber');
$patname = $this->request->getPost('patname');
$sex = $this->request->getPost('sex');
$birthdate = $this->request->getPost('birthdate');
$address = $this->request->getPost('address');
$phone = $this->request->getPost('phone');
if($patid == 0) {
$sql = "INSERT INTO cmod.dbo.CM_HIS_PATIENTS (PATNUMBER, PATNAME, SEX, BIRTHDATE, ADDRESS, PHONE)
VALUES ('$patnumber', '$patname', '$sex', '$birthdate', '$address','$phone')";
} else {
$sql = "update cmod.dbo.CM_HIS_PATIENTS set PATNUMBER='$patnumber', PATNAME='$patname',
SEX='$sex', BIRTHDATE='$birthdate', ADDRESS='$address', PHONE='$phone' Where PATID='$patid'";
}
$query = $db->query($sql);
if($patid == 0 ) { $patid = $db->insertID(); }
$data['patid'] = $patid;
$data['patnumber'] = $patnumber;
$data['sql'] = $sql;
return $this->respond($data , 200);
}
}