From 750ccdee00088b230889199c4a3f6c0a79d4b363 Mon Sep 17 00:00:00 2001 From: mahdahar <89adham@gmail.com> Date: Wed, 1 Oct 2025 12:40:05 +0700 Subject: [PATCH] moving country religion race ethnic to valueset --- app/Controllers/Country.php | 54 -- app/Controllers/Ethnic.php | 43 -- app/Controllers/Occupation.php | 148 +--- app/Controllers/Patient.php | 289 +------- app/Controllers/Race.php | 43 -- app/Controllers/Religion.php | 43 -- .../2025-09-02-070522_Patient_master.php | 66 -- .../2025-09-02-070826_Patient_Reg.php | 18 +- .../Migrations/2025-09-12-011643_Contact.php | 5 +- app/Database/Seeds/DBSeeder.php | 1 - app/Database/Seeds/DummySeeder.php | 14 +- app/Database/Seeds/MainSeeder.php | 325 -------- app/Database/Seeds/ValueSetSeeder.php | 695 +++++++++++++----- app/Models/OccupationModel.php | 2 +- app/Models/PatientModel.php | 223 ++++++ 15 files changed, 795 insertions(+), 1174 deletions(-) delete mode 100644 app/Controllers/Country.php delete mode 100644 app/Controllers/Ethnic.php delete mode 100644 app/Controllers/Race.php delete mode 100644 app/Controllers/Religion.php delete mode 100644 app/Database/Migrations/2025-09-02-070522_Patient_master.php delete mode 100644 app/Database/Seeds/MainSeeder.php create mode 100644 app/Models/PatientModel.php diff --git a/app/Controllers/Country.php b/app/Controllers/Country.php deleted file mode 100644 index a0687ec..0000000 --- a/app/Controllers/Country.php +++ /dev/null @@ -1,54 +0,0 @@ -db = \Config\Database::connect(); - } - - public function index() { - try { - - $Country = $this->request->getVar('Country'); - - if ($Country != null) { - $filterQuery = " WHERE Country LIKE '%$Country%'"; - } else { - $filterQuery = ""; - } - - $sql = "SELECT IntCountryID, CountryID, Country FROM country $filterQuery"; - $data = $this->db->query($sql)->getResultArray(); - - return $this->respond([ - 'status' => 'success', - 'message'=> "Country fetched successfully", - 'data' => $data, - ], 200); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong '.$e->getMessage()); - } - } - - public function show($IntCountryID = null) { - try { - - $sql = "SELECT IntCountryID, CountryID, Country FROM country WHERE IntCountryID = $IntCountryID"; - $data = $this->db->query($sql)->getResultArray(); - - return $this->respond([ - 'status' => 'success', - 'message'=> "Country with IntCountryID $IntCountryID fetched successfully", - 'data' => $data, - ], 200); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong '.$e->getMessage()); - } - } - -} \ No newline at end of file diff --git a/app/Controllers/Ethnic.php b/app/Controllers/Ethnic.php deleted file mode 100644 index 9ba74e9..0000000 --- a/app/Controllers/Ethnic.php +++ /dev/null @@ -1,43 +0,0 @@ -db = \Config\Database::connect(); - } - - public function index() { - try { - $sql = "SELECT * FROM ethnic"; - $data = $this->db->query($sql)->getResultArray(); - - return $this->respond([ - 'status' => 'success', - 'message'=> "Ethnic fetched successfully", - 'data' => $data, - ], 200); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong '. $e->getMessage()); - } - } - - public function show($EthnicID = null) { - try { - $sql = "SELECT * FROM ethnic WHERE EthnicID=$EthnicID"; - $data = $this->db->query($sql)->getResultArray(); - - return $this->respond([ - 'status' => 'success', - 'message'=> "Ethnic with EthnicID $EthnicID fetched successfully", - 'data' => $data, - ], 200); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong '. $e->getMessage()); - } - } -} \ No newline at end of file diff --git a/app/Controllers/Occupation.php b/app/Controllers/Occupation.php index bd274b0..73971d4 100644 --- a/app/Controllers/Occupation.php +++ b/app/Controllers/Occupation.php @@ -9,14 +9,13 @@ class Occupation extends Controller { use ResponseTrait; protected $db; + protected $modelOccupation; protected $rulesOccupation; public function __construct() { $this->db = \Config\Database::connect(); - $this->rulesOccupation = [ - 'AbbTex' => 'required', - 'FullText' => 'required' - ]; + $this->modelOccupation = new OccupationModel(); + $this->rulesOccupation = [ 'OccCode' => 'required','OccText' => 'required' ]; } public function index() { @@ -24,152 +23,61 @@ class Occupation extends Controller { $rows = $model->get()->getResultArray(); if (empty($rows)) { - return $this->respond([ - 'status' => 'success', - 'message' => "no Data.", - 'data' => [], - ], 200); + return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200); } - return $this->respond([ - 'status' => 'success', - 'message'=> "fetch success", - 'data' => $rows, - ], 200); + return $this->respond([ 'status' => 'success', 'message'=> "fetch success", 'data' => $rows ], 200); } public function show($OccupationID = null) { $model = new OccupationModel(); $rows = $model->where('occupationID', (int) $OccupationID)->get()->getResultArray(); - //$rows=$this->db->table('occupation')->select("*")->where('occupationID', (int) $OccupationID)->get()->getResultArray(); if (empty($rows)) { - return $this->respond([ - 'status' => 'success', - 'message' => "Data not found.", - 'data' => [], - ], 200); + return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200); } - return $this->respond([ - 'status' => 'success', - 'message'=> "Data fetched successfully", - 'data' => $rows, - ], 200); + return $this->respond([ 'status' => 'success', 'message'=> "fetch success", 'data' => $rows ], 200); } public function create() { + $input = $this->request->getJSON(true); try { - $input = $this->request->getJSON(true); - $dataOccupation = $this->prepareOccupationData($input); - - if (!$this->validateData($dataOccupation, $this->rulesOccupation)) { - return $this->failValidationErrors($this->validator->getErrors()); - } - $this->db->transStart(); - $this->db->table('contact')->insert($dataOccupation); - - if ($this->db->transStatus() === false) { - $dbError = $this->db->error(); - return $this->failServerError( - 'Failed to create data (transaction rolled back): ' . ( $dbError['message'] ?? 'Unknown database error') - ); - } - - // Complete transaction + $insert = $this->modelOccupation->insert($input); $this->db->transComplete(); - return $this->respondCreated([ - 'status' => 'success', - 'message' => 'data created successfully', - 'data' => $dataOccupation, - ], 201); - - } catch (\Throwable $e) { - // Ensure rollback if something goes wrong - if ($this->db->transStatus() !== false) { - $this->db->transRollback(); + if ($this->db->transStatus() === false || !$insert) { + return $this->fail(); } - return $this->failServerError('Something went wrong: ' . $e->getMessage()); + + return $this->respondCreated([ 'status' => 'success', 'message' => 'data created successfully', 'data' => $input ], 201); + } catch (\Throwable $e) { + $this->db->transRollback(); + return $this->failServerError('Exception : ' . $e->getMessage()); } } public function update() { + $input = $this->request->getJSON(true); try { - $input = $this->request->getJSON(true); - $dataOccupation = $this->prepareOccupationData($input); - - if (!$this->validateData($dataOccupation, $this->rulesOccupation)) { - return $this->failValidationErrors( $this->validator->getErrors()); + if (!$this->modelOccupation->find($input['OccupationID'])) { + return $this->failNotFound('Data not found'); } - + $this->db->transStart(); - $this->db->table('occupation')->where('OccupationID', $dataOccupation["OccupationID"])->update($dataOccupation); - - if ($this->db->transStatus() === false) { - $dbError = $this->db->error(); - return $this->failServerError( - 'Failed to update data (transaction rolled back): ' . ($dbError['message'] ?? 'Unknown database error') - ); - } - + $update = $this->modelOccupation->update($input['OccupationID'], $input); $this->db->transComplete(); - return $this->respondCreated([ - 'status' => 'success', - 'message' => 'Occupation updated successfully', - 'data' => $dataContact, - ], 201); - - } catch (\Throwable $e) { - // Ensure rollback if something goes wrong - if ($this->db->transStatus() !== false) { - $this->db->transRollback(); + if ($this->db->transStatus() === false || !$insert) { + return $this->fail(); } - return $this->failServerError('Something went wrong: ' . $e->getMessage()); + + return $this->respondCreated([ 'status' => 'success', 'message' => 'Data updated successfully', 'data' => $input ], 201); + } catch (\Throwable $e) { + $this->db->transRollback(); + return $this->failServerError('Exception : ' . $e->getMessage()); } } - /* - public function delete() { - try { - $input = $this->request->getJSON(true); - $OccupationID = $input["OccupationID"]; - if (!$OccupationID) { - return $this->failValidationError('ContactID is required.'); - } - $occupation = $this->db->table('occupation')->where('OccupationID', $OccupationID)->get()->getRow(); - if (!$occupation) { - return $this->failNotFound("data with {$OccupationID} not found."); - } - - $this->db->table('occupation')->where('OccupationID', $OccupationID)->update(['EndDate' => NOW()]); - - return $this->respondDeleted([ - 'status' => 'success', - 'message' => "{$ContactID} deleted successfully." - ]); - - } catch (\Throwable $e) { - // Ensure rollback if something goes wrong - if ($this->db->transStatus() !== false) { - $this->db->transRollback(); - } - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - */ - - private function prepareOccupationData(array $input): array { - $data = [ - "AbbTex" => $input['AbbTex'] ?? null, - "FullText" => $input['FullText'] ?? null, - "Description" => $input['Description'] ?? null, - ]; - - if(!empty($input["OccupationID"])) { $data["OccupationID"] = $input["OccupationID"]; } - - return $data; - } } \ No newline at end of file diff --git a/app/Controllers/Patient.php b/app/Controllers/Patient.php index 65e6862..ea404fc 100644 --- a/app/Controllers/Patient.php +++ b/app/Controllers/Patient.php @@ -3,13 +3,19 @@ namespace App\Controllers; use CodeIgniter\API\ResponseTrait; use CodeIgniter\Controller; -use CodeIgniter\Database\RawSql; +use App\Models\PatientModel; class Patient extends Controller { use ResponseTrait; + protected $db; + protected $modelPatient; + protected $rulesPatient; + protected $rulesPatIdt; + public function __construct() { $this->db = \Config\Database::connect(); + $this->modelPatient = new PatientModel(); $this->rulesPatient = [ 'PatientID' => 'required|is_unique[patient.PatientID]|max_length[50]', 'AlternatePID' => 'permit_empty|max_length[50]', @@ -20,235 +26,40 @@ class Patient extends Controller { $this->rulesPatIdt = ['Identifier' => 'required|is_unique[patidt.Identifier]']; } - // Unit Testing Pass : \clqms-be\tests\feature\Patients\PatientIndexTest.php public function index() { + $filters = [ + 'InternalPID' => $this->request->getVar('InternalPID'), + 'PatientID' => $this->request->getVar('PatientID'), + 'Name' => $this->request->getVar('Name'), + 'Birthdate' => $this->request->getVar('Birthdate'), + ]; + try { - $InternalPID = $this->request->getVar('InternalPID'); - $PatientID = $this->request->getVar('PatientID'); - $Name = $this->request->getVar('Name'); - $Birthdate = $this->request->getVar('Birthdate'); - $qname = "LOWER(CONCAT_WS(' ', IFNULL(Prefix,''), IFNULL(NameFirst,''), IFNULL(NameMiddle,''), IFNULL(NameLast,''), IFNULL(NameMaiden,''), IFNULL(Suffix,'')))"; - $builder = $this->db->table('patient'); - $builder->select("InternalPID, PatientID, $qname as FullName, Gender, Birthdate, EmailAddress1 as Email, MobilePhone"); - if ($Name !== null) { - $sql = $qname; - $rawSql = new RawSql($sql); - $builder->like($rawSql, $Name, 'both'); - } - if ($InternalPID !== null) { $builder->where('InternalPID', $InternalPID); } - if ($PatientID !== null) { $builder->like('PatientID', $PatientID, 'both'); } - if ($Birthdate !== null) { $builder->where('Birthdate', $Birthdate); } - - $filteredPatients = $builder->get()->getResultArray(); - - // Data pasien tidak ada mengembalikan - success 200 - if (empty($filteredPatients)) { - return $this->respond([ - 'status' => 'success', - 'message' => 'No patient records found matching the criteria.', - 'data' => [] - ], 200); - } - - // Data pasien ditemukan dan mengembalikan - success 200 - return $this->respond([ - 'status' => 'success', - 'message'=> "Patients fetched successfully", - 'data' => $filteredPatients, - ], 200); - + $rows = $this->modelPatient->getPatients($filters); + return $this->respond([ 'status' => 'success', 'message'=> "data fetched successfully", 'data' => $rows ], 200); } catch (\Exception $e) { - - // Error Server Mengembalikan 500 - return $this->failServerError('Something went wrong.'.$e->getMessage()); + return $this->failServerError('Exception : '.$e->getMessage()); } } - // Unit Testing Pass : \clqms-be\tests\feature\Patients\PatientShowTest.php public function show($InternalPID = null) { try { - $rows = $this->db->table('patient') - ->select(" - patient.*, - country.Country as CountryName, - race.Race as RaceName, - religion.Religion as ReligionName, - ethnic.Ethnic as EthnicName, - patcom.Comment as Comment, - patidt.IdentifierType, - patidt.Identifier, - patatt.Address - ") - ->join('country', 'country.IntCountryID = patient.IntCountryID', 'left') - ->join('race', 'race.RaceID = patient.RaceID', 'left') - ->join('religion', 'religion.ReligionID = patient.ReligionID', 'left') - ->join('ethnic', 'ethnic.EthnicID = patient.EthnicID', 'left') - ->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') - ->where('patient.InternalPID', (int) $InternalPID) - ->get() - ->getResultArray(); - - if (empty($rows)) { - return $this->respond([ - 'status' => 'success', - 'message' => "Patient with ID {$InternalPID} not found.", - 'data' => [], - ], 200); - } - - // Use first row as base patient data - $patient = $rows[0]; - - $patient = $this->transformPatientData($patient); - - $patient['Identity'] = null; - $patient['Attachments'] = []; - - foreach ($rows as $row) { - if ($row['IdentifierType'] && $row['Identifier'] && !$patient['Identity']) { - $patient['Identity'] = [ - 'IdentifierType' => $row['IdentifierType'], - 'Identifier' => $row['Identifier'], - ]; - } - if ($row['Address']) { - $patient['Attachments'][] = ['Address' => $row['Address']]; - } - } - - if (empty($patient['Identity'])) { $patient['Identity'] = null; } - if (empty($patient['Attachments'])) { $patient['Attachments'] = null; } - - return $this->respond([ - 'status' => 'success', - 'message' => "Patient Show Successfully", - 'data' => $patient, - ], 200); - + $rows = $this->modelPatient->getPatient($InternalPID); + if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "data not found." ], 200); } + return $this->respond([ 'status' => 'success', 'message' => "data fetched successfully", 'data' => $rows ], 200); } catch (\Exception $e) { return $this->failServerError('Something went wrong: ' . $e->getMessage()); } } - // Transform Data Conversion - private function transformPatientData(array $patient): array { - $patient["Age"] = $this->calculateAgeFromBirthdate($patient["Birthdate"]); - $patient["Birthdate"] = $this->formatedDate($patient["Birthdate"]); - $patient["CreateDate"] = $this->formatedDate($patient["CreateDate"]); - $patient["DelDate"] = $this->formatedDate($patient["DelDate"]); - $patient["DeathDateTime"] = $this->formatedDate($patient["DeathDateTime"]); - $patient["BirthdateConversion"] = $this->formatedDateForDisplay($patient["Birthdate"]); - - $patient["LinkTo"] = $this->getLinkedPatients($patient['LinkTo']); - $patient["Custodian"] = $this->getCustodian($patient['Custodian']); - - return $patient; - } - - // Linkto is not empty? then Query and return array data (InternalPID, PatientID) - private function getLinkedPatients(?string $linkTo): ?array { - if (empty($linkTo)) { - return null; - } - - $ids = array_filter(explode(',', $linkTo)); - - return $this->db->table('patient') - ->select('InternalPID, PatientID') - ->whereIn('InternalPID', $ids) - ->get() - ->getResultArray() ?: null; - } - - // Custodian is not empty? then Query and return array data (InternalPID, PatientID) - private function getCustodian($custodianId): ?array { - if (empty($custodianId)) { - return null; - } - - return $this->db->table('patient') - ->select('InternalPID, PatientID') - ->where('InternalPID', (int) $custodianId) - ->get() - ->getRowArray() ?: null; - } - - // Unit Testing Pass : On Progress public function create() { + $input = $this->request->getJSON(true); + if (!$this->validateData($input, $this->rulesPatient)) { return $this->validationError('patient', $this->validator->getErrors()); } + if (!$this->validateData($input, $this->rulesPatIdt)) { return $this->validationError('patidt', $this->validator->getErrors()); } try { - $input = $this->request->getJSON(true); - - // Prepare data - $dataPatient = $this->preparePatientData($input); - $dataPatidt = $this->preparePatidtData($input); - $dataPatatt = $this->preparePatattData($input); - $dataPatcom = $this->preparePatcomData($input); - - // Validation rules - //$rulesPatidt = ['Identifier' => 'required|is_unique[patidt.Identifier]']; - //$rulesPatatt = ['Address' => 'required|is_unique[patatt.Address]']; - - // Validate patient - if (!$this->validateData($dataPatient, $this->rulesPatient)) { - return $this->validationError('patient', $this->validator->getErrors()); - } - // Validate patidt - if (!$this->validateData($dataPatidt, $this->rulesPatIdt)) { - return $this->validationError('patidt', $this->validator->getErrors()); - } - /* Validate patatt (if exists, validate only the first row) - if (!empty($dataPatatt) && !$this->validateData($dataPatatt[0], $rulesPatatt)) { - return $this->validationError('patatt', $this->validator->getErrors()); - } - */ - - $this->db->transStart(); - - $this->db->table('patient')->insert($dataPatient); - $newInternalPatientId = $this->db->insertID(); - - - $dataPatidt['InternalPID'] = $newInternalPatientId; - $this->db->table('patidt')->insert($dataPatidt); - - if (!empty($dataPatatt)) { - foreach ($dataPatatt as &$row) { - $row['InternalPID'] = $newInternalPatientId; - } - $this->db->table('patatt')->upsertBatch($dataPatatt); - } - - - if (!empty($dataPatcom['Comment'])) { - $dataPatcom['InternalPID'] = $newInternalPatientId; - $this->db->table('patcom')->insert($dataPatcom); - } - - $dbError = $this->db->error(); - if (!empty($dbError['message'])) { - $this->db->transRollback(); - return $this->failServerError('Insert patient failed: ' . $dbError['message']); - } - - $this->db->transComplete(); - - if ($this->db->transStatus() === false) { - $dbError = $this->db->error(); - return $this->failServerError( - 'Failed to create patient data (transaction rolled back): ' . ($dbError['message'] ?? 'Unknown database error') - ); - } - - return $this->respondCreated([ - 'status' => 'success', - 'message' => 'Patient created successfully', - 'data' => $newInternalPatientId - ], 201); - + $newInternalPID = $this->modelPatient->createPatient($input); + return $this->respondCreated([ 'status' => 'success', 'message' => 'data created successfully', 'data' => $newInternalPID]); } catch (\Exception $e) { - $this->db->transRollback(); return $this->failServerError('Something went wrong: ' . $e->getMessage()); } } @@ -493,54 +304,4 @@ class Patient extends Controller { } } - // Conversion to (Years Months Days) - private function calculateAgeFromBirthdate($birthdate) { - $dob = new \DateTime($birthdate); - $today = new \DateTime(); - $diff = $today->diff($dob); - - $formattedAge = ""; - if ($diff->y > 0){ - $formattedAge .= "{$diff->y} Years "; - } - if ($diff->m > 0){ - $formattedAge .= "{$diff->m} Months "; - } - if ($diff->d > 0){ - $formattedAge .= "{$diff->d} Days"; - } - - return $formattedAge; - } - - // Conversion Time to Format Y-m-d H:i - private function formatedDate($dateString) { - $date = \DateTime::createFromFormat('Y-m-d H:i', $dateString); - - if (!$date) { - $timestamp = strtotime($dateString); - if ($timestamp) { - return date('Y-m-d H:i', $timestamp); - } - return null; - } - - return $date->format('Y-m-d H:i'); - } - - // Conversion Time to Format j M Y - private function formatedDateForDisplay($dateString) { - $date = \DateTime::createFromFormat('Y-m-d H:i', $dateString); - - if (!$date) { - $timestamp = strtotime($dateString); - if ($timestamp) { - return date('j M Y', $timestamp); - } - return null; - } - - return $date->format('j M Y'); - } - } \ No newline at end of file diff --git a/app/Controllers/Race.php b/app/Controllers/Race.php deleted file mode 100644 index 6ae5869..0000000 --- a/app/Controllers/Race.php +++ /dev/null @@ -1,43 +0,0 @@ -db = \Config\Database::connect(); - } - - public function index() { - try { - $sql = "SELECT * FROM race"; - $data = $this->db->query($sql)->getResultArray(); - - return $this->respond([ - 'status' => 'success', - 'message'=> "Race fetched successfully", - 'data' => $data, - ], 200); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong'. $e->getMessage()); - } - } - - public function show($RaceID = null) { - try { - $sql = "SELECT * FROM race WHERE RaceID = $RaceID"; - $data = $this->db->query($sql)->getResultArray(); - - return $this->respond([ - 'status' => 'success', - 'message'=> "Race with RaceID $RaceID fetched successfully", - 'data' => $data, - ], 200); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong'. $e->getMessage()); - } - } -} \ No newline at end of file diff --git a/app/Controllers/Religion.php b/app/Controllers/Religion.php deleted file mode 100644 index 584d52e..0000000 --- a/app/Controllers/Religion.php +++ /dev/null @@ -1,43 +0,0 @@ -db = \Config\Database::connect(); - } - - public function index() { - try { - $sql = "SELECT * FROM religion"; - $data = $this->db->query($sql)->getResultArray(); - - return $this->respond([ - 'status' => 'success', - 'message'=> "Religion fetched successfully", - 'data' => $data, - ], 200); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong '. $e->getMessage()); - } - } - - public function show($ReligionID = null) { - try { - $sql = "SELECT * FROM religion WHERE ReligionID = $ReligionID"; - $data = $this->db->query($sql)->getResultArray(); - - return $this->respond([ - 'status' => 'success', - 'message'=> "Religion with ReligionID $ReligionID fetched successfully", - 'data' => $data, - ], 200); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong '.$e->getMessage()); - } - } -} \ No newline at end of file diff --git a/app/Database/Migrations/2025-09-02-070522_Patient_master.php b/app/Database/Migrations/2025-09-02-070522_Patient_master.php deleted file mode 100644 index ff7ac2b..0000000 --- a/app/Database/Migrations/2025-09-02-070522_Patient_master.php +++ /dev/null @@ -1,66 +0,0 @@ -forge->addField([ - 'SiteID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'CodingSysID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'IntCountryID' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], - 'CountryID' => ['type' => 'VARCHAR', 'constraint' => 10], - 'Country' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], - 'EndDate' => ['type' => 'DATETIME', 'null' => true], - ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); - $this->forge->addKey('IntCountryID', true); - $this->forge->addUniqueKey('CountryID'); - $this->forge->createTable('country'); - - // ethnic - $this->forge->addField([ - 'SiteID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'CodingSysID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'EthnicID' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], - 'Ethnic' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], - 'EndDate' => ['type' => 'DATETIME', 'null' => true], - ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); - $this->forge->addKey('EthnicID', true); - $this->forge->createTable('ethnic'); - - // race - $this->forge->addField([ - 'SiteID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'CodingSysID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'RaceID' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], - 'Race' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], - 'EndDate' => ['type' => 'DATETIME', 'null' => true], - ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); - $this->forge->addKey('RaceID', true); - $this->forge->createTable('race'); - - // religion - $this->forge->addField([ - 'SiteID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'CodingSysID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'ReligionID' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], - 'Religion' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], - 'EndDate' => ['type' => 'DATETIME', 'null' => true], - ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); - $this->forge->addKey('ReligionID', true); - $this->forge->createTable('religion'); - } - - public function down() { - $this->forge->dropTable('race', true); - $this->forge->dropTable('religion', true); - $this->forge->dropTable('country', true); - $this->forge->dropTable('ethnic', true); - } -} diff --git a/app/Database/Migrations/2025-09-02-070826_Patient_Reg.php b/app/Database/Migrations/2025-09-02-070826_Patient_Reg.php index 2db4552..51f7bab 100644 --- a/app/Database/Migrations/2025-09-02-070826_Patient_Reg.php +++ b/app/Database/Migrations/2025-09-02-070826_Patient_Reg.php @@ -12,9 +12,9 @@ class CreatePatientRegTables extends Migration { 'InternalPID'=> ['type' => 'INT', 'constraint' => 11, 'null' => true], 'Address' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'UserID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], + 'CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP', 'DelDate' => ['type' => 'DATETIME', 'null' => true], ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); $this->forge->addKey('PatAttID', true); $this->forge->addUniqueKey('Address'); $this->forge->createTable('patatt'); @@ -24,9 +24,9 @@ class CreatePatientRegTables extends Migration { 'PatComID' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], 'InternalPID'=> ['type' => 'INT', 'constraint' => 11, 'null' => true], 'Comment' => ['type' => 'TEXT', 'null' => true], + 'CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP', 'EndDate' => ['type' => 'DATETIME', 'null' => true], ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); $this->forge->addKey('PatComID', true); $this->forge->addUniqueKey('InternalPID'); $this->forge->createTable('patcom'); @@ -39,9 +39,9 @@ class CreatePatientRegTables extends Migration { 'Identifier' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'EffectiveDate' => ['type' => 'DATETIME', 'null' => true], 'ExpirationDate'=> ['type' => 'DATETIME', 'null' => true], + 'CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP', 'DelDate' => ['type' => 'DATETIME', 'null' => true], ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); $this->forge->addKey('PatIdtID', true); $this->forge->createTable('patidt'); @@ -66,24 +66,24 @@ class CreatePatientRegTables extends Migration { 'City' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'Province' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'ZIP' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], - 'IntCountryID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], 'EmailAddress1' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'EmailAddress2' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'Phone' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'MobilePhone' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'Custodian' => ['type' => 'INT', 'constraint' => 11, 'null' => true], 'AccountNumber' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'RaceID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], + 'Country' => ['type' => 'INT', 'constraint' => 11, 'null' => true], + 'Race' => ['type' => 'INT', 'constraint' => 11, 'null' => true], 'MaritalStatus' => ['type' => 'VARCHAR', 'constraint' => 1, 'null' => true], - 'ReligionID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], - 'EthnicID' => ['type' => 'INT', 'constraint' => 11, 'null' => true], + 'Religion' => ['type' => 'INT', 'constraint' => 11, 'null' => true], + 'Ethnic' => ['type' => 'INT', 'constraint' => 11, 'null' => true], 'Citizenship' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], 'DeathIndicator'=> ['type' => 'BIT', 'constraint' => 1, 'null' => true], 'DeathDateTime' => ['type' => 'DATETIME', 'null' => true], 'LinkTo' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true], + 'CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP', 'DelDate' => ['type' => 'DATETIME', 'null' => true], ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); $this->forge->addKey('InternalPID', true); $this->forge->addUniqueKey('PatientID'); $this->forge->addUniqueKey('AlternatePID'); @@ -118,9 +118,9 @@ class CreatePatientRegTables extends Migration { $this->forge->addField([ 'PatRelID' => ['type' => 'INT', 'constraint' => 11, 'unsigned' => true, 'auto_increment' => true], 'InternalPID'=> ['type' => 'INT', 'constraint' => 11, 'null' => true], + 'CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP', 'EndDate' => ['type' => 'DATETIME', 'null' => true], ]); - $this->forge->addField('CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'); $this->forge->addKey('PatRelID', true); $this->forge->createTable('patrelation'); } diff --git a/app/Database/Migrations/2025-09-12-011643_Contact.php b/app/Database/Migrations/2025-09-12-011643_Contact.php index f4a81ed..c8a7e49 100644 --- a/app/Database/Migrations/2025-09-12-011643_Contact.php +++ b/app/Database/Migrations/2025-09-12-011643_Contact.php @@ -21,6 +21,7 @@ class CreateContactTable extends Migration { 'MobilePhone2' => [ 'type' => 'VARCHAR', 'constraint' => 50, 'null' => true ], 'Specialty' => [ 'type' => 'VARCHAR', 'constraint' => 100, 'null' => true ], 'SubSpecialty' => [ 'type' => 'VARCHAR', 'constraint' => 100, 'null' => true ], + 'Password' => [ 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true ], 'CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP', 'EndDate' => [ 'type' => 'DATETIME', 'null' => true ], ]); @@ -47,8 +48,8 @@ class CreateContactTable extends Migration { // Occupation $this->forge->addField([ 'OccupationID' => [ 'type' => 'INT', 'constraint' => 11, 'auto_increment' => true], - 'AbbTex' => [ 'type' => 'VARCHAR', 'constraint' => 5, 'null' => true ], - 'FullText' => [ 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true ], + 'OccCode' => [ 'type' => 'VARCHAR', 'constraint' => 5, 'null' => true ], + 'OccText' => [ 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true ], 'Description' => [ 'type' => 'TEXT', 'null' => true ], 'CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP', ]); diff --git a/app/Database/Seeds/DBSeeder.php b/app/Database/Seeds/DBSeeder.php index 226e79d..5e60c4b 100644 --- a/app/Database/Seeds/DBSeeder.php +++ b/app/Database/Seeds/DBSeeder.php @@ -6,7 +6,6 @@ use CodeIgniter\Database\Seeder; class DBSeeder extends Seeder { public function run() { - $this->call('MainSeeder'); $this->call('ValueSetSeeder'); $this->call('DummySeeder'); $this->call('CounterSeeder'); diff --git a/app/Database/Seeds/DummySeeder.php b/app/Database/Seeds/DummySeeder.php index 183f061..f222a5a 100644 --- a/app/Database/Seeds/DummySeeder.php +++ b/app/Database/Seeds/DummySeeder.php @@ -35,18 +35,18 @@ class DummySeeder extends Seeder { ]; $this->db->table('contactdetail')->insertBatch($data); $data = [ - ['OccupationID'=>1, 'AbbTex'=>'OC001', 'FullText'=>'Medical Doctor', 'Description'=>'Diagnoses and treats, injuries and illnesses' ], - ['OccupationID'=>2, 'AbbTex'=>'OC002', 'FullText'=>'Trainee Medical Technician', 'Description'=>'Performing basic laboratory task' ], - ['OccupationID'=>3, 'AbbTex'=>'OC003', 'FullText'=>'Medical Laboratory Technician', 'Description'=>'Perform routine laboratory tests' ] + ['OccupationID'=>1, 'OccCode'=>'OC001', 'OccText'=>'Medical Doctor', 'Description'=>'Diagnoses and treats, injuries and illnesses' ], + ['OccupationID'=>2, 'OccCode'=>'OC002', 'OccText'=>'Trainee Medical Technician', 'Description'=>'Performing basic laboratory task' ], + ['OccupationID'=>3, 'OccCode'=>'OC003', 'OccText'=>'Medical Laboratory Technician', 'Description'=>'Perform routine laboratory tests' ] ]; $this->db->table('occupation')->insertBatch($data); // patient $data = [ - [ 'InternalPID'=>1, 'PatientID'=>'SMAJ1', 'NameFirst'=>'Dummy', 'NameLast' => 'Patient M', 'Gender'=>'1', 'BirthDate'=>'1991-09-09', 'Street_1'=>'Makati', 'IntCountryID'=>'105', 'EmailAddress1'=>'smaj1@5panda.id', - 'RaceID'=>'1', 'ReligionID'=>'1', 'EthnicID'=>'1', 'DeathIndicator' => '0'], - [ 'InternalPID'=>2, 'PatientID'=>'SMAJ2', 'NameFirst'=>'Dummy', 'NameLast' => 'Patient F', 'Gender'=>'2', 'BirthDate'=>'1997-02-02', 'Street_1'=>'Manila', 'IntCountryID'=>'105', 'EmailAddress1'=>'smaj2@5panda.id', - 'RaceID'=>'1', 'ReligionID'=>'1', 'EthnicID'=>'1', 'DeathIndicator' => '0'] + [ 'InternalPID'=>1, 'PatientID'=>'SMAJ1', 'NameFirst'=>'Dummy', 'NameLast' => 'Patient M', 'Gender'=>'1', 'BirthDate'=>'1991-09-09', 'Street_1'=>'Makati', 'EmailAddress1'=>'smaj1@5panda.id', + 'Country'=>'325', 'Race'=>'175', 'Religion'=>'207', 'Ethnic'=>'218', 'DeathIndicator' => '0'], + [ 'InternalPID'=>2, 'PatientID'=>'SMAJ2', 'NameFirst'=>'Dummy', 'NameLast' => 'Patient F', 'Gender'=>'2', 'BirthDate'=>'1997-02-02', 'Street_1'=>'Manila', 'EmailAddress1'=>'smaj2@5panda.id', + 'Country'=>'325', 'Race'=>'176', 'Religion'=>'206', 'Ethnic'=>'219', 'DeathIndicator' => '0'] ]; $this->db->table('patient')->insertBatch($data); $data = [ diff --git a/app/Database/Seeds/MainSeeder.php b/app/Database/Seeds/MainSeeder.php deleted file mode 100644 index 930057d..0000000 --- a/app/Database/Seeds/MainSeeder.php +++ /dev/null @@ -1,325 +0,0 @@ -1, 'Ethnic'=>'Papua Melanezoid'], - ['EthnicID'=>2, 'Ethnic'=>'Negroid'], - ['EthnicID'=>3, 'Ethnic'=>'Weddoid'], - ['EthnicID'=>4, 'Ethnic'=>'Melayu Mongoloid_Proto Melayu'], - ['EthnicID'=>5, 'Ethnic'=>'Melayu Mongoloid_Deutro Melayu'], - ['EthnicID'=>6, 'Ethnic'=>'Tionghoa'], - ['EthnicID'=>7, 'Ethnic'=>'India'], - ['EthnicID'=>8, 'Ethnic'=>'Arab'], - ]; - $this->db->table('ethnic')->insertBatch($data); - - // country - $data = [ - ['IntCountryID'=>1, 'CountryID'=>'AFG', 'Country'=>'Afghanistan'], - ['IntCountryID'=>2, 'CountryID'=>'ALA', 'Country'=>'Åland Islands'], - ['IntCountryID'=>3, 'CountryID'=>'ALB', 'Country'=>'Albania'], - ['IntCountryID'=>4, 'CountryID'=>'DZA', 'Country'=>'Algeria'], - ['IntCountryID'=>5, 'CountryID'=>'ASM', 'Country'=>'American Samoa'], - ['IntCountryID'=>6, 'CountryID'=>'AND', 'Country'=>'Andorra'], - ['IntCountryID'=>7, 'CountryID'=>'AGO', 'Country'=>'Angola'], - ['IntCountryID'=>8, 'CountryID'=>'AIA', 'Country'=>'Anguilla'], - ['IntCountryID'=>9, 'CountryID'=>'ATA', 'Country'=>'Antarctica'], - ['IntCountryID'=>10, 'CountryID'=>'ATG', 'Country'=>'Antigua and Barbuda'], - ['IntCountryID'=>11, 'CountryID'=>'ARG', 'Country'=>'Argentina'], - ['IntCountryID'=>12, 'CountryID'=>'ARM', 'Country'=>'Armenia'], - ['IntCountryID'=>13, 'CountryID'=>'ABW', 'Country'=>'Aruba'], - ['IntCountryID'=>14, 'CountryID'=>'AUS', 'Country'=>'Australia'], - ['IntCountryID'=>15, 'CountryID'=>'AUT', 'Country'=>'Austria'], - ['IntCountryID'=>16, 'CountryID'=>'AZE', 'Country'=>'Azerbaijan'], - ['IntCountryID'=>17, 'CountryID'=>'BHS', 'Country'=>'Bahamas'], - ['IntCountryID'=>18, 'CountryID'=>'BHR', 'Country'=>'Bahrain'], - ['IntCountryID'=>19, 'CountryID'=>'BGD', 'Country'=>'Bangladesh'], - ['IntCountryID'=>20, 'CountryID'=>'BRB', 'Country'=>'Barbados'], - ['IntCountryID'=>21, 'CountryID'=>'BLR', 'Country'=>'Belarus'], - ['IntCountryID'=>22, 'CountryID'=>'BEL', 'Country'=>'Belgium'], - ['IntCountryID'=>23, 'CountryID'=>'BLZ', 'Country'=>'Belize'], - ['IntCountryID'=>24, 'CountryID'=>'BEN', 'Country'=>'Benin'], - ['IntCountryID'=>25, 'CountryID'=>'BMU', 'Country'=>'Bermuda'], - ['IntCountryID'=>26, 'CountryID'=>'BTN', 'Country'=>'Bhutan'], - ['IntCountryID'=>27, 'CountryID'=>'BOL', 'Country'=>'Bolivia, Plurinational State of'], - ['IntCountryID'=>28, 'CountryID'=>'BES', 'Country'=>'Bonaire, Sint Eustatius and Saba[d]'], - ['IntCountryID'=>29, 'CountryID'=>'BIH', 'Country'=>'Bosnia and Herzegovina'], - ['IntCountryID'=>30, 'CountryID'=>'BWA', 'Country'=>'Botswana'], - ['IntCountryID'=>31, 'CountryID'=>'BVT', 'Country'=>'Bouvet Island'], - ['IntCountryID'=>32, 'CountryID'=>'BRA', 'Country'=>'Brazil'], - ['IntCountryID'=>33, 'CountryID'=>'IOT', 'Country'=>'British Indian Ocean Territory'], - ['IntCountryID'=>34, 'CountryID'=>'BRN', 'Country'=>'Brunei Darussalam'], - ['IntCountryID'=>35, 'CountryID'=>'BGR', 'Country'=>'Bulgaria'], - ['IntCountryID'=>36, 'CountryID'=>'BFA', 'Country'=>'Burkina Faso'], - ['IntCountryID'=>37, 'CountryID'=>'BDI', 'Country'=>'Burundi'], - ['IntCountryID'=>38, 'CountryID'=>'CPV', 'Country'=>'Cabo Verde'], - ['IntCountryID'=>39, 'CountryID'=>'KHM', 'Country'=>'Cambodia'], - ['IntCountryID'=>40, 'CountryID'=>'CMR', 'Country'=>'Cameroon'], - ['IntCountryID'=>41, 'CountryID'=>'CAN', 'Country'=>'Canada'], - ['IntCountryID'=>42, 'CountryID'=>'CYM', 'Country'=>'Cayman Islands'], - ['IntCountryID'=>43, 'CountryID'=>'CAF', 'Country'=>'Central African Republic'], - ['IntCountryID'=>44, 'CountryID'=>'TCD', 'Country'=>'Chad'], - ['IntCountryID'=>45, 'CountryID'=>'CHL', 'Country'=>'Chile'], - ['IntCountryID'=>46, 'CountryID'=>'CHN', 'Country'=>'China[c]'], - ['IntCountryID'=>47, 'CountryID'=>'CXR', 'Country'=>'Christmas Island'], - ['IntCountryID'=>48, 'CountryID'=>'CCK', 'Country'=>'Cocos (Keeling) Islands'], - ['IntCountryID'=>49, 'CountryID'=>'COL', 'Country'=>'Colombia'], - ['IntCountryID'=>50, 'CountryID'=>'COM', 'Country'=>'Comoros'], - ['IntCountryID'=>51, 'CountryID'=>'COG', 'Country'=>'Congo'], - ['IntCountryID'=>52, 'CountryID'=>'COD', 'Country'=>'Congo, Democratic Republic of the'], - ['IntCountryID'=>53, 'CountryID'=>'COK', 'Country'=>'Cook Islands'], - ['IntCountryID'=>54, 'CountryID'=>'CRI', 'Country'=>'Costa Rica'], - ['IntCountryID'=>55, 'CountryID'=>'CIV', 'Country'=>"Côte d'Ivoire"], - ['IntCountryID'=>56, 'CountryID'=>'HRV', 'Country'=>'Croatia'], - ['IntCountryID'=>57, 'CountryID'=>'CUB', 'Country'=>'Cuba'], - ['IntCountryID'=>58, 'CountryID'=>'CUW', 'Country'=>'Curaçao'], - ['IntCountryID'=>59, 'CountryID'=>'CYP', 'Country'=>'Cyprus[c]'], - ['IntCountryID'=>60, 'CountryID'=>'CZE', 'Country'=>'Czechia'], - ['IntCountryID'=>61, 'CountryID'=>'DNK', 'Country'=>'Denmark'], - ['IntCountryID'=>62, 'CountryID'=>'DJI', 'Country'=>'Djibouti'], - ['IntCountryID'=>63, 'CountryID'=>'DMA', 'Country'=>'Dominica'], - ['IntCountryID'=>64, 'CountryID'=>'DOM', 'Country'=>'Dominican Republic'], - ['IntCountryID'=>65, 'CountryID'=>'ECU', 'Country'=>'Ecuador'], - ['IntCountryID'=>66, 'CountryID'=>'EGY', 'Country'=>'Egypt'], - ['IntCountryID'=>67, 'CountryID'=>'SLV', 'Country'=>'El Salvador'], - ['IntCountryID'=>68, 'CountryID'=>'GNQ', 'Country'=>'Equatorial Guinea'], - ['IntCountryID'=>69, 'CountryID'=>'ERI', 'Country'=>'Eritrea'], - ['IntCountryID'=>70, 'CountryID'=>'EST', 'Country'=>'Estonia'], - ['IntCountryID'=>71, 'CountryID'=>'SWZ', 'Country'=>'Eswatini'], - ['IntCountryID'=>72, 'CountryID'=>'ETH', 'Country'=>'Ethiopia'], - ['IntCountryID'=>73, 'CountryID'=>'FLK', 'Country'=>'Falkland Islands (Malvinas)[c]'], - ['IntCountryID'=>74, 'CountryID'=>'FRO', 'Country'=>'Faroe Islands'], - ['IntCountryID'=>75, 'CountryID'=>'FJI', 'Country'=>'Fiji'], - ['IntCountryID'=>76, 'CountryID'=>'FIN', 'Country'=>'Finland'], - ['IntCountryID'=>77, 'CountryID'=>'FRA', 'Country'=>'France'], - ['IntCountryID'=>78, 'CountryID'=>'GUF', 'Country'=>'French Guiana'], - ['IntCountryID'=>79, 'CountryID'=>'PYF', 'Country'=>'French Polynesia'], - ['IntCountryID'=>80, 'CountryID'=>'ATF', 'Country'=>'French Southern Territories'], - ['IntCountryID'=>81, 'CountryID'=>'GAB', 'Country'=>'Gabon'], - ['IntCountryID'=>82, 'CountryID'=>'GMB', 'Country'=>'Gambia'], - ['IntCountryID'=>83, 'CountryID'=>'GEO', 'Country'=>'Georgia'], - ['IntCountryID'=>84, 'CountryID'=>'DEU', 'Country'=>'Germany'], - ['IntCountryID'=>85, 'CountryID'=>'GHA', 'Country'=>'Ghana'], - ['IntCountryID'=>86, 'CountryID'=>'GIB', 'Country'=>'Gibraltar'], - ['IntCountryID'=>87, 'CountryID'=>'GRC', 'Country'=>'Greece'], - ['IntCountryID'=>88, 'CountryID'=>'GRL', 'Country'=>'Greenland'], - ['IntCountryID'=>89, 'CountryID'=>'GRD', 'Country'=>'Grenada'], - ['IntCountryID'=>90, 'CountryID'=>'GLP', 'Country'=>'Guadeloupe'], - ['IntCountryID'=>91, 'CountryID'=>'GUM', 'Country'=>'Guam'], - ['IntCountryID'=>92, 'CountryID'=>'GTM', 'Country'=>'Guatemala'], - ['IntCountryID'=>93, 'CountryID'=>'GGY', 'Country'=>'Guernsey'], - ['IntCountryID'=>94, 'CountryID'=>'GIN', 'Country'=>'Guinea'], - ['IntCountryID'=>95, 'CountryID'=>'GNB', 'Country'=>'Guinea-Bissau'], - ['IntCountryID'=>96, 'CountryID'=>'GUY', 'Country'=>'Guyana'], - ['IntCountryID'=>97, 'CountryID'=>'HTI', 'Country'=>'Haiti'], - ['IntCountryID'=>98, 'CountryID'=>'HMD', 'Country'=>'Heard Island and McDonald Islands'], - ['IntCountryID'=>99, 'CountryID'=>'VAT', 'Country'=>'Holy See'], - ['IntCountryID'=>100, 'CountryID'=>'HND', 'Country'=>'Honduras'], - ['IntCountryID'=>101, 'CountryID'=>'HKG', 'Country'=>'Hong Kong'], - ['IntCountryID'=>102, 'CountryID'=>'HUN', 'Country'=>'Hungary'], - ['IntCountryID'=>103, 'CountryID'=>'ISL', 'Country'=>'Iceland'], - ['IntCountryID'=>104, 'CountryID'=>'IND', 'Country'=>'India'], - ['IntCountryID'=>105, 'CountryID'=>'IDN', 'Country'=>'Indonesia'], - ['IntCountryID'=>106, 'CountryID'=>'IRN', 'Country'=>'Iran, Islamic Republic of'], - ['IntCountryID'=>107, 'CountryID'=>'IRQ', 'Country'=>'Iraq'], - ['IntCountryID'=>108, 'CountryID'=>'IRL', 'Country'=>'Ireland'], - ['IntCountryID'=>109, 'CountryID'=>'IMN', 'Country'=>'Isle of Man'], - ['IntCountryID'=>110, 'CountryID'=>'ISR', 'Country'=>'Israel'], - ['IntCountryID'=>111, 'CountryID'=>'ITA', 'Country'=>'Italy'], - ['IntCountryID'=>112, 'CountryID'=>'JAM', 'Country'=>'Jamaica'], - ['IntCountryID'=>113, 'CountryID'=>'JPN', 'Country'=>'Japan'], - ['IntCountryID'=>114, 'CountryID'=>'JEY', 'Country'=>'Jersey'], - ['IntCountryID'=>115, 'CountryID'=>'JOR', 'Country'=>'Jordan'], - ['IntCountryID'=>116, 'CountryID'=>'KAZ', 'Country'=>'Kazakhstan'], - ['IntCountryID'=>117, 'CountryID'=>'KEN', 'Country'=>'Kenya'], - ['IntCountryID'=>118, 'CountryID'=>'KIR', 'Country'=>'Kiribati'], - ['IntCountryID'=>119, 'CountryID'=>'PRK', 'Country'=>'Korea, Democratic People\'s Republic of'], - ['IntCountryID'=>120, 'CountryID'=>'KOR', 'Country'=>'Korea, Republic of'], - ['IntCountryID'=>121, 'CountryID'=>'KWT', 'Country'=>'Kuwait'], - ['IntCountryID'=>122, 'CountryID'=>'KGZ', 'Country'=>'Kyrgyzstan'], - ['IntCountryID'=>123, 'CountryID'=>'LAO', 'Country'=>'Lao People\'s Democratic Republic'], - ['IntCountryID'=>124, 'CountryID'=>'LVA', 'Country'=>'Latvia'], - ['IntCountryID'=>125, 'CountryID'=>'LBN', 'Country'=>'Lebanon'], - ['IntCountryID'=>126, 'CountryID'=>'LSO', 'Country'=>'Lesotho'], - ['IntCountryID'=>127, 'CountryID'=>'LBR', 'Country'=>'Liberia'], - ['IntCountryID'=>128, 'CountryID'=>'LBY', 'Country'=>'Libya'], - ['IntCountryID'=>129, 'CountryID'=>'LIE', 'Country'=>'Liechtenstein'], - ['IntCountryID'=>130, 'CountryID'=>'LTU', 'Country'=>'Lithuania'], - ['IntCountryID'=>131, 'CountryID'=>'LUX', 'Country'=>'Luxembourg'], - ['IntCountryID'=>132, 'CountryID'=>'MAC', 'Country'=>'Macao'], - ['IntCountryID'=>133, 'CountryID'=>'MDG', 'Country'=>'Madagascar'], - ['IntCountryID'=>134, 'CountryID'=>'MWI', 'Country'=>'Malawi'], - ['IntCountryID'=>135, 'CountryID'=>'MYS', 'Country'=>'Malaysia'], - ['IntCountryID'=>136, 'CountryID'=>'MDV', 'Country'=>'Maldives'], - ['IntCountryID'=>137, 'CountryID'=>'MLI', 'Country'=>'Mali'], - ['IntCountryID'=>138, 'CountryID'=>'MLT', 'Country'=>'Malta'], - ['IntCountryID'=>139, 'CountryID'=>'MHL', 'Country'=>'Marshall Islands'], - ['IntCountryID'=>140, 'CountryID'=>'MTQ', 'Country'=>'Martinique'], - ['IntCountryID'=>141, 'CountryID'=>'MRT', 'Country'=>'Mauritania'], - ['IntCountryID'=>142, 'CountryID'=>'MUS', 'Country'=>'Mauritius'], - ['IntCountryID'=>143, 'CountryID'=>'MYT', 'Country'=>'Mayotte'], - ['IntCountryID'=>144, 'CountryID'=>'MEX', 'Country'=>'Mexico'], - ['IntCountryID'=>145, 'CountryID'=>'FSM', 'Country'=>'Micronesia, Federated States of'], - ['IntCountryID'=>146, 'CountryID'=>'MDA', 'Country'=>'Moldova, Republic of'], - ['IntCountryID'=>147, 'CountryID'=>'MCO', 'Country'=>'Monaco'], - ['IntCountryID'=>148, 'CountryID'=>'MNG', 'Country'=>'Mongolia'], - ['IntCountryID'=>149, 'CountryID'=>'MNE', 'Country'=>'Montenegro'], - ['IntCountryID'=>150, 'CountryID'=>'MSR', 'Country'=>'Montserrat'], - ['IntCountryID'=>151, 'CountryID'=>'MAR', 'Country'=>'Morocco'], - ['IntCountryID'=>152, 'CountryID'=>'MOZ', 'Country'=>'Mozambique'], - ['IntCountryID'=>153, 'CountryID'=>'MMR', 'Country'=>'Myanmar'], - ['IntCountryID'=>154, 'CountryID'=>'NAM', 'Country'=>'Namibia'], - ['IntCountryID'=>155, 'CountryID'=>'NRU', 'Country'=>'Nauru'], - ['IntCountryID'=>156, 'CountryID'=>'NPL', 'Country'=>'Nepal'], - ['IntCountryID'=>157, 'CountryID'=>'NLD', 'Country'=>'Netherlands, Kingdom of the'], - ['IntCountryID'=>158, 'CountryID'=>'NCL', 'Country'=>'New Caledonia'], - ['IntCountryID'=>159, 'CountryID'=>'NZL', 'Country'=>'New Zealand'], - ['IntCountryID'=>160, 'CountryID'=>'NIC', 'Country'=>'Nicaragua'], - ['IntCountryID'=>161, 'CountryID'=>'NER', 'Country'=>'Niger'], - ['IntCountryID'=>162, 'CountryID'=>'NGA', 'Country'=>'Nigeria'], - ['IntCountryID'=>163, 'CountryID'=>'NIU', 'Country'=>'Niue'], - ['IntCountryID'=>164, 'CountryID'=>'NFK', 'Country'=>'Norfolk Island'], - ['IntCountryID'=>165, 'CountryID'=>'MKD', 'Country'=>'North Macedonia'], - ['IntCountryID'=>166, 'CountryID'=>'MNP', 'Country'=>'Northern Mariana Islands'], - ['IntCountryID'=>167, 'CountryID'=>'NOR', 'Country'=>'Norway'], - ['IntCountryID'=>168, 'CountryID'=>'OMN', 'Country'=>'Oman'], - ['IntCountryID'=>169, 'CountryID'=>'PAK', 'Country'=>'Pakistan'], - ['IntCountryID'=>170, 'CountryID'=>'PLW', 'Country'=>'Palau'], - ['IntCountryID'=>171, 'CountryID'=>'PSE', 'Country'=>'Palestine, State of[c]'], - ['IntCountryID'=>172, 'CountryID'=>'PAN', 'Country'=>'Panama'], - ['IntCountryID'=>173, 'CountryID'=>'PNG', 'Country'=>'Papua New Guinea'], - ['IntCountryID'=>174, 'CountryID'=>'PRY', 'Country'=>'Paraguay'], - ['IntCountryID'=>175, 'CountryID'=>'PER', 'Country'=>'Peru'], - ['IntCountryID'=>176, 'CountryID'=>'PHL', 'Country'=>'Philippines'], - ['IntCountryID'=>177, 'CountryID'=>'PCN', 'Country'=>'Pitcairn'], - ['IntCountryID'=>178, 'CountryID'=>'POL', 'Country'=>'Poland'], - ['IntCountryID'=>179, 'CountryID'=>'PRT', 'Country'=>'Portugal'], - ['IntCountryID'=>180, 'CountryID'=>'PRI', 'Country'=>'Puerto Rico'], - ['IntCountryID'=>181, 'CountryID'=>'QAT', 'Country'=>'Qatar'], - ['IntCountryID'=>182, 'CountryID'=>'REU', 'Country'=>'Réunion'], - ['IntCountryID'=>183, 'CountryID'=>'ROU', 'Country'=>'Romania'], - ['IntCountryID'=>184, 'CountryID'=>'RUS', 'Country'=>'Russian Federation'], - ['IntCountryID'=>185, 'CountryID'=>'RWA', 'Country'=>'Rwanda'], - ['IntCountryID'=>186, 'CountryID'=>'BLM', 'Country'=>'Saint Barthélemy'], - ['IntCountryID'=>187, 'CountryID'=>'SHN', 'Country'=>'Saint Helena, Ascension and Tristan da Cunha[e]'], - ['IntCountryID'=>188, 'CountryID'=>'KNA', 'Country'=>'Saint Kitts and Nevis'], - ['IntCountryID'=>189, 'CountryID'=>'LCA', 'Country'=>'Saint Lucia'], - ['IntCountryID'=>190, 'CountryID'=>'MAF', 'Country'=>'Saint Martin (French part)'], - ['IntCountryID'=>191, 'CountryID'=>'SPM', 'Country'=>'Saint Pierre and Miquelon'], - ['IntCountryID'=>192, 'CountryID'=>'VCT', 'Country'=>'Saint Vincent and the Grenadines'], - ['IntCountryID'=>193, 'CountryID'=>'WSM', 'Country'=>'Samoa'], - ['IntCountryID'=>194, 'CountryID'=>'SMR', 'Country'=>'San Marino'], - ['IntCountryID'=>195, 'CountryID'=>'STP', 'Country'=>'Sao Tome and Principe'], - ['IntCountryID'=>196, 'CountryID'=>'SAU', 'Country'=>'Saudi Arabia'], - ['IntCountryID'=>197, 'CountryID'=>'SEN', 'Country'=>'Senegal'], - ['IntCountryID'=>198, 'CountryID'=>'SRB', 'Country'=>'Serbia'], - ['IntCountryID'=>199, 'CountryID'=>'SYC', 'Country'=>'Seychelles'], - ['IntCountryID'=>200, 'CountryID'=>'SLE', 'Country'=>'Sierra Leone'], - ['IntCountryID'=>201, 'CountryID'=>'SGP', 'Country'=>'Singapore'], - ['IntCountryID'=>202, 'CountryID'=>'SXM', 'Country'=>'Sint Maarten (Dutch part)'], - ['IntCountryID'=>203, 'CountryID'=>'SVK', 'Country'=>'Slovakia'], - ['IntCountryID'=>204, 'CountryID'=>'SVN', 'Country'=>'Slovenia'], - ['IntCountryID'=>205, 'CountryID'=>'SLB', 'Country'=>'Solomon Islands'], - ['IntCountryID'=>206, 'CountryID'=>'SOM', 'Country'=>'Somalia'], - ['IntCountryID'=>207, 'CountryID'=>'ZAF', 'Country'=>'South Africa'], - ['IntCountryID'=>208, 'CountryID'=>'SGS', 'Country'=>'South Georgia and the South Sandwich Islands'], - ['IntCountryID'=>209, 'CountryID'=>'SSD', 'Country'=>'South Sudan'], - ['IntCountryID'=>210, 'CountryID'=>'ESP', 'Country'=>'Spain'], - ['IntCountryID'=>211, 'CountryID'=>'LKA', 'Country'=>'Sri Lanka'], - ['IntCountryID'=>212, 'CountryID'=>'SDN', 'Country'=>'Sudan'], - ['IntCountryID'=>213, 'CountryID'=>'SUR', 'Country'=>'Suriname'], - ['IntCountryID'=>214, 'CountryID'=>'SJM', 'Country'=>'Svalbard and Jan Mayen[f]'], - ['IntCountryID'=>215, 'CountryID'=>'SWE', 'Country'=>'Sweden'], - ['IntCountryID'=>216, 'CountryID'=>'CHE', 'Country'=>'Switzerland'], - ['IntCountryID'=>217, 'CountryID'=>'SYR', 'Country'=>'Syrian Arab Republic'], - ['IntCountryID'=>218, 'CountryID'=>'TWN', 'Country'=>'Taiwan, Province of China[c]'], - ['IntCountryID'=>219, 'CountryID'=>'TJK', 'Country'=>'Tajikistan'], - ['IntCountryID'=>220, 'CountryID'=>'TZA', 'Country'=>'Tanzania, United Republic of'], - ['IntCountryID'=>221, 'CountryID'=>'THA', 'Country'=>'Thailand'], - ['IntCountryID'=>222, 'CountryID'=>'TLS', 'Country'=>'Timor-Leste'], - ['IntCountryID'=>223, 'CountryID'=>'TGO', 'Country'=>'Togo'], - ['IntCountryID'=>224, 'CountryID'=>'TKL', 'Country'=>'Tokelau'], - ['IntCountryID'=>225, 'CountryID'=>'TON', 'Country'=>'Tonga'], - ['IntCountryID'=>226, 'CountryID'=>'TTO', 'Country'=>'Trinidad and Tobago'], - ['IntCountryID'=>227, 'CountryID'=>'TUN', 'Country'=>'Tunisia'], - ['IntCountryID'=>228, 'CountryID'=>'TUR', 'Country'=>'Türkiye'], - ['IntCountryID'=>229, 'CountryID'=>'TKM', 'Country'=>'Turkmenistan'], - ['IntCountryID'=>230, 'CountryID'=>'TCA', 'Country'=>'Turks and Caicos Islands'], - ['IntCountryID'=>231, 'CountryID'=>'TUV', 'Country'=>'Tuvalu'], - ['IntCountryID'=>232, 'CountryID'=>'UGA', 'Country'=>'Uganda'], - ['IntCountryID'=>233, 'CountryID'=>'UKR', 'Country'=>'Ukraine'], - ['IntCountryID'=>234, 'CountryID'=>'ARE', 'Country'=>'United Arab Emirates'], - ['IntCountryID'=>235, 'CountryID'=>'GBR', 'Country'=>'United Kingdom of Great Britain and Northern Ireland'], - ['IntCountryID'=>236, 'CountryID'=>'USA', 'Country'=>'United States of America'], - ['IntCountryID'=>237, 'CountryID'=>'UMI', 'Country'=>'United States Minor Outlying Islands[g]'], - ['IntCountryID'=>238, 'CountryID'=>'URY', 'Country'=>'Uruguay'], - ['IntCountryID'=>239, 'CountryID'=>'UZB', 'Country'=>'Uzbekistan'], - ['IntCountryID'=>240, 'CountryID'=>'VUT', 'Country'=>'Vanuatu'], - ['IntCountryID'=>241, 'CountryID'=>'VEN', 'Country'=>'Venezuela, Bolivarian Republic of'], - ['IntCountryID'=>242, 'CountryID'=>'VNM', 'Country'=>'Viet Nam'], - ['IntCountryID'=>243, 'CountryID'=>'VGB', 'Country'=>'Virgin Islands (British)'], - ['IntCountryID'=>244, 'CountryID'=>'VIR', 'Country'=>'Virgin Islands (U.S.)'], - ['IntCountryID'=>245, 'CountryID'=>'WLF', 'Country'=>'Wallis and Futuna'], - ['IntCountryID'=>246, 'CountryID'=>'ESH', 'Country'=>'Western Sahara[c]'], - ['IntCountryID'=>247, 'CountryID'=>'YEM', 'Country'=>'Yemen'], - ['IntCountryID'=>248, 'CountryID'=>'ZMB', 'Country'=>'Zambia'], - ['IntCountryID'=>249, 'CountryID'=>'ZWE', 'Country'=>'Zimbabwe'] - ]; - - $this->db->table('country')->insertBatch($data); - - // race - $data = [ - ['RaceID'=>1, 'Race'=>'Jawa'], - ['RaceID'=>2, 'Race'=>'Sunda'], - ['RaceID'=>3, 'Race'=>'Batak'], - ['RaceID'=>4, 'Race'=>'Suku asal Sulawesi lainnya'], - ['RaceID'=>5, 'Race'=>'Madura'], - ['RaceID'=>6, 'Race'=>'Betawi'], - ['RaceID'=>7, 'Race'=>'Minangkabau'], - ['RaceID'=>8, 'Race'=>'Bugis'], - ['RaceID'=>9, 'Race'=>'Melayu'], - ['RaceID'=>10, 'Race'=>'Suku asal Sumatera Selatan'], - ['RaceID'=>11, 'Race'=>'Suku asal Banten'], - ['RaceID'=>12, 'Race'=>'Suku asal Nusa Tenggara Timur'], - ['RaceID'=>13, 'Race'=>'Banjar'], - ['RaceID'=>14, 'Race'=>'Aceh'], - ['RaceID'=>15, 'Race'=>'Bali'], - ['RaceID'=>16, 'Race'=>'Sasak'], - ['RaceID'=>17, 'Race'=>'Dayak'], - ['RaceID'=>18, 'Race'=>'Tionghoa'], - ['RaceID'=>19, 'Race'=>'Suku asal Papua'], - ['RaceID'=>20, 'Race'=>'Makassar'], - ['RaceID'=>21, 'Race'=>'Suku asal Sumatera lainnya'], - ['RaceID'=>22, 'Race'=>'Suku asal Maluku'], - ['RaceID'=>23, 'Race'=>'Suku asal Kalimantan lainnya'], - ['RaceID'=>24, 'Race'=>'Cirebon'], - ['RaceID'=>25, 'Race'=>'Suku asal Jambi'], - ['RaceID'=>26, 'Race'=>'Suku Lampung'], - ['RaceID'=>27, 'Race'=>'Suku asal Nusa Tenggara Barat lainnya'], - ['RaceID'=>28, 'Race'=>'Gorontalo'], - ['RaceID'=>29, 'Race'=>'Minahasa'], - ['RaceID'=>30, 'Race'=>'Nias'], - ['RaceID'=>31, 'Race'=>'Asing/luar negeri'] - ]; - $this->db->table('race')->insertBatch($data); - - //religion - $data = [ - ['ReligionID'=>1, 'Religion'=>'Islam'], - ['ReligionID'=>2, 'Religion'=>'Kristen'], - ['ReligionID'=>3, 'Religion'=>'Katolik'], - ['ReligionID'=>4, 'Religion'=>'Hindu'], - ['ReligionID'=>5, 'Religion'=>'Buddha'], - ['ReligionID'=>6, 'Religion'=>'Konghucu'], - ['ReligionID'=>7, 'Religion'=>'Lainnya'], - ]; - $this->db->table('religion')->insertBatch($data); - } -} diff --git a/app/Database/Seeds/ValueSetSeeder.php b/app/Database/Seeds/ValueSetSeeder.php index 3f980e0..44e9002 100644 --- a/app/Database/Seeds/ValueSetSeeder.php +++ b/app/Database/Seeds/ValueSetSeeder.php @@ -7,206 +7,509 @@ use CodeIgniter\Database\Seeder; class ValueSetSeeder extends Seeder { public function run() { $data = [ - ['VSetID' => 1,'VOrder' => 1, 'VValue' =>'0', 'VDesc' => 'Primary', 'VCategory' => '1'], - ['VSetID' => 1,'VOrder' => 2, 'VValue' =>'1', 'VDesc' => 'Secondary', 'VCategory' => '1'], - ['VSetID' => 2,'VOrder' => 1, 'VValue' =>'0', 'VDesc' => 'Disabled', 'VCategory' => '1'], - ['VSetID' => 2,'VOrder' => 2, 'VValue' =>'1', 'VDesc' => 'Enabled', 'VCategory' => '1'], - ['VSetID' => 3,'VOrder' => 1, 'VValue' =>'1', 'VDesc' => 'Female', 'VCategory' => '1'], - ['VSetID' => 3,'VOrder' => 2, 'VValue' =>'2', 'VDesc' => 'Male', 'VCategory' => '1'], - ['VSetID' => 3,'VOrder' => 3, 'VValue' =>'3', 'VDesc' => 'Unknown', 'VCategory' => '1'], - ['VSetID' => 4,'VOrder' => 1, 'VValue' =>'A', 'VDesc' => 'Separated', 'VCategory' => '1'], - ['VSetID' => 4,'VOrder' => 2, 'VValue' =>'D', 'VDesc' => 'Divorced', 'VCategory' => '1'], - ['VSetID' => 4,'VOrder' => 3, 'VValue' =>'M', 'VDesc' => 'Married', 'VCategory' => '1'], - ['VSetID' => 4,'VOrder' => 4, 'VValue' =>'S', 'VDesc' => 'Single', 'VCategory' => '1'], - ['VSetID' => 4,'VOrder' => 5, 'VValue' =>'W', 'VDesc' => 'Widowed', 'VCategory' => '1'], - ['VSetID' => 4,'VOrder' => 6, 'VValue' =>'B', 'VDesc' => 'Unmarried', 'VCategory' => '1'], - ['VSetID' => 4,'VOrder' => 7, 'VValue' =>'U', 'VDesc' => 'Unknown', 'VCategory' => '1'], - ['VSetID' => 4,'VOrder' => 8, 'VValue' =>'O', 'VDesc' => 'Other', 'VCategory' => '1'], - ['VSetID' => 5,'VOrder' => 1, 'VValue' =>'Y', 'VDesc' => 'Death', 'VCategory' => '1'], - ['VSetID' => 5,'VOrder' => 2, 'VValue' =>'N', 'VDesc' => 'Life', 'VCategory' => '1'], - ['VSetID' => 6,'VOrder' => 1, 'VValue' =>'KTP', 'VDesc' => 'Kartu Tanda Penduduk', 'VCategory' => '1'], - ['VSetID' => 6,'VOrder' => 2, 'VValue' =>'PASS', 'VDesc' => 'Passport', 'VCategory' => '1'], - ['VSetID' => 6,'VOrder' => 3, 'VValue' =>'SSN', 'VDesc' => 'Social Security Number', 'VCategory' => '1'], - ['VSetID' => 6,'VOrder' => 4, 'VValue' =>'SIM', 'VDesc' => 'Surat Izin Mengemudi', 'VCategory' => '1'], - ['VSetID' => 6,'VOrder' => 5, 'VValue' =>'KTAS', 'VDesc' => 'Kartu Izin Tinggal Terbatas', 'VCategory' => '1'], - ['VSetID' => 7,'VOrder' => 1, 'VValue' =>'Create', 'VDesc' => 'create record', 'VCategory' => '1'], - ['VSetID' => 7,'VOrder' => 2, 'VValue' =>'Read', 'VDesc' => 'read record/field', 'VCategory' => '1'], - ['VSetID' => 7,'VOrder' => 3, 'VValue' =>'Update', 'VDesc' => 'update record/field', 'VCategory' => '1'], - ['VSetID' => 7,'VOrder' => 4, 'VValue' =>'Delete', 'VDesc' => 'delete record/field', 'VCategory' => '1'], - ['VSetID' => 8,'VOrder' => 1, 'VValue' =>'WDID', 'VDesc' => 'Windows Device ID', 'VCategory' => '1'], - ['VSetID' => 8,'VOrder' => 2, 'VValue' =>'AAID', 'VDesc' => 'Android AAID', 'VCategory' => '1'], - ['VSetID' => 8,'VOrder' => 3, 'VValue' =>'IDFA', 'VDesc' => 'IOS IDFA', 'VCategory' => '1'], - ['VSetID' => 9,'VOrder' => 1, 'VValue' =>'PAT', 'VDesc' => 'Patient', 'VCategory' => '1'], - ['VSetID' => 9,'VOrder' => 2, 'VValue' =>'ISN', 'VDesc' => 'Insurance', 'VCategory' => '1'], - ['VSetID' => 9,'VOrder' => 3, 'VValue' =>'ACC', 'VDesc' => 'Account', 'VCategory' => '1'], - ['VSetID' => 9,'VOrder' => 4, 'VValue' =>'DOC', 'VDesc' => 'Doctor', 'VCategory' => '1'], - ['VSetID' => 10,'VOrder' => 1, 'VValue' =>'S', 'VDesc' => 'Stat', 'VCategory' => '1'], - ['VSetID' => 10,'VOrder' => 2, 'VValue' =>'A', 'VDesc' => 'ASAP', 'VCategory' => '1'], - ['VSetID' => 10,'VOrder' => 3, 'VValue' =>'R', 'VDesc' => 'Routine', 'VCategory' => '1'], - ['VSetID' => 10,'VOrder' => 4, 'VValue' =>'P', 'VDesc' => 'Preop', 'VCategory' => '1'], - ['VSetID' => 10,'VOrder' => 5, 'VValue' =>'C', 'VDesc' => 'Callback', 'VCategory' => '1'], - ['VSetID' => 10,'VOrder' => 6, 'VValue' =>'T', 'VDesc' => 'Timing critical', 'VCategory' => '1'], - ['VSetID' => 10,'VOrder' => 7, 'VValue' =>'PRN', 'VDesc' => 'As needed', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 1, 'VValue' =>'A', 'VDesc' => 'Some, not all results available', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 2, 'VValue' =>'CA', 'VDesc' => 'Order is cancelled', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 3, 'VValue' =>'CM', 'VDesc' => 'Order is completed', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 4, 'VValue' =>'DC', 'VDesc' => 'Order was discontinued', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 5, 'VValue' =>'ER', 'VDesc' => 'Error, order not found', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 6, 'VValue' =>'HD', 'VDesc' => 'Order “on hold”', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 7, 'VValue' =>'IP', 'VDesc' => 'In process, unspecified', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 8, 'VValue' =>'RP', 'VDesc' => 'Order has been replaced', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 9, 'VValue' =>'SC', 'VDesc' => 'In process, scheduled', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 10, 'VValue' =>'CL', 'VDesc' => 'Closed', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 11, 'VValue' =>'AC', 'VDesc' => 'Archived', 'VCategory' => '1'], - ['VSetID' => 11,'VOrder' => 12, 'VValue' =>'DL', 'VDesc' => 'Deleted', 'VCategory' => '1'], - ['VSetID' => 12,'VOrder' => 1, 'VValue' =>'FCLT', 'VDesc' => 'Facility. Organisasi atau lembaga tempat layanan disediakan, atau gedung tertentu dalam organisasi', 'VCategory' => '1'], - ['VSetID' => 12,'VOrder' => 2, 'VValue' =>'BLDG', 'VDesc' => 'Building. Gedung', 'VCategory' => '1'], - ['VSetID' => 12,'VOrder' => 3, 'VValue' =>'FLOR', 'VDesc' => 'Floor. Lantai dari gedung', 'VCategory' => '1'], - ['VSetID' => 12,'VOrder' => 4, 'VValue' =>'POC', 'VDesc' => 'Point of Care', 'VCategory' => '1'], - ['VSetID' => 12,'VOrder' => 5, 'VValue' =>'ROOM', 'VDesc' => 'Room. Ruangan dalam Gedung-lantai', 'VCategory' => '1'], - ['VSetID' => 12,'VOrder' => 6, 'VValue' =>'BED', 'VDesc' => 'Bed. Tempat tidur pasien', 'VCategory' => '1'], - ['VSetID' => 12,'VOrder' => 7, 'VValue' =>'MOBL', 'VDesc' => 'Mobile. Lokasi bergerak, ditandai dengan koordinat GPS, lokasi sementara, atau deskripsi lokasi unit bergerak saat ini.', 'VCategory' => '1'], - ['VSetID' => 12,'VOrder' => 8, 'VValue' =>'REMT', 'VDesc' => 'Remote. Lokasi di luar lokasi utama', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 1, 'VValue' =>'Hep', 'VDesc' => 'Heparin ammonium', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 2, 'VValue' =>'Apro', 'VDesc' => 'Aprotinin (substance)', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 3, 'VValue' =>'HepCa', 'VDesc' => 'Heparin calcium', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 4, 'VValue' =>'H3BO3', 'VDesc' => 'Boric acid', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 5, 'VValue' =>'CaOxa', 'VDesc' => 'Calcium oxalate', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 6, 'VValue' =>'EDTA', 'VDesc' => 'EDTA', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 7, 'VValue' =>'Ede', 'VDesc' => 'Edetate (substance)', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 8, 'VValue' =>'HCl', 'VDesc' => 'Hydrochloric acid', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 9, 'VValue' =>'Hrdn', 'VDesc' => 'Hirudin (substance)', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 10, 'VValue' =>'EdeK', 'VDesc' => 'Edetate dipotassium', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 11, 'VValue' =>'EdeTri', 'VDesc' => 'Tripotassium edetate', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 12, 'VValue' =>'LiHep', 'VDesc' => 'Heparin lithium (substance)', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 13, 'VValue' =>'EdeNa', 'VDesc' => 'Edetate disodium (substance)', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 14, 'VValue' =>'NaCtrt', 'VDesc' => 'Sodium citrate (substance)', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 15, 'VValue' =>'NaHep', 'VDesc' => 'Heparin sodium', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 16, 'VValue' =>'NaF', 'VDesc' => 'Sodium fluoride', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 17, 'VValue' =>'Borax', 'VDesc' => 'Sodium tetraborate', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 18, 'VValue' =>'Mntl', 'VDesc' => 'Mannitol (substance)', 'VCategory' => '1'], - ['VSetID' => 13,'VOrder' => 19, 'VValue' =>'NaFrm', 'VDesc' => 'Sodium formate', 'VCategory' => '1'], - ['VSetID' => 14,'VOrder' => 1, 'VValue' =>'Pri', 'VDesc' => 'primary, kontak langsung dengan spesimen', 'VCategory' => '1'], - ['VSetID' => 14,'VOrder' => 2, 'VValue' =>'Sec', 'VDesc' => 'secondary, wadah primary container', 'VCategory' => '1'], - ['VSetID' => 14,'VOrder' => 3, 'VValue' =>'Ter', 'VDesc' => 'tertiary, wadah secondary container.', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 1, 'VValue' =>'BLD', 'VDesc' => 'Whole blood', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 2, 'VValue' =>'BLDA', 'VDesc' => 'Blood arterial', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 3, 'VValue' =>'BLDCO', 'VDesc' => 'Cord blood', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 4, 'VValue' =>'FBLOOD', 'VDesc' => 'Blood, Fetal', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 5, 'VValue' =>'FBLOOD', 'VDesc' => 'Blood, Fetal', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 6, 'VValue' =>'WB', 'VDesc' => 'Blood, Whole', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 7, 'VValue' =>'BBL', 'VDesc' => 'Blood bag', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 8, 'VValue' =>'SER', 'VDesc' => 'Serum', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 9, 'VValue' =>'PLAS', 'VDesc' => 'Plasma', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 10, 'VValue' =>'PLB', 'VDesc' => 'Plasma bag', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 11, 'VValue' =>'MUCOS', 'VDesc' => 'Mucosa', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 12, 'VValue' =>'MUCUS', 'VDesc' => 'Mucus', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 13, 'VValue' =>'UR', 'VDesc' => 'Urine', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 14, 'VValue' =>'RANDU', 'VDesc' => 'Urine, Random', 'VCategory' => '1'], - ['VSetID' => 15,'VOrder' => 15, 'VValue' =>'URINM', 'VDesc' => 'Urine, Midstream', 'VCategory' => '1'], - ['VSetID' => 16,'VOrder' => 1, 'VValue' =>'L', 'VDesc' => 'Liter', 'VCategory' => '1'], - ['VSetID' => 16,'VOrder' => 2, 'VValue' =>'mL', 'VDesc' => 'Mili Liter', 'VCategory' => '1'], - ['VSetID' => 16,'VOrder' => 3, 'VValue' =>'mL', 'VDesc' => 'Micro Liter', 'VCategory' => '1'], - ['VSetID' => 16,'VOrder' => 4, 'VValue' =>'Pcs', 'VDesc' => 'Pieces', 'VCategory' => '1'], - ['VSetID' => 17,'VOrder' => 1, 'VValue' =>'order', 'VDesc' => 'Generate by order', 'VCategory' => '1'], - ['VSetID' => 17,'VOrder' => 2, 'VValue' =>'user', 'VDesc' => 'Generate by user', 'VCategory' => '1'], - ['VSetID' => 18,'VOrder' => 1, 'VValue' =>'SColl', 'VDesc' => 'Collection', 'VCategory' => '1'], - ['VSetID' => 18,'VOrder' => 2, 'VValue' =>'STran', 'VDesc' => 'Transport', 'VCategory' => '1'], - ['VSetID' => 18,'VOrder' => 3, 'VValue' =>'SRec', 'VDesc' => 'Reception', 'VCategory' => '1'], - ['VSetID' => 18,'VOrder' => 4, 'VValue' =>'SPrep', 'VDesc' => 'Preparation', 'VCategory' => '1'], - ['VSetID' => 18,'VOrder' => 5, 'VValue' =>'SAlqt', 'VDesc' => 'Aliquot', 'VCategory' => '1'], - ['VSetID' => 18,'VOrder' => 6, 'VValue' =>'SDisp', 'VDesc' => 'Dispatching', 'VCategory' => '1'], - ['VSetID' => 18,'VOrder' => 7, 'VValue' =>'SDest', 'VDesc' => 'Destruction', 'VCategory' => '1'], - ['VSetID' => 19,'VOrder' => 1, 'VValue' =>'0', 'VDesc' => 'Failed', 'VCategory' => '1'], - ['VSetID' => 19,'VOrder' => 2, 'VValue' =>'1', 'VDesc' => 'Success with note', 'VCategory' => '1'], - ['VSetID' => 19,'VOrder' => 3, 'VValue' =>'2', 'VDesc' => 'Success', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 1, 'VValue' =>'STC', 'VDesc' => 'To be collected', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 2, 'VValue' =>'SCFld', 'VDesc' => 'Collection failed', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 3, 'VValue' =>'SCtd', 'VDesc' => 'Collected', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 4, 'VValue' =>'STran', 'VDesc' => 'In-transport', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 5, 'VValue' =>'STFld', 'VDesc' => 'Transport failed', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 6, 'VValue' =>'SArrv', 'VDesc' => 'Arrived', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 7, 'VValue' =>'SRejc', 'VDesc' => 'Rejected', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 8, 'VValue' =>'SRcvd', 'VDesc' => 'Received', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 9, 'VValue' =>'SPAna', 'VDesc' => 'Pre-analytical', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 10, 'VValue' =>'SPAF', 'VDesc' => 'Pre-analytical failed', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 11, 'VValue' =>'STA', 'VDesc' => 'To be analyze', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 12, 'VValue' =>'SAFld', 'VDesc' => 'Analytical failed', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 13, 'VValue' =>'SAna', 'VDesc' => 'Analytical', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 14, 'VValue' =>'STS', 'VDesc' => 'To be stored', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 15, 'VValue' =>'SSFld', 'VDesc' => 'Store failed', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 16, 'VValue' =>'SStrd', 'VDesc' => 'Stored', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 17, 'VValue' =>'SExp', 'VDesc' => 'Expired', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 18, 'VValue' =>'STD', 'VDesc' => 'To be destroyed', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 19, 'VValue' =>'SDFld', 'VDesc' => 'Failed to destroy', 'VCategory' => '1'], - ['VSetID' => 20,'VOrder' => 20, 'VValue' =>'SDstd', 'VDesc' => 'Destroyed', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 1, 'VValue' =>'HEM', 'VDesc' => 'Hemolyzed', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 2, 'VValue' =>'ITC', 'VDesc' => 'Icteric', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 3, 'VValue' =>'LIP', 'VDesc' => 'Lipemic', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 4, 'VValue' =>'CFU', 'VDesc' => 'Centrifuged', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 5, 'VValue' =>'ROOM', 'VDesc' => 'Room temperature', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 6, 'VValue' =>'COOL', 'VDesc' => 'Cool', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 7, 'VValue' =>'FROZ', 'VDesc' => 'Frozen', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 8, 'VValue' =>'CLOT', 'VDesc' => 'Clotted', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 9, 'VValue' =>'AUT', 'VDesc' => 'Autolyzed', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 10, 'VValue' =>'CON', 'VDesc' => 'Contaminated', 'VCategory' => '1'], - ['VSetID' => 21,'VOrder' => 11, 'VValue' =>'LIVE', 'VDesc' => 'Live', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 1, 'VValue' =>'P', 'VDesc' => 'Patient', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 2, 'VValue' =>'B', 'VDesc' => 'Blind Sample', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 3, 'VValue' =>'Q', 'VDesc' => 'Control specimen', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 4, 'VValue' =>'E', 'VDesc' => 'Electronic QC. Used with manufactured reference providing signals that simulate QC results', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 5, 'VValue' =>'F', 'VDesc' => 'Filler Organization Proficiency. Specimen used for testing proficiency of the organization performing the testing (Filler) à PME', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 6, 'VValue' =>'O', 'VDesc' => 'Operator Proficiency. Specimen used for testing Operator Proficiency.', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 7, 'VValue' =>'C', 'VDesc' => 'Calibrator', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 8, 'VValue' =>'R', 'VDesc' => 'Replicate (of patient sample as a control). Used when a patient sample is re-run as a control for a repeat test', 'VCategory' => '1'], - ['VSetID' => 22,'VOrder' => 9, 'VValue' =>'V', 'VDesc' => 'Verifying Calibrator. Used for periodic calibration checks.', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 1, 'VValue' =>'pcntr', 'VDesc' => 'Puncture', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 2, 'VValue' =>'fprk', 'VDesc' => 'Finger-prick sampling', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 3, 'VValue' =>'ucct', 'VDesc' => 'Urine specimen collection, clean catch', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 4, 'VValue' =>'utcl', 'VDesc' => 'Timed urine collection', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 5, 'VValue' =>'ucth', 'VDesc' => 'Urine specimen collection, catheterized', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 6, 'VValue' =>'scgh', 'VDesc' => 'Collection of coughed sputum', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 7, 'VValue' =>'bpsy', 'VDesc' => 'Biopsy', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 8, 'VValue' =>'aspn', 'VDesc' => 'Aspiration', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 9, 'VValue' =>'excs', 'VDesc' => 'Excision', 'VCategory' => '1'], - ['VSetID' => 23,'VOrder' => 10, 'VValue' =>'scrp', 'VDesc' => 'Scraping', 'VCategory' => '1'], - ['VSetID' => 24,'VOrder' => 1, 'VValue' =>'LA', 'VDesc' => 'Left Arm', 'VCategory' => '1'], - ['VSetID' => 24,'VOrder' => 2, 'VValue' =>'RA', 'VDesc' => 'Right Arm', 'VCategory' => '1'], - ['VSetID' => 24,'VOrder' => 3, 'VValue' =>'LF', 'VDesc' => 'Left Foot', 'VCategory' => '1'], - ['VSetID' => 24,'VOrder' => 4, 'VValue' =>'RF', 'VDesc' => 'Right Foot', 'VCategory' => '1'], - ['VSetID' => 26,'VOrder' => 1, 'VValue' =>'F', 'VDesc' => 'Fasting. Pasien puasa', 'VCategory' => '1'], - ['VSetID' => 26,'VOrder' => 2, 'VValue' =>'NF', 'VDesc' => 'Not Fasting. Pasien tidak puasa', 'VCategory' => '1'], - ['VSetID' => 26,'VOrder' => 3, 'VValue' =>'NG', 'VDesc' => 'Not Given. Pasien tidak ditanyakan status puasanya.', 'VCategory' => '1'] +['VSetID' => 1,'VOrder' => 1, 'VValue' =>'0', 'VDesc' => "Primary", 'VCategory' => '1'], +['VSetID' => 1,'VOrder' => 2, 'VValue' =>'1', 'VDesc' => "Secondary", 'VCategory' => '1'], +['VSetID' => 2,'VOrder' => 1, 'VValue' =>'0', 'VDesc' => "Disabled", 'VCategory' => '1'], +['VSetID' => 2,'VOrder' => 2, 'VValue' =>'1', 'VDesc' => "Enabled", 'VCategory' => '1'], +['VSetID' => 3,'VOrder' => 1, 'VValue' =>'1', 'VDesc' => "Female", 'VCategory' => '1'], +['VSetID' => 3,'VOrder' => 2, 'VValue' =>'2', 'VDesc' => "Male", 'VCategory' => '1'], +['VSetID' => 3,'VOrder' => 3, 'VValue' =>'3', 'VDesc' => "Unknown", 'VCategory' => '1'], +['VSetID' => 4,'VOrder' => 1, 'VValue' =>'A', 'VDesc' => "Separated", 'VCategory' => '1'], +['VSetID' => 4,'VOrder' => 2, 'VValue' =>'D', 'VDesc' => "Divorced", 'VCategory' => '1'], +['VSetID' => 4,'VOrder' => 3, 'VValue' =>'M', 'VDesc' => "Married", 'VCategory' => '1'], +['VSetID' => 4,'VOrder' => 4, 'VValue' =>'S', 'VDesc' => "Single", 'VCategory' => '1'], +['VSetID' => 4,'VOrder' => 5, 'VValue' =>'W', 'VDesc' => "Widowed", 'VCategory' => '1'], +['VSetID' => 4,'VOrder' => 6, 'VValue' =>'B', 'VDesc' => "Unmarried", 'VCategory' => '1'], +['VSetID' => 4,'VOrder' => 7, 'VValue' =>'U', 'VDesc' => "Unknown", 'VCategory' => '1'], +['VSetID' => 4,'VOrder' => 8, 'VValue' =>'O', 'VDesc' => "Other", 'VCategory' => '1'], +['VSetID' => 5,'VOrder' => 1, 'VValue' =>'Y', 'VDesc' => "Death", 'VCategory' => '1'], +['VSetID' => 5,'VOrder' => 2, 'VValue' =>'N', 'VDesc' => "Life", 'VCategory' => '1'], +['VSetID' => 6,'VOrder' => 1, 'VValue' =>'KTP', 'VDesc' => "Kartu Tanda Penduduk", 'VCategory' => '1'], +['VSetID' => 6,'VOrder' => 2, 'VValue' =>'PASS', 'VDesc' => "Passport", 'VCategory' => '1'], +['VSetID' => 6,'VOrder' => 3, 'VValue' =>'SSN', 'VDesc' => "Social Security Number", 'VCategory' => '1'], +['VSetID' => 6,'VOrder' => 4, 'VValue' =>'SIM', 'VDesc' => "Surat Izin Mengemudi", 'VCategory' => '1'], +['VSetID' => 6,'VOrder' => 5, 'VValue' =>'KTAS', 'VDesc' => "Kartu Izin Tinggal Terbatas", 'VCategory' => '1'], +['VSetID' => 7,'VOrder' => 1, 'VValue' =>'Create', 'VDesc' => "create record", 'VCategory' => '1'], +['VSetID' => 7,'VOrder' => 2, 'VValue' =>'Read', 'VDesc' => "read record/field", 'VCategory' => '1'], +['VSetID' => 7,'VOrder' => 3, 'VValue' =>'Update', 'VDesc' => "update record/field", 'VCategory' => '1'], +['VSetID' => 7,'VOrder' => 4, 'VValue' =>'Delete', 'VDesc' => "delete record/field", 'VCategory' => '1'], +['VSetID' => 8,'VOrder' => 1, 'VValue' =>'WDID', 'VDesc' => "Windows Device ID", 'VCategory' => '1'], +['VSetID' => 8,'VOrder' => 2, 'VValue' =>'AAID', 'VDesc' => "Android AAID", 'VCategory' => '1'], +['VSetID' => 8,'VOrder' => 3, 'VValue' =>'IDFA', 'VDesc' => "IOS IDFA", 'VCategory' => '1'], +['VSetID' => 9,'VOrder' => 1, 'VValue' =>'PAT', 'VDesc' => "Patient", 'VCategory' => '1'], +['VSetID' => 9,'VOrder' => 2, 'VValue' =>'ISN', 'VDesc' => "Insurance", 'VCategory' => '1'], +['VSetID' => 9,'VOrder' => 3, 'VValue' =>'ACC', 'VDesc' => "Account", 'VCategory' => '1'], +['VSetID' => 9,'VOrder' => 4, 'VValue' =>'DOC', 'VDesc' => "Doctor", 'VCategory' => '1'], +['VSetID' => 10,'VOrder' => 1, 'VValue' =>'S', 'VDesc' => "Stat", 'VCategory' => '1'], +['VSetID' => 10,'VOrder' => 2, 'VValue' =>'A', 'VDesc' => "ASAP", 'VCategory' => '1'], +['VSetID' => 10,'VOrder' => 3, 'VValue' =>'R', 'VDesc' => "Routine", 'VCategory' => '1'], +['VSetID' => 10,'VOrder' => 4, 'VValue' =>'P', 'VDesc' => "Preop", 'VCategory' => '1'], +['VSetID' => 10,'VOrder' => 5, 'VValue' =>'C', 'VDesc' => "Callback", 'VCategory' => '1'], +['VSetID' => 10,'VOrder' => 6, 'VValue' =>'T', 'VDesc' => "Timing critical", 'VCategory' => '1'], +['VSetID' => 10,'VOrder' => 7, 'VValue' =>'PRN', 'VDesc' => "As needed", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 1, 'VValue' =>'A', 'VDesc' => "Some, not all results available", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 2, 'VValue' =>'CA', 'VDesc' => "Order is cancelled", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 3, 'VValue' =>'CM', 'VDesc' => "Order is completed", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 4, 'VValue' =>'DC', 'VDesc' => "Order was discontinued", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 5, 'VValue' =>'ER', 'VDesc' => "Error, order not found", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 6, 'VValue' =>'HD', 'VDesc' => "Order “on hold”", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 7, 'VValue' =>'IP', 'VDesc' => "In process, unspecified", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 8, 'VValue' =>'RP', 'VDesc' => "Order has been replaced", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 9, 'VValue' =>'SC', 'VDesc' => "In process, scheduled", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 10, 'VValue' =>'CL', 'VDesc' => "Closed", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 11, 'VValue' =>'AC', 'VDesc' => "Archived", 'VCategory' => '1'], +['VSetID' => 11,'VOrder' => 12, 'VValue' =>'DL', 'VDesc' => "Deleted", 'VCategory' => '1'], +['VSetID' => 12,'VOrder' => 1, 'VValue' =>'FCLT', 'VDesc' => "Facility. Organisasi atau lembaga tempat layanan disediakan, atau gedung tertentu dalam organisasi", 'VCategory' => '1'], +['VSetID' => 12,'VOrder' => 2, 'VValue' =>'BLDG', 'VDesc' => "Building. Gedung", 'VCategory' => '1'], +['VSetID' => 12,'VOrder' => 3, 'VValue' =>'FLOR', 'VDesc' => "Floor. Lantai dari gedung", 'VCategory' => '1'], +['VSetID' => 12,'VOrder' => 4, 'VValue' =>'POC', 'VDesc' => "Point of Care", 'VCategory' => '1'], +['VSetID' => 12,'VOrder' => 5, 'VValue' =>'ROOM', 'VDesc' => "Room. Ruangan dalam Gedung-lantai", 'VCategory' => '1'], +['VSetID' => 12,'VOrder' => 6, 'VValue' =>'BED', 'VDesc' => "Bed. Tempat tidur pasien", 'VCategory' => '1'], +['VSetID' => 12,'VOrder' => 7, 'VValue' =>'MOBL', 'VDesc' => "Mobile. Lokasi bergerak, ditandai dengan koordinat GPS, lokasi sementara, atau deskripsi lokasi unit bergerak saat ini.", 'VCategory' => '1'], +['VSetID' => 12,'VOrder' => 8, 'VValue' =>'REMT', 'VDesc' => "Remote. Lokasi di luar lokasi utama", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 1, 'VValue' =>'Hep', 'VDesc' => "Heparin ammonium", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 2, 'VValue' =>'Apro', 'VDesc' => "Aprotinin (substance)", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 3, 'VValue' =>'HepCa', 'VDesc' => "Heparin calcium", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 4, 'VValue' =>'H3BO3', 'VDesc' => "Boric acid", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 5, 'VValue' =>'CaOxa', 'VDesc' => "Calcium oxalate", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 6, 'VValue' =>'EDTA', 'VDesc' => "EDTA", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 7, 'VValue' =>'Ede', 'VDesc' => "Edetate (substance)", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 8, 'VValue' =>'HCl', 'VDesc' => "Hydrochloric acid", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 9, 'VValue' =>'Hrdn', 'VDesc' => "Hirudin (substance)", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 10, 'VValue' =>'EdeK', 'VDesc' => "Edetate dipotassium", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 11, 'VValue' =>'EdeTri', 'VDesc' => "Tripotassium edetate", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 12, 'VValue' =>'LiHep', 'VDesc' => "Heparin lithium (substance)", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 13, 'VValue' =>'EdeNa', 'VDesc' => "Edetate disodium (substance)", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 14, 'VValue' =>'NaCtrt', 'VDesc' => "Sodium citrate (substance)", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 15, 'VValue' =>'NaHep', 'VDesc' => "Heparin sodium", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 16, 'VValue' =>'NaF', 'VDesc' => "Sodium fluoride", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 17, 'VValue' =>'Borax', 'VDesc' => "Sodium tetraborate", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 18, 'VValue' =>'Mntl', 'VDesc' => "Mannitol (substance)", 'VCategory' => '1'], +['VSetID' => 13,'VOrder' => 19, 'VValue' =>'NaFrm', 'VDesc' => "Sodium formate", 'VCategory' => '1'], +['VSetID' => 14,'VOrder' => 1, 'VValue' =>'Pri', 'VDesc' => "primary, kontak langsung dengan spesimen", 'VCategory' => '1'], +['VSetID' => 14,'VOrder' => 2, 'VValue' =>'Sec', 'VDesc' => "secondary, wadah primary container", 'VCategory' => '1'], +['VSetID' => 14,'VOrder' => 3, 'VValue' =>'Ter', 'VDesc' => "tertiary, wadah secondary container.", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 1, 'VValue' =>'BLD', 'VDesc' => "Whole blood", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 2, 'VValue' =>'BLDA', 'VDesc' => "Blood arterial", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 3, 'VValue' =>'BLDCO', 'VDesc' => "Cord blood", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 4, 'VValue' =>'FBLOOD', 'VDesc' => "Blood, Fetal", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 5, 'VValue' =>'FBLOOD', 'VDesc' => "Blood, Fetal", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 6, 'VValue' =>'WB', 'VDesc' => "Blood, Whole", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 7, 'VValue' =>'BBL', 'VDesc' => "Blood bag", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 8, 'VValue' =>'SER', 'VDesc' => "Serum", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 9, 'VValue' =>'PLAS', 'VDesc' => "Plasma", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 10, 'VValue' =>'PLB', 'VDesc' => "Plasma bag", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 11, 'VValue' =>'MUCOS', 'VDesc' => "Mucosa", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 12, 'VValue' =>'MUCUS', 'VDesc' => "Mucus", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 13, 'VValue' =>'UR', 'VDesc' => "Urine", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 14, 'VValue' =>'RANDU', 'VDesc' => "Urine, Random", 'VCategory' => '1'], +['VSetID' => 15,'VOrder' => 15, 'VValue' =>'URINM', 'VDesc' => "Urine, Midstream", 'VCategory' => '1'], +['VSetID' => 16,'VOrder' => 1, 'VValue' =>'L', 'VDesc' => "Liter", 'VCategory' => '1'], +['VSetID' => 16,'VOrder' => 2, 'VValue' =>'mL', 'VDesc' => "Mili Liter", 'VCategory' => '1'], +['VSetID' => 16,'VOrder' => 3, 'VValue' =>'mL', 'VDesc' => "Micro Liter", 'VCategory' => '1'], +['VSetID' => 16,'VOrder' => 4, 'VValue' =>'Pcs', 'VDesc' => "Pieces", 'VCategory' => '1'], +['VSetID' => 17,'VOrder' => 1, 'VValue' =>'order', 'VDesc' => "Generate by order", 'VCategory' => '1'], +['VSetID' => 17,'VOrder' => 2, 'VValue' =>'user', 'VDesc' => "Generate by user", 'VCategory' => '1'], +['VSetID' => 18,'VOrder' => 1, 'VValue' =>'SColl', 'VDesc' => "Collection", 'VCategory' => '1'], +['VSetID' => 18,'VOrder' => 2, 'VValue' =>'STran', 'VDesc' => "Transport", 'VCategory' => '1'], +['VSetID' => 18,'VOrder' => 3, 'VValue' =>'SRec', 'VDesc' => "Reception", 'VCategory' => '1'], +['VSetID' => 18,'VOrder' => 4, 'VValue' =>'SPrep', 'VDesc' => "Preparation", 'VCategory' => '1'], +['VSetID' => 18,'VOrder' => 5, 'VValue' =>'SAlqt', 'VDesc' => "Aliquot", 'VCategory' => '1'], +['VSetID' => 18,'VOrder' => 6, 'VValue' =>'SDisp', 'VDesc' => "Dispatching", 'VCategory' => '1'], +['VSetID' => 18,'VOrder' => 7, 'VValue' =>'SDest', 'VDesc' => "Destruction", 'VCategory' => '1'], +['VSetID' => 19,'VOrder' => 1, 'VValue' =>'0', 'VDesc' => "Failed", 'VCategory' => '1'], +['VSetID' => 19,'VOrder' => 2, 'VValue' =>'1', 'VDesc' => "Success with note", 'VCategory' => '1'], +['VSetID' => 19,'VOrder' => 3, 'VValue' =>'2', 'VDesc' => "Success", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 1, 'VValue' =>'STC', 'VDesc' => "To be collected", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 2, 'VValue' =>'SCFld', 'VDesc' => "Collection failed", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 3, 'VValue' =>'SCtd', 'VDesc' => "Collected", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 4, 'VValue' =>'STran', 'VDesc' => "In-transport", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 5, 'VValue' =>'STFld', 'VDesc' => "Transport failed", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 6, 'VValue' =>'SArrv', 'VDesc' => "Arrived", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 7, 'VValue' =>'SRejc', 'VDesc' => "Rejected", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 8, 'VValue' =>'SRcvd', 'VDesc' => "Received", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 9, 'VValue' =>'SPAna', 'VDesc' => "Pre-analytical", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 10, 'VValue' =>'SPAF', 'VDesc' => "Pre-analytical failed", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 11, 'VValue' =>'STA', 'VDesc' => "To be analyze", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 12, 'VValue' =>'SAFld', 'VDesc' => "Analytical failed", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 13, 'VValue' =>'SAna', 'VDesc' => "Analytical", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 14, 'VValue' =>'STS', 'VDesc' => "To be stored", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 15, 'VValue' =>'SSFld', 'VDesc' => "Store failed", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 16, 'VValue' =>'SStrd', 'VDesc' => "Stored", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 17, 'VValue' =>'SExp', 'VDesc' => "Expired", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 18, 'VValue' =>'STD', 'VDesc' => "To be destroyed", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 19, 'VValue' =>'SDFld', 'VDesc' => "Failed to destroy", 'VCategory' => '1'], +['VSetID' => 20,'VOrder' => 20, 'VValue' =>'SDstd', 'VDesc' => "Destroyed", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 1, 'VValue' =>'HEM', 'VDesc' => "Hemolyzed", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 2, 'VValue' =>'ITC', 'VDesc' => "Icteric", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 3, 'VValue' =>'LIP', 'VDesc' => "Lipemic", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 4, 'VValue' =>'CFU', 'VDesc' => "Centrifuged", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 5, 'VValue' =>'ROOM', 'VDesc' => "Room temperature", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 6, 'VValue' =>'COOL', 'VDesc' => "Cool", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 7, 'VValue' =>'FROZ', 'VDesc' => "Frozen", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 8, 'VValue' =>'CLOT', 'VDesc' => "Clotted", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 9, 'VValue' =>'AUT', 'VDesc' => "Autolyzed", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 10, 'VValue' =>'CON', 'VDesc' => "Contaminated", 'VCategory' => '1'], +['VSetID' => 21,'VOrder' => 11, 'VValue' =>'LIVE', 'VDesc' => "Live", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 1, 'VValue' =>'P', 'VDesc' => "Patient", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 2, 'VValue' =>'B', 'VDesc' => "Blind Sample", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 3, 'VValue' =>'Q', 'VDesc' => "Control specimen", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 4, 'VValue' =>'E', 'VDesc' => "Electronic QC. Used with manufactured reference providing signals that simulate QC results", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 5, 'VValue' =>'F', 'VDesc' => "Filler Organization Proficiency. Specimen used for testing proficiency of the organization performing the testing (Filler) à PME", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 6, 'VValue' =>'O', 'VDesc' => "Operator Proficiency. Specimen used for testing Operator Proficiency.", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 7, 'VValue' =>'C', 'VDesc' => "Calibrator", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 8, 'VValue' =>'R', 'VDesc' => "Replicate (of patient sample as a control). Used when a patient sample is re-run as a control for a repeat test", 'VCategory' => '1'], +['VSetID' => 22,'VOrder' => 9, 'VValue' =>'V', 'VDesc' => "Verifying Calibrator. Used for periodic calibration checks.", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 1, 'VValue' =>'pcntr', 'VDesc' => "Puncture", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 2, 'VValue' =>'fprk', 'VDesc' => "Finger-prick sampling", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 3, 'VValue' =>'ucct', 'VDesc' => "Urine specimen collection, clean catch", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 4, 'VValue' =>'utcl', 'VDesc' => "Timed urine collection", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 5, 'VValue' =>'ucth', 'VDesc' => "Urine specimen collection, catheterized", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 6, 'VValue' =>'scgh', 'VDesc' => "Collection of coughed sputum", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 7, 'VValue' =>'bpsy', 'VDesc' => "Biopsy", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 8, 'VValue' =>'aspn', 'VDesc' => "Aspiration", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 9, 'VValue' =>'excs', 'VDesc' => "Excision", 'VCategory' => '1'], +['VSetID' => 23,'VOrder' => 10, 'VValue' =>'scrp', 'VDesc' => "Scraping", 'VCategory' => '1'], +['VSetID' => 24,'VOrder' => 1, 'VValue' =>'LA', 'VDesc' => "Left Arm", 'VCategory' => '1'], +['VSetID' => 24,'VOrder' => 2, 'VValue' =>'RA', 'VDesc' => "Right Arm", 'VCategory' => '1'], +['VSetID' => 24,'VOrder' => 3, 'VValue' =>'LF', 'VDesc' => "Left Foot", 'VCategory' => '1'], +['VSetID' => 24,'VOrder' => 4, 'VValue' =>'RF', 'VDesc' => "Right Foot", 'VCategory' => '1'], +['VSetID' => 25,'VOrder' => 1, 'VValue' =>'5ml', 'VDesc' => "5 mL", 'VCategory' => '1'], +['VSetID' => 25,'VOrder' => 2, 'VValue' =>'7ml', 'VDesc' => "7 mL", 'VCategory' => '1'], +['VSetID' => 25,'VOrder' => 3, 'VValue' =>'10ml', 'VDesc' => "10 mL", 'VCategory' => '1'], +['VSetID' => 25,'VOrder' => 4, 'VValue' =>'1l', 'VDesc' => "1 L", 'VCategory' => '1'], +['VSetID' => 26,'VOrder' => 1, 'VValue' =>'F', 'VDesc' => "Fasting. Pasien puasa", 'VCategory' => '1'], +['VSetID' => 26,'VOrder' => 2, 'VValue' =>'NF', 'VDesc' => "Not Fasting. Pasien tidak puasa", 'VCategory' => '1'], +['VSetID' => 26,'VOrder' => 3, 'VValue' =>'NG', 'VDesc' => "Not Given. Pasien tidak ditanyakan status puasanya.", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 1, 'VValue' =>'JAWA', 'VDesc' => "Jawa", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 2, 'VValue' =>'SUNDA', 'VDesc' => "Sunda", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 3, 'VValue' =>'BATAK', 'VDesc' => "Batak", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 4, 'VValue' =>'SULOR', 'VDesc' => "Suku asal Sulawesi lainnya", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 5, 'VValue' =>'MDRA', 'VDesc' => "Madura", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 6, 'VValue' =>'BTWI', 'VDesc' => "Betawi", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 7, 'VValue' =>'MNG', 'VDesc' => "Minangkabau", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 8, 'VValue' =>'BUGIS', 'VDesc' => "Bugis", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 9, 'VValue' =>'MLYU', 'VDesc' => "Melayu", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 10, 'VValue' =>'SUMSL', 'VDesc' => "Suku asal Sumatera Selatan", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 11, 'VValue' =>'BTNOR', 'VDesc' => "Suku asal Banten", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 12, 'VValue' =>'NTTOR', 'VDesc' => "Suku asal Nusa Tenggara Timur", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 13, 'VValue' =>'BNJAR', 'VDesc' => "Banjar", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 14, 'VValue' =>'ACEH', 'VDesc' => "Aceh", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 15, 'VValue' =>'BALI', 'VDesc' => "Bali", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 16, 'VValue' =>'SASAK', 'VDesc' => "Sasak", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 17, 'VValue' =>'DAYAK', 'VDesc' => "Dayak", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 18, 'VValue' =>'TNGHA', 'VDesc' => "Tionghoa", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 19, 'VValue' =>'PPAOR', 'VDesc' => "Suku asal Papua", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 20, 'VValue' =>'MKSSR', 'VDesc' => "Makassar", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 21, 'VValue' =>'SUMOR', 'VDesc' => "Suku asal Sumatera lainnya", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 22, 'VValue' =>'MLKOR', 'VDesc' => "Suku asal Maluku", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 23, 'VValue' =>'KLMOR', 'VDesc' => "Suku asal Kalimantan lainnya", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 24, 'VValue' =>'CRBON', 'VDesc' => "Cirebon", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 25, 'VValue' =>'JBIOR', 'VDesc' => "Suku asal Jambi", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 26, 'VValue' =>'LPGOR', 'VDesc' => "Suku Lampung", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 27, 'VValue' =>'NTBOR', 'VDesc' => "Suku asal Nusa Tenggara Barat lainnya", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 28, 'VValue' =>'GRTLO', 'VDesc' => "Gorontalo", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 29, 'VValue' =>'MNHSA', 'VDesc' => "Minahasa", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 30, 'VValue' =>'NIAS', 'VDesc' => "Nias", 'VCategory' => '1'], +['VSetID' => 30,'VOrder' => 31, 'VValue' =>'FORGN', 'VDesc' => "Asing/luar negeri", 'VCategory' => '1'], +['VSetID' => 31,'VOrder' => 1, 'VValue' =>'ISLAM', 'VDesc' => "Islam", 'VCategory' => '1'], +['VSetID' => 31,'VOrder' => 2, 'VValue' =>'KRSTN', 'VDesc' => "Kristen", 'VCategory' => '1'], +['VSetID' => 31,'VOrder' => 3, 'VValue' =>'KTLIK', 'VDesc' => "Katolik", 'VCategory' => '1'], +['VSetID' => 31,'VOrder' => 4, 'VValue' =>'HINDU', 'VDesc' => "Hindu", 'VCategory' => '1'], +['VSetID' => 31,'VOrder' => 5, 'VValue' =>'BUDHA', 'VDesc' => "Budha", 'VCategory' => '1'], +['VSetID' => 31,'VOrder' => 6, 'VValue' =>'KHCU', 'VDesc' => "Khong Hu Cu", 'VCategory' => '1'], +['VSetID' => 31,'VOrder' => 7, 'VValue' =>'OTHER', 'VDesc' => "Lainnya", 'VCategory' => '1'], +['VSetID' => 32,'VOrder' => 1, 'VValue' =>'PPMLN', 'VDesc' => "Papua Melanezoid", 'VCategory' => '1'], +['VSetID' => 32,'VOrder' => 2, 'VValue' =>'NGRID', 'VDesc' => "Negroid", 'VCategory' => '1'], +['VSetID' => 32,'VOrder' => 3, 'VValue' =>'WDOID', 'VDesc' => "Weddoid", 'VCategory' => '1'], +['VSetID' => 32,'VOrder' => 4, 'VValue' =>'MMPM', 'VDesc' => "Melayu Mongoloid_Proto Melayu", 'VCategory' => '1'], +['VSetID' => 32,'VOrder' => 5, 'VValue' =>'MMDM', 'VDesc' => "Melayu Mongoloid_Deutro Melayu", 'VCategory' => '1'], +['VSetID' => 32,'VOrder' => 6, 'VValue' =>'TNGHA', 'VDesc' => "Tionghoa", 'VCategory' => '1'], +['VSetID' => 32,'VOrder' => 7, 'VValue' =>'INDIA', 'VDesc' => "India", 'VCategory' => '1'], +['VSetID' => 32,'VOrder' => 8, 'VValue' =>'ARAB', 'VDesc' => "Arab", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 1, 'VValue' =>'AFG', 'VDesc' => "Afghanistan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 2, 'VValue' =>'ALA', 'VDesc' => "Åland Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 3, 'VValue' =>'ALB', 'VDesc' => "Albania", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 4, 'VValue' =>'DZA', 'VDesc' => "Algeria", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 5, 'VValue' =>'ASM', 'VDesc' => "American Samoa", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 6, 'VValue' =>'AND', 'VDesc' => "Andorra", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 7, 'VValue' =>'AGO', 'VDesc' => "Angola", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 8, 'VValue' =>'AIA', 'VDesc' => "Anguilla", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 9, 'VValue' =>'ATA', 'VDesc' => "Antarctica", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 10, 'VValue' =>'ATG', 'VDesc' => "Antigua and Barbuda", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 11, 'VValue' =>'ARG', 'VDesc' => "Argentina", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 12, 'VValue' =>'ARM', 'VDesc' => "Armenia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 13, 'VValue' =>'ABW', 'VDesc' => "Aruba", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 14, 'VValue' =>'AUS', 'VDesc' => "Australia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 15, 'VValue' =>'AUT', 'VDesc' => "Austria", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 16, 'VValue' =>'AZE', 'VDesc' => "Azerbaijan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 17, 'VValue' =>'BHS', 'VDesc' => "Bahamas", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 18, 'VValue' =>'BHR', 'VDesc' => "Bahrain", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 19, 'VValue' =>'BGD', 'VDesc' => "Bangladesh", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 20, 'VValue' =>'BRB', 'VDesc' => "Barbados", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 21, 'VValue' =>'BLR', 'VDesc' => "Belarus", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 22, 'VValue' =>'BEL', 'VDesc' => "Belgium", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 23, 'VValue' =>'BLZ', 'VDesc' => "Belize", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 24, 'VValue' =>'BEN', 'VDesc' => "Benin", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 25, 'VValue' =>'BMU', 'VDesc' => "Bermuda", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 26, 'VValue' =>'BTN', 'VDesc' => "Bhutan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 27, 'VValue' =>'BOL', 'VDesc' => "Bolivia, Plurinational State of", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 28, 'VValue' =>'BES', 'VDesc' => "Bonaire, Sint Eustatius and Saba[d]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 29, 'VValue' =>'BIH', 'VDesc' => "Bosnia and Herzegovina", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 30, 'VValue' =>'BWA', 'VDesc' => "Botswana", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 31, 'VValue' =>'BVT', 'VDesc' => "Bouvet Island", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 32, 'VValue' =>'BRA', 'VDesc' => "Brazil", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 33, 'VValue' =>'IOT', 'VDesc' => "British Indian Ocean Territory", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 34, 'VValue' =>'BRN', 'VDesc' => "Brunei Darussalam", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 35, 'VValue' =>'BGR', 'VDesc' => "Bulgaria", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 36, 'VValue' =>'BFA', 'VDesc' => "Burkina Faso", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 37, 'VValue' =>'BDI', 'VDesc' => "Burundi", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 38, 'VValue' =>'CPV', 'VDesc' => "Cabo Verde", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 39, 'VValue' =>'KHM', 'VDesc' => "Cambodia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 40, 'VValue' =>'CMR', 'VDesc' => "Cameroon", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 41, 'VValue' =>'CAN', 'VDesc' => "Canada", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 42, 'VValue' =>'CYM', 'VDesc' => "Cayman Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 43, 'VValue' =>'CAF', 'VDesc' => "Central African Republic", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 44, 'VValue' =>'TCD', 'VDesc' => "Chad", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 45, 'VValue' =>'CHL', 'VDesc' => "Chile", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 46, 'VValue' =>'CHN', 'VDesc' => "China[c]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 47, 'VValue' =>'CXR', 'VDesc' => "Christmas Island", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 48, 'VValue' =>'CCK', 'VDesc' => "Cocos (Keeling) Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 49, 'VValue' =>'COL', 'VDesc' => "Colombia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 50, 'VValue' =>'COM', 'VDesc' => "Comoros", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 51, 'VValue' =>'COG', 'VDesc' => "Congo", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 52, 'VValue' =>'COD', 'VDesc' => "Congo, Democratic Republic of the", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 53, 'VValue' =>'COK', 'VDesc' => "Cook Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 54, 'VValue' =>'CRI', 'VDesc' => "Costa Rica", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 55, 'VValue' =>'CIV', 'VDesc' => "Côte d'Ivoire", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 56, 'VValue' =>'HRV', 'VDesc' => "Croatia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 57, 'VValue' =>'CUB', 'VDesc' => "Cuba", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 58, 'VValue' =>'CUW', 'VDesc' => "Curaçao", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 59, 'VValue' =>'CYP', 'VDesc' => "Cyprus[c]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 60, 'VValue' =>'CZE', 'VDesc' => "Czechia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 61, 'VValue' =>'DNK', 'VDesc' => "Denmark", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 62, 'VValue' =>'DJI', 'VDesc' => "Djibouti", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 63, 'VValue' =>'DMA', 'VDesc' => "Dominica", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 64, 'VValue' =>'DOM', 'VDesc' => "Dominican Republic", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 65, 'VValue' =>'ECU', 'VDesc' => "Ecuador", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 66, 'VValue' =>'EGY', 'VDesc' => "Egypt", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 67, 'VValue' =>'SLV', 'VDesc' => "El Salvador", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 68, 'VValue' =>'GNQ', 'VDesc' => "Equatorial Guinea", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 69, 'VValue' =>'ERI', 'VDesc' => "Eritrea", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 70, 'VValue' =>'EST', 'VDesc' => "Estonia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 71, 'VValue' =>'SWZ', 'VDesc' => "Eswatini", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 72, 'VValue' =>'ETH', 'VDesc' => "Ethiopia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 73, 'VValue' =>'FLK', 'VDesc' => "Falkland Islands (Malvinas)[c]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 74, 'VValue' =>'FRO', 'VDesc' => "Faroe Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 75, 'VValue' =>'FJI', 'VDesc' => "Fiji", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 76, 'VValue' =>'FIN', 'VDesc' => "Finland", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 77, 'VValue' =>'FRA', 'VDesc' => "France", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 78, 'VValue' =>'GUF', 'VDesc' => "French Guiana", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 79, 'VValue' =>'PYF', 'VDesc' => "French Polynesia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 80, 'VValue' =>'ATF', 'VDesc' => "French Southern Territories", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 81, 'VValue' =>'GAB', 'VDesc' => "Gabon", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 82, 'VValue' =>'GMB', 'VDesc' => "Gambia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 83, 'VValue' =>'GEO', 'VDesc' => "Georgia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 84, 'VValue' =>'DEU', 'VDesc' => "Germany", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 85, 'VValue' =>'GHA', 'VDesc' => "Ghana", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 86, 'VValue' =>'GIB', 'VDesc' => "Gibraltar", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 87, 'VValue' =>'GRC', 'VDesc' => "Greece", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 88, 'VValue' =>'GRL', 'VDesc' => "Greenland", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 89, 'VValue' =>'GRD', 'VDesc' => "Grenada", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 90, 'VValue' =>'GLP', 'VDesc' => "Guadeloupe", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 91, 'VValue' =>'GUM', 'VDesc' => "Guam", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 92, 'VValue' =>'GTM', 'VDesc' => "Guatemala", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 93, 'VValue' =>'GGY', 'VDesc' => "Guernsey", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 94, 'VValue' =>'GIN', 'VDesc' => "Guinea", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 95, 'VValue' =>'GNB', 'VDesc' => "Guinea-Bissau", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 96, 'VValue' =>'GUY', 'VDesc' => "Guyana", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 97, 'VValue' =>'HTI', 'VDesc' => "Haiti", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 98, 'VValue' =>'HMD', 'VDesc' => "Heard Island and McDonald Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 99, 'VValue' =>'VAT', 'VDesc' => "Holy See", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 100, 'VValue' =>'HND', 'VDesc' => "Honduras", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 101, 'VValue' =>'HKG', 'VDesc' => "Hong Kong", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 102, 'VValue' =>'HUN', 'VDesc' => "Hungary", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 103, 'VValue' =>'ISL', 'VDesc' => "Iceland", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 104, 'VValue' =>'IND', 'VDesc' => "India", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 105, 'VValue' =>'IDN', 'VDesc' => "Indonesia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 106, 'VValue' =>'IRN', 'VDesc' => "Iran, Islamic Republic of", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 107, 'VValue' =>'IRQ', 'VDesc' => "Iraq", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 108, 'VValue' =>'IRL', 'VDesc' => "Ireland", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 109, 'VValue' =>'IMN', 'VDesc' => "Isle of Man", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 110, 'VValue' =>'ISR', 'VDesc' => "Israel", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 111, 'VValue' =>'ITA', 'VDesc' => "Italy", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 112, 'VValue' =>'JAM', 'VDesc' => "Jamaica", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 113, 'VValue' =>'JPN', 'VDesc' => "Japan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 114, 'VValue' =>'JEY', 'VDesc' => "Jersey", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 115, 'VValue' =>'JOR', 'VDesc' => "Jordan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 116, 'VValue' =>'KAZ', 'VDesc' => "Kazakhstan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 117, 'VValue' =>'KEN', 'VDesc' => "Kenya", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 118, 'VValue' =>'KIR', 'VDesc' => "Kiribati", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 119, 'VValue' =>'PRK', 'VDesc' => "Korea, Democratic People's Republic of", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 120, 'VValue' =>'KOR', 'VDesc' => "Korea, Republic of", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 121, 'VValue' =>'KWT', 'VDesc' => "Kuwait", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 122, 'VValue' =>'KGZ', 'VDesc' => "Kyrgyzstan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 123, 'VValue' =>'LAO', 'VDesc' => "Lao People's Democratic Republic", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 124, 'VValue' =>'LVA', 'VDesc' => "Latvia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 125, 'VValue' =>'LBN', 'VDesc' => "Lebanon", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 126, 'VValue' =>'LSO', 'VDesc' => "Lesotho", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 127, 'VValue' =>'LBR', 'VDesc' => "Liberia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 128, 'VValue' =>'LBY', 'VDesc' => "Libya", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 129, 'VValue' =>'LIE', 'VDesc' => "Liechtenstein", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 130, 'VValue' =>'LTU', 'VDesc' => "Lithuania", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 131, 'VValue' =>'LUX', 'VDesc' => "Luxembourg", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 132, 'VValue' =>'MAC', 'VDesc' => "Macao", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 133, 'VValue' =>'MDG', 'VDesc' => "Madagascar", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 134, 'VValue' =>'MWI', 'VDesc' => "Malawi", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 135, 'VValue' =>'MYS', 'VDesc' => "Malaysia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 136, 'VValue' =>'MDV', 'VDesc' => "Maldives", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 137, 'VValue' =>'MLI', 'VDesc' => "Mali", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 138, 'VValue' =>'MLT', 'VDesc' => "Malta", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 139, 'VValue' =>'MHL', 'VDesc' => "Marshall Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 140, 'VValue' =>'MTQ', 'VDesc' => "Martinique", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 141, 'VValue' =>'MRT', 'VDesc' => "Mauritania", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 142, 'VValue' =>'MUS', 'VDesc' => "Mauritius", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 143, 'VValue' =>'MYT', 'VDesc' => "Mayotte", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 144, 'VValue' =>'MEX', 'VDesc' => "Mexico", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 145, 'VValue' =>'FSM', 'VDesc' => "Micronesia, Federated States of", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 146, 'VValue' =>'MDA', 'VDesc' => "Moldova, Republic of", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 147, 'VValue' =>'MCO', 'VDesc' => "Monaco", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 148, 'VValue' =>'MNG', 'VDesc' => "Mongolia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 149, 'VValue' =>'MNE', 'VDesc' => "Montenegro", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 150, 'VValue' =>'MSR', 'VDesc' => "Montserrat", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 151, 'VValue' =>'MAR', 'VDesc' => "Morocco", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 152, 'VValue' =>'MOZ', 'VDesc' => "Mozambique", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 153, 'VValue' =>'MMR', 'VDesc' => "Myanmar", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 154, 'VValue' =>'NAM', 'VDesc' => "Namibia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 155, 'VValue' =>'NRU', 'VDesc' => "Nauru", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 156, 'VValue' =>'NPL', 'VDesc' => "Nepal", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 157, 'VValue' =>'NLD', 'VDesc' => "Netherlands, Kingdom of the", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 158, 'VValue' =>'NCL', 'VDesc' => "New Caledonia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 159, 'VValue' =>'NZL', 'VDesc' => "New Zealand", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 160, 'VValue' =>'NIC', 'VDesc' => "Nicaragua", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 161, 'VValue' =>'NER', 'VDesc' => "Niger", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 162, 'VValue' =>'NGA', 'VDesc' => "Nigeria", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 163, 'VValue' =>'NIU', 'VDesc' => "Niue", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 164, 'VValue' =>'NFK', 'VDesc' => "Norfolk Island", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 165, 'VValue' =>'MKD', 'VDesc' => "North Macedonia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 166, 'VValue' =>'MNP', 'VDesc' => "Northern Mariana Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 167, 'VValue' =>'NOR', 'VDesc' => "Norway", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 168, 'VValue' =>'OMN', 'VDesc' => "Oman", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 169, 'VValue' =>'PAK', 'VDesc' => "Pakistan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 170, 'VValue' =>'PLW', 'VDesc' => "Palau", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 171, 'VValue' =>'PSE', 'VDesc' => "Palestine, State of[c]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 172, 'VValue' =>'PAN', 'VDesc' => "Panama", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 173, 'VValue' =>'PNG', 'VDesc' => "Papua New Guinea", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 174, 'VValue' =>'PRY', 'VDesc' => "Paraguay", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 175, 'VValue' =>'PER', 'VDesc' => "Peru", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 176, 'VValue' =>'PHL', 'VDesc' => "Philippines", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 177, 'VValue' =>'PCN', 'VDesc' => "Pitcairn", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 178, 'VValue' =>'POL', 'VDesc' => "Poland", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 179, 'VValue' =>'PRT', 'VDesc' => "Portugal", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 180, 'VValue' =>'PRI', 'VDesc' => "Puerto Rico", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 181, 'VValue' =>'QAT', 'VDesc' => "Qatar", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 182, 'VValue' =>'REU', 'VDesc' => "Réunion", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 183, 'VValue' =>'ROU', 'VDesc' => "Romania", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 184, 'VValue' =>'RUS', 'VDesc' => "Russian Federation", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 185, 'VValue' =>'RWA', 'VDesc' => "Rwanda", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 186, 'VValue' =>'BLM', 'VDesc' => "Saint Barthélemy", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 187, 'VValue' =>'SHN', 'VDesc' => "Saint Helena, Ascension and Tristan da Cunha[e]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 188, 'VValue' =>'KNA', 'VDesc' => "Saint Kitts and Nevis", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 189, 'VValue' =>'LCA', 'VDesc' => "Saint Lucia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 190, 'VValue' =>'MAF', 'VDesc' => "Saint Martin (French part)", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 191, 'VValue' =>'SPM', 'VDesc' => "Saint Pierre and Miquelon", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 192, 'VValue' =>'VCT', 'VDesc' => "Saint Vincent and the Grenadines", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 193, 'VValue' =>'WSM', 'VDesc' => "Samoa", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 194, 'VValue' =>'SMR', 'VDesc' => "San Marino", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 195, 'VValue' =>'STP', 'VDesc' => "Sao Tome and Principe", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 196, 'VValue' =>'SAU', 'VDesc' => "Saudi Arabia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 197, 'VValue' =>'SEN', 'VDesc' => "Senegal", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 198, 'VValue' =>'SRB', 'VDesc' => "Serbia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 199, 'VValue' =>'SYC', 'VDesc' => "Seychelles", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 200, 'VValue' =>'SLE', 'VDesc' => "Sierra Leone", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 201, 'VValue' =>'SGP', 'VDesc' => "Singapore", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 202, 'VValue' =>'SXM', 'VDesc' => "Sint Maarten (Dutch part)", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 203, 'VValue' =>'SVK', 'VDesc' => "Slovakia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 204, 'VValue' =>'SVN', 'VDesc' => "Slovenia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 205, 'VValue' =>'SLB', 'VDesc' => "Solomon Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 206, 'VValue' =>'SOM', 'VDesc' => "Somalia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 207, 'VValue' =>'ZAF', 'VDesc' => "South Africa", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 208, 'VValue' =>'SGS', 'VDesc' => "South Georgia and the South Sandwich Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 209, 'VValue' =>'SSD', 'VDesc' => "South Sudan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 210, 'VValue' =>'ESP', 'VDesc' => "Spain", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 211, 'VValue' =>'LKA', 'VDesc' => "Sri Lanka", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 212, 'VValue' =>'SDN', 'VDesc' => "Sudan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 213, 'VValue' =>'SUR', 'VDesc' => "Suriname", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 214, 'VValue' =>'SJM', 'VDesc' => "Svalbard and Jan Mayen[f]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 215, 'VValue' =>'SWE', 'VDesc' => "Sweden", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 216, 'VValue' =>'CHE', 'VDesc' => "Switzerland", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 217, 'VValue' =>'SYR', 'VDesc' => "Syrian Arab Republic", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 218, 'VValue' =>'TWN', 'VDesc' => "Taiwan, Province of China[c]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 219, 'VValue' =>'TJK', 'VDesc' => "Tajikistan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 220, 'VValue' =>'TZA', 'VDesc' => "Tanzania, United Republic of", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 221, 'VValue' =>'THA', 'VDesc' => "Thailand", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 222, 'VValue' =>'TLS', 'VDesc' => "Timor-Leste", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 223, 'VValue' =>'TGO', 'VDesc' => "Togo", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 224, 'VValue' =>'TKL', 'VDesc' => "Tokelau", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 225, 'VValue' =>'TON', 'VDesc' => "Tonga", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 226, 'VValue' =>'TTO', 'VDesc' => "Trinidad and Tobago", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 227, 'VValue' =>'TUN', 'VDesc' => "Tunisia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 228, 'VValue' =>'TUR', 'VDesc' => "Türkiye", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 229, 'VValue' =>'TKM', 'VDesc' => "Turkmenistan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 230, 'VValue' =>'TCA', 'VDesc' => "Turks and Caicos Islands", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 231, 'VValue' =>'TUV', 'VDesc' => "Tuvalu", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 232, 'VValue' =>'UGA', 'VDesc' => "Uganda", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 233, 'VValue' =>'UKR', 'VDesc' => "Ukraine", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 234, 'VValue' =>'ARE', 'VDesc' => "United Arab Emirates", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 235, 'VValue' =>'GBR', 'VDesc' => "United Kingdom of Great Britain and Northern Ireland", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 236, 'VValue' =>'USA', 'VDesc' => "United States of America", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 237, 'VValue' =>'UMI', 'VDesc' => "United States Minor Outlying Islands[g]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 238, 'VValue' =>'URY', 'VDesc' => "Uruguay", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 239, 'VValue' =>'UZB', 'VDesc' => "Uzbekistan", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 240, 'VValue' =>'VUT', 'VDesc' => "Vanuatu", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 241, 'VValue' =>'VEN', 'VDesc' => "Venezuela, Bolivarian Republic of", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 242, 'VValue' =>'VNM', 'VDesc' => "Viet Nam", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 243, 'VValue' =>'VGB', 'VDesc' => "Virgin Islands (British)", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 244, 'VValue' =>'VIR', 'VDesc' => "Virgin Islands (U.S.)", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 245, 'VValue' =>'WLF', 'VDesc' => "Wallis and Futuna", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 246, 'VValue' =>'ESH', 'VDesc' => "Western Sahara[c]", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 247, 'VValue' =>'YEM', 'VDesc' => "Yemen", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 248, 'VValue' =>'ZMB', 'VDesc' => "Zambia", 'VCategory' => '1'], +['VSetID' => 33,'VOrder' => 249, 'VValue' =>'ZWE', 'VDesc' => "Zimbabwe", 'VCategory' => '1'] ]; $this->db->table('valueset')->insertBatch($data); $data = [ - ['VSName' => 'WSType','VSDesc' =>'workstation.Type', 'VSetID' => '1'], - ['VSName' => 'WSEnable','VSDesc' =>'workstation.Enable', 'VSetID' => '2'], - ['VSName' => 'Gender','VSDesc' =>'patient.Gender', 'VSetID' => '3'], - ['VSName' => 'Marital Status','VSDesc' =>'patient.MaritalStatus', 'VSetID' => '4'], - ['VSName' => 'Death Indicator','VSDesc' =>'patient.DeathIndicator', 'VSetID' => '5'], - ['VSName' => 'Identifier Type','VSDesc' =>'patidt.IdentifierType', 'VSetID' => '6'], - ['VSName' => 'Operation','VSDesc' =>'patreglog.Operation patvisitlog.Operation orderlog.Operation', 'VSetID' => '7'], - ['VSName' => 'DID Type','VSDesc' =>'patreglog.DIDType patvisitlog.DIDType', 'VSetID' => '8'], - ['VSName' => 'Requested Entity','VSDesc' =>'order.ReqEntity', 'VSetID' => '9'], - ['VSName' => 'Order Priority','VSDesc' =>'order.Priority', 'VSetID' => '10'], - ['VSName' => 'Order Status','VSDesc' =>'orderststatus.OrderStatus', 'VSetID' => '11'], - ['VSName' => 'Location Type','VSDesc' =>'location.LocationType', 'VSetID' => '12'], - ['VSName' => 'Additive','VSDesc' =>'containertype.Additive', 'VSetID' => '13'], - ['VSName' => 'Container Class','VSDesc' =>'containertype.ConClass', 'VSetID' => '14'], - ['VSName' => 'Specimen Type','VSDesc' =>'spcdef.SpcType', 'VSetID' => '15'], - ['VSName' => 'Unit','VSDesc' =>'spcdef.Unit specimens.Unit specimenstatus.Unit', 'VSetID' => '16'], - ['VSName' => 'GenerateBy','VSDesc' =>'specimens. GenerateBy', 'VSetID' => '17'], - ['VSName' => 'Activity','VSDesc' =>'specimenstatus.SpcAct', 'VSetID' => '18'], - ['VSName' => 'Activity Result','VSDesc' =>'specimenstatus.ActRes', 'VSetID' => '19'], - ['VSName' => 'Specimen Status','VSDesc' =>'specimenstatus.SpcStatus', 'VSetID' => '20'], - ['VSName' => 'Specimen Condition','VSDesc' =>'specimenstatus.SpcCon', 'VSetID' => '21'], - ['VSName' => 'Specimen Role','VSDesc' =>'specimencollection.SpcRole', 'VSetID' => '22'], - ['VSName' => 'Collection Method','VSDesc' =>'specimencollection.ColMethod', 'VSetID' => '23'], - ['VSName' => 'Body Site','VSDesc' =>'specimencollection.BodySite', 'VSetID' => '24'], - ['VSName' => 'Container Size','VSDesc' =>'specimencollection.CntSize', 'VSetID' => '25'], - ['VSName' => 'Fasting Status','VSDesc' =>'specimencollection.Fasting', 'VSetID' => '26'] +['VSName' => 'WSType','VSDesc' =>'workstation.Type', 'VSetID' => '1'], +['VSName' => 'WSEnable','VSDesc' =>'workstation.Enable', 'VSetID' => '2'], +['VSName' => 'Gender','VSDesc' =>'patient.Gender', 'VSetID' => '3'], +['VSName' => 'Marital Status','VSDesc' =>'patient.MaritalStatus', 'VSetID' => '4'], +['VSName' => 'Death Indicator','VSDesc' =>'patient.DeathIndicator', 'VSetID' => '5'], +['VSName' => 'Identifier Type','VSDesc' =>'patidt.IdentifierType', 'VSetID' => '6'], +['VSName' => 'Operation','VSDesc' =>'patreglog.Operation patvisitlog.Operation orderlog.Operation', 'VSetID' => '7'], +['VSName' => 'DID Type','VSDesc' =>'patreglog.DIDType patvisitlog.DIDType', 'VSetID' => '8'], +['VSName' => 'Requested Entity','VSDesc' =>'order.ReqEntity', 'VSetID' => '9'], +['VSName' => 'Order Priority','VSDesc' =>'order.Priority', 'VSetID' => '10'], +['VSName' => 'Order Status','VSDesc' =>'orderststatus.OrderStatus', 'VSetID' => '11'], +['VSName' => 'Location Type','VSDesc' =>'location.LocationType', 'VSetID' => '12'], +['VSName' => 'Additive','VSDesc' =>'containertype.Additive', 'VSetID' => '13'], +['VSName' => 'Container Class','VSDesc' =>'containertype.ConClass', 'VSetID' => '14'], +['VSName' => 'Specimen Type','VSDesc' =>'spcdef.SpcType', 'VSetID' => '15'], +['VSName' => 'Unit','VSDesc' =>'spcdef.Unit specimens.Unit specimenstatus.Unit', 'VSetID' => '16'], +['VSName' => 'GenerateBy','VSDesc' =>'specimens. GenerateBy', 'VSetID' => '17'], +['VSName' => 'Activity','VSDesc' =>'specimenstatus.SpcAct', 'VSetID' => '18'], +['VSName' => 'Activity Result','VSDesc' =>'specimenstatus.ActRes', 'VSetID' => '19'], +['VSName' => 'Specimen Status','VSDesc' =>'specimenstatus.SpcStatus', 'VSetID' => '20'], +['VSName' => 'Specimen Condition','VSDesc' =>'specimenstatus.SpcCon', 'VSetID' => '21'], +['VSName' => 'Specimen Role','VSDesc' =>'specimencollection.SpcRole', 'VSetID' => '22'], +['VSName' => 'Collection Method','VSDesc' =>'specimencollection.ColMethod', 'VSetID' => '23'], +['VSName' => 'Body Site','VSDesc' =>'specimencollection.BodySite', 'VSetID' => '24'], +['VSName' => 'Container Size','VSDesc' =>'specimencollection.CntSize', 'VSetID' => '25'], +['VSName' => 'Fasting Status','VSDesc' =>'specimencollection.Fasting', 'VSetID' => '26'], +['VSName' => 'Race','VSDesc' =>'patient.Race', 'VSetID' => '30'], +['VSName' => 'Religion','VSDesc' =>'patient.Religion', 'VSetID' => '31'], +['VSName' => 'Ethnic','VSDesc' =>'patient.Ethnic', 'VSetID' => '32'], +['VSName' => 'Country','VSDesc' =>'patient.Country', 'VSetID' => '33'] ]; $this->db->table('valuesetdef')->insertBatch($data); } diff --git a/app/Models/OccupationModel.php b/app/Models/OccupationModel.php index 2223a48..7e10747 100644 --- a/app/Models/OccupationModel.php +++ b/app/Models/OccupationModel.php @@ -7,5 +7,5 @@ use CodeIgniter\Model; class OccupationModel extends Model { protected $table = 'occupation'; protected $primaryKey = 'OccupationID'; - protected $allowedFields = ['AbbTex', 'FullText', 'Description']; + protected $allowedFields = ['OccCode', 'OccText', 'Description']; } diff --git a/app/Models/PatientModel.php b/app/Models/PatientModel.php new file mode 100644 index 0000000..c660c79 --- /dev/null +++ b/app/Models/PatientModel.php @@ -0,0 +1,223 @@ +db->table($this->table); + $builder->select("InternalPID, PatientID, $qname as FullName, Gender, Birthdate, EmailAddress1 as Email, MobilePhone"); + + if (!empty($filters['Name'])) { + $rawSql = new RawSql($qname); + $builder->like($rawSql, $filters['Name'], 'both'); + } + + if (!empty($filters['InternalPID'])) { + $builder->where('InternalPID', $filters['InternalPID']); + } + + if (!empty($filters['PatientID'])) { + $builder->like('PatientID', $filters['PatientID'], 'both'); + } + + if (!empty($filters['Birthdate'])) { + $builder->where('Birthdate', $filters['Birthdate']); + } + + return $builder->get()->getResultArray(); + } + + public function getPatient($InternalPID) { + $rows = $this->db->table('patient p') + ->select(" + p.*, + country.VDesc as Country, + race.VDesc as Race, + religion.VDesc as Religion, + ethnic.VDesc as Ethnic, + patcom.Comment as Comment, + patidt.IdentifierType, + patidt.Identifier, + patatt.Address + ") + ->join('valueset country', 'country.VID = p.Country', 'left') + ->join('valueset race', 'race.VID = p.Race', 'left') + ->join('valueset religion', 'religion.VID = p.Religion', 'left') + ->join('valueset ethnic', 'ethnic.VID = p.Ethnic', 'left') + ->join('patcom', 'patcom.InternalPID = p.InternalPID', 'left') + ->join('patidt', 'patidt.InternalPID = p.InternalPID', 'left') + ->join('patatt', 'patatt.InternalPID = p.InternalPID and patatt.DelDate is null', 'left') + ->where('p.InternalPID', (int) $InternalPID) + ->get() + ->getResultArray(); + + if (empty($rows)) { return null; } + + $patient = $rows[0]; + + if (method_exists($this, 'transformPatientData')) { $patient = $this->transformPatientData($patient); } + + // Default nested structures + $patient['Identity'] = null; + $patient['Attachments'] = []; + + foreach ($rows as $row) { + if ($row['IdentifierType'] && $row['Identifier'] && !$patient['Identity']) { + $patient['Identity'] = [ + 'IdentifierType' => $row['IdentifierType'], + 'Identifier' => $row['Identifier'], + ]; + } + + if ($row['Address']) { + $patient['Attachments'][] = ['Address' => $row['Address']]; + } + } + + if (empty($patient['Identity'])) { $patient['Identity'] = null; } + if (empty($patient['Attachments'])) { $patient['Attachments'] = null; } + + return $patient; + } + + public function createPatient($input) { + $db = \Config\Database::connect(); + $patidt = $input['patidt'] ?? []; + $patatt = $input['patatt'] ?? []; + $patcom = $input['patcom'] ?? []; + try { + $db->transStart(); + + $this->insert($input); + $newInternalPID = $this->getInsertID(); + + if (!empty($patidt)) { + $patidt['InternalPID'] = $newInternalPID; + $db->table('patidt')->insert($patidt); + } + + if (!empty($patatt)) { + foreach ($patatt as &$row) { + $row['InternalPID'] = $newInternalPID; + } + $db->table('patatt')->upsertBatch($patatt); + } + + if (!empty($patcom['Comment'])) { + $patcom['InternalPID'] = $newInternalPID; + $db->table('patcom')->insert($patcom); + } + + $db->transComplete(); + + if ($db->transStatus() === false) { + $error = $db->error(); + throw new \Exception('Transaction failed: ' . ($error['message'] ?? 'Unknown DB error')); + } + + return $newInternalPID; + } catch (\Exception $e) { + $db->transRollback(); + throw $e; // rethrow so controller can handle response + } + } + + private function transformPatientData(array $patient): array { + $patient["Age"] = $this->calculateAgeFromBirthdate($patient["Birthdate"]); + $patient["Birthdate"] = $this->formatedDate($patient["Birthdate"]); + $patient["CreateDate"] = $this->formatedDate($patient["CreateDate"]); + $patient["DelDate"] = $this->formatedDate($patient["DelDate"]); + $patient["DeathDateTime"] = $this->formatedDate($patient["DeathDateTime"]); + $patient["BirthdateConversion"] = $this->formatedDateForDisplay($patient["Birthdate"]); + $patient["LinkTo"] = $this->getLinkedPatients($patient['LinkTo']); + $patient["Custodian"] = $this->getCustodian($patient['Custodian']); + + return $patient; + } + + + private function getLinkedPatients(?string $linkTo): ?array { + if (empty($linkTo)) { return null; } + + $ids = array_filter(explode(',', $linkTo)); + + return $this->db->table('patient') + ->select('InternalPID, PatientID') + ->whereIn('InternalPID', $ids) + ->get() + ->getResultArray() ?: null; + } + + private function getCustodian($custodianId): ?array { + if (empty($custodianId)) { + return null; + } + + return $this->db->table('patient') + ->select('InternalPID, PatientID') + ->where('InternalPID', (int) $custodianId) + ->get() + ->getRowArray() ?: null; + } + + // Conversion to (Years Months Days) + private function calculateAgeFromBirthdate($birthdate) { + $dob = new \DateTime($birthdate); + $today = new \DateTime(); + $diff = $today->diff($dob); + + $formattedAge = ""; + if ($diff->y > 0){ + $formattedAge .= "{$diff->y} Years "; + } + if ($diff->m > 0){ + $formattedAge .= "{$diff->m} Months "; + } + if ($diff->d > 0){ + $formattedAge .= "{$diff->d} Days"; + } + + return $formattedAge; + } + + // Conversion Time to Format Y-m-d H:i + private function formatedDate($dateString) { + $date = \DateTime::createFromFormat('Y-m-d H:i', $dateString); + + if (!$date) { + $timestamp = strtotime($dateString); + if ($timestamp) { + return date('Y-m-d H:i', $timestamp); + } + return null; + } + + return $date->format('Y-m-d H:i'); + } + + // Conversion Time to Format j M Y + private function formatedDateForDisplay($dateString) { + $date = \DateTime::createFromFormat('Y-m-d H:i', $dateString); + + if (!$date) { + $timestamp = strtotime($dateString); + if ($timestamp) { + return date('j M Y', $timestamp); + } + return null; + } + + return $date->format('j M Y'); + } + +}