Update perbaikan faker patient

This commit is contained in:
mikael-zakaria 2025-10-10 13:12:38 +07:00
parent ca19ab35c1
commit e34b96bc19

View File

@ -85,8 +85,8 @@ class FakerPatient extends BaseController
for ($i = 0; $i < $count; $i++) {
$data = [
"PatientID" => "P" . (string) $i,
"AlternatePID" => "ALT" . (string) $i,
"PatientID" => "DUM" . (string) $i,
"AlternatePID" => "DMY" . (string) $i,
"Prefix" => $faker->title,
"NameFirst" => $faker->firstName,
"NameMiddle" => $faker->firstName,
@ -107,16 +107,15 @@ class FakerPatient extends BaseController
"EmailAddress2" => "B" . (string)$i.'@gmail.com',
"Phone" => $faker->phoneNumber,
"MobilePhone" => $faker->phoneNumber,
"Race" => (string) $faker->numberBetween(100, 200),
"Country" => (string) $faker->numberBetween(300, 400),
"MaritalStatus" => (string) $faker->numberBetween(10, 20),
"Religion" => (string) $faker->numberBetween(200, 210),
"Ethnic" => (string) $faker->numberBetween(210, 220),
"Race" => (string) $faker->numberBetween(175, 205),
"Country" => (string) $faker->numberBetween(221, 469),
"MaritalStatus" => (string) $faker->numberBetween(8, 15),
"Religion" => (string) $faker->numberBetween(206, 212),
"Ethnic" => (string) $faker->numberBetween(213, 220),
"Citizenship" => "WNI",
"DeathIndicator" => (string) $faker->numberBetween(10, 20),
"DeathDateTime" => $faker->date('Y-m-d H:i:s'),
"LinkTo" => (string) $faker->numberBetween(1, 5),
"Custodian" => '1',
"DeathIndicator" => (string) $faker->numberBetween(16, 17),
"LinkTo" => (string) $faker->numberBetween(2, 3),
"Custodian" => "1",
"PatIdt" => [
"IdentifierType" => "KTP",
"Identifier" => $faker->nik() ?? $faker->numerify('################')
@ -127,6 +126,12 @@ class FakerPatient extends BaseController
"PatCom" => $faker->sentence,
];
if($data['DeathIndicator'] == '16') {
$data['DeathDateTime'] = $faker->date('Y-m-d H:i:s');
} else {
$data['DeathDateTime'] = null;
}
// kirim ke API patient
$response = $client->post(
base_url('/api/patient'),
@ -146,8 +151,80 @@ class FakerPatient extends BaseController
return $this->response->setJSON([
'status' => 'success',
'count' => $count,
'data' => $results
// 'count' => $count,
// 'data' => $results
]);
}
// public function sendMany($count = 2) // default 2 data
// {
// $faker = Factory::create('id_ID');
// $client = service('curlrequest');
// $batchData = [];
// for ($i = 0; $i < $count; $i++) {
// $batchData[] = [
// "PatientID" => "P" . (string) $i,
// "AlternatePID" => "ALT" . (string) $i,
// "Prefix" => $faker->title,
// "NameFirst" => $faker->firstName,
// "NameMiddle" => $faker->firstName,
// "NameMaiden" => $faker->firstName,
// "NameLast" => $faker->lastName,
// "Suffix" => "S.Kom",
// "NameAlias" => $faker->userName,
// "Gender" => $faker->numberBetween(5, 6),
// "PlaceOfBirth" => $faker->city,
// "Birthdate" => $faker->date('Y-m-d'),
// "ZIP" => $faker->postcode,
// "Street_1" => $faker->streetAddress,
// "Street_2" => "RT " . $faker->numberBetween(1, 10) . " RW " . $faker->numberBetween(1, 10),
// "Street_3" => "Blok " . $faker->numberBetween(1, 20),
// "City" => $faker->city,
// "Province" => $faker->state,
// "EmailAddress1" => "A" . (string)$i.'@gmail.com',
// "EmailAddress2" => "B" . (string)$i.'@gmail.com',
// "Phone" => $faker->phoneNumber,
// "MobilePhone" => $faker->phoneNumber,
// "Race" => (string) $faker->numberBetween(100, 200),
// "Country" => (string) $faker->numberBetween(300, 400),
// "MaritalStatus" => (string) $faker->numberBetween(10, 20),
// "Religion" => (string) $faker->numberBetween(200, 210),
// "Ethnic" => (string) $faker->numberBetween(210, 220),
// "Citizenship" => "WNI",
// "DeathIndicator" => (string) $faker->numberBetween(10, 20),
// "DeathDateTime" => $faker->date('Y-m-d H:i:s'),
// "LinkTo" => (string) $faker->numberBetween(1, 5),
// "Custodian" => '1',
// "PatIdt" => [
// "IdentifierType" => "KTP",
// "Identifier" => $faker->numerify('################')
// ],
// "PatAtt" => [
// [ "Address" => "/api/upload/" . $faker->word . ".jpg" ]
// ],
// "PatCom" => $faker->sentence,
// ];
// }
// // Kirim batch sekali saja
// $response = $client->post(
// base_url('/api/patient'),
// [
// 'headers' => [
// 'Content-Type' => 'application/json'
// ],
// 'body' => json_encode($batchData)
// ]
// );
// return $this->response->setJSON([
// 'status' => 'success',
// 'count' => $count,
// 'request' => $batchData,
// 'response' => json_decode($response->getBody(), true) ?? $response->getBody(),
// ]);
// }
}