From 435d05e0a9db707946064efc09d954a60dedfe0c Mon Sep 17 00:00:00 2001 From: mikael-zakaria Date: Mon, 28 Jul 2025 16:44:23 +0700 Subject: [PATCH] Update CRUD Patient --- app/Controllers/Patient.php | 108 ++++++++++++++---------------------- 1 file changed, 43 insertions(+), 65 deletions(-) diff --git a/app/Controllers/Patient.php b/app/Controllers/Patient.php index a701ba3..755b20d 100644 --- a/app/Controllers/Patient.php +++ b/app/Controllers/Patient.php @@ -102,70 +102,48 @@ class Patient extends Controller { try { $input = $this->request->getJSON(true); - // $datas = [ - // 'name_first' => $data['name_first'], - // 'name_last' => $data['name_last'], - // 'name_middle' => $data['name_middle'] ?? null, - // 'name_maiden' => $data['name_maiden'] ?? null, - // 'pat_num' => $data['pat_num'], - // 'prefix' => $data['prefix'] ?? null, - // 'suffix' => $data['suffix'] ?? null, - // 'birth_date' => $data['pat_dob'] ?? null, - // 'pat_altnum' => $data['pat_altnum'] ?? null, - // 'address_1' => $data['address_1'] ?? null, - // 'address_2' => $data['address_2'] ?? null, - // 'address_3' => $data['address_3'] ?? null, - // 'city' => $data['city'] ?? null, - // 'province' => $data['province'] ?? null, - // 'zip' => $data['zip'] ?? null, - // 'email_1' => $data['email_1'] ?? null, - // 'email_2' => $data['email_2'] ?? null, - // 'phone' => $data['phone'] ?? null, - // 'mobile_phone' => $data['mobile_phone'] ?? null, - // 'mother' => $data['mother'] ?? null, - // 'account_number' => $data['account_number'] ?? null, - // 'marital_status' => $data['marital_status'] ?? null, - // 'country_id' => $data['country_id'] ?? null, - // 'race_id' => $data['race_id'] ?? null, - // 'religion_id' => $data['religion_id'] ?? null, - // 'ethnic_id' => $data['ethnic_id'] ?? null, - // 'citizenship' => $data['citizenship'] ?? null, - // 'death' => $data['death'] ?? null, - // 'death_date' => $data['death_date'] ?? null, - // 'create_date' => date('Y-m-d H:i:s'), - // ]; - $data = [ - 'name_first' => $input['firstName'], // Mengambil dari firstName - 'name_last' => $input['lastName'], // Mengambil dari lastName - 'name_middle' => $input['middleName'] ?? null, // Mengambil dari middleName - 'name_maiden' => $input['maindenName'] ?? null, // Mengambil dari maindenName - 'pat_num' => $input['patientID'], // Mengambil dari patientID - 'prefix' => $input['title'] ?? null, // Mengambil dari title - 'suffix' => $input['suffixName'] ?? null, // Mengambil dari suffixName - 'birth_date' => $input['birthdate'] ?? null, // Mengambil dari birthdate - 'pat_altnum' => $input['alternateID'] ?? null, // Mengambil dari alternateID - 'address_1' => $input['street1'] ?? null, // Mengambil dari street1 - 'address_2' => $input['street2'] ?? null, // Mengambil dari street2 - 'address_3' => $input['placeOfBirthdate'] ?? null, // Memetakan placeOfBirthdate ke address_3, jika diperlukan - 'city' => $input['city'] ?? null, // Mengambil dari city - 'province' => $input['province'] ?? null, // Mengambil dari province - 'zip' => null, // Tidak ada padanan langsung di newPatientForm, bisa diisi manual atau dari input lain - 'email_1' => $input['email1'] ?? null, // Mengambil dari email1 - 'email_2' => $input['email2'] ?? null, // Mengambil dari email2 - 'phone' => $input['phone'] ?? null, // Mengambil dari phone - 'mobile_phone' => $input['mobile'] ?? null, // Mengambil dari mobile - 'mother' => $input['motherName'] ?? null, // Mengambil dari motherName - 'account_number' => null, // Tidak ada padanan langsung, bisa diisi manual atau dari input lain - 'marital_status' => $input['maritalStatus'] ?? null, // Mengambil dari maritalStatus - 'country_id' => null, // Tidak ada padanan langsung, perlu penyesuaian jika ada input negara - // 'race_id' => $data['race'] ?? null, // Mengambil dari race - // 'religion_id' => $data['religion'] ?? null, // Mengambil dari religion - // 'ethnic_id' => $data['ethnic'] ?? null, // Mengambil dari ethnic - 'citizenship' => null, // Tidak ada padanan langsung, perlu penyesuaian jika ada input kewarganegaraan - 'death' => $input['death'] ?? null, // Mengambil dari death (asumsi 0/1 atau boolean) - 'death_date' => $input['deathTime'] ?? null, // Mengambil dari deathTime - 'create_date' => date('Y-m-d H:i:s'), // Ini adalah tanggal dan waktu saat ini di server PHP + // "pat_id" => $input['patientID'] ?? null, + "pat_num" => $input['alternateID'] ?? null, + // "pat_altnum" => $input['alternateID'] ?? null, + // "prefix" => $input['prefix'] ?? null, + + "name_first" => $input['firstName'] ?? null, + "name_middle" => $input['middleName'] ?? null, + "name_last" => $input['lastName'] ?? null, + "name_maiden" => $input['maidenName'] ?? null, + "gender" => $input['gender'] ?? null, + "birth_place" => $input['placeOfBirthdate'] ?? null, + "birth_date" => $input['birthdate'] ?? null, + "mother" => $input['motherName'] ?? null, + "marital_status" => $input['maritalStatus'] ?? null, + // "religion_id" => $input['religion'] ?? null, + // "race_id" => $input['race'] ?? null, + // "ethinc_id" => $input['ethnic'] ?? null, + + // "suffix" => $input['suffix'] ?? null, + // "name_alias" => $input['nameAlias'] ?? null, + + "address_1" => $input['street1'] ?? null, + "address_2" => $input['street2'] ?? null, + // "address_3" => $input['street3'] ?? null, + "city" => $input['city'] ?? null, + "province" => $input['province'] ?? null, + + // "zip" => $input['zip'] ?? null, + "email_1" => $input['email1'] ?? null, + "email_2" => $input['email2'] ?? null, + "phone" => $input['phone'] ?? null, + "mobile_phone" => $input['mobile'] ?? null, + "death" => $input['death'] ?? null, + "death_date" => $input['deathtime'] ?? null, + // "account_number" => $input['accountNumber'] ?? null, + // "country_id" => $input['countryId'] ?? null, + // "citizenship" => $input['citizenship'] ?? null, + + // "link_to" => $input['linkTo'] ?? null, + "create_date" => date('Y-m-d H:i:s'), + // "del_date" => $input['delDate'] ?? null ]; $rules = [ @@ -174,7 +152,7 @@ class Patient extends Controller { 'name_middle' => 'permit_empty', 'name_maiden' => 'permit_empty', 'name_last' => 'permit_empty', - 'birth_date' => 'permit_empty|valid_date[Y-m-d]', + // 'birth_date' => 'permit_empty|valid_date[Y-m-d]|not_in_list[0000-00-00]', 'pat_altnum' => 'permit_empty|max_length[50]', 'address_1' => 'permit_empty', 'address_2' => 'permit_empty', @@ -204,7 +182,7 @@ class Patient extends Controller { } catch (\Exception $e) { // Error Server = 500 - return $this->failServerError('Something went wrong'); + return $this->failServerError('Something went wrong'.$e); } }