add patient comment to show/update/create, adding unique key internalPID to patcom
This commit is contained in:
parent
56d5d98288
commit
91e8d1556c
@ -10,6 +10,7 @@ class Patient extends Controller {
|
|||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->db = \Config\Database::connect();
|
$this->db = \Config\Database::connect();
|
||||||
|
$this->now = date('Y-m-d H:i:s');
|
||||||
}
|
}
|
||||||
|
|
||||||
// OK - Done
|
// OK - Done
|
||||||
@ -62,12 +63,13 @@ class Patient extends Controller {
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
$patient = $this->db->table('patient')
|
$patient = $this->db->table('patient')
|
||||||
->select('patient.*, country.Country as CountryName, race.Race as RaceName, religion.Religion as ReligionName, ethnic.Ethnic as EthnicName')
|
->select('patient.*, country.Country as CountryName, race.Race as RaceName, religion.Religion as ReligionName, ethnic.Ethnic as EthnicName, patcom.Comment as Comment')
|
||||||
->join('country', 'country.IntCountryID = patient.IntCountryID', 'left')
|
->join('country', 'country.IntCountryID = patient.IntCountryID', 'left')
|
||||||
->join('race', 'race.RaceID = patient.RaceID', 'left')
|
->join('race', 'race.RaceID = patient.RaceID', 'left')
|
||||||
->join('religion', 'religion.ReligionID = patient.ReligionID', 'left')
|
->join('religion', 'religion.ReligionID = patient.ReligionID', 'left')
|
||||||
->join('ethnic', 'ethnic.EthnicID = patient.EthnicID', 'left')
|
->join('ethnic', 'ethnic.EthnicID = patient.EthnicID', 'left')
|
||||||
->where('InternalPID', (int) $InternalPID)
|
->join('patcom', 'patcom.InternalPID = patient.InternalPID', 'left')
|
||||||
|
->where('patient.InternalPID', (int) $InternalPID)
|
||||||
->get()
|
->get()
|
||||||
->getRowArray();
|
->getRowArray();
|
||||||
|
|
||||||
@ -141,7 +143,6 @@ class Patient extends Controller {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// OK - Done
|
|
||||||
public function create() {
|
public function create() {
|
||||||
try {
|
try {
|
||||||
$input = $this->request->getJSON(true);
|
$input = $this->request->getJSON(true);
|
||||||
@ -260,6 +261,8 @@ class Patient extends Controller {
|
|||||||
'Address' => 'required|is_unique[patatt.Address]',
|
'Address' => 'required|is_unique[patatt.Address]',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$dataPatcom = [ "Comment" => $input['Comment'] === '' ? null : ($input['Comment'] ?? null) ];
|
||||||
|
|
||||||
// =========================
|
// =========================
|
||||||
// Validasi semua sebelum insert
|
// Validasi semua sebelum insert
|
||||||
// =========================
|
// =========================
|
||||||
@ -297,6 +300,12 @@ class Patient extends Controller {
|
|||||||
$this->db->table('patatt')->insertBatch($dataPatatt);
|
$this->db->table('patatt')->insertBatch($dataPatatt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($dataPatcom['Comment'] != '') {
|
||||||
|
$dataPatcom['InternalPID'] = $newInternalPatientId;
|
||||||
|
$dataPatcom['CreateDate'] = $now;
|
||||||
|
$this->db->table('patcom')->insert($dataPatcom);
|
||||||
|
}
|
||||||
|
|
||||||
$dbError = $this->db->error();
|
$dbError = $this->db->error();
|
||||||
if (!empty($dbError['message'])) {
|
if (!empty($dbError['message'])) {
|
||||||
$this->db->transRollback();
|
$this->db->transRollback();
|
||||||
@ -444,6 +453,13 @@ class Patient extends Controller {
|
|||||||
'Identifier' => "required|is_unique[patidt.Identifier,InternalPID,{$InternalPID}]"
|
'Identifier' => "required|is_unique[patidt.Identifier,InternalPID,{$InternalPID}]"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$dataPatcom = [ "Comment" => $input['Comment'] === '' ? null : ($input['Comment'] ?? null) ];
|
||||||
|
if($dataPatcom['Comment'] != '') {
|
||||||
|
$dataPatcom['InternalPID'] = $InternalPID;
|
||||||
|
$dataPatcom['CreateDate'] = $this->now;
|
||||||
|
$this->db->table('patcom')->upsert($dataPatcom);
|
||||||
|
}
|
||||||
|
|
||||||
// Validasi
|
// Validasi
|
||||||
if (!$this->validateData($dataPatient, $rulesDataPatient)) {
|
if (!$this->validateData($dataPatient, $rulesDataPatient)) {
|
||||||
return $this->respond([
|
return $this->respond([
|
||||||
|
|||||||
@ -54,6 +54,7 @@ class CreateInitialTables extends Migration {
|
|||||||
'EndDate' => ['type' => 'DATETIME', 'null' => true],
|
'EndDate' => ['type' => 'DATETIME', 'null' => true],
|
||||||
]);
|
]);
|
||||||
$this->forge->addKey('PatComID', true);
|
$this->forge->addKey('PatComID', true);
|
||||||
|
$this->forge->addUniqueKey('InternalPID', true);
|
||||||
$this->forge->createTable('patcom');
|
$this->forge->createTable('patcom');
|
||||||
|
|
||||||
// patdiag
|
// patdiag
|
||||||
@ -249,8 +250,7 @@ class CreateInitialTables extends Migration {
|
|||||||
$this->forge->createTable('religion');
|
$this->forge->createTable('religion');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function down()
|
public function down() {
|
||||||
{
|
|
||||||
$this->forge->dropTable('country', true);
|
$this->forge->dropTable('country', true);
|
||||||
$this->forge->dropTable('ethnic', true);
|
$this->forge->dropTable('ethnic', true);
|
||||||
$this->forge->dropTable('patatt', true);
|
$this->forge->dropTable('patatt', true);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user