Files
BE_IBL/application/controllers/v1/su/Updatequery_hanan.php
2026-04-15 15:23:57 +07:00

596 lines
24 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
class Updatequery_hanan extends MY_Controller
{
function donow()
{
$array_db = array(
'riau',
'pajajaran',
'toha',
'cimahi',
'ngagel',
'aditya',
'jemur',
'mulyo',
'parkus',
'hrm',
'cikditiro',
'sultan_agung',
'matraman',
'bonjer',
'samanhudi',
'ragunan',
'cirebon',
'veteran',
'dahlan',
'plaju',
'diponegoro',
'yamin',
'padang',
'tegal',
'manado',
'pontianak',
'sudirman',
'magelang',
'salatiga',
'semarang',
'balikpapan',
'madiun',
'makasar',
'denpasar',
'tasik',
'dupang',
'wonokusumo',
'tangkuban_perahu',
'ciliwung',
'kediri',
'jember',
'simokerto',
'hertasning',
'tulungagung',
'hasyim',
'sumarecon',
'kompolmaksum',
'mojokerto'
);
//KALO TRIGGER DELIMITERNYA DIHAPUS
foreach ($array_db as $k => $v) {
$this->dbx = $this->load->database($v, true);
$sql = "DROP FUNCTION IF EXISTS `fn_get_executive_umur`";
// $query = $this->dbx->query($sql);
$sql = "CREATE FUNCTION `fn_get_executive_umur`(`PMcuID` int, `PID` int) RETURNS varchar(100) CHARSET utf8mb4
READS SQL DATA
BEGIN
DECLARE RTN VARCHAR(100);
select
umur into RTN
from
(
select
row_num,
ROW_NUMBER() OVER(order BY name desc) AS row_num1 ,
Mcu_Top3KelainanID,
hasil,
name,
umur
from
(
select
ROW_NUMBER() OVER(partition BY Mcu_Top3KelainanID) AS row_num ,
Mcu_Top3KelainanID ,
hasil ,
name as name,
umur,
persentase,
Mcu_Top3KelainanDescription
from
(
SELECT
Mcu_Top3KelainanID,
count(distinct Mgm_HeaderT_OrderHeaderID) as hasil ,
Mcu_Top3KelainanMcu_KelainangroupName as name,
case
when left(T_OrderHeaderM_PatientAge,2) < '30' then \"< 30 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '30' and left(T_OrderHeaderM_PatientAge,2) < '40' then \"30 -< 40 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '40' and left(T_OrderHeaderM_PatientAge,2) < '50' then \"40 - < 50 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '50' then \"> 50 th\" else \"\"
end as umur,
concat(\"(\",round((count(distinct Mgm_HeaderT_OrderHeaderID) / @peserta * 100),2),\"%)\" )as persentase,
Mcu_Top3KelainanDescription
from one_etl.mgm_header
join one_etl.mgm_detail
ON Mgm_HeaderID = Mgm_DetailMgm_HeaderID
AND Mgm_DetailIsActive = 'Y'
AND Mgm_HeaderIsActive = 'Y' and Mgm_HeaderMgm_McuID = PMcuID
join one_etl.mcu_top3_kelainan on Mgm_DetailMcu_KelainanGroupID = Mcu_Top3KelainanMcu_KelainanGroupID
and Mgm_HeaderMgm_McuID = Mcu_Top3KelainanMgm_McuID
and Mcu_Top3KelainanIsActive = 'Y'
join t_orderheader on Mgm_HeaderT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
group by Mcu_Top3KelainanMcu_KelainangroupName ,umur
union
SELECT
Mcu_Top3KelainanID,
count(distinct Mgm_HeaderT_OrderHeaderID) as hasil ,
Mcu_Top3KelainanMcu_KelainangroupName as name,
case
when left(T_OrderHeaderM_PatientAge,2) < '30' then \"< 30 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '30' and left(T_OrderHeaderM_PatientAge,2) < '40' then \"30 -< 40 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '40' and left(T_OrderHeaderM_PatientAge,2) < '50' then \"40 - < 50 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '50' then \"> 50 th\" else \"\"
end as umur,
concat(\"(\",round((count(distinct Mgm_HeaderT_OrderHeaderID) / @peserta * 100),2),\"%)\" )as persentase,
Mcu_Top3KelainanDescription
from one_etl.mgm_header
join one_etl.mgm_detail
ON Mgm_HeaderID = Mgm_DetailMgm_HeaderID
AND Mgm_DetailIsActive = 'Y'
AND Mgm_HeaderIsActive = 'Y' and Mgm_HeaderMgm_McuID = PMcuID
join one_etl.mcu_top3_kelainan on Mgm_DetailMcu_KelainanID = Mcu_Top3KelainanMcuKelainanID
and Mgm_HeaderMgm_McuID = Mcu_Top3KelainanMgm_McuID
and Mcu_Top3KelainanIsActive = 'Y'
join t_orderheader on Mgm_HeaderT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
group by Mcu_Top3KelainanMcu_KelainangroupName ,umur
order by Mcu_Top3KelainanID,hasil desc ) as xxx ) as xxxx
where row_num = 1 ) as umur where Mcu_Top3KelainanID = PID
limit 1
;
return RTN;
END";
// $query = $this->dbx->query($sql);
$sql = "DROP FUNCTION IF EXISTS `fn_get_executive_umur_hasil`";
// $query = $this->dbx->query($sql);
$sql = "CREATE FUNCTION `fn_get_executive_umur_hasil`(`PMcuID` int, `PID` int) RETURNS varchar(100) CHARSET utf8mb4
READS SQL DATA
BEGIN
DECLARE RTN VARCHAR(100);
select count(Mcu_OrderT_OrderHeaderID) into @peserta
from one_etl.mgm_mcu
join one_etl.mcu_order on Mcu_OrderMgm_McuID = Mgm_McuID
where Mgm_McuIsActive = 'Y'
and Mcu_OrderMgm_McuID = PMcuID;
select
persentase into RTN
from
(
select
row_num,
ROW_NUMBER() OVER(order BY name desc) AS row_num1 ,
Mcu_Top3KelainanID,
hasil,
name,
umur ,
concat(persentase,\" \" , hasil) as persentase
from
(
select
ROW_NUMBER() OVER(partition BY Mcu_Top3KelainanID) AS row_num ,
Mcu_Top3KelainanID ,
hasil ,
name as name,
umur,
persentase,
Mcu_Top3KelainanDescription
from
(
SELECT
Mcu_Top3KelainanID,
count(distinct Mgm_HeaderT_OrderHeaderID) as hasil ,
Mcu_Top3KelainanMcu_KelainangroupName as name,
case
when left(T_OrderHeaderM_PatientAge,2) < '30' then \"< 30 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '30' and left(T_OrderHeaderM_PatientAge,2) < '40' then \"30 -< 40 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '40' and left(T_OrderHeaderM_PatientAge,2) < '50' then \"40 - < 50 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '50' then \"> 50 th\" else \"\"
end as umur,
concat(\"(\",round((count(distinct Mgm_HeaderT_OrderHeaderID) / @peserta * 100),2),\"%)\" )as persentase,
Mcu_Top3KelainanDescription
from one_etl.mgm_header
join one_etl.mgm_detail
ON Mgm_HeaderID = Mgm_DetailMgm_HeaderID
AND Mgm_DetailIsActive = 'Y'
AND Mgm_HeaderIsActive = 'Y' and Mgm_HeaderMgm_McuID = PMcuID
join one_etl.mcu_top3_kelainan on Mgm_DetailMcu_KelainanGroupID = Mcu_Top3KelainanMcu_KelainanGroupID
and Mgm_HeaderMgm_McuID = Mcu_Top3KelainanMgm_McuID
and Mcu_Top3KelainanIsActive = 'Y'
join t_orderheader on Mgm_HeaderT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
group by Mcu_Top3KelainanMcu_KelainangroupName ,umur
union
SELECT
Mcu_Top3KelainanID,
count(distinct Mgm_HeaderT_OrderHeaderID) as hasil ,
Mcu_Top3KelainanMcu_KelainangroupName as name,
case
when left(T_OrderHeaderM_PatientAge,2) < '30' then \"< 30 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '30' and left(T_OrderHeaderM_PatientAge,2) < '40' then \"30 -< 40 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '40' and left(T_OrderHeaderM_PatientAge,2) < '50' then \"40 - < 50 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '50' then \"> 50 th\" else \"\"
end as umur,
concat(\"(\",round((count(distinct Mgm_HeaderT_OrderHeaderID) / @peserta * 100),2),\"%)\" )as persentase,
Mcu_Top3KelainanDescription
from one_etl.mgm_header
join one_etl.mgm_detail
ON Mgm_HeaderID = Mgm_DetailMgm_HeaderID
AND Mgm_DetailIsActive = 'Y'
AND Mgm_HeaderIsActive = 'Y' and Mgm_HeaderMgm_McuID = PMcuID
join one_etl.mcu_top3_kelainan on Mgm_DetailMcu_KelainanID = Mcu_Top3KelainanMcuKelainanID
and Mgm_HeaderMgm_McuID = Mcu_Top3KelainanMgm_McuID
and Mcu_Top3KelainanIsActive = 'Y'
join t_orderheader on Mgm_HeaderT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
group by Mcu_Top3KelainanMcu_KelainangroupName ,umur
order by Mcu_Top3KelainanID,hasil desc ) as xxx ) as xxxx
where row_num = 1 ) as umur where Mcu_Top3KelainanID = PID
limit 1
;
return RTN;
END";
// $query = $this->dbx->query($sql);
$sql = "DROP PROCEDURE IF EXISTS `sp_rpt_executive_summary_tiga_text`";
// $query = $this->dbx->query($sql);
$sql = "CREATE PROCEDURE `sp_rpt_executive_summary_tiga_text`(IN `PID` int, IN `username` varchar(100))
begin
select count(Mcu_OrderT_OrderHeaderID) into @peserta
from one_etl.mgm_mcu
join one_etl.mcu_order on Mcu_OrderMgm_McuID = Mgm_McuID
where Mgm_McuIsActive = 'Y'
and Mcu_OrderMgm_McuID = PID ;
select
row_num,
ROW_NUMBER() OVER(order BY Mcu_Top3KelainanID ASC) AS row_num1 ,
Mcu_Top3KelainanID,
hasil,
name,
sex,
persentase,
umur,
umurHasil,
REPLACE( REPLACE( REPLACE( REPLACE(Mcu_Top3KelainanDescription, \" * Kelamin * \" , sex ), \" * HasilKelamin * \" , persentase) , \" * Umur * \" , umur), \" * HasilUmur * \" , umurHasil)as Mcu_Top3KelainanDescription
from
(
select
ROW_NUMBER() OVER(partition BY Mcu_Top3KelainanID) AS row_num ,
Mcu_Top3KelainanID ,
hasil ,
name as name,
sex,
concat(persentase , \" \" , hasil) as persentase,
`fn_get_executive_umur`(Mcu_Top3KelainanMgm_McuID ,Mcu_Top3KelainanID) as umur,
`fn_get_executive_umur_hasil`(Mcu_Top3KelainanMgm_McuID ,Mcu_Top3KelainanID) as umurHasil,
Mcu_Top3KelainanDescription
from
(
WITH combined_results AS (
SELECT Mcu_Top3KelainanMgm_McuID,
Mcu_Top3KelainanID,
COUNT(DISTINCT Mgm_HeaderT_OrderHeaderID) AS hasil,
Mcu_Top3KelainanMcu_KelainangroupName AS name,
IF(Mgm_HeaderM_SexCode = 'L', 'Laki-Laki', 'Perempuan') AS sex,
CONCAT('(', ROUND((COUNT(DISTINCT Mgm_HeaderT_OrderHeaderID) / @peserta * 100), 2), '%)') AS persentase,
Mcu_Top3KelainanDescription
FROM one_etl.mgm_header
JOIN one_etl.mgm_detail
ON Mgm_HeaderID = Mgm_DetailMgm_HeaderID
AND Mgm_DetailIsActive = 'Y'
AND Mgm_HeaderIsActive = 'Y'
AND Mgm_HeaderMgm_McuID = PID
JOIN one_etl.mcu_top3_kelainan
ON Mgm_DetailMcu_KelainanGroupID = Mcu_Top3KelainanMcu_KelainanGroupID
AND Mgm_HeaderMgm_McuID = Mcu_Top3KelainanMgm_McuID
AND Mcu_Top3KelainanIsActive = 'Y'
JOIN t_orderheader
ON Mgm_HeaderT_OrderHeaderID = T_OrderHeaderID
AND T_OrderHeaderIsActive = 'Y'
GROUP BY Mcu_Top3KelainanMcu_KelainangroupName, sex
UNION
SELECT Mcu_Top3KelainanMgm_McuID,
Mcu_Top3KelainanID,
COUNT(DISTINCT Mgm_HeaderT_OrderHeaderID) AS hasil,
Mcu_Top3KelainanMcu_KelainangroupName AS name,
IF(Mgm_HeaderM_SexCode = 'L', 'Laki-Laki', 'Perempuan') AS sex,
CONCAT('(', ROUND((COUNT(DISTINCT Mgm_HeaderT_OrderHeaderID) / @peserta * 100), 2), '%)') AS persentase,
Mcu_Top3KelainanDescription
FROM one_etl.mgm_header
JOIN one_etl.mgm_detail
ON Mgm_HeaderID = Mgm_DetailMgm_HeaderID
AND Mgm_DetailIsActive = 'Y'
AND Mgm_HeaderIsActive = 'Y'
AND Mgm_HeaderMgm_McuID = PID
JOIN one_etl.mcu_top3_kelainan
ON Mgm_DetailMcu_KelainanID = Mcu_Top3KelainanMcuKelainanID
AND Mgm_HeaderMgm_McuID = Mcu_Top3KelainanMgm_McuID
AND Mcu_Top3KelainanIsActive = 'Y'
JOIN t_orderheader
ON Mgm_HeaderT_OrderHeaderID = T_OrderHeaderID
AND T_OrderHeaderIsActive = 'Y'
GROUP BY Mcu_Top3KelainanMcu_KelainangroupName, sex
)
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY name ORDER BY hasil DESC) AS rn
FROM combined_results
) ranked
WHERE rn = 1
ORDER BY Mcu_Top3KelainanID, hasil DESC) as a ) as b
;
END";
// $query = $this->dbx->query($sql);
$sql = "DROP PROCEDURE IF EXISTS `sp_rpt_exe_pola_kelainan`";
// $query = $this->dbx->query($sql);
$sql = "CREATE PROCEDURE `sp_rpt_exe_pola_kelainan`(IN `PID` int, IN `username` varchar(100))
begin
SELECT
CASE
WHEN COUNT(*) > 1 THEN
CONCAT(
GROUP_CONCAT(Mcu_Top3KelainanMcu_KelainangroupName SEPARATOR ', '),
' dan ',
(SELECT Mcu_Top3KelainanMcu_KelainangroupName FROM one_etl.mcu_top3_kelainan where Mcu_Top3KelainanMgm_McuID = PID and Mcu_Top3KelainanIsActive = 'Y' ORDER BY Mcu_Top3KelainanID DESC LIMIT 1 )
)
ELSE
MAX(Mcu_Top3KelainanMcu_KelainangroupName )
END into @namakelainan
FROM (
select Mcu_Top3KelainanMcu_KelainangroupName
from one_etl.mcu_top3_kelainan
where Mcu_Top3KelainanMgm_McuID = PID
and Mcu_Top3KelainanIsActive = 'Y' limit 2
) as namakelainan
;
set lc_time_names = \"id_ID\";
select
concat(
\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Berdasarkan hasil pemeriksaan kesehatan berkala yang dilakukan terhadap \",count(Mcu_OrderT_OrderHeaderID) ,\" orang peserta \",M_CompanyName ,\" yang dilaksanakan pada tanggal \" ,date_format(Mgm_McuStartDate, '%d %M %Y') ,\" sampai dengan \" ,date_format(Mgm_McuEndDate , '%d %M %Y') ,\", bertempat di masing-masing lokasi dan di Laboratorium Klinik PRAMITA, didapatkan bahwa sebagian besar hasil pemeriksaannya adalah masih dalam batas normal. Kelainan kelainan yang di temukan dari hasil pemeriksaan MCU sebagian besar terdiri dari kelainan \" ,@namakelainan , \". Secara keseluruhan 10 temuan kelainan tertinggi tampak pada table dan grafik :\"
) as PolaKelainan
from one_etl.mgm_mcu
join m_company on Mgm_McuM_CompanyID = M_CompanyID
join one_etl.mcu_order on Mcu_OrderMgm_McuID = Mgm_McuID
where Mgm_McuID = PID ;
end";
// $query = $this->dbx->query($sql);
$sql = "DROP PROCEDURE IF EXISTS `sp_rpt_exe_sum_001`";
// $query = $this->dbx->query($sql);
$sql = "CREATE PROCEDURE `sp_rpt_exe_sum_001`(IN `PID` int, IN `username` varchar(100))
begin
set lc_time_names = \"id_ID\";
select
group_concat(distinct Test order by TestID, T_TestSasCode SEPARATOR ', ') into @Test
from
(
select
Mgm_McuID,
T_TestSasCode,T_TestName ,
case
when T_TestNat_GroupID = 1 then \"Laboratorium\"
when T_TestNat_GroupID = 4 then \"Pemeriksaan Fisik\"
when T_TestNat_GroupID = 3 then \"Foto Polos\"
else group_concat(distinct T_TestName) end as Test ,
case
when T_TestNat_GroupID = 1 then \"2\"
when T_TestNat_GroupID = 4 then \"1\"
when T_TestNat_GroupID = 2 then \"4\"
when T_TestNat_GroupID = 3 then \"3\"
else '1' end as TestID
from one_etl.mgm_mcu
join one_etl.mcu_order on Mcu_OrderMgm_McuID = Mgm_McuID
join t_orderdetail on Mcu_OrderT_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailIsActive = 'Y'
join t_test on T_OrderDetailT_TestID = T_TestID
join nat_test ON T_TestNat_TestID = Nat_TestID
where Mgm_McuID = 23 and T_TestIsPrice = 'Y' and Nat_TestPriceSumToNat_TestID = ''
group by T_TestID ) as test ;
select umur into @umur
from
(
select
case
when left(T_OrderHeaderM_PatientAge,2) < '30' then \" < 30 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '30' and left(T_OrderHeaderM_PatientAge,2) < '40' then \" 30 -< 40 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '40' and left(T_OrderHeaderM_PatientAge,2) < '50' then \" 40 - < 50 th\"
when left(T_OrderHeaderM_PatientAge,2) >= '50' then \" > 50 th\" else \"\"
end as umur,
count(Mcu_OrderT_OrderHeaderID) as total
from one_etl.mcu_order
join t_orderheader on Mcu_OrderT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
where Mcu_OrderMgm_McuID = PID
group by
umur order by total desc limit 1) as xx ;
SELECT
COUNT(distinct Mcu_OrderT_OrderHeaderID) into @total
FROM
one_etl.mcu_order
WHERE
Mcu_OrderMgm_McuID = PID;
select
group_concat(concat(
case
when row_number = 1 then \" kategori \"
when row_number = 2 then \"disusul \"
when row_number = 3 then \"kemudian \"
else '' end
, fitnes) separator \" , \") into @groupfitness
from (
SELECT
ROW_NUMBER() OVER (ORDER BY count(Mcu_OrderT_OrderHeaderID) desc ) AS row_number ,
Mcu_OrderMcu_FitnessName AS name,
count(Mcu_OrderT_OrderHeaderID) AS total ,
@total as jumlahpasien ,
concat(Mcu_OrderMcu_FitnessName ,\" \" ,count( Mcu_OrderT_OrderHeaderID) ,\" orang (\", round(count(Mcu_OrderT_OrderHeaderID) / @total * 100 ,2), \" %)\" ) as fitnes,
round(count(Mcu_OrderT_OrderHeaderID) / @total * 100 ,2) as persen
FROM one_etl.mcu_order
WHERE Mcu_OrderMgm_McuID = PID
GROUP BY Mcu_OrderMcu_FitnessID
order by total desc limit 3) as x ;
select
concat(
\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mengacu pada Undang Undang No 1 tahun 1970 tentang Keselamatan Kerja dan Peraturan Pemerintah No 50 Tahun 2012, tentang Penerapan Sistem Manajemen Keselamatan Dan Kesehatan Kerja, dan dalam rangka melaksanakan system managemen kesehatan dan keselamatan kerja (SMK3), telah dilakukan pemeriksaan kesehatan berkala di \", M_CompanyName,\" pada tanggal \" ,date_format(Mgm_McuStartDate, '%d %M %Y') ,\" sampai dengan \" ,date_format(Mgm_McuEndDate , '%d %M %Y') ,\" yang diikuti oleh \",count(Mcu_OrderT_OrderHeaderID) ,
\" peserta. Kegiatan ini bertujuan untuk deteksi dini penyakit sebagai upaya pencegahan timbulnya penyakit yang lebih berat dan dalam rangka meningkatkan produktifitas kerja.
Dari hasil evaluasi pemeriksaan kesehatan berkala, status fitness to work secara keseluruhan adalah : \" ,@groupfitness
) as text1,
concat(\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kegiatan pemeriksaan kesehatan berkala periode tahun \",year(Mgm_McuStartDate),\", \", M_CompanyName,\" dilaksanakan pada tanggal \" ,date_format(Mgm_McuStartDate, '%d %M %Y') ,\" sampai dengan \" ,date_format(Mgm_McuEndDate , '%d %M %Y') ,\", bertempat di masingmasing lokasi. Untuk sebagian peserta yang tidak bisa mengikuti kegiatan pemeriksaan di lokasi pada tanggal yang ditentukan, pemeriksaan dilakukan di Laboratorium Klinik PRAMITA.
\")as pelaksanaan,
CONVERT(concat(\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pemeriksaan kesehatan berkala diikuti oleh \",count(Mcu_OrderT_OrderHeaderID) ,\" peserta, dari total sebanyak \",Mgm_McuTotalParticipant,\" Pegawai. Dari kehadiran peserta ini menunjukkan tingkat partisipasi dan kepedulian pegawai yang tinggi terhadap kesehatannya.\") , VARCHAR(1000))as kepesertaan,
concat(\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hasil analisis kesehatan ini merupakan kajian ilmiah yang hanya berdasarkan studi klinis dan
pedoman klinis yang dipublikasikan dengan data-data yang terbatas menggunakan data
pemeriksaan yang ada, oleh karena itu kajian ini BUKAN dimaksudkan untuk membuat
diagnosa suatu penyakit, karena masih memerlukan pemeriksaan klinis lanjutan untuk menjadi
sebuah hasil diagnosis yang komprehensif. Meskipun konten dalam laporan kajian ini adalah
tentang masalah medis dan perawatan kesehatan tertentu, konten tersebut bukan pengganti
tindakan, atau pengganti saran medis yang dipersonalisasi dan tidak dimaksudkan untuk
digunakan sebagai satu satunya dasar untuk membuat keputusan terkait medis atau kesehatan
individual.
</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produk dan konten disediakan atas dasar sebagaimana adanya Pramita tidak menjamin
bahwa produk dan/atau konten apa pun di dalamnya bebas kesalahan, akurat, dapat
diandalkan dan akan dapat memenuhi kebutuhan Anda. Konten pada laporan ini tidak
dimaksudkan untuk menyajikan satu-satunya metode atau prosedur terbaik untuk situasi medis
yang ditangani. Referensi apa pun ke terapi atau produk komersial atau layanan tertentu dalam
laporan hasil pemeriksaan kesehatan ini bukan merupakan jaminan atau dukungan oleh
Pramita atas kualitas atau nilai terapi atau produk atau layanan tersebut atau klaim apa pun
yang dibuat oleh produsen atau penyedia terapi atau layanan tersebut.\" )as disclaimer,
concat(\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dalam upaya meningkatkan derajat kesehatan masyarakat khususnya tenaga kerja, maka
pemerintah melakukan upaya peningkatan, pencegahan, penyembuhan dan upaya pemulihan
(rehabilitasi dalam berbagai bentuk informasi dan pelayanan). Hal tersebut tertuang dalam
Undang Undang nomor 1 tahun 1970 dan Peraturan peraturan lainnya yang mendukung
tentang keselamatan dan kesehatan kerja.
</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pemeriksaan kesehatan berkala (general medical check up) bertujuan untuk mengetahui status
kesehatan pekerja dan mendeteksi secara dini adanya penyakit akibat kerja, penyakit
degenerative maupun penyakit lainnya agar dapat ditangani secara dini. Penyakit akibat kerja
dapat timbul karena terpaparnya pekerja oleh agen dalam lingkungan pekerjaan ataupun
kebiasaan kerja yang kurang benar. Sedangkan penyakit degenerative seperti penyakit jantung,
hipertensi dan diabetes mellitus dapat timbul karena proses alamiah akibat proses penuaan,
gaya hidup, pola makan yang kurang berimbang, kurangnya aktifitas fisik dan olah raga.
</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sumber daya manusia adalah aset perusahaan yang sangat penting, karena itu \",M_CompanyName ,\"
melaksanakan pemeriksaan kesehatan berkala secara rutin untuk mempertahankan
produktifitas dan memenuhi ketentuan undang-undang. Diketahui bahwa interaksi tenaga kerja
dengan berbagai faktor bahaya dan risiko di tempat kerja adalah suatu hal yang tidak dapat
dihindari, maka perusahaan berupaya agar tercapai kondisi yang aman, efektif dan efisien.
</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Salah satu kegiatan untuk mempertahankan derajat kesehatan karyawan adalah dengan
melaksanakan pemeriksaan kesehatan berkala yang dilaksanakan bekerja sama dengan
Laboratorium Klinik PRAMITA.\")
as LatarBelakang,
\"2.1. Mengetahui status kesehatan pegawai
</br>2.2. Mendeteksi secara dini adanya penyakit akibat kerja
</br>2.3. Mengetahui adanya penyakit degeneratif (seperti penyakit jantung, hipertensi dan diabetesmellitus)
</br>2.4. Mengetahui adanya penyakit - penyakit lainnya yang dapat timbul selama karyawan tersebut bekerja, sehingga dapat ditangani secara dini\" as TujuanKegiatan,
concat(\"</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bila peserta dibagi menurut kelompok umur < 30 tahun, 30 - < 40 tahun, 40 - < 50 tahun dan
lebih dari 50 tahun, maka kelompok umur yang terbanyak pada kegiatan pemeriksaan
kesehatan berkala tahun \",year(Mgm_McuStartDate),\" ini adalah kelompok umur \", @umur ,\" komposisi menurut
kelompok umur selengkapnya dapat dilihat pada tabel 2.3 sebagai berikut:
\" )as Komposisi,
concat(\"</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pemeriksaan kesehatan berkala ini merupakan salah satu bentuk implementasi System
Managemen Kesehatan dan Keselamatan Kerja (SMK3) di \",M_CompanyName ,\", yang bertujuan untuk deteksi dini adanya penyakit termasuk
penyakit akibat kerja (PAK), guna mencegah timbulnya kelainan yang lebih berat. Disamping
itu, Pemeriksaan ini pada akhirnya juga bertujuan untuk meningkatkan produktifitas pegawai
dan perusahaan. Pemeriksaan kesehatan yang dilakukan meliputi pemeriksaan Anamnesa, \",
@Test,\" . Jenis
pemeriksaan pada masing-masing pegawai ditentukan berdasarkan risiko penyakit menurut
kelompok umur, jenis kelamin dan jenis pekerjaan, dan telah ditetapkan oleh \",M_CompanyName ,\"
berdasarkan analisa dan evaluasi pelaksanaan K3. Jenis pemeriksaan selengkapnya dapat
dilihat pada table berikut :\") as JenisPemeriksaan
from one_etl.mgm_mcu
join m_company on Mgm_McuM_CompanyID = M_CompanyID
join one_etl.mcu_order on Mcu_OrderMgm_McuID = Mgm_McuID
where Mgm_McuID = PID;
end";
// $query = $this->dbx->query($sql);
if ($query) {
echo $v . "-OK";
} else {
echo $v . "-ERROR ";
}
}
}
}