Update Pasien Controller

This commit is contained in:
mikael-zakaria 2025-07-18 13:35:03 +07:00
parent 6cc8ca9224
commit 7b69906c13

View File

@ -70,6 +70,74 @@ class Patient extends Controller {
}
public function create() {
$data = $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'),
// ];
$datas = [
'name_first' => $data['firstName'], // Mengambil dari firstName
'name_last' => $data['lastName'], // Mengambil dari lastName
'name_middle' => $data['middleName'] ?? null, // Mengambil dari middleName
'name_maiden' => $data['maindenName'] ?? null, // Mengambil dari maindenName
'pat_num' => $data['patientID'], // Mengambil dari patientID
'prefix' => $data['title'] ?? null, // Mengambil dari title
'suffix' => $data['suffixName'] ?? null, // Mengambil dari suffixName
'birth_date' => $data['birthdate'] ?? null, // Mengambil dari birthdate
'pat_altnum' => $data['alternateID'] ?? null, // Mengambil dari alternateID
'address_1' => $data['street1'] ?? null, // Mengambil dari street1
'address_2' => $data['street2'] ?? null, // Mengambil dari street2
'address_3' => $data['placeOfBirthdate'] ?? null, // Memetakan placeOfBirthdate ke address_3, jika diperlukan
'city' => $data['city'] ?? null, // Mengambil dari city
'province' => $data['province'] ?? null, // Mengambil dari province
'zip' => null, // Tidak ada padanan langsung di newPatientForm, bisa diisi manual atau dari input lain
'email_1' => $data['email1'] ?? null, // Mengambil dari email1
'email_2' => $data['email2'] ?? null, // Mengambil dari email2
'phone' => $data['phone'] ?? null, // Mengambil dari phone
'mobile_phone' => $data['mobile'] ?? null, // Mengambil dari mobile
'mother' => $data['motherName'] ?? null, // Mengambil dari motherName
'account_number' => null, // Tidak ada padanan langsung, bisa diisi manual atau dari input lain
'marital_status' => $data['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' => $data['death'] ?? null, // Mengambil dari death (asumsi 0/1 atau boolean)
'death_date' => $data['deathTime'] ?? null, // Mengambil dari deathTime
'create_date' => date('Y-m-d H:i:s'), // Ini adalah tanggal dan waktu saat ini di server PHP
];
$rules = [
'pat_num' => 'required|is_unique[patients.pat_num]|max_length[50]',
'name_first' => 'required|min_length[3]|max_length[255]',
@ -84,45 +152,10 @@ class Patient extends Controller {
'city' => 'permit_empty',
];
$data = $this->request->getJSON(true);
if (!$this->validate($rules)) {
if (!$this->validateData($datas, $rules)) {
return $this->failValidationErrors($this->validator->getErrors());
}
$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'),
];
$this->db->table('patients')->insert($datas);
$newPatientId = $this->db->insertID();