1124 lines
42 KiB
PHP
1124 lines
42 KiB
PHP
<?php
|
|
class Fisik03 extends MY_Controller
|
|
{
|
|
var $db_onedev;
|
|
public function index()
|
|
{
|
|
echo "Fisik 01";
|
|
}
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
}
|
|
function kesimpulanv4($id)
|
|
{
|
|
$kesimpulan = "";
|
|
/*$sql = "SELECT *
|
|
FROM so_resultentry_fisik_umum
|
|
WHERE
|
|
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND
|
|
So_ResultEntryFisikUmumM_LangID = ? AND
|
|
So_ResultEntryFisikUmumType = 'riwayat'
|
|
";
|
|
$qry = $this->db->query($sql,array($id,$langid));
|
|
$data_rows = $qry->result_array();
|
|
if ( count($data_rows) == 0 ) return '';
|
|
$riwayat_data = json_decode($data_rows[0]["So_ResultEntryFisikUmumDetails"],true);*/
|
|
$sql = "SELECT *
|
|
FROM fisik_template
|
|
JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND So_ResultEntryFisikUmumSo_ResultEntryID = ?
|
|
WHERE
|
|
FisikTemplateIsActive = 'Y' AND
|
|
FisikTemplateType = 'Riwayat'
|
|
ORDER BY FisikTemplateCode ASC
|
|
";
|
|
$qry = $this->db->query($sql, array($id));
|
|
// echo $this->db->last_query();
|
|
$xriwayats = $qry->result_array();
|
|
$riwayat_data = [];
|
|
foreach ($xriwayats as $key => $value) {
|
|
$riwayat_data[] = json_decode($value['So_ResultEntryFisikUmumDetails'], true);
|
|
}
|
|
//print_r($riwayat_data);
|
|
foreach ($riwayat_data as $riwayat_da) {
|
|
//print_r($riwayat_da);
|
|
//echo $riwayat_da["title"];
|
|
if ($riwayat_da["title"] == "KELUHAN SAAT INI") {
|
|
//print_r($riwayat_da["details"]);
|
|
foreach ($riwayat_da["details"] as $riwayat_db) {
|
|
if (($riwayat_db["chx"] == "1" || $riwayat_db["chx"] != false) && $riwayat_db["label"] == 'Gastritis (maag)') {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $riwayat_db["label"] . " " . $riwayat_db["value"];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$kode_gigi = array(
|
|
"X" => "Berlubang",
|
|
"C" => "Tambalan",
|
|
"O" => "Tanggal",
|
|
"R" => "Sisa akar",
|
|
"A" => "Gigi Palsu",
|
|
"K" => "Karang Gigi"
|
|
);
|
|
|
|
$sql = "SELECT *
|
|
FROM fisik_template
|
|
JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND So_ResultEntryFisikUmumSo_ResultEntryID = ?
|
|
JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
|
|
JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
|
|
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
WHERE
|
|
FisikTemplateIsActive = 'Y' AND
|
|
FisikTemplateType = 'Fisik'
|
|
ORDER BY FisikTemplateCode ASC
|
|
";
|
|
$qry = $this->db->query($sql, array($id));
|
|
// echo $this->db->last_query();
|
|
$xfisiks = $qry->result_array();
|
|
$fisik_data = [];
|
|
foreach ($xfisiks as $kex => $valux) {
|
|
$fisik_data[] = json_decode($valux['So_ResultEntryFisikUmumDetails'], true);
|
|
}
|
|
//print_r($fisik_data);
|
|
/*$sql = "SELECT so_resultentry_fisik_umum.*, M_SexCode
|
|
FROM so_resultentry_fisik_umum
|
|
JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
|
|
JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
|
|
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
JOIN m_sex ON M_PatientM_SexID = M_SexID
|
|
WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ?
|
|
AND So_ResultEntryFisikUmumM_LangID = ?
|
|
AND So_ResultEntryFisikUmumType = 'fisik'";
|
|
$qry = $this->db->query($sql,array($id,$langid));
|
|
$rows = $qry->result_array();
|
|
if ( count($rows) == 0 ) return '';
|
|
$data = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"],true);
|
|
*/
|
|
|
|
$sexcode = $xfisiks[0]["M_PatientGender"] == 'male' ? 'L' : 'P';
|
|
//echo $xfisiks[0]["M_PatientGender"];
|
|
//echo $sexcode;
|
|
//$data = $fisik_data;
|
|
//echo json_encode($fisik_data);
|
|
// echo $kesimpulan;
|
|
$kesimpulan_mata = "";
|
|
$kesimpulan_visus = "";
|
|
$kesimpulan_gigi = "";
|
|
foreach ($fisik_data as $da) {
|
|
//echo $da["title"];
|
|
if ($da["title"] == "TANDA VITAL") {
|
|
foreach ($da["details"] as $db) {
|
|
//print_r($db);
|
|
if ($db["chx_x"] == "1") {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $db["label"] . " " . $db["label_x"];
|
|
}
|
|
if ($db["id_code"] == "tanda_vital_1") {
|
|
//echo $db["value"];
|
|
if (intval($db["value"]) > 100) {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= "Takhikardi " . " ( " . $db["value"] . " x/menit )";
|
|
}
|
|
if (intval($db["value"]) < 60) {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= "Bradikardi " . " ( " . $db["value"] . " x/menit )";
|
|
}
|
|
}
|
|
if ($db["id_code"] == "tanda_vital_3") {
|
|
if (intval($db["value"]) > 20 || intval($db["value"]) < 16) {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $db["label"] . " ( " . $db["value"] . " x/menit )";
|
|
}
|
|
}
|
|
if ($db["id_code"] == 'tanda_vital_5' && $db["value_x"] != 'NORMAL' && $db["value_x"] != 'OPTIMAL' && $db['value_x'] != 'HIGH NORMAL') {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $db["label"] . " " . $db["value"] . " " . $db["unit"] . " ( " . ucwords(strtolower($db["value_x"])) . " )";
|
|
}
|
|
}
|
|
} elseif ($da["title"] == "STATUS GIZI") {
|
|
$bmi_value = "";
|
|
|
|
//echo json_encode($da['details']);
|
|
foreach ($da["details"] as $db) {
|
|
|
|
if ($db["id_code"] == "status_gizi_4") $bmi_value = $db["value"];
|
|
if ($db["chx_x"] == "1") {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $db["label"] . " " . $db["label_x"];
|
|
}
|
|
if (($db["id_code"] == "status_gizi_6" && $db["value"] != "Normal" && $db["value"] != '-')) {
|
|
//echo $db["value"] ;
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $db["value"] . " ( BMI : $bmi_value )";
|
|
|
|
//echo $kesimpulan;
|
|
}
|
|
//echo $kesimpulan;
|
|
if ($db["id_code"] == "status_gizi_3") {
|
|
if (intval($db["value"]) >= 90 && $sexcode == 'L') {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $db["label"] . " " . " ( " . $db["value"] . " cm )";
|
|
}
|
|
if (intval($db["value"]) >= 80 && $sexcode == 'P') {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $db["label"] . " " . " ( " . $db["value"] . " cm )";
|
|
}
|
|
}
|
|
}
|
|
} elseif ($da["title"] == "KEADAAN UMUM") {
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx_x"] == "1") {
|
|
if ($kesimpulan != "") $kesimpulan .= ", ";
|
|
$kesimpulan .= $db["label"] . " : ( " . $db["label_x"] . " ) " . $db["value"];
|
|
}
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "KEPALA WAJAH") {
|
|
//echo json_encode($da["details"]);
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
//echo $kesimpulan;
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "MATA") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
$kesimpulan_mata = ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "PERSEPSI WARNA") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "VISUS JAUH") {
|
|
|
|
$s_rst = '';
|
|
foreach ($da["details"] as $db) {
|
|
$str_data = "";
|
|
$r_ods = '';
|
|
$xr_ods = array();
|
|
$kelainan = '';
|
|
foreach ($db['details'] as $dc) {
|
|
if ($dc['chx'] == '1' && $dc['segment_name'] == 'Tanpa kacamata' && ($dc['value'] != '' && $dc['value'] != '6/6')) {
|
|
$r_ods .= $dc['label'] . " : " . $dc['value'] . " ";
|
|
array_push($xr_ods, $dc['value']);
|
|
}
|
|
if ($dc['chx'] == '1' && $dc['segment_name'] == 'Dengan kacamata' && $dc['value'] != '') {
|
|
if ($dc['value'] != '6/6')
|
|
$r_ods .= $dc['label'] . " : " . $dc['value'] . " ";
|
|
|
|
array_push($r_ods);
|
|
array_push($xr_ods, $dc['value']);
|
|
}
|
|
}
|
|
//print_r($xr_ods);
|
|
if (!empty($xr_ods)) {
|
|
if ($db['name'] == 'Tanpa kacamata') {
|
|
$kelainan = "Kelainan Refraksi";
|
|
$str_data .= $kelainan . " " . $db['name'] . " ( " . $r_ods . ")";
|
|
}
|
|
if ($db['name'] == 'Dengan kacamata') {
|
|
$all66 = true;
|
|
foreach ($xr_ods as $xd => $xv) {
|
|
if ($xv != '6/6') {
|
|
$all66 = false;
|
|
}
|
|
}
|
|
if ($all66) {
|
|
$kelainan = "Kelainan Refraksi Terkoreksi";
|
|
} else {
|
|
$kelainan = "Kelainan Refraksi";
|
|
}
|
|
if ($r_ods != '')
|
|
$str_data .= $kelainan . " " . $db['name'] . " ( " . $r_ods . ")";
|
|
else
|
|
$str_data .= $kelainan . " " . $db['name'];
|
|
}
|
|
$s_rst .= $str_data;
|
|
}
|
|
//echo $str_data;
|
|
|
|
}
|
|
if ($s_rst != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= $s_rst;
|
|
$kesimpulan_visus = $s_rst;
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "TELINGA") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
} elseif ($da["title"] == "HIDUNG") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "GIGI") {
|
|
$arr_gigi = array();
|
|
foreach ($da["details"] as $db) {
|
|
foreach ($db["details"] as $dc) {
|
|
$dc["value"] = strtoupper($dc["value"]);
|
|
if ($dc["value"] != "" && isset($kode_gigi[$dc["value"]])) {
|
|
$value = $kode_gigi[$dc["value"]];
|
|
if (!isset($arr_gigi[$value])) $arr_gigi[$value] = array();
|
|
$kode = $dc["id_code"];
|
|
$pos = substr($kode, -1);
|
|
|
|
if (strpos($kode, "atas")) {
|
|
if (strpos($kode, "kiri")) {
|
|
$arr_gigi[$value][] = "└" . $pos;
|
|
} else {
|
|
$arr_gigi[$value][] = $pos . "┘";
|
|
}
|
|
} else {
|
|
if (strpos($kode, "kiri")) {
|
|
$arr_gigi[$value][] = "┌" . $pos;
|
|
} else {
|
|
$arr_gigi[$value][] = $pos . "┐";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$r_gigi = "";
|
|
foreach ($arr_gigi as $v => $g) {
|
|
if ($r_gigi != "") $r_gigi .= "<br/>";
|
|
$r_gigi .= "<span style='margin-left:25px'>" . $v . " " . join(",", $g) . "</span>";
|
|
}
|
|
//print_r($arr_gigi);
|
|
//echo $r_gigi;
|
|
if ($r_gigi != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
if ($kesimpulan != "") $kesimpulan .= "Gigi<br/>";
|
|
$kesimpulan .= $r_gigi;
|
|
$kesimpulan_gigi = $r_gigi;
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "MULUT") {
|
|
$s_rst = '';
|
|
foreach ($da["details"] as $db) {
|
|
$s_res = "";
|
|
foreach ($db["details"] as $dc) {
|
|
if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["label"] . " " . $dc["label_x"] . " " . $dc["value"];
|
|
}
|
|
if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["value"];
|
|
}
|
|
}
|
|
if ($s_res != "") {
|
|
if ($s_rst != "") $s_rst .= "<br/>";
|
|
$s_rst .= "<span style='margin-left:25px'>" . $db["name"] . " : " . $s_res . "</span>";
|
|
}
|
|
}
|
|
if ($s_rst != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= "<span style='margin-left:-3px'>" . ucwords(strtolower($da["title"])) . " </span><br/>";
|
|
$kesimpulan .= $s_rst;
|
|
}
|
|
//echo $kesimpulan;
|
|
|
|
} elseif ($da["title"] == "LEHER") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
} elseif ($da["title"] == "THORAX / DADA") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "PARU-PARU") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
} elseif ($da["title"] == "JANTUNG") {
|
|
$s_rst = '';
|
|
foreach ($da["details"] as $db) {
|
|
$s_res = "";
|
|
foreach ($db["details"] as $dc) {
|
|
if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= " ( " . $dc["label"] . " : " . $dc["label_x"] . " " . $dc["value"] . " )";
|
|
}
|
|
if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["value"];
|
|
}
|
|
}
|
|
if ($s_res != "") {
|
|
if ($s_rst != "") $s_rst .= "<br/>";
|
|
$s_rst .= "<span style='margin-left:25px'>" . $db["name"] . " : " . $s_res . "</span>";
|
|
}
|
|
}
|
|
if ($s_rst != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . "<br/>";
|
|
$kesimpulan .= $s_rst;
|
|
}
|
|
} elseif ($da["title"] == "PERUT / ABDOMEN") {
|
|
foreach ($da["details"] as $db) {
|
|
$s_res = "";
|
|
foreach ($db["details"] as $dc) {
|
|
if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain' && $dc['label'] != 'Tidak Ada') {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["label"] . " " . $dc["value"];
|
|
}
|
|
if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["value"];
|
|
}
|
|
}
|
|
if ($s_res != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= $db["name"] . " : " . $s_res;
|
|
}
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "GENITOURINARIA") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Tidak diperiksa" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
} elseif ($da["title"] == "ANGGOTA GERAK") {
|
|
foreach ($da["details"] as $db) {
|
|
$s_res = "";
|
|
foreach ($db["details"] as $dc) {
|
|
if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; /* perubahan 180320 */
|
|
}
|
|
if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["value"];
|
|
}
|
|
}
|
|
if ($s_res != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= $db["name"] . " : " . $s_res;
|
|
}
|
|
}
|
|
} elseif ($da["title"] == "SISTEM PERSYARAFAN") {
|
|
foreach ($da["details"] as $db) {
|
|
$s_res = "";
|
|
foreach ($db["details"] as $dc) {
|
|
if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; /* perubahan 180320 */
|
|
}
|
|
if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["value"];
|
|
}
|
|
}
|
|
if ($s_res != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= $db["name"] . " : " . $s_res;
|
|
}
|
|
}
|
|
} elseif ($da["title"] == "SMELL TEST") {
|
|
foreach ($da["details"] as $db) {
|
|
$s_res = "";
|
|
foreach ($db["details"] as $dc) {
|
|
if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; /* perubahan 180320 */
|
|
}
|
|
if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["value"];
|
|
}
|
|
}
|
|
if ($s_res != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= $db["name"] . " : " . $s_res;
|
|
}
|
|
}
|
|
} elseif ($da["title"] == "LOW BACK PAIN SCREENING TEST") {
|
|
foreach ($da["details"] as $db) {
|
|
$s_res = "";
|
|
foreach ($db["details"] as $dc) {
|
|
if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; /* perubahan 180320 */
|
|
}
|
|
if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["value"];
|
|
}
|
|
}
|
|
if ($s_res != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= $db["name"] . " : " . $s_res;
|
|
}
|
|
}
|
|
//echo $kesimpulan;
|
|
} elseif ($da["title"] == "SISTEM INTEGUMEN") {
|
|
foreach ($da["details"] as $db) {
|
|
$s_res = "";
|
|
foreach ($db["details"] as $dc) {
|
|
if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= "( " . $dc["label"] . " ) " . $dc["value"];
|
|
}
|
|
if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") {
|
|
if ($s_res != "") $s_res .= ", ";
|
|
$s_res .= $dc["value"];
|
|
}
|
|
}
|
|
if ($s_res != "") {
|
|
if ($kesimpulan != "") $kesimpulan .= "<br/>";
|
|
$kesimpulan .= $db["name"] . " : " . $s_res;
|
|
}
|
|
}
|
|
|
|
//echo $kesimpulan;
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
if ($kesimpulan == "") {
|
|
$kesimpulan = "Tidak ditemukan kelainan.";
|
|
} else {
|
|
$kesimpulan = "Pada saat ini didapatkan kelainan berupa :<br/>" . $kesimpulan;
|
|
}
|
|
return [$kesimpulan_mata, $kesimpulan_visus, $kesimpulan_gigi];
|
|
}
|
|
function kesimpulanv4_old($orderHeaderID, $langid = 1)
|
|
{
|
|
//mata visus gigi
|
|
$sql = "select So_ResultEntryID,So_ResultEntrySo_TemplateName
|
|
from so_resultentry
|
|
where So_ResultEntryT_OrderHeaderID= ? and So_ResultEntryIsActive = 'Y'";
|
|
$qry = $this->db->query($sql, [$orderHeaderID]);
|
|
if (!$qry) {
|
|
return ["", "", ""];
|
|
}
|
|
$rows = $qry->result_array();
|
|
$id = 0;
|
|
foreach ($rows as $r) {
|
|
if ($r["So_ResultEntrySo_TemplateName"] == "FISIK UMUM") {
|
|
$id = $r["So_ResultEntryID"];
|
|
break;
|
|
}
|
|
if (substr($r["So_ResultEntrySo_TemplateName"], 0, 5) == "FISIK") {
|
|
$id = $r["So_ResultEntryID"];
|
|
break;
|
|
}
|
|
}
|
|
$sql = "SELECT *
|
|
FROM so_resultentry_fisik_umum
|
|
WHERE
|
|
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND
|
|
So_ResultEntryFisikUmumM_LangID = ? AND
|
|
So_ResultEntryFisikUmumType = 'riwayat'
|
|
";
|
|
$qry = $this->db->query($sql, array($id, $langid));
|
|
$data_rows = $qry->result_array();
|
|
if (count($data_rows) == 0) return '';
|
|
$riwayat_data = json_decode($data_rows[0]["So_ResultEntryFisikUmumDetails"], true);
|
|
|
|
$kode_gigi = array(
|
|
"X" => "Berlubang",
|
|
"C" => "Tambalan",
|
|
"O" => "Tanggal",
|
|
"R" => "Sisa akar",
|
|
"A" => "Gigi Palsu",
|
|
"K" => "Karang Gigi"
|
|
);
|
|
$sql = "SELECT so_resultentry_fisik_umum.*, M_SexCode
|
|
FROM so_resultentry_fisik_umum
|
|
JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
|
|
JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
|
|
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
JOIN m_sex ON M_PatientM_SexID = M_SexID
|
|
WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ?
|
|
AND So_ResultEntryFisikUmumM_LangID = ?
|
|
AND So_ResultEntryFisikUmumType = 'fisik'";
|
|
$qry = $this->db->query($sql, array($id, $langid));
|
|
$rows = $qry->result_array();
|
|
if (count($rows) == 0) return '';
|
|
$data = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
|
|
|
|
$sexcode = $rows[0]["M_SexCode"];
|
|
|
|
$kesimpulan_mata = "";
|
|
$kesimpulan_visus = "";
|
|
$kesimpulan_gigi = "";
|
|
foreach ($data as $da) {
|
|
if ($da["title"] == "MATA") {
|
|
$rst_x = '';
|
|
foreach ($da["details"] as $db) {
|
|
if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["label"] . " " . $db["value"];
|
|
}
|
|
if ($db["label"] == "Lain-lain" && $db["chx"] == "1") {
|
|
if ($rst_x != "") $rst_x .= ", ";
|
|
$rst_x .= $db["value"];
|
|
}
|
|
}
|
|
|
|
if ($rst_x !== '') {
|
|
$kesimpulan_mata .= ucwords(strtolower($da["title"])) . " : " . $rst_x;
|
|
}
|
|
}
|
|
if ($da["title"] == "VISUS JAUH") {
|
|
$s_rst = '';
|
|
foreach ($da["details"] as $db) {
|
|
$str_data = "";
|
|
$r_ods = '';
|
|
$xr_ods = array();
|
|
$kelainan = '';
|
|
foreach ($db['details'] as $dc) {
|
|
if ($dc['chx'] == '1' && $dc['segment_name'] == 'Tanpa kacamata' && ($dc['value'] != '' && $dc['value'] != '6/6')) {
|
|
$r_ods .= $dc['label'] . " : " . $dc['value'] . " ";
|
|
array_push($xr_ods, $dc['value']);
|
|
}
|
|
if ($dc['chx'] == '1' && $dc['segment_name'] == 'Dengan kacamata' && $dc['value'] != '') {
|
|
if ($dc['value'] != '6/6')
|
|
$r_ods .= $dc['label'] . " : " . $dc['value'] . " ";
|
|
|
|
array_push($r_ods);
|
|
array_push($xr_ods, $dc['value']);
|
|
}
|
|
}
|
|
//print_r($xr_ods);
|
|
if (!empty($xr_ods)) {
|
|
if ($db['name'] == 'Tanpa kacamata') {
|
|
$kelainan = "Kelainan Refraksi";
|
|
$str_data .= $kelainan . " " . $db['name'];
|
|
}
|
|
if ($db['name'] == 'Dengan kacamata') {
|
|
$all66 = true;
|
|
foreach ($xr_ods as $xd => $xv) {
|
|
if ($xv != '6/6') {
|
|
$all66 = false;
|
|
}
|
|
}
|
|
if ($all66) {
|
|
$kelainan = "Kelainan Refraksi Terkoreksi";
|
|
} else {
|
|
$kelainan = "Kelainan Refraksi";
|
|
}
|
|
if ($r_ods != '')
|
|
$str_data .= $kelainan . " " . $db['name'];
|
|
else
|
|
$str_data .= $kelainan . " " . $db['name'];
|
|
}
|
|
$s_rst .= $str_data;
|
|
}
|
|
//echo $str_data;
|
|
|
|
}
|
|
if ($s_rst != "") {
|
|
$kesimpulan_visus .= $s_rst;
|
|
}
|
|
}
|
|
if ($da["title"] == "GIGI") {
|
|
$arr_gigi = array();
|
|
foreach ($da["details"] as $db) {
|
|
foreach ($db["details"] as $dc) {
|
|
$dc["value"] = strtoupper($dc["value"]);
|
|
if ($dc["value"] != "" && isset($kode_gigi[$dc["value"]])) {
|
|
$value = $kode_gigi[$dc["value"]];
|
|
if (!isset($arr_gigi[$value])) $arr_gigi[$value] = array();
|
|
$kode = $dc["id_code"];
|
|
$pos = substr($kode, -1);
|
|
|
|
if (strpos($kode, "atas")) {
|
|
if (strpos($kode, "kiri")) {
|
|
$arr_gigi[$value][] = "└" . $pos;
|
|
} else {
|
|
$arr_gigi[$value][] = $pos . "┘";
|
|
}
|
|
} else {
|
|
if (strpos($kode, "kiri")) {
|
|
$arr_gigi[$value][] = "┌" . $pos;
|
|
} else {
|
|
$arr_gigi[$value][] = $pos . "┐";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$r_gigi = "";
|
|
foreach ($arr_gigi as $v => $g) {
|
|
if ($r_gigi != "") $r_gigi .= " ";
|
|
$r_gigi .= " " . $v . " " . join(",", $g) . " ";
|
|
}
|
|
if ($r_gigi != "") {
|
|
$kesimpulan_gigi .= $r_gigi;
|
|
}
|
|
}
|
|
}
|
|
$result = [$kesimpulan_mata, $kesimpulan_visus, $kesimpulan_gigi];
|
|
return $result;
|
|
}
|
|
function json($orderID)
|
|
{
|
|
$start = $start . " 00:00:01";
|
|
$end = $end . " 23:59:59";
|
|
$sql = "select T_OrderHeaderID
|
|
from t_orderheader
|
|
where T_OrderHeaderIsActive = 'Y'
|
|
and T_OrderHeaderID=?
|
|
";
|
|
$qry = $this->db->query($sql, array($orderID));
|
|
if (!$qry) {
|
|
//Error Query
|
|
$db_err = $this->db->error();
|
|
echo json_encode(array(
|
|
"status" => "ERR",
|
|
"message" => $db_err["message"]
|
|
));
|
|
exit;
|
|
}
|
|
$rows = $qry->result_array();
|
|
$sid = "0";
|
|
foreach ($rows as $r) {
|
|
$sid .= ", " . $r["T_OrderHeaderID"];
|
|
}
|
|
$sql = "select
|
|
fn_global_patient_name(T_OrderHeaderM_PatientID) M_PatientName,
|
|
fn_get_patient_atribute(T_OrderHeaderM_PatientID) attr,
|
|
T_OrderHeaderDate,T_OrderHeaderLabNumber,
|
|
-- T_OrderHeaderLabNumberExt,
|
|
T_OrderHeaderM_PatientAge,
|
|
'' M_CompanyName, '' M_MouName,
|
|
T_TestName,
|
|
-- So_ResultEntryFisikUmumType,
|
|
So_ResultEntryFisikUmumDetails
|
|
from t_orderheader
|
|
-- join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
-- join m_mou on T_OrderHeaderM_MouID = M_MouID
|
|
join t_orderdetail on T_OrderDetailT_OrderHeaderID= T_OrderHeaderID and T_OrderDetailIsActive = 'Y'
|
|
join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y' and T_TestNat_GroupID = '4'
|
|
join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
|
|
and So_ResultEntryT_OrderDetailID = T_OrderDetailID
|
|
join so_resultentry_fisik_umum on
|
|
So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
|
|
where T_OrderHeaderID in ($sid) order by So_ResultEntryFisikUmumID ";
|
|
$qry = $this->db->query($sql);
|
|
if (!$qry) {
|
|
//Error Query
|
|
$db_err = $this->db->error();
|
|
echo json_encode(array(
|
|
"status" => "ERR",
|
|
"message" => $db_err["message"]
|
|
));
|
|
exit;
|
|
}
|
|
$rows = $qry->result_array();
|
|
$data = array();
|
|
$have_gigi = false;
|
|
list($kesimpulan_mata, $kesimpulan_visus, $kesimpulan_gigi) = $this->kesimpulanv4($orderID);
|
|
foreach ($rows as $r) {
|
|
$attr = json_decode($r["attr"], true);
|
|
unset($r["attr"]);
|
|
$r_details = json_decode($r["So_ResultEntryFisikUmumDetails"], true);
|
|
unset($r["So_ResultEntryFisikUmumDetails"]);
|
|
//$new_r = array();
|
|
$is_gigi = false;
|
|
$d = $r_details;
|
|
if (isset($d["details"])) {
|
|
$dy_details = $d["details"];
|
|
unset($d["details"]);
|
|
|
|
$d["T_TestName"] = $r["T_TestName"];
|
|
$d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"];
|
|
$d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"];
|
|
$d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"];
|
|
$d["M_PatientName"] = $r["M_PatientName"];
|
|
$d["M_PatientDOB"] = $attr["M_PatientDOB"];
|
|
$d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"];
|
|
$d["M_SexName"] = $attr["M_SexName"];
|
|
$d["M_CompanyName"] = $r["M_CompanyName"];
|
|
$d["M_MouName"] = $r["M_MouName"];
|
|
|
|
$d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"];
|
|
foreach ($dy_details as $dy_detail) {
|
|
if (
|
|
$d["title"] == "ANGGOTA GERAK" || $d["title"] == "MULUT" || $d["title"] == "JANTUNG"
|
|
|| $d["title"] == "PERUT / ABDOMEN" || $d["title"] == "SISTEM PERSYARAFAN" || $d["title"] == "SISTEM INTEGUMEN"
|
|
|| $d["title"] == "ETNIS"
|
|
) {
|
|
if ($dy_detail["chx"] == "1") {
|
|
$dy_detail["value"] = $dy_detail["label"];
|
|
$dy_detail["label"] = $dy_detail["segment_name"];
|
|
$new_d[] = array_merge($d, $dx, $dy_detail);
|
|
}
|
|
}
|
|
if (isset($dy_detail["unit"]) && isset($dy_detail["value"])) {
|
|
$dy_detail["value"] = $dy_detail["value"] . " " . $dy_detail["unit"];
|
|
}
|
|
if ($d["title"] == "VISUS JAUH") {
|
|
$dy_detail["kesimpulan"] = $kesimpulan_visus;
|
|
}
|
|
if ($d["title"] == "GIGI") {
|
|
// if (!$have_gigi) {
|
|
// $dy_detail["label"] = "kesimpulan";
|
|
// $dy_detail["value"] = $this->hasil_gigi($dy_details);
|
|
// $new_d[] = array_merge($d, $dx, $dy_detail);
|
|
// }
|
|
if ($kesimpulan_gigi != "" && !$is_gigi) {
|
|
$is_gigi = true;
|
|
$dy_detail["label"] = "kesimpulan";
|
|
$dy_detail["value"] = $kesimpulan_gigi;
|
|
$new_d[] = array_merge($d, $dx, $dy_detail);
|
|
}
|
|
$have_gigi = true;
|
|
} else {
|
|
$new_d[] = array_merge($d, $dy_detail);
|
|
}
|
|
}
|
|
}
|
|
|
|
// continue;
|
|
// foreach ($r_details as $idx => $d) {
|
|
// $details = $d["details"];
|
|
// if (isset($d["details"])) unset($d["details"]);
|
|
// $d["T_TestName"] = $r["T_TestName"];
|
|
// $d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"];
|
|
// $d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"];
|
|
// $d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"];
|
|
// $d["M_PatientName"] = $r["M_PatientName"];
|
|
// $d["M_PatientDOB"] = $attr["M_PatientDOB"];
|
|
// $d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"];
|
|
// $d["M_SexName"] = $attr["M_SexName"];
|
|
// $d["M_CompanyName"] = $r["M_CompanyName"];
|
|
// $d["M_MouName"] = $r["M_MouName"];
|
|
//
|
|
// $d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"];
|
|
// // print_r($r);
|
|
// // echo "\n";
|
|
// // echo "Test : " . $r["T_TestName"] . "\n";
|
|
// // print_r($d);
|
|
// // echo "\n";
|
|
// /* if ($d["title"] == "GIGI") {
|
|
// $dx = $details[0];
|
|
// $dy = $dx["details"][0];
|
|
// $dy["label"] = "kesimpulan";
|
|
// $dy["value"] = $this->hasil_gigi($dx["details"]);
|
|
// $new_d[] = array_merge($d,$dy);
|
|
// continue;
|
|
// } */
|
|
// if (
|
|
// $d["title"] == "ANGGOTA GERAK" || $d["title"] == "MULUT" || $d["title"] == "JANTUNG"
|
|
// || $d["title"] == "PERUT / ABDOMEN" || $d["title"] == "SISTEM PERSYARAFAN" || $d["title"] == "SISTEM INTEGUMEN"
|
|
// ) {
|
|
// if ($details["chx"] == "1") {
|
|
// $details["value"] = $details["label"];
|
|
// $details["label"] = $details["segment_name"];
|
|
// $new_d[] = array_merge($d, $details);
|
|
// }
|
|
// }
|
|
// foreach ($details as $dx) {
|
|
// if (isset($dx["details"])) {
|
|
// $dy_details = $dx["details"];
|
|
// unset($dx["details"]);
|
|
// foreach ($dy_details as $dy_detail) {
|
|
// if (
|
|
// $d["title"] == "ANGGOTA GERAK" || $d["title"] == "MULUT" || $d["title"] == "JANTUNG"
|
|
// || $d["title"] == "PERUT / ABDOMEN" || $d["title"] == "SISTEM PERSYARAFAN" || $d["title"] == "SISTEM INTEGUMEN"
|
|
// ) {
|
|
// if ($dy_detail["chx"] == "1") {
|
|
// $dy_detail["value"] = $dy_detail["label"];
|
|
// $dy_detail["label"] = $dy_detail["segment_name"];
|
|
// $new_d[] = array_merge($d, $dx, $dy_detail);
|
|
// }
|
|
// }
|
|
// //if ($dy["value"] == "") continue;
|
|
// if (isset($dy_detail["unit"]) && isset($dy_detail["value"])) {
|
|
// $dy_detail["value"] = $dy_detail["value"] . " " . $dy_detail["unit"];
|
|
// }
|
|
// if ($d["title"] == "VISUS JAUH") {
|
|
// $dy_detail["kesimpulan"] = $kesimpulan_visus;
|
|
// }
|
|
// if ($d["title"] == "GIGI") {
|
|
// // if (!$have_gigi) {
|
|
// // $dy_detail["label"] = "kesimpulan";
|
|
// // $dy_detail["value"] = $this->hasil_gigi($dy_details);
|
|
// // $new_d[] = array_merge($d, $dx, $dy_detail);
|
|
// // }
|
|
// if ($kesimpulan_gigi != "" && !$is_gigi) {
|
|
// $is_gigi = true;
|
|
// $dy_detail["label"] = "kesimpulan";
|
|
// $dy_detail["value"] = $kesimpulan_gigi;
|
|
// $new_d[] = array_merge($d, $dx, $dy_detail);
|
|
// }
|
|
// $have_gigi = true;
|
|
// } else {
|
|
// $new_d[] = array_merge($d, $dx, $dy_detail);
|
|
// }
|
|
// }
|
|
// } else {
|
|
// if ($dx["value"] != "") {
|
|
// if (isset($dx["unit"]) && isset($dx["value"])) {
|
|
// $dx["value"] = $dx["value"];
|
|
// }
|
|
// $new_d[] = array_merge($d, $dx);
|
|
// }
|
|
// if ($dx["chx_y"] == 1) {
|
|
// $dx["value"] = $dx["label_y"];
|
|
// $new_d[] = array_merge($d, $dx);
|
|
// }
|
|
// if ($dx["chx_x"] == 1) {
|
|
// $dx["value"] = $dx["label_x"];
|
|
// $new_d[] = array_merge($d, $dx);
|
|
// }
|
|
// if ($dx["chx"] == 1) {
|
|
// $dx["value"] = $dx["label"] . " " . $d["value"];
|
|
// $new_d[] = array_merge($d, $dx);
|
|
// }
|
|
// }
|
|
// }
|
|
// //$new_r[] = $new_d;
|
|
// }
|
|
|
|
}
|
|
$x_d = usort($new_d, array("Fisik01", "cmp"));
|
|
echo json_encode($new_d);
|
|
}
|
|
function hasil_gigi($da)
|
|
{
|
|
$arr_gigi = array();
|
|
foreach ($da["details"] as $db) {
|
|
foreach ($db["details"] as $dc) {
|
|
$dc["value"] = strtoupper($dc["value"]);
|
|
if ($dc["value"] != "" && isset($kode_gigi[$dc["value"]])) {
|
|
$value = $kode_gigi[$dc["value"]];
|
|
if (!isset($arr_gigi[$value])) $arr_gigi[$value] = array();
|
|
$kode = $dc["id_code"];
|
|
$pos = substr($kode, -1);
|
|
|
|
if (strpos($kode, "atas")) {
|
|
if (strpos($kode, "kiri")) {
|
|
$arr_gigi[$value][] = "└" . $pos;
|
|
} else {
|
|
$arr_gigi[$value][] = $pos . "┘";
|
|
}
|
|
} else {
|
|
if (strpos($kode, "kiri")) {
|
|
$arr_gigi[$value][] = "┌" . $pos;
|
|
} else {
|
|
$arr_gigi[$value][] = $pos . "┐";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$r_gigi = "";
|
|
foreach ($arr_gigi as $v => $g) {
|
|
if ($r_gigi != "") $r_gigi .= "\n";
|
|
$r_gigi .= $v . " " . join(",", $g);
|
|
}
|
|
return $r_gigi;
|
|
}
|
|
function cmp($a, $b)
|
|
{
|
|
$a_key = substr($a["title"], 1, 3) . "-" . $a["label"];
|
|
$b_key = substr($b["title"], 1, 3) . "-" . $b["label"];
|
|
return strcmp($a_key, $b_key);
|
|
}
|
|
function json_single($headerID)
|
|
{
|
|
$sql = "select
|
|
fn_global_patient_name(T_OrderHeaderM_PatientID) M_PatientName,
|
|
fn_get_patient_atribute(T_OrderHeaderM_PatientID) attr,
|
|
T_OrderHeaderDate,T_OrderHeaderLabNumber, T_OrderHeaderLabNumberExt,T_OrderHeaderM_PatientAge,
|
|
' ' M_CompanyName, M_MouName,
|
|
T_TestName,
|
|
So_ResultEntryFisikUmumType,
|
|
So_ResultEntryFisikUmumDetails
|
|
from t_orderheader
|
|
-- join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
join m_mou on T_OrderHeaderM_MouID = M_MouID
|
|
join t_orderdetail on T_OrderDetailT_OrderHeaderID= T_OrderHeaderID and T_OrderDetailIsActive = 'Y'
|
|
join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y' and T_TestNat_GroupID = '4'
|
|
join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and So_ResultEntryT_OrderDetailID = T_OrderDetailID
|
|
join so_resultentry_fisik_umum on So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
|
|
where T_OrderHeaderID =?";
|
|
$qry = $this->db->query($sql, array($headerID));
|
|
if (!$qry) {
|
|
//Error Query
|
|
$db_err = $this->db->error();
|
|
echo json_encode(array(
|
|
"status" => "ERR",
|
|
"message" => $db_err["message"]
|
|
));
|
|
exit;
|
|
}
|
|
$rows = $qry->result_array();
|
|
$data = array();
|
|
echo "<pre>";
|
|
$new_d = array();
|
|
foreach ($rows as $r) {
|
|
$attr = json_decode($r["attr"], true);
|
|
unset($r["attr"]);
|
|
$r_details = json_decode($r["So_ResultEntryFisikUmumDetails"], true);
|
|
unset($r["So_ResultEntryFisikUmumDetails"]);
|
|
$new_r = array();
|
|
foreach ($r_details as $idx => $d) {
|
|
$details = $d["details"];
|
|
unset($d["details"]);
|
|
$d["T_TestName"] = $r["T_TestName"];
|
|
$d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"];
|
|
$d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"];
|
|
$d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"];
|
|
$d["M_PatientName"] = $r["M_PatientName"];
|
|
$d["M_PatientDOB"] = $attr["M_PatientDOB"];
|
|
$d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"];
|
|
$d["M_SexName"] = $attr["M_SexName"];
|
|
$d["M_CompanyName"] = $r["M_CompanyName"];
|
|
$d["M_MouName"] = $r["M_MouName"];
|
|
|
|
$d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"];
|
|
foreach ($details as $dx) {
|
|
if (isset($dx["details"])) {
|
|
$dy_details = $dx["details"];
|
|
unset($dx["details"]);
|
|
foreach ($dy_details as $dy_detail) {
|
|
if (isset($dy_detail["unit"]) && isset($dy_detail["value"])) {
|
|
$dy_detail["value"] = $dy_detail["value"];
|
|
}
|
|
$new_d[] = array_merge($d, $dx, $dy_detail);
|
|
}
|
|
} else {
|
|
if (isset($dx["unit"]) && isset($dx["value"])) {
|
|
$dx["value"] = $dx["value"];
|
|
}
|
|
$new_d[] = array_merge($d, $dx);
|
|
}
|
|
}
|
|
$new_r[] = $new_d;
|
|
}
|
|
}
|
|
print_r($new_d);
|
|
}
|
|
}
|