From 09717bb081574ec4b9afc87cd8bf210217c9db34 Mon Sep 17 00:00:00 2001 From: mahdahar <89adham@gmail.com> Date: Mon, 1 Dec 2025 16:47:52 +0700 Subject: [PATCH] gogogo --- app/Config/Routes.php | 13 +- app/Controllers/AreaGeo.php | 52 ++ app/Controllers/Contact/MedicalSpecialty.php | 64 ++ app/Controllers/Contact/Occupation.php | 6 +- app/Controllers/Location.php | 8 +- app/Controllers/Zones.php | 4 +- .../Migrations/2025-09-10-141522_Location.php | 6 +- .../Migrations/2025-09-12-011643_Contact.php | 19 +- .../2025-10-22-100001_CRM_Zones.php | 25 - .../Migrations/2025-12-01-100001_AreaGeo.php | 24 + app/Database/Seeds/DummySeeder.php | 631 +++++++++++++++++- app/Database/Seeds/ValueSetSeeder.php | 3 + app/Models/AreaGeoModel.php | 38 ++ app/Models/Contact/MedicalSpecialtyModel.php | 22 + app/Models/Contact/OccupationModel.php | 12 + app/Models/Location/LocationAddressModel.php | 2 +- app/Models/Location/LocationModel.php | 14 +- app/Models/Patient/PatientModel.php | 12 +- app/Models/{SyncCRM => }/ZonesModel.php | 6 +- 19 files changed, 906 insertions(+), 55 deletions(-) create mode 100644 app/Controllers/AreaGeo.php create mode 100644 app/Controllers/Contact/MedicalSpecialty.php delete mode 100644 app/Database/Migrations/2025-10-22-100001_CRM_Zones.php create mode 100644 app/Database/Migrations/2025-12-01-100001_AreaGeo.php create mode 100644 app/Models/AreaGeoModel.php create mode 100644 app/Models/Contact/MedicalSpecialtyModel.php rename app/Models/{SyncCRM => }/ZonesModel.php (99%) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 85c4aaa..736b5d4 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -69,6 +69,11 @@ $routes->post('/api/occupation', 'Contact\Occupation::create'); $routes->patch('/api/occupation', 'Contact\Occupation::update'); //$routes->delete('/api/occupation', 'Contact\Occupation::delete'); +$routes->get('/api/medicalspecialty', 'Contact\MedicalSpecialty::index'); +$routes->get('/api/medicalspecialty/(:num)', 'Contact\MedicalSpecialty::show/$1'); +$routes->post('/api/medicalspecialty', 'Contact\MedicalSpecialty::create'); +$routes->patch('/api/medicalspecialty', 'Contact\MedicalSpecialty::update'); + $routes->get('/api/valueset', 'ValueSet\ValueSet::index'); $routes->get('/api/valueset/(:num)', 'ValueSet\ValueSet::show/$1'); $routes->get('/api/valueset/valuesetdef/(:num)', 'ValueSet\ValueSet::showByValueSetDef/$1'); @@ -94,6 +99,10 @@ $routes->post('/api/containerdef', 'Specimen\ContainerDef::create'); $routes->patch('/api/containerdef', 'Specimen\ContainerDef::update'); $routes->delete('/api/containerdef', 'Specimen\ContainerDef::delete'); +$routes->get('/api/areageo', 'AreaGeo::index'); +$routes->get('/api/areageo/provinces', 'AreaGeo::getProvinces'); +$routes->get('/api/areageo/cities', 'AreaGeo::getCities'); + //organization // account $routes->get('/api/organization/account/', 'Organization\Account::index'); @@ -191,7 +200,9 @@ $routes->get('/api/tests/(:any)', 'Tests::show/$1'); $routes->get('/api/tests', 'Tests::index'); // Khusus +/* $routes->get('/api/zones', 'Zones::index'); $routes->get('/api/zones/synchronize', 'Zones::synchronize'); $routes->get('/api/zones/provinces', 'Zones::getProvinces'); -$routes->get('/api/zones/cities', 'Zones::getCities'); \ No newline at end of file +$routes->get('/api/zones/cities', 'Zones::getCities'); +*/ \ No newline at end of file diff --git a/app/Controllers/AreaGeo.php b/app/Controllers/AreaGeo.php new file mode 100644 index 0000000..fdc8dfd --- /dev/null +++ b/app/Controllers/AreaGeo.php @@ -0,0 +1,52 @@ +model = new AreaGeoModel(); + } + + public function index() { + try { + $rows = $this->model->getAreaGeos(); + + if(empty($rows)){return $this->respond(['status'=>'success', 'message'=>"no data found.", 'data'=>$rows], 200);} + return $this->respond(['status'=>'success', 'message'=>"data fetched successfully", 'data'=>$rows], 200); + } catch (\Exception $e) { + return $this->respond([ 'status' => 'error', 'message' => $e->getMessage() ], 200); + } + + } + + public function getProvinces() { + $filters = [ + 'AreaGeoID' => $this->request->getVar('AreaGeoID') ?? null, + 'AreaName' => $this->request->getVar('AreaName') ?? null + ]; + + $rows = $this->model->getProvinces(); + + if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "data not found", 'data' => [] ], 200); } + return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); + } + + public function getCities() { + $filter = [ + 'AreaGeoID' => $this->request->getVar('AreaGeoID') ?? null + ]; + + $rows = $this->model->getCities($filter); + + if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "data not found", 'data' => [] ], 200); } + return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); + } + +} \ No newline at end of file diff --git a/app/Controllers/Contact/MedicalSpecialty.php b/app/Controllers/Contact/MedicalSpecialty.php new file mode 100644 index 0000000..659a465 --- /dev/null +++ b/app/Controllers/Contact/MedicalSpecialty.php @@ -0,0 +1,64 @@ +db = \Config\Database::connect(); + $this->model = new MedicalSpecialtyModel(); + $this->rules = [ 'SpecialtyText' => 'required' ]; + } + + public function index() { + $Parent = $this->request->getVar('Parent'); + $SpecialtyText = $this->request->getVar('SpecialtyText'); + $rows = $this->model->getOccupations($Parent,$SpecialtyText); + + if (empty($rows)) { + return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200); + } + + return $this->respond([ 'status' => 'success', 'message'=> "fetch success", 'data' => $rows ], 200); + } + + public function show($SpecialtyID = null) { + $model = new MedicalSpecialtyModel(); + $rows = $model->find($SpecialtyID); + if (empty($rows)) { + return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200); + } + return $this->respond([ 'status' => 'success', 'message'=> "fetch success", 'data' => $rows ], 200); + } + + public function create() { + $input = $this->request->getJSON(true); + try { + $this->model->insert($input); + $id = $this->model->getInsertID(); + return $this->respondCreated([ 'status' => 'success', 'message' => 'data created successfully', 'data' => $id ], 201); + } catch (\Throwable $e) { + $this->db->transRollback(); + return $this->failServerError('Exception : ' . $e->getMessage()); + } + } + + public function update() { + $input = $this->request->getJSON(true); + try { + $this->model->update($input['SpecialtyID'], $input); + return $this->respondCreated([ 'status' => 'success', 'message' => 'Data updated successfully', 'data' => $input['SpecialtyID'] ], 201); + } catch (\Throwable $e) { + return $this->failServerError('Exception : ' . $e->getMessage()); + } + } + +} \ No newline at end of file diff --git a/app/Controllers/Contact/Occupation.php b/app/Controllers/Contact/Occupation.php index 529e020..239e142 100644 --- a/app/Controllers/Contact/Occupation.php +++ b/app/Controllers/Contact/Occupation.php @@ -19,8 +19,10 @@ class Occupation extends BaseController { } public function index() { - $model = new OccupationModel(); - $rows = $model->findAll(); + $OccCode = $this->request->getVar('OccCode'); + $OccText = $this->request->getVar('OccText'); + $rows = $this->model->getOccupations($OccCode,$OccText); + if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200); } diff --git a/app/Controllers/Location.php b/app/Controllers/Location.php index 3257e56..1bcfa13 100644 --- a/app/Controllers/Location.php +++ b/app/Controllers/Location.php @@ -43,8 +43,8 @@ class Location extends BaseController { $input = $this->request->getJSON(true); if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors($this->validator->getErrors()); } try { - $data = $this->model->saveLocation($input); - return $this->respondCreated([ 'status' => 'success', 'message' => 'data created successfully', 'data' => $data['LocationID'] ], 201); + $id = $this->model->saveLocation($input); + return $this->respondCreated([ 'status' => 'success', 'message' => 'data created successfully', 'data' => $id ], 201); } catch (\Throwable $e) { return $this->failServerError('Something went wrong: ' . $e->getMessage()); } @@ -54,8 +54,8 @@ class Location extends BaseController { $input = $this->request->getJSON(true); try { if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors( $this->validator->getErrors()); } - $this->model->saveLocation($input); - return $this->respondCreated([ 'status' => 'success', 'message' => 'data updated successfully', 'data' => $input['LocationID'] ], 201); + $id = $this->model->saveLocation($input, true); + return $this->respondCreated([ 'status' => 'success', 'message' => 'data updated successfully', 'data' => $id ], 201); } catch (\Throwable $e) { return $this->failServerError('Something went wrong: ' . $e->getMessage()); } diff --git a/app/Controllers/Zones.php b/app/Controllers/Zones.php index 1c38786..84de855 100644 --- a/app/Controllers/Zones.php +++ b/app/Controllers/Zones.php @@ -1,4 +1,5 @@ forge->createTable('location'); $this->forge->addField([ - 'LocationID' => ['type' => 'INT', 'auto_increment' => true, 'unsigned' => true], + 'LocationID' => ['type' => 'INT', 'unsigned' => true], 'Street1' => ['type' => 'Varchar', 'constraint' => 255, 'null' => true], 'Street2' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => false], - 'City' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], - 'Province' => ['type' => 'varchar', 'constraint' => 255, 'null' => true], + 'City' => ['type' => 'int', 'null' => true], + 'Province' => ['type' => 'int', 'null' => true], 'PostCode' => ['type' => 'varchar', 'constraint' => 255, 'null' => true], 'GeoLocationSystem' => ['type' => 'varchar', 'constraint' => 255, 'null' => true], 'GeoLocationData' => ['type' => 'varchar', 'constraint' => 255, 'null' => true], diff --git a/app/Database/Migrations/2025-09-12-011643_Contact.php b/app/Database/Migrations/2025-09-12-011643_Contact.php index 517251c..eeaccd8 100644 --- a/app/Database/Migrations/2025-09-12-011643_Contact.php +++ b/app/Database/Migrations/2025-09-12-011643_Contact.php @@ -55,11 +55,24 @@ class CreateContactTable extends Migration { ]); $this->forge->addKey('OccupationID', true); $this->forge->createTable('occupation'); + + $this->forge->addField([ + 'SpecialtyID' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], + 'SpecialtyText' => ['type' => 'varchar', 'constraint' => 20, 'null' => true], + 'Parent' => ['type' => 'int', 'null' => true], + 'Title' => ['type' => 'VARCHAR', 'constraint' => 100, 'null' => false], + 'CreateDate' => ['type' => 'datetime', 'null' => true], + 'EndDate' => ['type' => 'datetime', 'null' => true], + ]); + + $this->forge->addKey('SpecialtyID', true); + $this->forge->createTable('medicalspecialty'); } public function down() { - $this->forge->dropTable('Contact'); - $this->forge->dropTable('ContactDetail'); - $this->forge->dropTable('Occupation'); + $this->forge->dropTable('contact'); + $this->forge->dropTable('contactdetail'); + $this->forge->dropTable('occupation'); + $this->forge->dropTable('medicalspecialty'); } } diff --git a/app/Database/Migrations/2025-10-22-100001_CRM_Zones.php b/app/Database/Migrations/2025-10-22-100001_CRM_Zones.php deleted file mode 100644 index 7029497..0000000 --- a/app/Database/Migrations/2025-10-22-100001_CRM_Zones.php +++ /dev/null @@ -1,25 +0,0 @@ -forge->addField([ - 'zoneid' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], - 'parentzoneid' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'null' => true], - 'zonecode' => ['type' => 'VARCHAR', 'constraint' => 10, 'null' => false], - 'zoneclass' => ['type' => 'VARCHAR', 'constraint' => 5, 'null' => false], - 'zonename' => ['type' => 'VARCHAR', 'constraint' => 100, 'null' => false], - ]); - - $this->forge->addKey('zoneid', true); - $this->forge->createTable('zones'); - } - - public function down() { - $this->forge->dropTable('zones'); - } -} \ No newline at end of file diff --git a/app/Database/Migrations/2025-12-01-100001_AreaGeo.php b/app/Database/Migrations/2025-12-01-100001_AreaGeo.php new file mode 100644 index 0000000..c3dfffa --- /dev/null +++ b/app/Database/Migrations/2025-12-01-100001_AreaGeo.php @@ -0,0 +1,24 @@ +forge->addField([ + 'AreaGeoID' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], + 'AreaCode' => ['type' => 'varchar', 'constraint' => 20, 'null' => true], + 'Class' => ['type' => 'int', 'null' => true], + 'AreaName' => ['type' => 'VARCHAR', 'constraint' => 100, 'null' => false], + 'Parent' => ['type' => 'int', 'null' => true], + ]); + + $this->forge->addKey('AreaGeoID', true); + $this->forge->createTable('areageo'); + } + + public function down() { + $this->forge->dropTable('areageo'); + } +} \ No newline at end of file diff --git a/app/Database/Seeds/DummySeeder.php b/app/Database/Seeds/DummySeeder.php index abb592b..4426c50 100644 --- a/app/Database/Seeds/DummySeeder.php +++ b/app/Database/Seeds/DummySeeder.php @@ -79,7 +79,82 @@ class DummySeeder extends Seeder { ['OccupationID'=>3, 'OccCode'=>'OC003', 'OccText'=>'Medical Laboratory Technician', 'Description'=>'Perform routine laboratory tests', 'CreateDate'=> "$now" ] ]; $this->db->table('occupation')->insertBatch($data); - + $data = [ +['SpecialtyID' => '1','SpecialtyText' => 'Anak','Parent' => '','Title' => 'Sp. A', 'CreateDate' => "$now"], +['SpecialtyID' => '2','SpecialtyText' => 'Andrologi','Parent' => '','Title' => 'Sp. And', 'CreateDate' => "$now"], +['SpecialtyID' => '3','SpecialtyText' => 'Anestesiologi dan Terapi Intensif','Parent' => '','Title' => 'Sp.An-TI', 'CreateDate' => "$now"], +['SpecialtyID' => '4','SpecialtyText' => 'Akupunktur Medik','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '5','SpecialtyText' => 'Bedah','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '6','SpecialtyText' => 'Bedah Anak','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '7','SpecialtyText' => 'Bedah Plastik, Rekonstruksi, dan Estetik','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '8','SpecialtyText' => 'Bedah Saraf','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '9','SpecialtyText' => 'Bedah Toraks, Kardiak, dan Vaskular','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '10','SpecialtyText' => 'Dermatologi Venereologi Estetika','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '11','SpecialtyText' => 'Emergency Medicine (Kegawatdaruratan Medik)','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '12','SpecialtyText' => 'Farmakologi Klinik','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '13','SpecialtyText' => 'Forensik dan Medikolegal','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '14','SpecialtyText' => 'Gizi Klinik','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '15','SpecialtyText' => 'Jantung dan Pembuluh Darah','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '16','SpecialtyText' => 'Kedokteran Fisik dan Rehabilitasi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '17','SpecialtyText' => 'Kedokteran Jiwa','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '18','SpecialtyText' => 'Kedokteran Kelautan','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '19','SpecialtyText' => 'Kedokteran Keluarga Layanan Primer','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '20','SpecialtyText' => 'Kedokteran Nuklir dan Teranostik Molekuler','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '21','SpecialtyText' => 'Kedokteran Okupasi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '22','SpecialtyText' => 'Kedokteran Olahraga','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '23','SpecialtyText' => 'Kedokteran Penerbangan','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '24','SpecialtyText' => 'Mikrobiologi Klinik','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '25','SpecialtyText' => 'Neurologi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '26','SpecialtyText' => 'Obstetri dan Ginekologi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '27','SpecialtyText' => 'Oftalmologi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '28','SpecialtyText' => 'Onkologi Radiasi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '29','SpecialtyText' => 'Orthopaedi dan Traumatologi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '30','SpecialtyText' => 'Parasitologi Klinik','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '31','SpecialtyText' => 'Patologi Anatomi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '32','SpecialtyText' => 'Patologi Klinik','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '33','SpecialtyText' => 'Penyakit Dalam','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '34','SpecialtyText' => 'Pulmonologi dan Kedokteran Respirasi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '35','SpecialtyText' => 'Radiologi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '36','SpecialtyText' => 'Telinga Hidung Tenggorok Bedah Kepala Leher','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '37','SpecialtyText' => 'Urologi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '38','SpecialtyText' => 'Bedah Mulut dan Maksilofasial','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '39','SpecialtyText' => 'Kedokteran Gigi Anak','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '40','SpecialtyText' => 'Konservasi Gigi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '41','SpecialtyText' => 'Odontologi Forensik','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '42','SpecialtyText' => 'Ortodonsia','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '43','SpecialtyText' => 'Patologi Mulut dan Maksilofasial','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '44','SpecialtyText' => 'Penyakit Mulut','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '45','SpecialtyText' => 'Periodonsia','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '46','SpecialtyText' => 'Prostodonsia','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '47','SpecialtyText' => 'Radiologi Kedokteran Gigi','Parent' => '','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '48','SpecialtyText' => 'Alergi-Immunologi Klinik','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '49','SpecialtyText' => 'Gastroenterologi-Hepatologi','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '50','SpecialtyText' => 'Geriatri','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '51','SpecialtyText' => 'Ginjal-Hipertensi','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '52','SpecialtyText' => 'Hematologi-Onkologi Medik','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '53','SpecialtyText' => 'Kardiovaskular','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '54','SpecialtyText' => 'Endokrin-Metabolik-Diabetes','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '55','SpecialtyText' => 'Psikosomatik dan Paliatif Medik','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '56','SpecialtyText' => 'Pulmonologi dan Medik Kritis','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '57','SpecialtyText' => 'Reumatologi','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '58','SpecialtyText' => 'Penyakit Tropik-Infeksi','Parent' => 'Penyakit Dalam','Title' => '', 'CreateDate' => "$now"], +['SpecialtyID' => '59','SpecialtyText' => 'Alergi Imunologi','Parent' => 'Anak','Title' => 'Subsp.AI', 'CreateDate' => "$now"], +['SpecialtyID' => '60','SpecialtyText' => 'Endokrinologi','Parent' => 'Anak','Title' => 'Subsp.End', 'CreateDate' => "$now"], +['SpecialtyID' => '61','SpecialtyText' => 'Gastro-Hepatologi','Parent' => 'Anak','Title' => 'Subsp.GH', 'CreateDate' => "$now"], +['SpecialtyID' => '62','SpecialtyText' => 'Hematologi Onkologi','Parent' => 'Anak','Title' => 'Subsp.HO', 'CreateDate' => "$now"], +['SpecialtyID' => '63','SpecialtyText' => 'Infeksi dan Pediatri Tropis','Parent' => 'Anak','Title' => 'Subsp.IPT', 'CreateDate' => "$now"], +['SpecialtyID' => '64','SpecialtyText' => 'Kardiologi','Parent' => 'Anak','Title' => 'Subsp.Kardio', 'CreateDate' => "$now"], +['SpecialtyID' => '65','SpecialtyText' => 'Nefrologi','Parent' => 'Anak','Title' => 'Subsp.Nefro', 'CreateDate' => "$now"], +['SpecialtyID' => '66','SpecialtyText' => 'Neurologi','Parent' => 'Anak','Title' => 'Subsp.Neuro', 'CreateDate' => "$now"], +['SpecialtyID' => '67','SpecialtyText' => 'Nutrisi dan Penyakit Metabolik','Parent' => 'Anak','Title' => 'Subsp.NPM', 'CreateDate' => "$now"], +['SpecialtyID' => '68','SpecialtyText' => 'Emergensi dan Rawat Intensif Anak','Parent' => 'Anak','Title' => 'Subsp.ERIA', 'CreateDate' => "$now"], +['SpecialtyID' => '69','SpecialtyText' => 'Pencitraan','Parent' => 'Anak','Title' => 'Subsp.PCT', 'CreateDate' => "$now"], +['SpecialtyID' => '70','SpecialtyText' => 'Neonatologi','Parent' => 'Anak','Title' => 'Subsp.Neo', 'CreateDate' => "$now"], +['SpecialtyID' => '71','SpecialtyText' => 'Respirologi','Parent' => 'Anak','Title' => 'Subsp.Resp', 'CreateDate' => "$now"], +['SpecialtyID' => '72','SpecialtyText' => 'Tumbuh Kembang Pediatri Sosial','Parent' => 'Anak','Title' => 'Subsp.TKPS', 'CreateDate' => "$now"] + ]; + $this->db->table('medicalspecialty')->insertBatch($data); + // patient $data = [ [ 'InternalPID'=>1, 'PatientID'=>'SMAJ1', 'NameFirst'=>'Dummy', 'Gender' => 5, 'NameLast' => 'Patient M', 'BirthDate'=>'1991-09-09', 'Street_1'=>'Makati', 'EmailAddress1'=>'smaj1@5panda.id', 'CreateDate'=> "$now"], @@ -168,6 +243,558 @@ class DummySeeder extends Seeder { ['WorkstationID' => '6','DepartmentID' => '4','WorkstationCode' => 'IAUTO','WorkstationName' => 'Imunologi Auto','Type' => $vs[1][0],'LinkTo' => '', 'Enable' =>$vs[2][1], 'CreateDate' => "$now"], ['WorkstationID' => '7','DepartmentID' => '4','WorkstationCode' => 'IMAN','WorkstationName' => 'Imunologi Manual','Type' => $vs[1][0],'LinkTo' => '', 'Enable' =>$vs[2][1], 'CreateDate' => "$now"], ]; - $this->db->table('workstation')->insertBatch($data); + $this->db->table('workstation')->insertBatch($data); + + $data = [ +['Parent' => '','AreaCode' => '11','Class' => $vs[40]['PROP'],'AreaName' => "Aceh"], +['Parent' => '','AreaCode' => '12','Class' => $vs[40]['PROP'],'AreaName' => "Sumatera_Utara"], +['Parent' => '','AreaCode' => '13','Class' => $vs[40]['PROP'],'AreaName' => "Sumatera_Barat"], +['Parent' => '','AreaCode' => '14','Class' => $vs[40]['PROP'],'AreaName' => "Riau"], +['Parent' => '','AreaCode' => '21','Class' => $vs[40]['PROP'],'AreaName' => "Kepulauan_Riau"], +['Parent' => '','AreaCode' => '15','Class' => $vs[40]['PROP'],'AreaName' => "Jambi"], +['Parent' => '','AreaCode' => '16','Class' => $vs[40]['PROP'],'AreaName' => "Sumatera_Selatan"], +['Parent' => '','AreaCode' => '17','Class' => $vs[40]['PROP'],'AreaName' => "Bengkulu"], +['Parent' => '','AreaCode' => '18','Class' => $vs[40]['PROP'],'AreaName' => "Lampung"], +['Parent' => '','AreaCode' => '19','Class' => $vs[40]['PROP'],'AreaName' => "Kep._Bangka_Belitung"], +['Parent' => '','AreaCode' => '31','Class' => $vs[40]['PROP'],'AreaName' => "DKI_Jakarta"], +['Parent' => '','AreaCode' => '32','Class' => $vs[40]['PROP'],'AreaName' => "Jawa_Barat"], +['Parent' => '','AreaCode' => '33','Class' => $vs[40]['PROP'],'AreaName' => "Jawa_Tengah"], +['Parent' => '','AreaCode' => '34','Class' => $vs[40]['PROP'],'AreaName' => "DI_Yogyakarta"], +['Parent' => '','AreaCode' => '35','Class' => $vs[40]['PROP'],'AreaName' => "Jawa_Timur"], +['Parent' => '','AreaCode' => '36','Class' => $vs[40]['PROP'],'AreaName' => "Banten"], +['Parent' => '','AreaCode' => '51','Class' => $vs[40]['PROP'],'AreaName' => "Bali"], +['Parent' => '','AreaCode' => '52','Class' => $vs[40]['PROP'],'AreaName' => "Nusa_Tenggara_Barat"], +['Parent' => '','AreaCode' => '53','Class' => $vs[40]['PROP'],'AreaName' => "Nusa_Tenggara_Timur"], +['Parent' => '','AreaCode' => '61','Class' => $vs[40]['PROP'],'AreaName' => "Kalimantan_Barat"], +['Parent' => '','AreaCode' => '62','Class' => $vs[40]['PROP'],'AreaName' => "Kalimantan_Tengah"], +['Parent' => '','AreaCode' => '63','Class' => $vs[40]['PROP'],'AreaName' => "Kalimantan_Selatan"], +['Parent' => '','AreaCode' => '64','Class' => $vs[40]['PROP'],'AreaName' => "Kalimantan_Timur"], +['Parent' => '','AreaCode' => '65','Class' => $vs[40]['PROP'],'AreaName' => "Kalimantan_Utara"], +['Parent' => '','AreaCode' => '71','Class' => $vs[40]['PROP'],'AreaName' => "Sulawesi_Utara"], +['Parent' => '','AreaCode' => '72','Class' => $vs[40]['PROP'],'AreaName' => "Sulawesi_Tengah"], +['Parent' => '','AreaCode' => '73','Class' => $vs[40]['PROP'],'AreaName' => "Sulawesi_Selatan"], +['Parent' => '','AreaCode' => '74','Class' => $vs[40]['PROP'],'AreaName' => "Sulawesi_Tenggara"], +['Parent' => '','AreaCode' => '75','Class' => $vs[40]['PROP'],'AreaName' => "Gorontalo"], +['Parent' => '','AreaCode' => '76','Class' => $vs[40]['PROP'],'AreaName' => "Sulawesi_Barat"], +['Parent' => '','AreaCode' => '81','Class' => $vs[40]['PROP'],'AreaName' => "Maluku"], +['Parent' => '','AreaCode' => '82','Class' => $vs[40]['PROP'],'AreaName' => "Maluku_Utara"], +['Parent' => '','AreaCode' => '91','Class' => $vs[40]['PROP'],'AreaName' => "Papua"], +['Parent' => '','AreaCode' => '92','Class' => $vs[40]['PROP'],'AreaName' => "Papua_Barat"], +['Parent' => '1','AreaCode' => '11.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Simeulue"], +['Parent' => '1','AreaCode' => '11.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Singkil"], +['Parent' => '1','AreaCode' => '11.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Selatan"], +['Parent' => '1','AreaCode' => '11.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Tenggara"], +['Parent' => '1','AreaCode' => '11.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Timur"], +['Parent' => '1','AreaCode' => '11.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Tengah"], +['Parent' => '1','AreaCode' => '11.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Barat"], +['Parent' => '1','AreaCode' => '11.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Besar"], +['Parent' => '1','AreaCode' => '11.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pidie"], +['Parent' => '1','AreaCode' => '11.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bireuen"], +['Parent' => '1','AreaCode' => '11.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Utara"], +['Parent' => '1','AreaCode' => '11.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Barat Daya"], +['Parent' => '1','AreaCode' => '11.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Gayo Lues"], +['Parent' => '1','AreaCode' => '11.16','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Tamiang"], +['Parent' => '1','AreaCode' => '11.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nagan Raya"], +['Parent' => '1','AreaCode' => '11.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Aceh Jaya"], +['Parent' => '1','AreaCode' => '11.17','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bener Meriah"], +['Parent' => '1','AreaCode' => '11.18','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pidie Jaya"], +['Parent' => '1','AreaCode' => '11.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Banda Aceh"], +['Parent' => '1','AreaCode' => '11.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Sabang"], +['Parent' => '1','AreaCode' => '11.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Langsa"], +['Parent' => '1','AreaCode' => '11.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Lhokseumawe"], +['Parent' => '1','AreaCode' => '11.75','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Subulussalam"], +['Parent' => '2','AreaCode' => '12.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nias"], +['Parent' => '2','AreaCode' => '12.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mandailing Natal"], +['Parent' => '2','AreaCode' => '12.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tapanuli Selatan"], +['Parent' => '2','AreaCode' => '12.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tapanuli Tengah"], +['Parent' => '2','AreaCode' => '12.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tapanuli Utara"], +['Parent' => '2','AreaCode' => '12.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Toba Samosir"], +['Parent' => '2','AreaCode' => '12.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Labuhanbatu"], +['Parent' => '2','AreaCode' => '12.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Asahan"], +['Parent' => '2','AreaCode' => '12.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Simalungun"], +['Parent' => '2','AreaCode' => '12.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Dairi"], +['Parent' => '2','AreaCode' => '12.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Karo"], +['Parent' => '2','AreaCode' => '12.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Deli Serdang"], +['Parent' => '2','AreaCode' => '12.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Langkat"], +['Parent' => '2','AreaCode' => '12.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nias Selatan"], +['Parent' => '2','AreaCode' => '12.16','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Humbang Hasundutan"], +['Parent' => '2','AreaCode' => '12.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pakpak Bharat"], +['Parent' => '2','AreaCode' => '12.17','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Samosir"], +['Parent' => '2','AreaCode' => '12.18','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Serdang Bedagai"], +['Parent' => '2','AreaCode' => '12.19','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Batu Bara"], +['Parent' => '2','AreaCode' => '12.2','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Padang Lawas Utara"], +['Parent' => '2','AreaCode' => '12.21','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Padang Lawas"], +['Parent' => '2','AreaCode' => '12.22','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Labuhanbatu Selatan"], +['Parent' => '2','AreaCode' => '12.23','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Labuhanbatu Utara"], +['Parent' => '2','AreaCode' => '12.24','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nias Utara"], +['Parent' => '2','AreaCode' => '12.25','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nias Barat"], +['Parent' => '2','AreaCode' => '12.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Sibolga"], +['Parent' => '2','AreaCode' => '12.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tanjung Balai"], +['Parent' => '2','AreaCode' => '12.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Pematangsiantar"], +['Parent' => '2','AreaCode' => '12.76','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tebing Tinggi"], +['Parent' => '2','AreaCode' => '12.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Medan"], +['Parent' => '2','AreaCode' => '12.75','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Binjai"], +['Parent' => '2','AreaCode' => '12.77','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Padang Sidempuan"], +['Parent' => '2','AreaCode' => '12.78','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Gunungsitoli"], +['Parent' => '3','AreaCode' => '13.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Mentawai"], +['Parent' => '3','AreaCode' => '13.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pesisir Selatan"], +['Parent' => '3','AreaCode' => '13.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Solok"], +['Parent' => '3','AreaCode' => '13.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sijunjung"], +['Parent' => '3','AreaCode' => '13.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tanah Datar"], +['Parent' => '3','AreaCode' => '13.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Padang Pariaman"], +['Parent' => '3','AreaCode' => '13.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Agam"], +['Parent' => '3','AreaCode' => '13.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lima Puluh Kota"], +['Parent' => '3','AreaCode' => '13.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pasaman"], +['Parent' => '3','AreaCode' => '13.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Solok Selatan"], +['Parent' => '3','AreaCode' => '13.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Dharmasraya"], +['Parent' => '3','AreaCode' => '13.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pasaman Barat"], +['Parent' => '3','AreaCode' => '13.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Padang"], +['Parent' => '3','AreaCode' => '13.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Solok"], +['Parent' => '3','AreaCode' => '13.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Sawahlunto"], +['Parent' => '3','AreaCode' => '13.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Padang Panjang"], +['Parent' => '3','AreaCode' => '13.75','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bukittinggi"], +['Parent' => '3','AreaCode' => '13.76','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Payakumbuh"], +['Parent' => '3','AreaCode' => '13.77','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Pariaman"], +['Parent' => '4','AreaCode' => '14.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kuantan Singingi"], +['Parent' => '4','AreaCode' => '14.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Indragiri Hulu"], +['Parent' => '4','AreaCode' => '14.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Indragiri Hilir"], +['Parent' => '4','AreaCode' => '14.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pelalawan"], +['Parent' => '4','AreaCode' => '14.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Siak"], +['Parent' => '4','AreaCode' => '14.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kampar"], +['Parent' => '4','AreaCode' => '14.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Rokan Hulu"], +['Parent' => '4','AreaCode' => '14.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bengkalis"], +['Parent' => '4','AreaCode' => '14.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Rokan Hilir"], +['Parent' => '4','AreaCode' => '14.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Meranti"], +['Parent' => '4','AreaCode' => '14.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Pekanbaru"], +['Parent' => '4','AreaCode' => '14.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Dumai"], +['Parent' => '6','AreaCode' => '15.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kerinci"], +['Parent' => '6','AreaCode' => '15.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Merangin"], +['Parent' => '6','AreaCode' => '15.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sarolangun"], +['Parent' => '6','AreaCode' => '15.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Batanghari"], +['Parent' => '6','AreaCode' => '15.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Muaro Jambi"], +['Parent' => '6','AreaCode' => '15.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tanjung Jabung Timur"], +['Parent' => '6','AreaCode' => '15.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tanjung Jabung Barat"], +['Parent' => '6','AreaCode' => '15.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tebo"], +['Parent' => '6','AreaCode' => '15.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bungo"], +['Parent' => '6','AreaCode' => '15.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Jambi"], +['Parent' => '6','AreaCode' => '15.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Sungai Penuh"], +['Parent' => '7','AreaCode' => '16.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ogan Komering Ulu"], +['Parent' => '7','AreaCode' => '16.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ogan Komering Ilir"], +['Parent' => '7','AreaCode' => '16.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Muara Enim"], +['Parent' => '7','AreaCode' => '16.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lahat"], +['Parent' => '7','AreaCode' => '16.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Musi Rawas"], +['Parent' => '7','AreaCode' => '16.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Musi Banyuasin"], +['Parent' => '7','AreaCode' => '16.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Banyuasin"], +['Parent' => '7','AreaCode' => '16.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ogan Komering Ulu Timur"], +['Parent' => '7','AreaCode' => '16.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ogan Komering Ulu Selatan"], +['Parent' => '7','AreaCode' => '16.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ogan Ilir"], +['Parent' => '7','AreaCode' => '16.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Empat Lawang"], +['Parent' => '7','AreaCode' => '16.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Penukal Abab Lematang Ilir"], +['Parent' => '7','AreaCode' => '16.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Musi Rawas Utara"], +['Parent' => '7','AreaCode' => '16.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Palembang"], +['Parent' => '7','AreaCode' => '16.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Prabumulih"], +['Parent' => '7','AreaCode' => '16.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Pagar Alam"], +['Parent' => '7','AreaCode' => '16.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Lubuklinggau"], +['Parent' => '8','AreaCode' => '17.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bengkulu Selatan"], +['Parent' => '8','AreaCode' => '17.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Rejang Lebong"], +['Parent' => '8','AreaCode' => '17.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bengkulu Utara"], +['Parent' => '8','AreaCode' => '17.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kaur"], +['Parent' => '8','AreaCode' => '17.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Seluma"], +['Parent' => '8','AreaCode' => '17.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mukomuko"], +['Parent' => '8','AreaCode' => '17.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lebong"], +['Parent' => '8','AreaCode' => '17.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepahiang"], +['Parent' => '8','AreaCode' => '17.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bengkulu Tengah"], +['Parent' => '8','AreaCode' => '17.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bengkulu"], +['Parent' => '9','AreaCode' => '18.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lampung Barat"], +['Parent' => '9','AreaCode' => '18.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tanggamus"], +['Parent' => '9','AreaCode' => '18.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lampung Selatan"], +['Parent' => '9','AreaCode' => '18.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lampung Timur"], +['Parent' => '9','AreaCode' => '18.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lampung Tengah"], +['Parent' => '9','AreaCode' => '18.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lampung Utara"], +['Parent' => '9','AreaCode' => '18.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Way Kanan"], +['Parent' => '9','AreaCode' => '18.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tulang Bawang"], +['Parent' => '9','AreaCode' => '18.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pesawaran"], +['Parent' => '9','AreaCode' => '18.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pringsewu"], +['Parent' => '9','AreaCode' => '18.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mesuji"], +['Parent' => '9','AreaCode' => '18.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tulang Bawang Barat"], +['Parent' => '9','AreaCode' => '18.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pesisir Barat"], +['Parent' => '9','AreaCode' => '18.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bandar Lampung"], +['Parent' => '9','AreaCode' => '18.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Metro"], +['Parent' => '10','AreaCode' => '19.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bangka"], +['Parent' => '10','AreaCode' => '19.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Belitung"], +['Parent' => '10','AreaCode' => '19.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bangka Barat"], +['Parent' => '10','AreaCode' => '19.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bangka Tengah"], +['Parent' => '10','AreaCode' => '19.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bangka Selatan"], +['Parent' => '10','AreaCode' => '19.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Belitung Timur"], +['Parent' => '10','AreaCode' => '19.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Pangkalpinang"], +['Parent' => '5','AreaCode' => '21.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Karimun"], +['Parent' => '5','AreaCode' => '21.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bintan"], +['Parent' => '5','AreaCode' => '21.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Natuna"], +['Parent' => '5','AreaCode' => '21.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lingga"], +['Parent' => '5','AreaCode' => '21.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Anambas"], +['Parent' => '5','AreaCode' => '21.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Batam"], +['Parent' => '5','AreaCode' => '21.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tanjung Pinang"], +['Parent' => '11','AreaCode' => '31.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Adm. Kep. Seribu"], +['Parent' => '11','AreaCode' => '31.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Adm. Jakarta Selatan"], +['Parent' => '11','AreaCode' => '31.75','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Adm. Jakarta Timur"], +['Parent' => '11','AreaCode' => '31.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Adm. Jakarta Pusat"], +['Parent' => '11','AreaCode' => '31.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Adm. Jakarta Barat"], +['Parent' => '11','AreaCode' => '31.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Adm. Jakarta Utara"], +['Parent' => '12','AreaCode' => '32.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bogor"], +['Parent' => '12','AreaCode' => '32.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sukabumi"], +['Parent' => '12','AreaCode' => '32.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Cianjur"], +['Parent' => '12','AreaCode' => '32.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bandung"], +['Parent' => '12','AreaCode' => '32.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Garut"], +['Parent' => '12','AreaCode' => '32.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tasikmalaya"], +['Parent' => '12','AreaCode' => '32.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ciamis"], +['Parent' => '12','AreaCode' => '32.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kuningan"], +['Parent' => '12','AreaCode' => '32.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Cirebon"], +['Parent' => '12','AreaCode' => '32.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Majalengka"], +['Parent' => '12','AreaCode' => '32.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sumedang"], +['Parent' => '12','AreaCode' => '32.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Indramayu"], +['Parent' => '12','AreaCode' => '32.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Subang"], +['Parent' => '12','AreaCode' => '32.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Purwakarta"], +['Parent' => '12','AreaCode' => '32.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Karawang"], +['Parent' => '12','AreaCode' => '32.16','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bekasi"], +['Parent' => '12','AreaCode' => '32.17','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bandung Barat"], +['Parent' => '12','AreaCode' => '32.18','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pangandaran"], +['Parent' => '12','AreaCode' => '32.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bogor"], +['Parent' => '12','AreaCode' => '32.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Sukabumi"], +['Parent' => '12','AreaCode' => '32.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bandung"], +['Parent' => '12','AreaCode' => '32.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Cirebon"], +['Parent' => '12','AreaCode' => '32.75','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bekasi"], +['Parent' => '12','AreaCode' => '32.76','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Depok"], +['Parent' => '12','AreaCode' => '32.77','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Cimahi"], +['Parent' => '12','AreaCode' => '32.78','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tasikmalaya"], +['Parent' => '12','AreaCode' => '32.79','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Banjar"], +['Parent' => '13','AreaCode' => '33.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Cilacap"], +['Parent' => '13','AreaCode' => '33.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Banyumas"], +['Parent' => '13','AreaCode' => '33.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Purbalingga"], +['Parent' => '13','AreaCode' => '33.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Banjarnegara"], +['Parent' => '13','AreaCode' => '33.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kebumen"], +['Parent' => '13','AreaCode' => '33.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Purworejo"], +['Parent' => '13','AreaCode' => '33.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Wonosobo"], +['Parent' => '13','AreaCode' => '33.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Magelang"], +['Parent' => '13','AreaCode' => '33.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Boyolali"], +['Parent' => '13','AreaCode' => '33.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Klaten"], +['Parent' => '13','AreaCode' => '33.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sukoharjo"], +['Parent' => '13','AreaCode' => '33.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Wonogiri"], +['Parent' => '13','AreaCode' => '33.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Karanganyar"], +['Parent' => '13','AreaCode' => '33.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sragen"], +['Parent' => '13','AreaCode' => '33.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Grobogan"], +['Parent' => '13','AreaCode' => '33.16','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Blora"], +['Parent' => '13','AreaCode' => '33.17','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Rembang"], +['Parent' => '13','AreaCode' => '33.18','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pati"], +['Parent' => '13','AreaCode' => '33.19','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kudus"], +['Parent' => '13','AreaCode' => '33.2','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Jepara"], +['Parent' => '13','AreaCode' => '33.21','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Demak"], +['Parent' => '13','AreaCode' => '33.22','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Semarang"], +['Parent' => '13','AreaCode' => '33.23','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Temanggung"], +['Parent' => '13','AreaCode' => '33.24','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kendal"], +['Parent' => '13','AreaCode' => '33.25','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Batang"], +['Parent' => '13','AreaCode' => '33.26','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pekalongan"], +['Parent' => '13','AreaCode' => '33.27','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pemalang"], +['Parent' => '13','AreaCode' => '33.28','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tegal"], +['Parent' => '13','AreaCode' => '33.29','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Brebes"], +['Parent' => '13','AreaCode' => '33.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Magelang"], +['Parent' => '13','AreaCode' => '33.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Surakarta"], +['Parent' => '13','AreaCode' => '33.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Salatiga"], +['Parent' => '13','AreaCode' => '33.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Semarang"], +['Parent' => '13','AreaCode' => '33.75','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Pekalongan"], +['Parent' => '13','AreaCode' => '33.76','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tegal"], +['Parent' => '14','AreaCode' => '34.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kulon Progo"], +['Parent' => '14','AreaCode' => '34.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bantul"], +['Parent' => '14','AreaCode' => '34.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Gunungkidul"], +['Parent' => '14','AreaCode' => '34.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sleman"], +['Parent' => '14','AreaCode' => '34.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Yogyakarta"], +['Parent' => '15','AreaCode' => '35.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pacitan"], +['Parent' => '15','AreaCode' => '35.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ponorogo"], +['Parent' => '15','AreaCode' => '35.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Trenggalek"], +['Parent' => '15','AreaCode' => '35.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tulungagung"], +['Parent' => '15','AreaCode' => '35.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Blitar"], +['Parent' => '15','AreaCode' => '35.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kediri"], +['Parent' => '15','AreaCode' => '35.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Malang"], +['Parent' => '15','AreaCode' => '35.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lumajang"], +['Parent' => '15','AreaCode' => '35.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Jember"], +['Parent' => '15','AreaCode' => '35.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Banyuwangi"], +['Parent' => '15','AreaCode' => '35.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bondowoso"], +['Parent' => '15','AreaCode' => '35.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Situbondo"], +['Parent' => '15','AreaCode' => '35.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Probolinggo"], +['Parent' => '15','AreaCode' => '35.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pasuruan"], +['Parent' => '15','AreaCode' => '35.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sidoarjo"], +['Parent' => '15','AreaCode' => '35.16','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mojokerto"], +['Parent' => '15','AreaCode' => '35.17','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Jombang"], +['Parent' => '15','AreaCode' => '35.18','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nganjuk"], +['Parent' => '15','AreaCode' => '35.19','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Madiun"], +['Parent' => '15','AreaCode' => '35.2','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Magetan"], +['Parent' => '15','AreaCode' => '35.21','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ngawi"], +['Parent' => '15','AreaCode' => '35.22','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bojonegoro"], +['Parent' => '15','AreaCode' => '35.23','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tuban"], +['Parent' => '15','AreaCode' => '35.24','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lamongan"], +['Parent' => '15','AreaCode' => '35.25','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Gresik"], +['Parent' => '15','AreaCode' => '35.26','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bangkalan"], +['Parent' => '15','AreaCode' => '35.27','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sampang"], +['Parent' => '15','AreaCode' => '35.28','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pamekasan"], +['Parent' => '15','AreaCode' => '35.29','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sumenep"], +['Parent' => '15','AreaCode' => '35.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Kediri"], +['Parent' => '15','AreaCode' => '35.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Blitar"], +['Parent' => '15','AreaCode' => '35.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Malang"], +['Parent' => '15','AreaCode' => '35.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Probolinggo"], +['Parent' => '15','AreaCode' => '35.75','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Pasuruan"], +['Parent' => '15','AreaCode' => '35.76','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Mojokerto"], +['Parent' => '15','AreaCode' => '35.77','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Madiun"], +['Parent' => '15','AreaCode' => '35.78','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Surabaya"], +['Parent' => '15','AreaCode' => '35.79','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Batu"], +['Parent' => '16','AreaCode' => '36.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pandeglang"], +['Parent' => '16','AreaCode' => '36.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lebak"], +['Parent' => '16','AreaCode' => '36.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tangerang"], +['Parent' => '16','AreaCode' => '36.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Serang"], +['Parent' => '16','AreaCode' => '36.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tangerang"], +['Parent' => '16','AreaCode' => '36.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Cilegon"], +['Parent' => '16','AreaCode' => '36.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Serang"], +['Parent' => '16','AreaCode' => '36.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tangerang Selatan"], +['Parent' => '17','AreaCode' => '51.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Jembrana"], +['Parent' => '17','AreaCode' => '51.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tabanan"], +['Parent' => '17','AreaCode' => '51.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Badung"], +['Parent' => '17','AreaCode' => '51.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Gianyar"], +['Parent' => '17','AreaCode' => '51.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Klungkung"], +['Parent' => '17','AreaCode' => '51.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bangli"], +['Parent' => '17','AreaCode' => '51.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Karangasem"], +['Parent' => '17','AreaCode' => '51.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Buleleng"], +['Parent' => '17','AreaCode' => '51.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Denpasar"], +['Parent' => '18','AreaCode' => '52.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lombok Barat"], +['Parent' => '18','AreaCode' => '52.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lombok Tengah"], +['Parent' => '18','AreaCode' => '52.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lombok Timur"], +['Parent' => '18','AreaCode' => '52.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sumbawa"], +['Parent' => '18','AreaCode' => '52.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Dompu"], +['Parent' => '18','AreaCode' => '52.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bima"], +['Parent' => '18','AreaCode' => '52.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sumbawa Barat"], +['Parent' => '18','AreaCode' => '52.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lombok Utara"], +['Parent' => '18','AreaCode' => '52.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Mataram"], +['Parent' => '18','AreaCode' => '52.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bima"], +['Parent' => '19','AreaCode' => '53.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sumba Barat"], +['Parent' => '19','AreaCode' => '53.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sumba Timur"], +['Parent' => '19','AreaCode' => '53.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kupang"], +['Parent' => '19','AreaCode' => '53.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Timor Tengah Selatan"], +['Parent' => '19','AreaCode' => '53.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Timor Tengah Utara"], +['Parent' => '19','AreaCode' => '53.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Belu"], +['Parent' => '19','AreaCode' => '53.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Alor"], +['Parent' => '19','AreaCode' => '53.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lembata"], +['Parent' => '19','AreaCode' => '53.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Flores Timur"], +['Parent' => '19','AreaCode' => '53.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sikka"], +['Parent' => '19','AreaCode' => '53.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ende"], +['Parent' => '19','AreaCode' => '53.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ngada"], +['Parent' => '19','AreaCode' => '53.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Manggarai"], +['Parent' => '19','AreaCode' => '53.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Rote Ndao"], +['Parent' => '19','AreaCode' => '53.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Manggarai Barat"], +['Parent' => '19','AreaCode' => '53.17','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sumba Tengah"], +['Parent' => '19','AreaCode' => '53.18','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sumba Barat Daya"], +['Parent' => '19','AreaCode' => '53.16','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nagekeo"], +['Parent' => '19','AreaCode' => '53.19','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Manggarai Timur"], +['Parent' => '19','AreaCode' => '53.2','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sabu Raijua"], +['Parent' => '19','AreaCode' => '53.21','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Malaka"], +['Parent' => '19','AreaCode' => '53.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Kupang"], +['Parent' => '20','AreaCode' => '61.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sambas"], +['Parent' => '20','AreaCode' => '61.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bengkayang"], +['Parent' => '20','AreaCode' => '61.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Landak"], +['Parent' => '20','AreaCode' => '61.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mempawah"], +['Parent' => '20','AreaCode' => '61.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sanggau"], +['Parent' => '20','AreaCode' => '61.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Ketapang"], +['Parent' => '20','AreaCode' => '61.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sintang"], +['Parent' => '20','AreaCode' => '61.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kapuas Hulu"], +['Parent' => '20','AreaCode' => '61.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sekadau"], +['Parent' => '20','AreaCode' => '61.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Melawi"], +['Parent' => '20','AreaCode' => '61.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kayong Utara"], +['Parent' => '20','AreaCode' => '61.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kubu Raya"], +['Parent' => '20','AreaCode' => '61.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Pontianak"], +['Parent' => '20','AreaCode' => '61.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Singkawang"], +['Parent' => '21','AreaCode' => '62.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kotawaringin Barat"], +['Parent' => '21','AreaCode' => '62.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kotawaringin Timur"], +['Parent' => '21','AreaCode' => '62.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kapuas"], +['Parent' => '21','AreaCode' => '62.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Barito Selatan"], +['Parent' => '21','AreaCode' => '62.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Barito Utara"], +['Parent' => '21','AreaCode' => '62.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sukamara"], +['Parent' => '21','AreaCode' => '62.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lamandau"], +['Parent' => '21','AreaCode' => '62.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Seruyan"], +['Parent' => '21','AreaCode' => '62.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Katingan"], +['Parent' => '21','AreaCode' => '62.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pulang Pisau"], +['Parent' => '21','AreaCode' => '62.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Gunung Mas"], +['Parent' => '21','AreaCode' => '62.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Barito Timur"], +['Parent' => '21','AreaCode' => '62.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Murung Raya"], +['Parent' => '21','AreaCode' => '62.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Palangka Raya"], +['Parent' => '22','AreaCode' => '63.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tanah Laut"], +['Parent' => '22','AreaCode' => '63.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kotabaru"], +['Parent' => '22','AreaCode' => '63.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Banjar"], +['Parent' => '22','AreaCode' => '63.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Barito Kuala"], +['Parent' => '22','AreaCode' => '63.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tapin"], +['Parent' => '22','AreaCode' => '63.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Hulu Sungai Selatan"], +['Parent' => '22','AreaCode' => '63.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Hulu Sungai Tengah"], +['Parent' => '22','AreaCode' => '63.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Hulu Sungai Utara"], +['Parent' => '22','AreaCode' => '63.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tabalong"], +['Parent' => '22','AreaCode' => '63.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tanah Bumbu"], +['Parent' => '22','AreaCode' => '63.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Balangan"], +['Parent' => '22','AreaCode' => '63.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Banjarmasin"], +['Parent' => '22','AreaCode' => '63.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Banjarbaru"], +['Parent' => '23','AreaCode' => '64.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Paser"], +['Parent' => '23','AreaCode' => '64.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kutai Barat"], +['Parent' => '23','AreaCode' => '64.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kutai Kartanegara"], +['Parent' => '23','AreaCode' => '64.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kutai Timur"], +['Parent' => '23','AreaCode' => '64.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Berau"], +['Parent' => '23','AreaCode' => '64.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Penajam Paser Utara"], +['Parent' => '23','AreaCode' => '64.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mahakam Ulu"], +['Parent' => '23','AreaCode' => '64.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Balikpapan"], +['Parent' => '23','AreaCode' => '64.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Samarinda"], +['Parent' => '23','AreaCode' => '64.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bontang"], +['Parent' => '24','AreaCode' => '65.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Malinau"], +['Parent' => '24','AreaCode' => '65.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bulungan"], +['Parent' => '24','AreaCode' => '65.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tana Tidung"], +['Parent' => '24','AreaCode' => '65.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nunukan"], +['Parent' => '24','AreaCode' => '65.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tarakan"], +['Parent' => '25','AreaCode' => '71.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bolaang Mongondow"], +['Parent' => '25','AreaCode' => '71.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Minahasa"], +['Parent' => '25','AreaCode' => '71.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Sangihe"], +['Parent' => '25','AreaCode' => '71.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Talaud"], +['Parent' => '25','AreaCode' => '71.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Minahasa Selatan"], +['Parent' => '25','AreaCode' => '71.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Minahasa Utara"], +['Parent' => '25','AreaCode' => '71.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bolaang Mongondow Utara"], +['Parent' => '25','AreaCode' => '71.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Siau Tagulandang Biaro"], +['Parent' => '25','AreaCode' => '71.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Minahasa Tenggara"], +['Parent' => '25','AreaCode' => '71.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bolaang Mongondow Selatan"], +['Parent' => '25','AreaCode' => '71.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bolaang Mongondow Timur"], +['Parent' => '25','AreaCode' => '71.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Manado"], +['Parent' => '25','AreaCode' => '71.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Bitung"], +['Parent' => '25','AreaCode' => '71.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tomohon"], +['Parent' => '25','AreaCode' => '71.74','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Kotamobagu"], +['Parent' => '26','AreaCode' => '72.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Banggai Kepulauan"], +['Parent' => '26','AreaCode' => '72.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Banggai"], +['Parent' => '26','AreaCode' => '72.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Morowali"], +['Parent' => '26','AreaCode' => '72.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Poso"], +['Parent' => '26','AreaCode' => '72.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Donggala"], +['Parent' => '26','AreaCode' => '72.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tolitoli"], +['Parent' => '26','AreaCode' => '72.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Buol"], +['Parent' => '26','AreaCode' => '72.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Parigi Moutong"], +['Parent' => '26','AreaCode' => '72.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tojo Una-Una"], +['Parent' => '26','AreaCode' => '72.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sigi"], +['Parent' => '26','AreaCode' => '72.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Banggai Laut"], +['Parent' => '26','AreaCode' => '72.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Morowali Utara"], +['Parent' => '26','AreaCode' => '72.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Palu"], +['Parent' => '27','AreaCode' => '73.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Selayar"], +['Parent' => '27','AreaCode' => '73.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bulukumba"], +['Parent' => '27','AreaCode' => '73.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bantaeng"], +['Parent' => '27','AreaCode' => '73.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Jeneponto"], +['Parent' => '27','AreaCode' => '73.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Takalar"], +['Parent' => '27','AreaCode' => '73.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Gowa"], +['Parent' => '27','AreaCode' => '73.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sinjai"], +['Parent' => '27','AreaCode' => '73.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Maros"], +['Parent' => '27','AreaCode' => '73.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pangkajene dan Kepulauan"], +['Parent' => '27','AreaCode' => '73.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Barru"], +['Parent' => '27','AreaCode' => '73.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bone"], +['Parent' => '27','AreaCode' => '73.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Soppeng"], +['Parent' => '27','AreaCode' => '73.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Wajo"], +['Parent' => '27','AreaCode' => '73.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sidenreng Rappang"], +['Parent' => '27','AreaCode' => '73.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pinrang"], +['Parent' => '27','AreaCode' => '73.16','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Enrekang"], +['Parent' => '27','AreaCode' => '73.17','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Luwu"], +['Parent' => '27','AreaCode' => '73.18','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tana Toraja"], +['Parent' => '27','AreaCode' => '73.22','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Luwu Utara"], +['Parent' => '27','AreaCode' => '73.24','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Luwu Timur"], +['Parent' => '27','AreaCode' => '73.26','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Toraja Utara"], +['Parent' => '27','AreaCode' => '73.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Makassar"], +['Parent' => '27','AreaCode' => '73.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Parepare"], +['Parent' => '27','AreaCode' => '73.73','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Palopo"], +['Parent' => '28','AreaCode' => '74.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Buton"], +['Parent' => '28','AreaCode' => '74.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Muna"], +['Parent' => '28','AreaCode' => '74.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Konawe"], +['Parent' => '28','AreaCode' => '74.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kolaka"], +['Parent' => '28','AreaCode' => '74.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Konawe Selatan"], +['Parent' => '28','AreaCode' => '74.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bombana"], +['Parent' => '28','AreaCode' => '74.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Wakatobi"], +['Parent' => '28','AreaCode' => '74.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kolaka Utara"], +['Parent' => '28','AreaCode' => '74.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Buton Utara"], +['Parent' => '28','AreaCode' => '74.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Konawe Utara"], +['Parent' => '28','AreaCode' => '74.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kolaka Timur"], +['Parent' => '28','AreaCode' => '74.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Konawe Kepulauan"], +['Parent' => '28','AreaCode' => '74.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Muna Barat"], +['Parent' => '28','AreaCode' => '74.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Buton Tengah"], +['Parent' => '28','AreaCode' => '74.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Buton Selatan"], +['Parent' => '28','AreaCode' => '74.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Kendari"], +['Parent' => '28','AreaCode' => '74.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Baubau"], +['Parent' => '29','AreaCode' => '75.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Boalemo"], +['Parent' => '29','AreaCode' => '75.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Gorontalo"], +['Parent' => '29','AreaCode' => '75.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pohuwato"], +['Parent' => '29','AreaCode' => '75.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Bone Bolango"], +['Parent' => '29','AreaCode' => '75.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Gorontalo Utara"], +['Parent' => '29','AreaCode' => '75.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Gorontalo"], +['Parent' => '30','AreaCode' => '76.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Majene"], +['Parent' => '30','AreaCode' => '76.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Polewali Mandar"], +['Parent' => '30','AreaCode' => '76.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mamasa"], +['Parent' => '30','AreaCode' => '76.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mamuju"], +['Parent' => '30','AreaCode' => '76.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pasangkayu"], +['Parent' => '30','AreaCode' => '76.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mamuju Tengah"], +['Parent' => '31','AreaCode' => '81.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Tanimbar"], +['Parent' => '31','AreaCode' => '81.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Maluku Tenggara"], +['Parent' => '31','AreaCode' => '81.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Maluku Tengah"], +['Parent' => '31','AreaCode' => '81.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Buru"], +['Parent' => '31','AreaCode' => '81.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Aru"], +['Parent' => '31','AreaCode' => '81.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Seram Bagian Barat"], +['Parent' => '31','AreaCode' => '81.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Seram Bagian Timur"], +['Parent' => '31','AreaCode' => '81.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Maluku Barat Daya"], +['Parent' => '31','AreaCode' => '81.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Buru Selatan"], +['Parent' => '31','AreaCode' => '81.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Ambon"], +['Parent' => '31','AreaCode' => '81.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tual"], +['Parent' => '32','AreaCode' => '82.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Halmahera Barat"], +['Parent' => '32','AreaCode' => '82.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Halmahera Tengah"], +['Parent' => '32','AreaCode' => '82.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Sula"], +['Parent' => '32','AreaCode' => '82.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Halmahera Selatan"], +['Parent' => '32','AreaCode' => '82.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Halmahera Utara"], +['Parent' => '32','AreaCode' => '82.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Halmahera Timur"], +['Parent' => '32','AreaCode' => '82.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pulau Morotai"], +['Parent' => '32','AreaCode' => '82.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pulau Taliabu"], +['Parent' => '32','AreaCode' => '82.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Ternate"], +['Parent' => '32','AreaCode' => '82.72','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Tidore Kepulauan"], +['Parent' => '34','AreaCode' => '92.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Fakfak"], +['Parent' => '34','AreaCode' => '92.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kaimana"], +['Parent' => '34','AreaCode' => '92.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Teluk Wondama"], +['Parent' => '34','AreaCode' => '92.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Teluk Bintuni"], +['Parent' => '34','AreaCode' => '92.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Manokwari"], +['Parent' => '34','AreaCode' => '92.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sorong Selatan"], +['Parent' => '34','AreaCode' => '92.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sorong"], +['Parent' => '34','AreaCode' => '92.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Raja Ampat"], +['Parent' => '34','AreaCode' => '92.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tambrauw"], +['Parent' => '34','AreaCode' => '92.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Maybrat"], +['Parent' => '34','AreaCode' => '92.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Manokwari Selatan"], +['Parent' => '34','AreaCode' => '92.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pegunungan Arfak"], +['Parent' => '34','AreaCode' => '92.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Sorong"], +['Parent' => '33','AreaCode' => '91.01','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Merauke"], +['Parent' => '33','AreaCode' => '91.02','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Jayawijaya"], +['Parent' => '33','AreaCode' => '91.03','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Jayapura"], +['Parent' => '33','AreaCode' => '91.04','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nabire"], +['Parent' => '33','AreaCode' => '91.05','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Kepulauan Yapen"], +['Parent' => '33','AreaCode' => '91.06','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Biak Numfor"], +['Parent' => '33','AreaCode' => '91.08','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Paniai"], +['Parent' => '33','AreaCode' => '91.07','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Puncak Jaya"], +['Parent' => '33','AreaCode' => '91.09','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mimika"], +['Parent' => '33','AreaCode' => '91.16','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Boven Digoel"], +['Parent' => '33','AreaCode' => '91.17','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mappi"], +['Parent' => '33','AreaCode' => '91.18','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Asmat"], +['Parent' => '33','AreaCode' => '91.13','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Yahukimo"], +['Parent' => '33','AreaCode' => '91.12','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Pegunungan Bintang"], +['Parent' => '33','AreaCode' => '91.14','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Tolikara"], +['Parent' => '33','AreaCode' => '91.1','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Sarmi"], +['Parent' => '33','AreaCode' => '91.11','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Keerom"], +['Parent' => '33','AreaCode' => '91.15','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Waropen"], +['Parent' => '33','AreaCode' => '91.19','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Supiori"], +['Parent' => '33','AreaCode' => '91.2','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mamberamo Raya"], +['Parent' => '33','AreaCode' => '91.24','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Nduga"], +['Parent' => '33','AreaCode' => '91.23','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Lanny Jaya"], +['Parent' => '33','AreaCode' => '91.21','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Mamberamo Tengah"], +['Parent' => '33','AreaCode' => '91.22','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Yalimo"], +['Parent' => '33','AreaCode' => '91.25','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Puncak"], +['Parent' => '33','AreaCode' => '91.26','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Dogiyai"], +['Parent' => '33','AreaCode' => '91.27','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Intan Jaya"], +['Parent' => '33','AreaCode' => '91.28','Class' => $vs[40]['KAB'],'AreaName' => "Kab. Deiyai"], +['Parent' => '33','AreaCode' => '91.71','Class' => $vs[40]['KOTA'],'AreaName' => "Kota Jayapura"] + ]; + $this->db->table('areageo')->insertBatch($data); } } \ No newline at end of file diff --git a/app/Database/Seeds/ValueSetSeeder.php b/app/Database/Seeds/ValueSetSeeder.php index 2a8402f..ce18996 100644 --- a/app/Database/Seeds/ValueSetSeeder.php +++ b/app/Database/Seeds/ValueSetSeeder.php @@ -354,6 +354,9 @@ class ValueSetSeeder extends Seeder { ['VSName' => 'Site Type','VSDesc' =>'Site.SiteType', 'VSetID' => '37', 'CreateDate' => "$now"], ['VSName' => 'Site Class','VSDesc' =>'Site.SiteClass', 'VSetID' => '38', 'CreateDate' => "$now"], ['VSName' => 'Entity Type','VSDesc' =>'testmap.HostType testmap.ClientType', 'VSetID' => '39', 'CreateDate' => "$now"], +['VSName' => 'Area Class','VSDesc' =>'AreaGeo', 'VSetID' => '40', 'CreateDate' => "$now"], +['VSName' => 'Math Sign','VSDesc' =>'refthold.TholdSign', 'VSetID' => '41', 'CreateDate' => "$now"], +['VSName' => 'HIV','VSDesc' =>'Value set untuk hasil HIV', 'VSetID' => '1001', 'CreateDate' => "$now"], ]; $this->db->table('valuesetdef')->insertBatch($data); } diff --git a/app/Models/AreaGeoModel.php b/app/Models/AreaGeoModel.php new file mode 100644 index 0000000..a2a9c45 --- /dev/null +++ b/app/Models/AreaGeoModel.php @@ -0,0 +1,38 @@ +findAll(); + } + + public function getProvinces() { + $this->select('AreaGeoID, AreaName')->where('Parent IS NULL', null, false); + + if (!empty($filters['AreaGeoID'])) { + $this->where('AreaGeoID', $filters['AreaGeoID']); + } + if (!empty($filters['AreaName'])) { + $this->like('AreaName', $filters['AreaName'], 'both'); + } + + return $this->findAll(); + } + + public function getCities($filter = []) { + $rows = $this->select('AreaGeoID, AreaName')->where('Parent IS NOT NULL', null, false); + + if (!empty($filter['AreaGeoID'])) { + $this->where('Parent', $filter['AreaGeoID']); + } + + return $this->findAll(); + } + +} \ No newline at end of file diff --git a/app/Models/Contact/MedicalSpecialtyModel.php b/app/Models/Contact/MedicalSpecialtyModel.php new file mode 100644 index 0000000..616f636 --- /dev/null +++ b/app/Models/Contact/MedicalSpecialtyModel.php @@ -0,0 +1,22 @@ +like('Parent', $Parent, 'both'); + } + if($SpecialtyText != '') { + $this->like('SpecialtyText', $SpecialtyText, 'both'); + } + + $rows = $this->findAll(); + return $rows; + } +} diff --git a/app/Models/Contact/OccupationModel.php b/app/Models/Contact/OccupationModel.php index d0aeb98..f46bca3 100644 --- a/app/Models/Contact/OccupationModel.php +++ b/app/Models/Contact/OccupationModel.php @@ -7,4 +7,16 @@ class OccupationModel extends BaseModel { protected $table = 'occupation'; protected $primaryKey = 'OccupationID'; protected $allowedFields = ['OccCode', 'OccText', 'Description', 'CreateDate']; + + public function getOccupations($OccCode, $OccText) { + if($OccCode != '') { + $this->like('OccCode', $OccCode, 'both'); + } + if($OccText != '') { + $this->like('OccText', $OccText, 'both'); + } + + $rows = $this->findAll(); + return $rows; + } } diff --git a/app/Models/Location/LocationAddressModel.php b/app/Models/Location/LocationAddressModel.php index 4065e1c..4684175 100644 --- a/app/Models/Location/LocationAddressModel.php +++ b/app/Models/Location/LocationAddressModel.php @@ -5,7 +5,7 @@ use App\Models\BaseModel; class LocationAddressModel extends BaseModel { protected $table = 'locationaddress'; protected $primaryKey = 'LocationID'; - protected $allowedFields = ['Street1', 'Street2', 'City', 'Province', 'PostCode', 'GeoLocationSystem', 'GeoLocationData', 'Phone', 'Mobile', 'Email', 'CreateDate', 'EndDate']; + protected $allowedFields = ['LocationID', 'Street1', 'Street2', 'City', 'Province', 'PostCode', 'GeoLocationSystem', 'GeoLocationData', 'CreateDate', 'EndDate']; protected $useTimestamps = true; protected $createdField = 'CreateDate'; diff --git a/app/Models/Location/LocationModel.php b/app/Models/Location/LocationModel.php index 8455713..4bea19d 100644 --- a/app/Models/Location/LocationModel.php +++ b/app/Models/Location/LocationModel.php @@ -23,11 +23,14 @@ class LocationModel extends BaseModel { } public function getLocation($LocationID) { - $rows = $this->select("location.*, la.*, v.*") - ->join("locationaddress la", "location.LocationID=la.LocationID", "left") - ->join("valueset v", "v.VSetID=12 and v.VValue=location.loctype", "left") - ->where('location.LocationID', (int) $LocationID)->findAll(); - //->get()->getResultArray(); + //'Street1', 'Street2', 'City', 'Province', 'PostCode', 'GeoLocationSystem', 'GeoLocationData', + $rows = $this->select("location.*, la.Street1, la.Street2, la.PostCode, la.GeoLocationSystem, la.GeoLocationData, + v.*, prop.AreaGeoID as ProvinceID, prop.AreaName as Province, city.AreaGeoID as CityID, city.AreaName as City") + ->join("locationaddress la", "location.LocationID=la.LocationID", "left") + ->join("valueset v", "v.VSetID=12 and v.VValue=location.loctype", "left") + ->join("areageo prop", "la.Province=prop.AreaGeoID", "left") + ->join("areageo city", "la.City=city.AreaGeoID", "left") + ->where('location.LocationID', (int) $LocationID)->findAll(); return $rows; } @@ -77,3 +80,4 @@ class LocationModel extends BaseModel { } } } + \ No newline at end of file diff --git a/app/Models/Patient/PatientModel.php b/app/Models/Patient/PatientModel.php index 986fa77..705c740 100644 --- a/app/Models/Patient/PatientModel.php +++ b/app/Models/Patient/PatientModel.php @@ -66,10 +66,10 @@ class PatientModel extends BaseModel { patidt.IdentifierType, patidt.Identifier, patatt.Address, - zones1.zoneid as ProvinceID, - zones1.zonename as Province, - zones2.zoneid as CityID, - zones2.zonename as City + areageo1.AreaGeoID as ProvinceID, + areageo1.AreaName as Province, + areageo2.AreaGeoID as CityID, + areageo2.AreaName as City ") ->join('valueset country', 'country.VID = patient.Country', 'left') @@ -82,8 +82,8 @@ class PatientModel extends BaseModel { ->join('patcom', 'patcom.InternalPID = patient.InternalPID', 'left') ->join('patidt', 'patidt.InternalPID = patient.InternalPID', 'left') ->join('patatt', 'patatt.InternalPID = patient.InternalPID and patatt.DelDate is null', 'left') - ->join('zones zones1', 'zones1.zoneid = patient.Province', 'left') - ->join('zones zones2', 'zones2.zoneid = patient.City', 'left') + ->join('areageo areageo1', 'areageo1.AreaGeoID = patient.Province', 'left') + ->join('areageo areageo2', 'areageo2.AreaGeoID = patient.City', 'left') ->where('patient.InternalPID', (int) $InternalPID) ->findAll(); diff --git a/app/Models/SyncCRM/ZonesModel.php b/app/Models/ZonesModel.php similarity index 99% rename from app/Models/SyncCRM/ZonesModel.php rename to app/Models/ZonesModel.php index 253838c..987e782 100644 --- a/app/Models/SyncCRM/ZonesModel.php +++ b/app/Models/ZonesModel.php @@ -1,5 +1,6 @@