diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 4ac56de..9b0e15a 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -156,38 +156,6 @@ $routes->group('api/specimen', function($routes) { $routes->get('', 'Specimen\Specimen::index'); }); -$routes->group('api/test', function($routes) { - $routes->get('testdeftech/(:num)', 'Test\TestDefTech::show/$1'); - $routes->post('testdeftech', 'Test\TestDefTech::create'); - $routes->patch('testdeftech', 'Test\TestDefTech::update'); - $routes->get('testdeftech/', 'Test\TestDefTech::index'); - - $routes->get('testdefcal/(:num)', 'Test\TestDefCal::show/$1'); - $routes->post('testdefcal', 'Test\TestDefCal::create'); - $routes->patch('testdefcal', 'Test\TestDefCal::update'); - $routes->get('testdefcal/', 'Test\TestDefCal::index'); - - $routes->get('testgrp/(:num)', 'Test\TestGrp::show/$1'); - $routes->post('testgrp', 'Test\TestGrp::create'); - $routes->patch('testgrp', 'Test\TestGrp::update'); - $routes->get('testgrp/', 'Test\TestGrp::index'); - - $routes->get('testdefsite/(:num)', 'Test\TestDefSite::show/$1'); - $routes->post('testdefsite', 'Test\TestDefSite::create'); - $routes->patch('testdefsite', 'Test\TestDefSite::update'); - $routes->get('testdefsite/', 'Test\TestDefSite::index'); - - $routes->get('testmap/(:num)', 'Test\TestMap::show/$1'); - $routes->post('testmap', 'Test\TestMap::create'); - $routes->patch('testmap', 'Test\TestMap::update'); - $routes->get('testmap/', 'Test\TestMap::index'); - - $routes->get('testdef/(:num)', 'Test\TestDef::show/$1'); - $routes->post('testdef', 'Test\TestDef::create'); - $routes->patch('testdef', 'Test\TestDef::update'); - $routes->get('testdef', 'Test\TestDef::index'); -}); - $routes->post('/api/tests', 'Tests::create'); $routes->patch('/api/tests', 'Tests::update'); $routes->get('/api/tests/(:any)', 'Tests::show/$1'); diff --git a/app/Controllers/Test/TestDef.php b/app/Controllers/Test/TestDef.php deleted file mode 100644 index 10b0e52..0000000 --- a/app/Controllers/Test/TestDef.php +++ /dev/null @@ -1,56 +0,0 @@ -db = \Config\Database::connect(); - $this->model = new TestDefModel; - } - - public function index() { - $rows = $this->model->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function show($id = null) { - $rows = $this->model->where('TestID',$id)->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function create() { - $input = $this->request->getJSON(true); - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors($this->validator->getErrors()); } - try { - $id = $this->model->insert($input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data created successfully", 'data'=> $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - - public function update() { - $input = $this->request->getJSON(true); - $id = $input["TestID"]; - if (!$id) { return $this->failValidationErrors('TestID is required.'); } - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors( $this->validator->getErrors() ); } - try { - $this->model->update($id,$input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data updated successfully", 'data'=> $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - -} \ No newline at end of file diff --git a/app/Controllers/Test/TestDefCal.php b/app/Controllers/Test/TestDefCal.php deleted file mode 100644 index 894ff1c..0000000 --- a/app/Controllers/Test/TestDefCal.php +++ /dev/null @@ -1,56 +0,0 @@ -db = \Config\Database::connect(); - $this->model = new TestDefCalModel; - } - - public function index() { - $rows = $this->model->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function show($id = null) { - $rows = $this->model->where('TestCalID',$id)->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function create() { - $input = $this->request->getJSON(true); - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors($this->validator->getErrors()); } - try { - $id = $this->model->insert($input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data created successfully", 'data' => $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - - public function update() { - $input = $this->request->getJSON(true); - $id = $input["TestCalID"]; - if (!$id) { return $this->failValidationErrors('TestCalID is required.'); } - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors( $this->validator->getErrors() ); } - try { - $this->model->update($id,$input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data updated successfully", 'data' => $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - -} \ No newline at end of file diff --git a/app/Controllers/Test/TestDefSite.php b/app/Controllers/Test/TestDefSite.php deleted file mode 100644 index 8206df4..0000000 --- a/app/Controllers/Test/TestDefSite.php +++ /dev/null @@ -1,61 +0,0 @@ -db = \Config\Database::connect(); - $this->model = new TestDefSiteModel; - $this->rules = [ - "TestSiteCode" => "required", - "TestSiteName" => "required", - "Type" => "required", - ]; - } - - public function index() { - $rows = $this->model->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function show($id = null) { - $rows = $this->model->where('TestSiteID',$id)->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function create() { - $input = $this->request->getJSON(true); - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors($this->validator->getErrors()); } - try { - $id = $this->model->insert($input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data created successfully", 'data' => $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - - public function update() { - $input = $this->request->getJSON(true); - $id = $input["TestSiteID"]; - if (!$id) { return $this->failValidationErrors('TestSiteID is required.'); } - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors( $this->validator->getErrors() ); } - try { - $this->model->update($id,$input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data updated successfully", 'data'=> $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - -} \ No newline at end of file diff --git a/app/Controllers/Test/TestDefTech.php b/app/Controllers/Test/TestDefTech.php deleted file mode 100644 index 292deab..0000000 --- a/app/Controllers/Test/TestDefTech.php +++ /dev/null @@ -1,56 +0,0 @@ -db = \Config\Database::connect(); - $this->model = new TestDefTechModel; - } - - public function index() { - $rows = $this->model->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function show($id = null) { - $rows = $this->model->where('TestTechID',$id)->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function create() { - $input = $this->request->getJSON(true); - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors($this->validator->getErrors()); } - try { - $id = $this->model->insert($input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data created successfully", 'data'=> $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - - public function update() { - $input = $this->request->getJSON(true); - $id = $input["TestTechID"]; - if (!$id) { return $this->failValidationErrors('TestTechID is required.'); } - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors( $this->validator->getErrors() ); } - try { - $this->model->update($id,$input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data updated successfully", 'data'=> $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - -} \ No newline at end of file diff --git a/app/Controllers/Test/TestGrp.php b/app/Controllers/Test/TestGrp.php deleted file mode 100644 index 2c9aed6..0000000 --- a/app/Controllers/Test/TestGrp.php +++ /dev/null @@ -1,56 +0,0 @@ -db = \Config\Database::connect(); - $this->model = new TestGrpModel; - } - - public function index() { - $rows = $this->model->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function show($id = null) { - $rows = $this->model->where('TestGrpID',$id)->findAll(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } - - public function create() { - $input = $this->request->getJSON(true); - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors($this->validator->getErrors()); } - try { - $id = $this->model->insert($input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data created successfully", 'data'=> $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - - public function update() { - $input = $this->request->getJSON(true); - $id = $input["TestGrpID"]; - if (!$id) { return $this->failValidationErrors('TestGrpID is required.'); } - if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors( $this->validator->getErrors() ); } - try { - $this->model->update($id,$input); - return $this->respondCreated([ 'status' => 'success', 'message' => "data updated successfully", 'data'=> $id ]); - } catch (\Exception $e) { - return $this->failServerError('Something went wrong: ' . $e->getMessage()); - } - } - -} \ No newline at end of file diff --git a/app/Controllers/Tests.php b/app/Controllers/Tests.php index e7ad0ce..e9c6311 100644 --- a/app/Controllers/Tests.php +++ b/app/Controllers/Tests.php @@ -7,7 +7,6 @@ use App\Controllers\BaseController; class Tests extends BaseController { use ResponseTrait; - protected $db; protected $rules; protected $model; @@ -21,61 +20,49 @@ class Tests extends BaseController { $this->model = new \App\Models\Test\TestDefSiteModel; $this->modelCal = new \App\Models\Test\TestDefCalModel; $this->modelTech = new \App\Models\Test\TestDefTechModel; - $this->modelGrp = new \App\Models\Test\TestGrpModel; + $this->modelGrp = new \App\Models\Test\TestDefGrpModel; $this->modelValueSet = new \App\Models\ValueSet\ValueSetModel; + + // Basic validation for the main part + $this->rules = [ + 'TestSiteCode' => 'required', + 'TestSiteName' => 'required', + 'TestType' => 'required' + ]; } public function index() { $rows = $this->model->getTests(); - if (empty($rows)) { return $this->failNotFound('Data not found'); } + if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); } public function show($id = null) { + if (!$id) return $this->failValidationErrors('ID is required'); $rows = $this->model->getTest($id); - if (empty($rows)) { return $this->failNotFound('Data not found'); } + if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); } public function create() { $input = $this->request->getJSON(true); + if (!$this->validateData($input, $this->rules)) { - // If rules are empty, validateData returns true (or false depending on CI version, but here we assume checks passed if no rules) - // If you have rules, uncomment the line below - // return $this->failValidationErrors($this->validator->getErrors()); + return $this->failValidationErrors($this->validator->getErrors()); } $this->db->transStart(); try { - // 1. Insert into Main Table + // 1. Insert into Main Table (testdefsite) $id = $this->model->insert($input); - $input['TestSiteID'] = $id; - - // 2. Determine Type - $testTypeID = $input['TestType'] ?? null; - if ($testTypeID) { - // Fetch TypeCode to decide where to insert - $vs = $this->modelValueSet->find($testTypeID); - $typeCode = $vs['VValue'] ?? ''; - - if ($typeCode === 'Calculated') { - $this->modelCal->insert($input); - } elseif ($typeCode === 'GROUP') { - if (isset($input['Members']) && is_array($input['Members'])) { - foreach ($input['Members'] as $memberID) { - $this->modelGrp->insert([ - 'TestSiteID' => $id, - 'Member' => $memberID - ]); - } - } - } else { - // Default to Technical for others - $this->modelTech->insert($input); - } + if (!$id) { + throw new \Exception("Failed to insert main test definition"); } + // 2. Handle Details based on TestType + $this->handleDetails($id, $input, 'insert'); + $this->db->transComplete(); if ($this->db->transStatus() === false) { @@ -91,74 +78,22 @@ class Tests extends BaseController { public function update($id = null) { $input = $this->request->getJSON(true); - // Sometimes ID comes in payload, sometimes in URL. - // Route typically is PUT /tests/(:num) -> update($1) - // If $id is null, check input - if (!$id && isset($input["TestID"])) { $id = $input["TestID"]; } // TestDefSite uses TestSiteID as PK but getting as TestID in other code maybe? Model says TestSiteID. - // Let's use TestSiteID to be consistent with model - if (!$id && isset($input["TestSiteID"])) { $id = $input["TestSiteID"]; } + // Determine ID + if (!$id && isset($input["TestSiteID"])) { $id = $input["TestSiteID"]; } if (!$id) { return $this->failValidationErrors('TestSiteID is required.'); } + // Optional validation + // if (!$this->validateData($input, $this->rules)) { ... } + $this->db->transStart(); try { // 1. Update Main Table $this->model->update($id, $input); - // 2. Determine Type (we probably need to fetch the existing record to know the type if it's not in payload, - // but if we are updating, we might be changing type? Unlikely. - // Let's assume Type is in input OR we fetch it.) - - $testTypeID = $input['TestType'] ?? null; - - // If not in input, fetch from DB - if (!$testTypeID) { - $existing = $this->model->find($id); - $testTypeID = $existing['TestType'] ?? null; - } - - if ($testTypeID) { - $vs = $this->modelValueSet->find($testTypeID); - $typeCode = $vs['VValue'] ?? ''; - - // For update, we need to locate the record in sub-table. - // Sub-tables have their own PKs (TestCalID, TestTechID) but also foreign key TestSiteID. - // We should update based on TestSiteID. - - if ($typeCode === 'Calculated') { - // Check if exists - $exists = $this->modelCal->where('TestSiteID', $id)->first(); - if ($exists) { - $this->modelCal->update($exists['TestCalID'], $input); - } else { - // Create if missing? - $input['TestSiteID'] = $id; - $this->modelCal->insert($input); - } - } elseif ($typeCode === 'GROUP') { - if (isset($input['Members']) && is_array($input['Members'])) { - // Delete existing members for this group to avoid duplicates or stale data - // If we had a primary key on the relation we could be smarter, but full replace is safer here - $this->modelGrp->where('TestSiteID', $id)->delete(); - - foreach ($input['Members'] as $memberID) { - $this->modelGrp->insert([ - 'TestSiteID' => $id, - 'Member' => $memberID - ]); - } - } - } else { - $exists = $this->modelTech->where('TestSiteID', $id)->first(); - if ($exists) { - $this->modelTech->update($exists['TestTechID'], $input); - } else { - $input['TestSiteID'] = $id; - $this->modelTech->insert($input); - } - } - } + // 2. Handle Details + $this->handleDetails($id, $input, 'update'); $this->db->transComplete(); @@ -172,4 +107,80 @@ class Tests extends BaseController { return $this->failServerError('Something went wrong: ' . $e->getMessage()); } } + + /** + * Helper to handle inserting/updating sub-tables based on TestType + */ + private function handleDetails($testSiteID, $input, $action) { + $testTypeID = $input['TestType'] ?? null; + + // If update and TestType not in payload, fetch from DB + if (!$testTypeID && $action === 'update') { + $existing = $this->model->find($testSiteID); + $testTypeID = $existing['TestType'] ?? null; + } + + if (!$testTypeID) return; // Should not happen if required + + // Get Type Code (TEST, PARAM, CALC, GROUP, TITLE) + $vs = $this->modelValueSet->find($testTypeID); + $typeCode = $vs['VValue'] ?? ''; + + // Get details data if present (for 'details' key in unified JSON) + // We accept both flat (top-level) and nested 'details' for flexibility, prefer 'details' + $details = $input['details'] ?? $input; + $details['TestSiteID'] = $testSiteID; // Ensure foreign key is set + $details['SiteID'] = $input['SiteID'] ?? 1; + + switch ($typeCode) { + case 'CALC': + $this->saveSubTable($this->modelCal, $testSiteID, $details, $action, 'TestCalID'); + break; + + case 'GROUP': + // Groups are special: List of members + // Payload expected: details: { members: [{Member: 1}, {Member: 2}] } + if ($action === 'update') { + $this->modelGrp->where('TestSiteID', $testSiteID)->delete(); + } + + $members = $details['members'] ?? ($input['Members'] ?? []); + if (is_array($members)) { + foreach ($members as $m) { + $memberID = is_array($m) ? ($m['Member'] ?? null) : $m; + if ($memberID) { + $this->modelGrp->insert([ + 'SiteID' => $details['SiteID'], + 'TestSiteID' => $testSiteID, + 'Member' => $memberID + ]); + } + } + } + break; + + + + case 'TEST': + case 'PARAM': + default: + // Default to TestDefTech for 'TEST' and 'PARAM' + $this->saveSubTable($this->modelTech, $testSiteID, $details, $action, 'TestTechID'); + break; + } + } + + private function saveSubTable($model, $testSiteID, $data, $action, $pkName) { + if ($action === 'update') { + // Check existence + $exists = $model->where('TestSiteID', $testSiteID)->first(); + if ($exists) { + $model->update($exists[$pkName], $data); + } else { + $model->insert($data); + } + } else { + $model->insert($data); + } + } } \ No newline at end of file diff --git a/app/Database/Migrations/2025-10-11-100001_Test.php b/app/Database/Migrations/2025-10-11-100001_Test.php index 7e80648..c5f4118 100644 --- a/app/Database/Migrations/2025-10-11-100001_Test.php +++ b/app/Database/Migrations/2025-10-11-100001_Test.php @@ -77,7 +77,7 @@ class CreateTestsTable extends Migration { 'EndDate' => ['type' => 'Datetime', 'null' => true] ]); $this->forge->addKey('TestGrpID', true); - $this->forge->createTable('testgrp'); + $this->forge->createTable('testdefgrp'); $this->forge->addField([ 'TestMapID' => ['type' => 'INT', 'auto_increment' => true, 'unsigned' => true], @@ -104,7 +104,7 @@ class CreateTestsTable extends Migration { $this->forge->dropTable('testdefsite'); $this->forge->dropTable('testdeftech'); $this->forge->dropTable('testdefcal'); - $this->forge->dropTable('testgrp'); + $this->forge->dropTable('testdefgrp'); $this->forge->dropTable('testmap'); } } \ No newline at end of file diff --git a/app/Database/Seeds/TestSeeder.php b/app/Database/Seeds/TestSeeder.php index a8867e3..7a71427 100644 --- a/app/Database/Seeds/TestSeeder.php +++ b/app/Database/Seeds/TestSeeder.php @@ -16,24 +16,7 @@ class TestSeeder extends Seeder { $vs[$row['VSetID']][$row['VValue']] = $row['VID']; } - // TestType mapping from VSetID=27: - // TEST = $vs[27]['TEST'] - // PARAM = $vs[27]['PARAM'] - // CALC = $vs[27]['CALC'] - // GROUP = $vs[27]['GROUP'] - // TITLE = $vs[27]['TITLE'] - - // ======================================== - // TITLE TYPE - Headers/Sections - // ======================================== - $data = ['SiteID' => '1', 'TestSiteCode' => 'HDR-HEMA', 'TestSiteName' => 'HEMATOLOGY', 'TestType' => $vs[27]['TITLE'], 'Description' => 'Hematology Section Header', 'SeqScr' => '1', 'SeqRpt' => '1', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; - $this->db->table('testdefsite')->insert($data); - - $data = ['SiteID' => '1', 'TestSiteCode' => 'HDR-CHEM', 'TestSiteName' => 'CHEMISTRY', 'TestType' => $vs[27]['TITLE'], 'Description' => 'Chemistry Section Header', 'SeqScr' => '10', 'SeqRpt' => '10', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; - $this->db->table('testdefsite')->insert($data); - - $data = ['SiteID' => '1', 'TestSiteCode' => 'HDR-URIN', 'TestSiteName' => 'URINALYSIS', 'TestType' => $vs[27]['TITLE'], 'Description' => 'Urinalysis Section Header', 'SeqScr' => '30', 'SeqRpt' => '30', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; - $this->db->table('testdefsite')->insert($data); + $tIDs = []; // Array to store Test IDs for grouping // ======================================== // TEST TYPE - Actual Laboratory Tests @@ -41,105 +24,105 @@ class TestSeeder extends Seeder { // Hematology Tests $data = ['SiteID' => '1', 'TestSiteCode' => 'HB', 'TestSiteName' => 'Hemoglobin', 'TestType' => $vs[27]['TEST'], 'Description' => '', 'SeqScr' => '2', 'SeqRpt' => '2', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'g/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; + $tIDs['HB'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['HB'], 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'g/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'HCT', 'TestSiteName' => 'Hematocrit', 'TestType' => $vs[27]['TEST'], 'Description' => '', 'SeqScr' => '3', 'SeqRpt' => '3', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => '%', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; + $tIDs['HCT'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['HCT'], 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => '%', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'RBC', 'TestSiteName' => 'Red Blood Cell', 'TestType' => $vs[27]['TEST'], 'Description' => 'Eritrosit', 'SeqScr' => '4', 'SeqRpt' => '4', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'x10^6/uL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '2', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; + $tIDs['RBC'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['RBC'], 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'x10^6/uL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '2', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'WBC', 'TestSiteName' => 'White Blood Cell', 'TestType' => $vs[27]['TEST'], 'Description' => 'Leukosit', 'SeqScr' => '5', 'SeqRpt' => '5', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'x10^3/uL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '2', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; + $tIDs['WBC'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['WBC'], 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'x10^3/uL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '2', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'PLT', 'TestSiteName' => 'Platelet', 'TestType' => $vs[27]['TEST'], 'Description' => 'Trombosit', 'SeqScr' => '6', 'SeqRpt' => '6', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'x10^3/uL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; + $tIDs['PLT'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['PLT'], 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'x10^3/uL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'MCV', 'TestSiteName' => 'MCV', 'TestType' => $vs[27]['TEST'], 'Description' => 'Mean Corpuscular Volume', 'SeqScr' => '7', 'SeqRpt' => '7', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'fL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; + $tIDs['MCV'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['MCV'], 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'fL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'MCH', 'TestSiteName' => 'MCH', 'TestType' => $vs[27]['TEST'], 'Description' => 'Mean Corpuscular Hemoglobin', 'SeqScr' => '8', 'SeqRpt' => '8', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'pg', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; + $tIDs['MCH'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['MCH'], 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'pg', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'MCHC', 'TestSiteName' => 'MCHC', 'TestType' => $vs[27]['TEST'], 'Description' => 'Mean Corpuscular Hemoglobin Concentration', 'SeqScr' => '9', 'SeqRpt' => '9', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'g/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; + $tIDs['MCHC'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['MCHC'], 'DisciplineID' => '1', 'DepartmentID' => '1', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['BLD'], 'ReqQty' => '500', 'ReqQtyUnit' => 'uL', 'Unit1' => 'g/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'CBC Analyzer', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); // Chemistry Tests $data = ['SiteID' => '1', 'TestSiteCode' => 'GLU', 'TestSiteName' => 'Glucose', 'TestType' => $vs[27]['TEST'], 'Description' => 'Glukosa Sewaktu', 'SeqScr' => '11', 'SeqRpt' => '11', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '0.0555', 'Unit2' => 'mmol/L', 'Decimal' => '0', 'Method' => 'Hexokinase', 'CreateDate' => "$now"]; + $tIDs['GLU'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['GLU'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '0.0555', 'Unit2' => 'mmol/L', 'Decimal' => '0', 'Method' => 'Hexokinase', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'CREA', 'TestSiteName' => 'Creatinine', 'TestType' => $vs[27]['TEST'], 'Description' => 'Kreatinin', 'SeqScr' => '12', 'SeqRpt' => '12', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '88.4', 'Unit2' => 'umol/L', 'Decimal' => '2', 'Method' => 'Enzymatic', 'CreateDate' => "$now"]; + $tIDs['CREA'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['CREA'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '88.4', 'Unit2' => 'umol/L', 'Decimal' => '2', 'Method' => 'Enzymatic', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'UREA', 'TestSiteName' => 'Blood Urea Nitrogen', 'TestType' => $vs[27]['TEST'], 'Description' => 'BUN', 'SeqScr' => '13', 'SeqRpt' => '13', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'Urease-GLDH', 'CreateDate' => "$now"]; + $tIDs['UREA'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['UREA'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'Urease-GLDH', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'SGOT', 'TestSiteName' => 'AST (SGOT)', 'TestType' => $vs[27]['TEST'], 'Description' => 'Aspartate Aminotransferase', 'SeqScr' => '14', 'SeqRpt' => '14', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'U/L', 'Factor' => '0.017', 'Unit2' => 'ukat/L', 'Decimal' => '0', 'Method' => 'IFCC', 'CreateDate' => "$now"]; + $tIDs['SGOT'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['SGOT'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'U/L', 'Factor' => '0.017', 'Unit2' => 'ukat/L', 'Decimal' => '0', 'Method' => 'IFCC', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'SGPT', 'TestSiteName' => 'ALT (SGPT)', 'TestType' => $vs[27]['TEST'], 'Description' => 'Alanine Aminotransferase', 'SeqScr' => '15', 'SeqRpt' => '15', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'U/L', 'Factor' => '0.017', 'Unit2' => 'ukat/L', 'Decimal' => '0', 'Method' => 'IFCC', 'CreateDate' => "$now"]; + $tIDs['SGPT'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['SGPT'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'U/L', 'Factor' => '0.017', 'Unit2' => 'ukat/L', 'Decimal' => '0', 'Method' => 'IFCC', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'CHOL', 'TestSiteName' => 'Total Cholesterol', 'TestType' => $vs[27]['TEST'], 'Description' => 'Kolesterol Total', 'SeqScr' => '16', 'SeqRpt' => '16', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['THOLD'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'Enzymatic', 'CreateDate' => "$now"]; + $tIDs['CHOL'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['CHOL'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['THOLD'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'Enzymatic', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'TG', 'TestSiteName' => 'Triglycerides', 'TestType' => $vs[27]['TEST'], 'Description' => 'Trigliserida', 'SeqScr' => '17', 'SeqRpt' => '17', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['THOLD'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'GPO-PAP', 'CreateDate' => "$now"]; + $tIDs['TG'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['TG'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['THOLD'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'GPO-PAP', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'HDL', 'TestSiteName' => 'HDL Cholesterol', 'TestType' => $vs[27]['TEST'], 'Description' => 'Kolesterol HDL', 'SeqScr' => '18', 'SeqRpt' => '18', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['THOLD'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'Direct', 'CreateDate' => "$now"]; + $tIDs['HDL'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['HDL'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['THOLD'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'Direct', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'LDL', 'TestSiteName' => 'LDL Cholesterol', 'TestType' => $vs[27]['TEST'], 'Description' => 'Kolesterol LDL', 'SeqScr' => '19', 'SeqRpt' => '19', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['THOLD'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'Direct', 'CreateDate' => "$now"]; + $tIDs['LDL'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['LDL'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['THOLD'], 'VSet' => '', 'SpcType' => $vs[15]['SER'], 'ReqQty' => '300', 'ReqQtyUnit' => 'uL', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => 'Direct', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); // ======================================== @@ -147,32 +130,32 @@ class TestSeeder extends Seeder { // ======================================== $data = ['SiteID' => '1', 'TestSiteCode' => 'HEIGHT', 'TestSiteName' => 'Height', 'TestType' => $vs[27]['PARAM'], 'Description' => 'Tinggi Badan', 'SeqScr' => '40', 'SeqRpt' => '40', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][0], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'cm', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => '', 'CreateDate' => "$now"]; + $tIDs['HEIGHT'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['HEIGHT'], 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'cm', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => '', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'WEIGHT', 'TestSiteName' => 'Weight', 'TestType' => $vs[27]['PARAM'], 'Description' => 'Berat Badan', 'SeqScr' => '41', 'SeqRpt' => '41', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][0], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'kg', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => '', 'CreateDate' => "$now"]; + $tIDs['WEIGHT'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['WEIGHT'], 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'kg', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => '', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'AGE', 'TestSiteName' => 'Age', 'TestType' => $vs[27]['PARAM'], 'Description' => 'Usia', 'SeqScr' => '42', 'SeqRpt' => '42', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][0], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'years', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => '', 'CreateDate' => "$now"]; + $tIDs['AGE'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['AGE'], 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'years', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => '', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'SYSTL', 'TestSiteName' => 'Systolic BP', 'TestType' => $vs[27]['PARAM'], 'Description' => 'Tekanan Darah Sistolik', 'SeqScr' => '43', 'SeqRpt' => '43', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][0], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'mmHg', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => '', 'CreateDate' => "$now"]; + $tIDs['SYSTL'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['SYSTL'], 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'mmHg', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => '', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'DIASTL', 'TestSiteName' => 'Diastolic BP', 'TestType' => $vs[27]['PARAM'], 'Description' => 'Tekanan Darah Diastolik', 'SeqScr' => '44', 'SeqRpt' => '44', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][0], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'mmHg', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => '', 'CreateDate' => "$now"]; + $tIDs['DIASTL'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['DIASTL'], 'DisciplineID' => '10', 'DepartmentID' => '', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => '', 'VSet' => '', 'SpcType' => '', 'ReqQty' => '', 'ReqQtyUnit' => '', 'Unit1' => 'mmHg', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'Method' => '', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); // ======================================== @@ -180,20 +163,20 @@ class TestSeeder extends Seeder { // ======================================== $data = ['SiteID' => '1', 'TestSiteCode' => 'BMI', 'TestSiteName' => 'Body Mass Index', 'TestType' => $vs[27]['CALC'], 'Description' => 'Indeks Massa Tubuh - weight/(height^2)', 'SeqScr' => '45', 'SeqRpt' => '45', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '10', 'DepartmentID' => '', 'FormulaInput' => 'WEIGHT,HEIGHT', 'FormulaCode' => 'WEIGHT / ((HEIGHT/100) * (HEIGHT/100))', 'Unit1' => 'kg/m2', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'CreateDate' => "$now"]; + $tIDs['BMI'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['BMI'], 'DisciplineID' => '10', 'DepartmentID' => '', 'FormulaInput' => 'WEIGHT,HEIGHT', 'FormulaCode' => 'WEIGHT / ((HEIGHT/100) * (HEIGHT/100))', 'Unit1' => 'kg/m2', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'CreateDate' => "$now"]; $this->db->table('testdefcal')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'EGFR', 'TestSiteName' => 'eGFR (CKD-EPI)', 'TestType' => $vs[27]['CALC'], 'Description' => 'Estimated Glomerular Filtration Rate', 'SeqScr' => '20', 'SeqRpt' => '20', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'FormulaInput' => 'CREA,AGE,GENDER', 'FormulaCode' => 'CKD_EPI(CREA,AGE,GENDER)', 'Unit1' => 'mL/min/1.73m2', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'CreateDate' => "$now"]; + $tIDs['EGFR'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['EGFR'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'FormulaInput' => 'CREA,AGE,GENDER', 'FormulaCode' => 'CKD_EPI(CREA,AGE,GENDER)', 'Unit1' => 'mL/min/1.73m2', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'CreateDate' => "$now"]; $this->db->table('testdefcal')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'LDLCALC', 'TestSiteName' => 'LDL Cholesterol (Calculated)', 'TestType' => $vs[27]['CALC'], 'Description' => 'Friedewald formula: TC - HDL - (TG/5)', 'SeqScr' => '21', 'SeqRpt' => '21', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][0], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '2', 'DepartmentID' => '2', 'FormulaInput' => 'CHOL,HDL,TG', 'FormulaCode' => 'CHOL - HDL - (TG/5)', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'CreateDate' => "$now"]; + $tIDs['LDLCALC'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['LDLCALC'], 'DisciplineID' => '2', 'DepartmentID' => '2', 'FormulaInput' => 'CHOL,HDL,TG', 'FormulaCode' => 'CHOL - HDL - (TG/5)', 'Unit1' => 'mg/dL', 'Factor' => '', 'Unit2' => '', 'Decimal' => '0', 'CreateDate' => "$now"]; $this->db->table('testdefcal')->insert($data); // ======================================== @@ -201,43 +184,69 @@ class TestSeeder extends Seeder { // ======================================== $data = ['SiteID' => '1', 'TestSiteCode' => 'CBC', 'TestSiteName' => 'Complete Blood Count', 'TestType' => $vs[27]['GROUP'], 'Description' => 'Darah Lengkap', 'SeqScr' => '50', 'SeqRpt' => '50', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $cbcID = $this->db->insertID(); + $tIDs['CBC'] = $this->db->insertID(); + $this->db->table('testdefgrp')->insertBatch([ + ['SiteID' => '1', 'TestSiteID' => $tIDs['CBC'], 'Member' => $tIDs['HB'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['CBC'], 'Member' => $tIDs['HCT'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['CBC'], 'Member' => $tIDs['RBC'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['CBC'], 'Member' => $tIDs['WBC'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['CBC'], 'Member' => $tIDs['PLT'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['CBC'], 'Member' => $tIDs['MCV'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['CBC'], 'Member' => $tIDs['MCH'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['CBC'], 'Member' => $tIDs['MCHC'], 'CreateDate' => "$now"] + ]); $data = ['SiteID' => '1', 'TestSiteCode' => 'LIPID', 'TestSiteName' => 'Lipid Profile', 'TestType' => $vs[27]['GROUP'], 'Description' => 'Profil Lipid', 'SeqScr' => '51', 'SeqRpt' => '51', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $lipidID = $this->db->insertID(); + $tIDs['LIPID'] = $this->db->insertID(); + $this->db->table('testdefgrp')->insertBatch([ + ['SiteID' => '1', 'TestSiteID' => $tIDs['LIPID'], 'Member' => $tIDs['CHOL'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['LIPID'], 'Member' => $tIDs['TG'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['LIPID'], 'Member' => $tIDs['HDL'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['LIPID'], 'Member' => $tIDs['LDL'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['LIPID'], 'Member' => $tIDs['LDLCALC'], 'CreateDate' => "$now"] + ]); $data = ['SiteID' => '1', 'TestSiteCode' => 'LFT', 'TestSiteName' => 'Liver Function Test', 'TestType' => $vs[27]['GROUP'], 'Description' => 'Fungsi Hati', 'SeqScr' => '52', 'SeqRpt' => '52', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $lftID = $this->db->insertID(); + $tIDs['LFT'] = $this->db->insertID(); + $this->db->table('testdefgrp')->insertBatch([ + ['SiteID' => '1', 'TestSiteID' => $tIDs['LFT'], 'Member' => $tIDs['SGOT'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['LFT'], 'Member' => $tIDs['SGPT'], 'CreateDate' => "$now"] + ]); $data = ['SiteID' => '1', 'TestSiteCode' => 'RFT', 'TestSiteName' => 'Renal Function Test', 'TestType' => $vs[27]['GROUP'], 'Description' => 'Fungsi Ginjal', 'SeqScr' => '53', 'SeqRpt' => '53', 'IndentLeft' => '0', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $rftID = $this->db->insertID(); + $tIDs['RFT'] = $this->db->insertID(); + $this->db->table('testdefgrp')->insertBatch([ + ['SiteID' => '1', 'TestSiteID' => $tIDs['RFT'], 'Member' => $tIDs['UREA'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['RFT'], 'Member' => $tIDs['CREA'], 'CreateDate' => "$now"], + ['SiteID' => '1', 'TestSiteID' => $tIDs['RFT'], 'Member' => $tIDs['EGFR'], 'CreateDate' => "$now"] + ]); // Urinalysis Tests (with valueset result type) $data = ['SiteID' => '1', 'TestSiteCode' => 'UCOLOR', 'TestSiteName' => 'Urine Color', 'TestType' => $vs[27]['TEST'], 'Description' => 'Warna Urine', 'SeqScr' => '31', 'SeqRpt' => '31', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '4', 'DepartmentID' => '4', 'ResultType' => $vs[43]['VSET'], 'RefType' => $vs[44]['VSET'], 'VSet' => '1001', 'SpcType' => $vs[15]['UR'], 'ReqQty' => '10', 'ReqQtyUnit' => 'mL', 'Unit1' => '', 'Factor' => '', 'Unit2' => '', 'Decimal' => '', 'Method' => 'Visual', 'CreateDate' => "$now"]; + $tIDs['UCOLOR'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['UCOLOR'], 'DisciplineID' => '4', 'DepartmentID' => '4', 'ResultType' => $vs[43]['VSET'], 'RefType' => $vs[44]['VSET'], 'VSet' => '1001', 'SpcType' => $vs[15]['UR'], 'ReqQty' => '10', 'ReqQtyUnit' => 'mL', 'Unit1' => '', 'Factor' => '', 'Unit2' => '', 'Decimal' => '', 'Method' => 'Visual', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'UGLUC', 'TestSiteName' => 'Urine Glucose', 'TestType' => $vs[27]['TEST'], 'Description' => 'Glukosa Urine', 'SeqScr' => '32', 'SeqRpt' => '32', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '4', 'DepartmentID' => '4', 'ResultType' => $vs[43]['VSET'], 'RefType' => $vs[44]['VSET'], 'VSet' => '1002', 'SpcType' => $vs[15]['UR'], 'ReqQty' => '10', 'ReqQtyUnit' => 'mL', 'Unit1' => '', 'Factor' => '', 'Unit2' => '', 'Decimal' => '', 'Method' => 'Dipstick', 'CreateDate' => "$now"]; + $tIDs['UGLUC'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['UGLUC'], 'DisciplineID' => '4', 'DepartmentID' => '4', 'ResultType' => $vs[43]['VSET'], 'RefType' => $vs[44]['VSET'], 'VSet' => '1002', 'SpcType' => $vs[15]['UR'], 'ReqQty' => '10', 'ReqQtyUnit' => 'mL', 'Unit1' => '', 'Factor' => '', 'Unit2' => '', 'Decimal' => '', 'Method' => 'Dipstick', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'UPROT', 'TestSiteName' => 'Urine Protein', 'TestType' => $vs[27]['TEST'], 'Description' => 'Protein Urine', 'SeqScr' => '33', 'SeqRpt' => '33', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '4', 'DepartmentID' => '4', 'ResultType' => $vs[43]['VSET'], 'RefType' => $vs[44]['VSET'], 'VSet' => '1003', 'SpcType' => $vs[15]['UR'], 'ReqQty' => '10', 'ReqQtyUnit' => 'mL', 'Unit1' => '', 'Factor' => '', 'Unit2' => '', 'Decimal' => '', 'Method' => 'Dipstick', 'CreateDate' => "$now"]; + $tIDs['UPROT'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['UPROT'], 'DisciplineID' => '4', 'DepartmentID' => '4', 'ResultType' => $vs[43]['VSET'], 'RefType' => $vs[44]['VSET'], 'VSet' => '1003', 'SpcType' => $vs[15]['UR'], 'ReqQty' => '10', 'ReqQtyUnit' => 'mL', 'Unit1' => '', 'Factor' => '', 'Unit2' => '', 'Decimal' => '', 'Method' => 'Dipstick', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); $data = ['SiteID' => '1', 'TestSiteCode' => 'PH', 'TestSiteName' => 'Urine pH', 'TestType' => $vs[27]['TEST'], 'Description' => 'pH Urine', 'SeqScr' => '34', 'SeqRpt' => '34', 'IndentLeft' => '1', 'VisibleScr' => $vs[2][1], 'VisibleRpt' => $vs[2][1], 'CountStat' => $vs[2][1], 'CreateDate' => "$now"]; $this->db->table('testdefsite')->insert($data); - $testSiteID = $this->db->insertID(); - $data = ['SiteID' => '1', 'TestSiteID' => $testSiteID, 'DisciplineID' => '4', 'DepartmentID' => '4', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['UR'], 'ReqQty' => '10', 'ReqQtyUnit' => 'mL', 'Unit1' => '', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'Dipstick', 'CreateDate' => "$now"]; + $tIDs['PH'] = $this->db->insertID(); + $data = ['SiteID' => '1', 'TestSiteID' => $tIDs['PH'], 'DisciplineID' => '4', 'DepartmentID' => '4', 'ResultType' => $vs[43]['NMRIC'], 'RefType' => $vs[44]['RANGE'], 'VSet' => '', 'SpcType' => $vs[15]['UR'], 'ReqQty' => '10', 'ReqQtyUnit' => 'mL', 'Unit1' => '', 'Factor' => '', 'Unit2' => '', 'Decimal' => '1', 'Method' => 'Dipstick', 'CreateDate' => "$now"]; $this->db->table('testdeftech')->insert($data); } diff --git a/app/Models/Test/TestDefCalModel.php b/app/Models/Test/TestDefCalModel.php index 76a2797..192b2dc 100644 --- a/app/Models/Test/TestDefCalModel.php +++ b/app/Models/Test/TestDefCalModel.php @@ -7,7 +7,7 @@ use App\Models\BaseModel; class TestDefCalModel extends BaseModel { protected $table = 'testdefcal'; protected $primaryKey = 'TestCalID'; - protected $allowedFields = ['SiteID', 'TestSiteID', 'DisciplineID', 'DepartmentID','FormulaCode', 'FormulaLang', 'FormulaInput', + protected $allowedFields = ['SiteID', 'TestSiteID', 'DisciplineID', 'DepartmentID','FormulaCode', 'FormulaInput', 'Unit1', 'Factor', 'Unit2', 'Decimal' ,'CreateDate', 'EndDate']; protected $useTimestamps = true; diff --git a/app/Models/Test/TestGrpModel.php b/app/Models/Test/TestDefGrpModel.php similarity index 82% rename from app/Models/Test/TestGrpModel.php rename to app/Models/Test/TestDefGrpModel.php index 08710bd..76b926d 100644 --- a/app/Models/Test/TestGrpModel.php +++ b/app/Models/Test/TestDefGrpModel.php @@ -4,8 +4,8 @@ namespace App\Models\Test; use App\Models\BaseModel; -class TestGrpModel extends BaseModel { - protected $table = 'testgrp'; +class TestDefGrpModel extends BaseModel { + protected $table = 'testdefgrp'; protected $primaryKey = 'TestGrpID'; protected $allowedFields = ['SiteID', 'TestSiteID', 'Member', 'CreateDate', 'EndDate']; diff --git a/app/Models/Test/TestDefModel.php b/app/Models/Test/TestDefModel.php deleted file mode 100644 index e1143f3..0000000 --- a/app/Models/Test/TestDefModel.php +++ /dev/null @@ -1,19 +0,0 @@ -db->query("select * from testdefcal where TestSiteID='$TestSiteID'")->getResultArray(); } elseif ($row['TypeCode'] == 'GROUP') { - $row['testgrp'] = $this->db->query("select * from testgrp where TestSiteID='$TestSiteID'")->getResultArray(); + $row['testdefgrp'] = $this->db->query("select testdefgrp.*, t.TestSiteCode, t.TestSiteName from testdefgrp left join testdefsite t on t.TestSiteID=testdefgrp.Member where testdefgrp.TestSiteID='$TestSiteID'")->getResultArray(); } else { $row['testdeftech'] = $this->db->query("select * from testdeftech where TestSiteID='$TestSiteID'")->getResultArray(); }