Replaces BIRT rpt_fo_001 which had unresolvable image loading issues. FPDF-based endpoint with 3.5cm top margin for pre-printed letterhead. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9060 lines
407 KiB
SQL
9060 lines
407 KiB
SQL
-- Generated from devone one_lab on 2026-05-22
|
|
-- Purpose: replace legacy address joins (m_kelurahan/m_district/m_city/m_province) with regional-based joins.
|
|
-- NOTE: review manual section before applying in production.
|
|
DELIMITER $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_fo_clinic_load` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_fo_clinic_load`(IN `queue` varchar(10))
|
|
BEGIN
|
|
|
|
DECLARE o_id INTEGER DEFAULT 0;
|
|
DECLARE p_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE d_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE da_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE c_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE m_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE t_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE r_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE p_id INTEGER DEFAULT 0;
|
|
DECLARE p_age VARCHAR(50) DEFAULT "";
|
|
DECLARE m_id INTEGER DEFAULT 0;
|
|
DECLARE c_id INTEGER DEFAULT 0;
|
|
|
|
DECLARE d_id INTEGER DEFAULT 0;
|
|
|
|
SET o_id = (SELECT C_OrderHeaderID FROM one_clinic.c_orderheader WHERE C_OrderHeaderIsLab = "Y" AND
|
|
C_OrderHeaderIsActive = "Y" AND C_OrderHeaderLabQueue = queue AND C_OrderHeaderDate = date(now()) );
|
|
|
|
IF o_id IS NOT NULL THEN
|
|
SELECT C_OrderHeaderM_PatientID, C_OrderHeaderM_PatientAge, C_OrderHeaderM_DoctorID INTO p_id, p_age, d_id
|
|
FROM one_clinic.c_orderheader WHERE C_OrderHeaderID = o_id;
|
|
|
|
SELECT Conf_ClinicM_CompanyID, Conf_ClinicM_MouID INTO c_id, m_id
|
|
FROM conf_clinic WHERE Conf_ClinicIsActive = "Y" LIMIT 1;
|
|
|
|
SELECT JSON_OBJECT("M_PatientID", M_PatientID, "M_PatientName", M_PatientName, "M_PatientNoReg", M_PatientNoReg,
|
|
"M_PatientNote", M_PatientNote,
|
|
"M_PatientAddress", CONCAT(M_PatientAddressDescription, "\\n\\n", M_KelurahanName, ", ", M_DistrictName, "\\n", M_CityName, ", ", M_ProvinceName), "M_PatientDOB", M_PatientDOB,
|
|
"M_PatientHP", M_PatientHP, "patient_age", p_age) INTO p_tmp
|
|
FROM m_patient
|
|
LEFT JOIN m_patientaddress ON M_PatientID = M_PatientAddressM_PatientID AND M_PatientAddressIsActive = "Y"
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientID = p_id
|
|
LIMIT 1;
|
|
|
|
SET da_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("M_DoctorAddressID", M_DoctorAddressID, "M_DoctorAddressDescription", M_DoctorAddressDescription) SEPARATOR ','), ']') FROM m_doctoraddress WHERE M_DoctorAddressM_DoctorID = d_id AND M_DoctorAddressIsActive = "Y");
|
|
|
|
SET d_tmp = (SELECT JSON_OBJECT("M_DoctorID", M_DoctorID, "M_DoctorIsDefault", M_DoctorIsDefault,
|
|
"M_DoctorIsPJ", M_DoctorIsPJ, "M_DoctorName", IF(M_DoctorPrefix IS NULL OR M_DoctorPrefix = "", M_DoctorName, CONCAT(M_DoctorPrefix, " ", M_DoctorName) ), "search", IF(M_DoctorPrefix IS NULL OR M_DoctorPrefix = "", M_DoctorName, CONCAT(M_DoctorPrefix, " ", M_DoctorName) ) )
|
|
FROM m_doctor
|
|
WHERE M_DoctorID = d_id);
|
|
|
|
SET c_tmp = (SELECT JSON_OBJECT("M_CompanyID", M_CompanyID, "M_CompanyName", M_CompanyName, "search", M_CompanyName)
|
|
FROM m_company WHERE M_CompanyID = c_id);
|
|
|
|
SET m_tmp = (SELECT JSON_OBJECT("M_MouEndDate", M_MouEndDate, "M_MouID", M_MouID, "M_MouName", M_MouName, "M_MouStartDate", M_MouStartDate)
|
|
FROM m_mou WHERE M_MouID = m_id);
|
|
|
|
SET t_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("T_TestID", T_TestID, "T_TestName", T_TestName, "IsFromPanel", "N", "T_TestRequirement", T_TestRequirement, "T_PriceID", T_PriceID, "T_PriceT_TestID", T_PriceT_TestID, "T_PriceIsCito", T_PriceIsCito, "T_PriceM_CompanyID", T_PriceM_CompanyID, "T_PriceM_MouID", T_PriceM_MouID, "T_PricePriority", T_PricePriority, "T_PriceAmount", T_PriceAmount, "T_PriceDisc", T_PriceDisc, "T_PriceDiscRp", T_PriceDiscRp, "T_PriceIsActive", T_PriceIsActive, "T_PriceCreated", T_PriceCreated, "T_PriceLastUpdated", T_PriceLastUpdated, "T_TestIsCito", C_OrderLabIsCito) SEPARATOR ','), ']')
|
|
FROM t_test
|
|
JOIN one_clinic.c_orderlab ON C_OrderLabC_OrderHeaderID = o_id AND C_OrderLabIsActive = "Y" AND C_OrderLabT_TestID = T_TestID
|
|
JOIN t_price ON T_PriceIsActive = "Y" AND T_PriceT_TestID = T_TestID AND T_PriceM_CompanyID = c_id AND T_PriceM_MouID = m_id
|
|
AND T_PriceIsCito = C_OrderLabIsCito
|
|
WHERE T_TestIsActive = "Y" AND T_TestIsPrice = "Y");
|
|
|
|
SET r_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("label", T_TestRequirement, "error_message", "Hasil harus di isi", "is_error", true, "checked", false, "note", "") SEPARATOR ','), ']')
|
|
FROM t_test
|
|
JOIN one_clinic.c_orderlab ON C_OrderLabC_OrderHeaderID = o_id AND C_OrderLabIsActive = "Y" AND C_OrderLabT_TestID = T_TestID
|
|
JOIN t_price ON T_PriceIsActive = "Y" AND T_PriceT_TestID = T_TestID AND T_PriceM_CompanyID = c_id AND T_PriceM_MouID = m_id
|
|
AND T_PriceIsCito = C_OrderLabIsCito
|
|
WHERE T_TestIsActive = "Y" AND T_TestIsPrice = "Y");
|
|
|
|
SELECT "OK" as status, CONCAT('{"order_id":', o_id,',
|
|
"patient":', p_tmp, ',
|
|
"doctor":', d_tmp,',
|
|
"doctor_address":', ifnull(da_tmp,'""'),',
|
|
"company":', c_tmp,',
|
|
"mou":', m_tmp,'}') as data, "" as message;
|
|
|
|
ELSE
|
|
SELECT "ERR" as status, "" as data, "" as message;
|
|
END IF;
|
|
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_fo_clinic_load_fx` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_fo_clinic_load_fx`(IN `queue` varchar(10))
|
|
BEGIN
|
|
|
|
DECLARE o_id INTEGER DEFAULT 0;
|
|
DECLARE p_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE d_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE da_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE c_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE m_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE t_tmp VARCHAR(12000) DEFAULT "";
|
|
DECLARE r_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE p_id INTEGER DEFAULT 0;
|
|
DECLARE p_age VARCHAR(50) DEFAULT "";
|
|
DECLARE m_id INTEGER DEFAULT 0;
|
|
DECLARE c_id INTEGER DEFAULT 0;
|
|
|
|
DECLARE d_id INTEGER DEFAULT 0;
|
|
|
|
SET o_id = (SELECT C_OrderHeaderID FROM one_clinic_dev.c_orderheader WHERE C_OrderHeaderIsLab = "Y" AND
|
|
C_OrderHeaderIsActive = "Y" AND C_OrderHeaderLabQueue = queue AND C_OrderHeaderDate = date(now()) );
|
|
|
|
IF o_id IS NOT NULL THEN
|
|
SELECT C_OrderHeaderM_PatientID, C_OrderHeaderM_PatientAge, C_OrderHeaderM_DoctorID INTO p_id, p_age, d_id
|
|
FROM one_clinic_dev.c_orderheader WHERE C_OrderHeaderID = o_id;
|
|
|
|
SELECT Conf_ClinicM_CompanyID, Conf_ClinicM_MouID INTO c_id, m_id
|
|
FROM conf_clinic WHERE Conf_ClinicIsActive = "Y" LIMIT 1;
|
|
|
|
SELECT JSON_OBJECT("M_PatientID", M_PatientID, "M_PatientName", M_PatientName, "M_PatientNoReg", M_PatientNoReg,
|
|
"M_PatientNote", M_PatientNote,
|
|
"M_PatientAddress", CONCAT(M_PatientAddressDescription, "\\n\\n", M_KelurahanName, ", ", M_DistrictName, "\\n", M_CityName, ", ", M_ProvinceName), "M_PatientDOB", M_PatientDOB,
|
|
"M_PatientHP", M_PatientHP, "patient_age", p_age) INTO p_tmp
|
|
FROM m_patient
|
|
LEFT JOIN m_patientaddress ON M_PatientID = M_PatientAddressM_PatientID AND M_PatientAddressIsActive = "Y"
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientID = p_id
|
|
LIMIT 1;
|
|
|
|
SET da_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("M_DoctorAddressID", M_DoctorAddressID, "M_DoctorAddressDescription", M_DoctorAddressDescription) SEPARATOR ','), ']') FROM m_doctoraddress WHERE M_DoctorAddressM_DoctorID = d_id AND M_DoctorAddressIsActive = "Y");
|
|
|
|
SET d_tmp = (SELECT JSON_OBJECT("M_DoctorID", M_DoctorID, "M_DoctorIsDefault", M_DoctorIsDefault,
|
|
"M_DoctorIsPJ", M_DoctorIsPJ, "M_DoctorName", IF(M_DoctorPrefix IS NULL OR M_DoctorPrefix = "", M_DoctorName, CONCAT(M_DoctorPrefix, " ", M_DoctorName) ), "search", IF(M_DoctorPrefix IS NULL OR M_DoctorPrefix = "", M_DoctorName, CONCAT(M_DoctorPrefix, " ", M_DoctorName) ) )
|
|
FROM m_doctor
|
|
WHERE M_DoctorID = d_id);
|
|
|
|
SET c_tmp = (SELECT JSON_OBJECT("M_CompanyID", M_CompanyID, "M_CompanyName", M_CompanyName, "search", M_CompanyName)
|
|
FROM m_company WHERE M_CompanyID = c_id);
|
|
|
|
SET m_tmp = (SELECT JSON_OBJECT("M_MouEndDate", M_MouEndDate, "M_MouID", M_MouID, "M_MouName", M_MouName, "M_MouStartDate", M_MouStartDate)
|
|
FROM m_mou WHERE M_MouID = m_id);
|
|
|
|
SET t_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("T_TestID", T_TestID, "T_TestName", T_TestName, "IsFromPanel", "N", "T_TestRequirement", T_TestRequirement, "T_PriceID", T_PriceID, "T_PriceT_TestID", T_PriceT_TestID, "T_PriceIsCito", T_PriceIsCito, "T_PriceM_CompanyID", T_PriceM_CompanyID, "T_PriceM_MouID", T_PriceM_MouID, "T_PricePriority", T_PricePriority, "T_PriceAmount", T_PriceAmount, "T_PriceDisc", T_PriceDisc, "T_PriceDiscRp", T_PriceDiscRp, "T_PriceIsActive", T_PriceIsActive, "T_PriceCreated", T_PriceCreated, "T_PriceLastUpdated", T_PriceLastUpdated, "T_TestIsCito", C_OrderLabIsCito) SEPARATOR ','), ']')
|
|
FROM t_test
|
|
JOIN one_clinic_dev.c_orderlab ON C_OrderLabC_OrderHeaderID = o_id AND C_OrderLabIsActive = "Y" AND C_OrderLabT_TestID = T_TestID
|
|
JOIN t_price ON T_PriceIsActive = "Y" AND T_PriceT_TestID = T_TestID AND T_PriceM_CompanyID = c_id AND T_PriceM_MouID = m_id
|
|
AND T_PriceIsCito = C_OrderLabIsCito
|
|
WHERE T_TestIsActive = "Y" AND T_TestIsPrice = "Y");
|
|
|
|
SET r_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("label", T_TestRequirement, "error_message", "Hasil harus di isi", "is_error", true, "checked", false, "note", "") SEPARATOR ','), ']')
|
|
FROM t_test
|
|
JOIN one_clinic_dev.c_orderlab ON C_OrderLabC_OrderHeaderID = o_id AND C_OrderLabIsActive = "Y" AND C_OrderLabT_TestID = T_TestID
|
|
JOIN t_price ON T_PriceIsActive = "Y" AND T_PriceT_TestID = T_TestID AND T_PriceM_CompanyID = c_id AND T_PriceM_MouID = m_id
|
|
AND T_PriceIsCito = C_OrderLabIsCito
|
|
WHERE T_TestIsActive = "Y" AND T_TestIsPrice = "Y");
|
|
|
|
SELECT "OK" as status, JSON_OBJECT( 'patient', p_tmp,
|
|
'doctor', d_tmp,
|
|
'doctor_address', ifnull(da_tmp,''),
|
|
'company', c_tmp,
|
|
'mou', m_tmp,
|
|
'test', t_tmp,
|
|
'req', r_tmp) as data, "" as message;
|
|
|
|
ELSE
|
|
SELECT "ERR" as status, "" as data, "" as message;
|
|
END IF;
|
|
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_fo_delivery_address` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_fo_delivery_address`(IN `orderid` int, IN `patientid` int, IN `doctorid` int, IN `mouid` int)
|
|
BEGIN
|
|
|
|
DECLARE v_finished INTEGER DEFAULT 0;
|
|
DECLARE v_code varchar(100) DEFAULT "";
|
|
DECLARE v_pos integer DEFAULT 0;
|
|
DECLARE v_source varchar(100) DEFAULT "";
|
|
DECLARE v_name varchar(100) DEFAULT "";
|
|
DECLARE v_dtid INTEGER;
|
|
DECLARE v_did INTEGER;
|
|
DECLARE v_aid INTEGER;
|
|
|
|
DECLARE v_rst VARCHAR(5000) DEFAULT "";
|
|
DECLARE v_tmp VARCHAR(5000) DEFAULT "";
|
|
DECLARE v_id INTEGER DEFAULT 1;
|
|
|
|
|
|
DEClARE delivery_cursor CURSOR FOR
|
|
SELECT M_DeliveryTypeCode, M_DeliverySource, M_DeliveryName, M_DeliveryPosition, M_DeliveryID, M_DeliveryTypeID
|
|
from m_delivery
|
|
join m_deliverytype on m_deliverym_deliverytypeid = m_deliverytypeid and m_deliverytypeisactive = "Y"
|
|
where m_deliveryisactive = "Y"
|
|
order by m_deliveryposition asc;
|
|
|
|
|
|
DECLARE CONTINUE HANDLER
|
|
FOR NOT FOUND SET v_finished = 1;
|
|
|
|
SET @x = v_id;
|
|
|
|
OPEN delivery_cursor;
|
|
|
|
get_delivery: LOOP
|
|
|
|
FETCH delivery_cursor INTO v_code, v_source, v_name, v_pos, v_did, v_dtid;
|
|
|
|
IF v_finished = 1 THEN
|
|
LEAVE get_delivery;
|
|
END IF;
|
|
|
|
|
|
IF v_code = "PICKUP" THEN
|
|
SET v_tmp = JSON_OBJECT("id", v_id, "idx", concat(v_did, "-", v_dtid, "-0"), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note", "", "selected", "false");
|
|
SET @x = v_id + 1;
|
|
ELSEIF v_code = "ADDRESS" AND v_source = "PATIENT" AND patientid <> 0 THEN
|
|
SET @x = v_id + 1;
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", M_PatientAddressID), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
CONCAT(M_PatientAddressDescription, " ", M_KelurahanName, " ", M_DistrictName, " ", M_CityName, " ", M_ProvinceName), "selected", "false") SEPARATOR ",")
|
|
FROM m_patientaddress
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressIsActive = "Y" AND M_PatientAddressM_PatientID = patientid);
|
|
ELSEIF v_code = "ADDRESS" AND v_source = "DOCTOR" AND doctorid <> 0 THEN
|
|
SET @x = v_id + 1;
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", M_DoctorAddressID), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
CONCAT(M_DoctorAddressDescription, " ", M_KelurahanName, " ", M_DistrictName, " ", M_CityName, " ", M_ProvinceName), "selected", "false") SEPARATOR ",")
|
|
FROM m_doctoraddress
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_DoctorAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_DoctorAddressIsActive = "Y" AND M_DoctorAddressM_DoctorID = doctorid);
|
|
ELSEIF v_code = "WHATSAPP" AND v_source = "PATIENT" AND patientid <> 0 THEN
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", 0), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
M_PatientHP, "selected", "false") SEPARATOR ",")
|
|
FROM m_patient
|
|
WHERE M_PatientID = patientid);
|
|
ELSEIF v_code = "EMAIL" AND v_source = "PATIENT" AND patientid <> 0 THEN
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", 0), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
M_PatientEmail, "selected", "false") SEPARATOR ",")
|
|
FROM m_patient
|
|
WHERE M_PatientID = patientid);
|
|
ELSEIF v_code = "EMAIL" AND v_source = "DOCTOR" AND doctorid <> 0 THEN
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", 0), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
M_DoctorEmail, "selected", "false") SEPARATOR ",")
|
|
FROM m_doctor
|
|
WHERE M_DoctorID = doctorid);
|
|
ELSEIF v_code = "EMAIL" AND v_source = "MOU" AND mouid <> 0 THEN
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", 0), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
M_MouEmail, "selected", "false") SEPARATOR ",")
|
|
FROM m_mou
|
|
WHERE M_MouID = mouid AND M_MouEmail <> "");
|
|
|
|
ELSE
|
|
SET v_tmp = "";
|
|
END IF;
|
|
|
|
IF v_rst = "" AND v_tmp <> "" THEN
|
|
SET v_rst = v_tmp;
|
|
ELSEIF v_tmp <> "" THEN
|
|
SET v_rst = CONCAT(v_rst, ",", v_tmp);
|
|
END IF;
|
|
|
|
|
|
SET v_id = @x;
|
|
|
|
END LOOP get_delivery;
|
|
|
|
CLOSE delivery_cursor;
|
|
|
|
SELECT CONCAT("[", v_rst, "]") as x;
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_fo_delivery_address_mcu` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_fo_delivery_address_mcu`(IN `orderid` int, IN `patientid` int, IN `doctorid` int, IN `companyid` int)
|
|
BEGIN
|
|
|
|
DECLARE v_finished INTEGER DEFAULT 0;
|
|
DECLARE v_code varchar(100) DEFAULT "";
|
|
DECLARE v_pos integer DEFAULT 0;
|
|
DECLARE v_source varchar(100) DEFAULT "";
|
|
DECLARE v_name varchar(100) DEFAULT "";
|
|
DECLARE v_dtid INTEGER;
|
|
DECLARE v_did INTEGER;
|
|
DECLARE v_aid INTEGER;
|
|
|
|
DECLARE v_rst VARCHAR(2000) DEFAULT "";
|
|
DECLARE v_tmp VARCHAR(2000) DEFAULT "";
|
|
DECLARE v_id INTEGER DEFAULT 1;
|
|
|
|
|
|
DEClARE delivery_cursor CURSOR FOR
|
|
SELECT M_DeliveryTypeCode, M_DeliverySource, M_DeliveryName, M_DeliveryPosition, M_DeliveryID, M_DeliveryTypeID
|
|
from m_delivery
|
|
join m_deliverytype on m_deliverym_deliverytypeid = m_deliverytypeid and m_deliverytypeisactive = "Y"
|
|
where m_deliveryisactive = "Y"
|
|
order by m_deliveryposition asc;
|
|
|
|
|
|
DECLARE CONTINUE HANDLER
|
|
FOR NOT FOUND SET v_finished = 1;
|
|
|
|
SET @x = v_id;
|
|
|
|
OPEN delivery_cursor;
|
|
|
|
get_delivery: LOOP
|
|
|
|
FETCH delivery_cursor INTO v_code, v_source, v_name, v_pos, v_did, v_dtid;
|
|
|
|
IF v_finished = 1 THEN
|
|
LEAVE get_delivery;
|
|
END IF;
|
|
|
|
|
|
IF v_code = "ADDRESS" AND v_source = "COMPANY" AND companyid <> 0 THEN
|
|
SET @x = v_id + 1;
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", M_CompanyID), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
CONCAT(M_CompanyAddress, " ", M_KelurahanName, " ", M_DistrictName, " ", M_CityName, " ", M_ProvinceName), "selected", "false") SEPARATOR ",")
|
|
FROM m_company
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_CompanyAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_CompanyID = companyid);
|
|
|
|
ELSE
|
|
SET v_tmp = "";
|
|
END IF;
|
|
|
|
IF v_rst = "" AND v_tmp <> "" THEN
|
|
SET v_rst = v_tmp;
|
|
ELSEIF v_tmp <> "" THEN
|
|
SET v_rst = CONCAT(v_rst, ",", v_tmp);
|
|
END IF;
|
|
|
|
|
|
SET v_id = @x;
|
|
|
|
END LOOP get_delivery;
|
|
|
|
CLOSE delivery_cursor;
|
|
|
|
SELECT CONCAT("[", v_rst, "]") as x;
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_fo_delivery_address_v3_bandung` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_fo_delivery_address_v3_bandung`(IN `orderid` int, IN `patientid` int, IN `doctorid` int, IN `mouid` int, IN `companyid` int)
|
|
BEGIN
|
|
|
|
DECLARE v_finished INTEGER DEFAULT 0;
|
|
DECLARE v_code varchar(100) DEFAULT "";
|
|
DECLARE v_pos integer DEFAULT 0;
|
|
DECLARE v_source varchar(100) DEFAULT "";
|
|
DECLARE v_name varchar(100) DEFAULT "";
|
|
DECLARE v_dtid INTEGER;
|
|
DECLARE v_did INTEGER;
|
|
DECLARE v_aid INTEGER;
|
|
|
|
DECLARE v_rst VARCHAR(5000) DEFAULT "";
|
|
DECLARE v_tmp VARCHAR(5000) DEFAULT "";
|
|
DECLARE v_id INTEGER DEFAULT 1;
|
|
|
|
|
|
DEClARE delivery_cursor CURSOR FOR
|
|
SELECT M_DeliveryTypeCode, M_DeliverySource, M_DeliveryName, M_DeliveryPosition, M_DeliveryID, M_DeliveryTypeID
|
|
from m_delivery
|
|
join m_deliverytype on m_deliverym_deliverytypeid = m_deliverytypeid and m_deliverytypeisactive = "Y"
|
|
where m_deliveryisactive = "Y"
|
|
order by m_deliveryposition asc;
|
|
|
|
|
|
DECLARE CONTINUE HANDLER
|
|
FOR NOT FOUND SET v_finished = 1;
|
|
|
|
SET @x = v_id;
|
|
|
|
OPEN delivery_cursor;
|
|
|
|
get_delivery: LOOP
|
|
|
|
FETCH delivery_cursor INTO v_code, v_source, v_name, v_pos, v_did, v_dtid;
|
|
|
|
IF v_finished = 1 THEN
|
|
LEAVE get_delivery;
|
|
END IF;
|
|
|
|
|
|
IF v_code = "PICKUP" THEN
|
|
SET v_tmp = JSON_OBJECT("id", v_id, "idx", concat(v_did, "-", v_dtid, "-0"), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note", "", "selected", "false","typeform","md");
|
|
SET @x = v_id + 1;
|
|
ELSEIF v_code = "ADDRESS" AND v_source = "PATIENT" AND patientid <> 0 THEN
|
|
SET @x = v_id + 1;
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", M_PatientAddressID), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
CONCAT(M_PatientAddressDescription, " ", M_KelurahanName, " ", M_DistrictName, " ", M_CityName, " ", M_ProvinceName), "selected", "false","typeform","md") SEPARATOR ",")
|
|
FROM m_patientaddress
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressIsActive = "Y" AND M_PatientAddressM_PatientID = patientid);
|
|
ELSEIF v_code = "ADDRESS" AND v_source = "DOCTOR" AND doctorid <> 0 THEN
|
|
SET @x = v_id + 1;
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", M_DoctorAddressID), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
CONCAT(M_DoctorAddressDescription, " ", M_KelurahanName, " ", M_DistrictName, " ", M_CityName, " ", M_ProvinceName), "selected", "false","typeform","md") SEPARATOR ",")
|
|
FROM m_doctoraddress
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_DoctorAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_DoctorAddressIsActive = "Y" AND M_DoctorAddressM_DoctorID = doctorid);
|
|
ELSEIF v_code = "ADDRESS" AND v_source = "COMPANY" AND companyid <> 0 THEN
|
|
SET @x = v_id + 1;
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", M_CompanyID), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
CONCAT(M_CompanyAddress, " ", M_KelurahanName, " ", M_DistrictName, " ", M_CityName, " ", M_ProvinceName), "selected", "false","typeform","md") SEPARATOR ",")
|
|
FROM m_company
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_CompanyAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_CompanyID = companyid);
|
|
ELSEIF v_code = "WHATSAPP" AND v_source = "PATIENT" AND patientid <> 0 THEN
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", 0), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
M_PatientHP, "selected", "false","typeform","md") SEPARATOR ",")
|
|
FROM m_patient
|
|
WHERE M_PatientID = patientid);
|
|
ELSEIF v_code = "EMAIL" AND v_source = "PATIENT" AND patientid <> 0 THEN
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", 0), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
M_PatientEmail, "selected", "false","typeform","md") SEPARATOR ",")
|
|
FROM m_patient
|
|
WHERE M_PatientID = patientid);
|
|
ELSEIF v_code = "EMAIL" AND v_source = "DOCTOR" AND doctorid <> 0 THEN
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", 0), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
M_DoctorEmail, "selected", "false","typeform","md") SEPARATOR ",")
|
|
FROM m_doctor
|
|
WHERE M_DoctorID = doctorid);
|
|
ELSEIF v_code = "EMAIL" AND v_source = "MOU" AND mouid <> 0 THEN
|
|
SET v_tmp = (SELECT GROUP_CONCAT( JSON_OBJECT("id", (@x := @x + 1), "idx", concat(v_did, "-", v_dtid, "-", 0), "code", v_code, "source", v_source, "name", v_name, "pos", v_pos, "note",
|
|
M_MouEmail, "selected", "false","typeform","md") SEPARATOR ",")
|
|
FROM m_mou
|
|
WHERE M_MouID = mouid AND M_MouEmail <> "");
|
|
|
|
ELSE
|
|
SET v_tmp = "";
|
|
END IF;
|
|
|
|
IF v_rst = "" AND v_tmp <> "" THEN
|
|
SET v_rst = v_tmp;
|
|
ELSEIF v_tmp <> "" THEN
|
|
SET v_rst = CONCAT(v_rst, ",", v_tmp);
|
|
END IF;
|
|
|
|
|
|
SET v_id = @x;
|
|
|
|
END LOOP get_delivery;
|
|
|
|
CLOSE delivery_cursor;
|
|
|
|
SELECT CONCAT("[", v_rst, "]") as x;
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_fo_payment_get_delivery` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_fo_payment_get_delivery`(IN `orderid` int)
|
|
BEGIN
|
|
|
|
DECLARE done INT DEFAULT FALSE;
|
|
DECLARE d_id INT DEFAULT 0;
|
|
DECLARE dt_id INT DEFAULT 0;
|
|
DECLARE d_src VARCHAR(25) DEFAULT "";
|
|
DECLARE dt_code VARCHAR(25) DEFAULT "";
|
|
DECLARE d_name VARCHAR(100) DEFAULT "";
|
|
DECLARE ad_id INTEGER;
|
|
|
|
DECLARE patient_id INTEGER DEFAULT 0;
|
|
DECLARE doctor_id INTEGER DEFAULT 0;
|
|
|
|
DECLARE rst VARCHAR(2000) DEFAULT "";
|
|
DECLARE tmp VARCHAR(2000) DEFAULT "";
|
|
|
|
DECLARE c1 CURSOR FOR
|
|
select m_deliveryid, m_deliverytypeid, m_deliverysource, M_DeliveryTypeCode, T_OrderDeliveryAddressID, M_DeliveryName, T_OrderHeaderM_PatientID, T_OrderHeaderSenderM_DoctorID
|
|
from t_orderdelivery
|
|
join t_orderheader on t_orderdeliveryt_orderheaderid = t_orderheaderid
|
|
join m_delivery on t_orderdeliverym_deliveryid = m_deliveryid
|
|
join m_deliverytype on t_orderdeliverym_deliverytypeid = m_deliverytypeid
|
|
where t_orderdeliveryisactive = "Y"
|
|
and t_orderdeliveryt_orderheaderid = orderid;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
|
|
|
OPEN c1;
|
|
c1_loop: LOOP
|
|
|
|
FETCH c1 INTO d_id, dt_id, d_src, dt_code, ad_id, d_name, patient_id, doctor_id;
|
|
IF done = true THEN LEAVE c1_loop; END IF;
|
|
|
|
IF d_src = "PATIENT" AND dt_code = "PICKUP" THEN
|
|
SET tmp = (SELECT JSON_OBJECT("source", d_src, "type", dt_code, "label", "Ambil Sendiri", "desc", ""));
|
|
|
|
IF rst = "" THEN SET rst = tmp; ELSE SET rst = CONCAT(rst, ",", tmp); END IF;
|
|
|
|
ELSEIF d_src = "PATIENT" AND dt_code = "ADDRESS" THEN
|
|
SET tmp = (SELECT JSON_OBJECT("source", d_src, "type", dt_code, "label", d_name, "desc",
|
|
concat(M_PatientAddressDescription, '\n\n', m_kelurahanname, ', ', m_districtname,
|
|
'\n', m_cityname, ', ', m_provincename))
|
|
FROM m_patientaddress
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressID = ad_id);
|
|
|
|
IF rst = "" THEN SET rst = tmp; ELSE SET rst = CONCAT(rst, ",", tmp); END IF;
|
|
|
|
ELSEIF d_src = "DOCTOR" AND dt_code = "ADDRESS" THEN
|
|
SET tmp = (SELECT JSON_OBJECT("source", d_src, "type", dt_code, "label", d_name, "desc",
|
|
concat(M_DoctorAddressDescription, '\n\n', m_kelurahanname, ', ', m_districtname,
|
|
'\n', m_cityname, ', ', m_provincename))
|
|
FROM m_doctoraddress
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_DoctorAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_DoctorAddressID = ad_id);
|
|
|
|
IF rst = "" THEN SET rst = tmp; ELSE SET rst = CONCAT(rst, ",", tmp); END IF;
|
|
|
|
ELSEIF d_src = "PATIENT" AND (dt_code = "WHATSAPP" OR dt_code = "TELEGRAM") THEN
|
|
SET tmp = (SELECT JSON_OBJECT("source", d_src, "type", dt_code, "label", d_name, "desc", M_PatientHP)
|
|
FROM m_patient
|
|
WHERE M_PatientID = patient_id);
|
|
|
|
IF rst = "" THEN SET rst = tmp; ELSE SET rst = CONCAT(rst, ",", tmp); END IF;
|
|
|
|
ELSEIF d_src = "DOCTOR" AND (dt_code = "EMAIL") THEN
|
|
SET tmp = (SELECT JSON_OBJECT("source", d_src, "type", dt_code, "label", d_name, "desc", M_DoctorEmail)
|
|
FROM m_doctor
|
|
WHERE M_DoctorID = doctor_id);
|
|
|
|
|
|
IF rst = "" THEN SET rst = tmp; ELSE SET rst = CONCAT(rst, ",", tmp); END IF;
|
|
|
|
ELSEIF d_src = "PATIENT" AND (dt_code = "EMAIL") THEN
|
|
SET tmp = (SELECT JSON_OBJECT("source", d_src, "type", dt_code, "label", d_name, "desc", M_PatientEmail)
|
|
FROM m_patient
|
|
WHERE M_PatientID = patient_id);
|
|
|
|
IF rst = "" THEN SET rst = tmp; ELSE SET rst = CONCAT(rst, ",", tmp); END IF;
|
|
|
|
END IF;
|
|
|
|
END LOOP;
|
|
CLOSE c1;
|
|
|
|
SELECT concat("[", rst, "]") delivery;
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_fo_register_load` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_fo_register_load`(IN `orderid` int)
|
|
BEGIN
|
|
|
|
|
|
|
|
DECLARE o_id INTEGER DEFAULT 0;
|
|
|
|
DECLARE p_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE d_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE da_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE c_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE m_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE t_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE r_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
DECLARE o_tmp VARCHAR(12000) DEFAULT "";
|
|
|
|
|
|
|
|
DECLARE p_id INTEGER DEFAULT 0;
|
|
|
|
DECLARE p_age VARCHAR(50) DEFAULT "";
|
|
|
|
DECLARE m_id INTEGER DEFAULT 0;
|
|
|
|
DECLARE c_id INTEGER DEFAULT 0;
|
|
|
|
|
|
|
|
DECLARE d_id INTEGER DEFAULT 0;
|
|
|
|
|
|
|
|
SET o_id = orderid;
|
|
|
|
|
|
|
|
IF o_id IS NOT NULL THEN
|
|
|
|
SELECT T_OrderHeaderM_PatientID, T_OrderHeaderM_PatientAge, T_OrderHeaderSenderM_DoctorID, T_OrderHeaderM_MouID, T_OrderHeaderM_CompanyID
|
|
|
|
INTO p_id, p_age, d_id, m_id, c_id
|
|
|
|
FROM t_orderheader WHERE T_OrderHeaderID = o_id;
|
|
|
|
|
|
|
|
SELECT JSON_OBJECT("M_PatientID", M_PatientID, "M_PatientName", M_PatientName, "M_PatientNoReg", M_PatientNoReg,
|
|
|
|
"M_PatientNote", M_PatientNote,
|
|
|
|
"M_PatientAddress", CONCAT(M_PatientAddressDescription, "\\n\\n", M_KelurahanName, ", ", M_DistrictName, "\\n", M_CityName, ", ", M_ProvinceName), "M_PatientDOB", M_PatientDOB,
|
|
|
|
"M_PatientHP", M_PatientHP, "patient_age", p_age) INTO p_tmp
|
|
|
|
FROM m_patient
|
|
|
|
LEFT JOIN m_patientaddress ON M_PatientID = M_PatientAddressM_PatientID AND M_PatientAddressIsActive = "Y"
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientID = p_id
|
|
|
|
LIMIT 1;
|
|
|
|
|
|
|
|
SET da_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("M_DoctorAddressID", M_DoctorAddressID, "M_DoctorAddressDescription", M_DoctorAddressDescription) SEPARATOR ','), ']') FROM m_doctoraddress WHERE M_DoctorAddressM_DoctorID = d_id AND M_DoctorAddressIsActive = "Y");
|
|
|
|
|
|
|
|
SET d_tmp = (SELECT JSON_OBJECT("M_DoctorID", M_DoctorID, "M_DoctorIsDefault", M_DoctorIsDefault,
|
|
|
|
"M_DoctorIsPJ", M_DoctorIsPJ, "M_DoctorName", IF(M_DoctorPrefix IS NULL OR M_DoctorPrefix = "", M_DoctorName, CONCAT(M_DoctorPrefix, " ", M_DoctorName) ), "search", IF(M_DoctorPrefix IS NULL OR M_DoctorPrefix = "", M_DoctorName, CONCAT(M_DoctorPrefix, " ", M_DoctorName) ) )
|
|
|
|
FROM m_doctor
|
|
|
|
WHERE M_DoctorID = d_id);
|
|
|
|
|
|
|
|
SET c_tmp = (SELECT JSON_OBJECT("M_CompanyID", M_CompanyID, "M_CompanyName", M_CompanyName, "search", M_CompanyName)
|
|
|
|
FROM m_company WHERE M_CompanyID = c_id);
|
|
|
|
|
|
|
|
SET m_tmp = (SELECT JSON_OBJECT("M_MouEndDate", M_MouEndDate, "M_MouID", M_MouID, "M_MouName", M_MouName, "M_MouStartDate", M_MouStartDate)
|
|
|
|
FROM m_mou WHERE M_MouID = m_id);
|
|
|
|
|
|
|
|
SET t_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("T_TestID", T_TestID, "T_TestName", T_TestName, "IsFromPanel", "N", "T_TestRequirement", T_TestRequirement, "T_PriceID", 0, "T_PriceT_TestID", T_OrderDetailT_TestID, "T_PriceIsCito", T_OrderDetailIsCito, "T_PriceM_CompanyID", c_id, "T_PriceM_MouID", m_id, "T_PricePriority", 0, "T_PriceAmount", T_OrderDetailPriceForDisc, "T_PriceDisc", T_OrderDetailDisc, "T_PriceDiscRp", T_OrderDetailDiscAmount, "T_PriceIsActive", "Y", "T_PriceCreated", now(), "T_PriceLastUpdated", now(), "T_TestIsCito", T_OrderDetailIsCito) SEPARATOR ','), ']')
|
|
|
|
FROM t_orderdetail
|
|
|
|
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
|
|
|
WHERE T_OrderDetailIsActive = "Y" AND T_OrderDetailT_TestIsPrice = "Y"
|
|
|
|
AND T_OrderDetailT_OrderHeaderID = o_id);
|
|
|
|
|
|
|
|
SET r_tmp = (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT("label", T_TestRequirement, "error_message", "Hasil harus di isi", "is_error", false, "checked", IF(T_OrderDetailReq = "N", false, true), "note", T_OrderDetailReqNote) SEPARATOR ','), ']')
|
|
|
|
FROM t_orderdetail
|
|
|
|
JOIN t_test on T_OrderDetailT_TestID = T_TestID
|
|
|
|
WHERE T_OrderDetailIsActive = "Y" AND T_OrderDetailT_TestIsPrice = "Y"
|
|
|
|
AND T_OrderDetailT_OrderHeaderID = o_id);
|
|
|
|
|
|
|
|
SET o_tmp = (SELECT JSON_OBJECT("rec_sample", T_OrderHeaderReceivedSample) FROM t_orderheader
|
|
|
|
WHERE T_OrderHeaderID = orderid);
|
|
|
|
|
|
|
|
SELECT "OK" as status, CONCAT('{"patient":', p_tmp, ',
|
|
|
|
"doctor":', d_tmp,',
|
|
|
|
"doctor_address":', da_tmp,',
|
|
|
|
"company":', c_tmp,',
|
|
|
|
"mou":', m_tmp,',
|
|
|
|
"test":', t_tmp,',
|
|
|
|
"req":', r_tmp,',
|
|
|
|
"order":', o_tmp,'}') as data, "" as message;
|
|
|
|
|
|
|
|
ELSE
|
|
|
|
SELECT "ERR" as status, "" as data, "" as message;
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_framingham` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_framingham`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
Framingham_DataT_OrderHeaderID ,
|
|
concat(Framingham_DataSistolic , " mmHg") as Framingham_DataSistolic ,
|
|
Framingham_DataDiastolic,
|
|
concat(Framingham_DataChol, " mg/dl") as Framingham_DataChol,
|
|
concat(Framingham_DataHDL, " mg/dl") as Framingham_DataHDL,
|
|
Framingham_DataInAtrialFibrillation,
|
|
if(Framingham_DataOnAntiHypertensiveRx = 'Y' , "Ya" , "Tidak") as Framingham_DataOnAntiHypertensiveRx,
|
|
if(Framingham_DataHistoryofSmoking = 'Y' , "Ya" , "Tidak") as Framingham_DataHistoryofSmoking ,
|
|
if(Framingham_DataHistoryofDiabetes = 'Y' , "Ya" , "Tidak") as Framingham_DataHistoryofDiabetes,
|
|
if(Framingham_DataHistoryofPeripheralVascular = 'Y' , "Ya" , "Tidak") as Framingham_DataHistoryofPeripheralVascular,
|
|
Framingham_DataECGLVH,
|
|
Framingham_DataCalculated10RiskofCHD,
|
|
Framingham_DataCalculated10RiskofStroke,
|
|
concat(Framingham_DataCalculated10RiskofCardiovascular , " %") as Framingham_DataCalculated10RiskofCardiovascular,
|
|
Framingham_RiskOfChdSystolic ,
|
|
Framingham_RiskOfChdSmooking,
|
|
Framingham_RiskOfChdCholHdl,
|
|
Framingham_RiskOfChdEcg,
|
|
Framingham_RiskOfChdAge,
|
|
Framingham_RiskOfChdDiabet ,
|
|
Framingham_RiskOfChdResult1,
|
|
Framingham_RiskOfChdResult2 ,
|
|
Framingham_RiskOfChdResult3 ,
|
|
Framingham_RiskOfChdResult4 ,
|
|
Framingham_RiskOfChdResultFinal ,
|
|
Framingham_RiskOfChdResultFinalPercent ,
|
|
Framingham_RiskOfChdCardiovascularRisk ,
|
|
Framingham_RiskOfChdCardiovascularRiskPercent,
|
|
Framingham_RiskOfStrokeAge ,
|
|
Framingham_RiskOfStrokeSystolic ,
|
|
Framingham_RiskOfStrokeHipertensi,
|
|
Framingham_RiskOfStrokeDiabet ,
|
|
Framingham_RiskOfStrokeSmooking ,
|
|
Framingham_RiskOfStrokeVascularDisease ,
|
|
Framingham_RiskOfStrokeAtrialFIB ,
|
|
Framingham_RiskOfStrokeEcg ,
|
|
Framingham_RiskOfStrokeHipertensi2 ,
|
|
Framingham_RiskOfStrokeResult1 ,
|
|
Framingham_RiskOfStrokeFinal ,
|
|
Framingham_RiskOfStrokeFinalPercent,
|
|
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber,
|
|
T_OrderHeaderLabNumberExt ,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
M_PatientNIK,
|
|
M_PatientJabatan,
|
|
M_PatientKedudukan,
|
|
M_PatientPJ,
|
|
M_PatientLocation ,
|
|
M_PatientJob,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress ,
|
|
T_OrderHeaderM_PatientAge ,M_SexName,M_SexCode,
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
case
|
|
when Framingham_DataCalculated10RiskofCardiovascular >= 20 then "Tinggi"
|
|
when Framingham_DataCalculated10RiskofCardiovascular >= '10.01' and Framingham_DataCalculated10RiskofCardiovascular < '19.99' then "Sedang"
|
|
when Framingham_DataCalculated10RiskofCardiovascular < 10 then "Rendah"
|
|
|
|
else "" end as hasil
|
|
|
|
from framingham_data
|
|
join t_orderheader ON Framingham_DataT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
|
|
join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
join framingham_riskofchd ON Framingham_RiskOfChdFramingham_DataID = Framingham_DataID and Framingham_RiskOfChdIsActive = 'Y'
|
|
join framingham_riskofstroke ON Framingham_RiskOfStrokeFramingham_DataID = Framingham_DataID and Framingham_RiskOfStrokeIsActive = 'Y'
|
|
join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
where Framingham_DataIsActive = 'Y'
|
|
and
|
|
Framingham_DataT_OrderHeaderID = PID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_header` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_header`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y") as T_OrderHeaderDate ,
|
|
|
|
T_OrderHeaderLabNumber ,
|
|
|
|
concat(M_TitleName ,". " , M_PatientName) as M_PatientName,
|
|
|
|
m_sexname as Gender,
|
|
|
|
M_PatientNoReg,
|
|
|
|
M_PatientDOB,
|
|
|
|
T_OrderHeaderM_PatientAge,
|
|
|
|
M_CompanyName as CorporateName,
|
|
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddress,
|
|
|
|
M_PatientHp ,
|
|
|
|
M_PatientEmail,
|
|
|
|
'' as M_PatientAddressCity,
|
|
|
|
'' as M_PatientAddressState,
|
|
|
|
|
|
|
|
M_CompanyName as CorporateAddress,
|
|
|
|
M_CompanyEmail as CorporateEmail ,
|
|
|
|
M_CompanyPhone as CorporatePhone,
|
|
|
|
M_CompanyAddressCity as CorporateAddressCity,
|
|
|
|
'' as CorporateAddressState,
|
|
|
|
CONCAT(ifnull(pj .M_DoctorPrefix,"")," ",ifnull(pj .M_DoctorPrefix2,"")," ",pj.M_DoctorName," ",ifnull(pj .M_DoctorSufix,"")," ",ifnull(pj .M_DoctorSufix2,"") ) AS M_DoctorName ,
|
|
|
|
CONCAT(ifnull(pjj .M_DoctorPrefix,"")," ",ifnull(pjj .M_DoctorPrefix2,"")," ",pjj.M_DoctorName," ",ifnull(pjj .M_DoctorSufix,"")," ",ifnull(pjj .M_DoctorSufix2,"") ) AS M_DoctorName2 ,
|
|
|
|
CONCAT(DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",T_OrderHeaderM_PatientAge) AS Umur,
|
|
|
|
M_PatientNIP,
|
|
|
|
M_PatientJob,
|
|
|
|
M_PatientPosisi,
|
|
|
|
M_PatientDivisi,
|
|
|
|
M_PatientLocation,
|
|
|
|
concat(M_PatientDepartement ," - " ,M_PatientNIP ) as M_PatientDepartement
|
|
|
|
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID
|
|
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID and M_CompanyIsActive = 'Y'
|
|
|
|
left join m_doctor pjj ON T_OrderHeaderPj2M_DoctorID= pjj.M_DoctorID and pjj.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj .M_DoctorID AND pj .M_DoctorIsActive = 'Y'
|
|
|
|
where
|
|
|
|
T_OrderHeaderID = PID and T_OrderHeaderIsActive = 'Y' $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_header_nonLab` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_header_nonLab`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y") as T_OrderHeaderDate ,
|
|
|
|
T_OrderHeaderLabNumber ,
|
|
|
|
concat(M_TitleName ,". " , M_PatientName) as M_PatientName,
|
|
|
|
m_sexname as Gender,
|
|
|
|
M_PatientNoReg,
|
|
|
|
M_PatientDOB,
|
|
|
|
T_OrderHeaderM_PatientAge,
|
|
|
|
M_CompanyName as CorporateName,
|
|
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddress,
|
|
|
|
M_PatientHp ,
|
|
|
|
M_PatientEmail,
|
|
|
|
'' as M_PatientAddressCity,
|
|
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddressState,
|
|
|
|
M_CompanyAddress as CorporateAddress,
|
|
|
|
M_CompanyEmail ,
|
|
|
|
M_CompanyPhone,
|
|
|
|
M_CompanyAddressCity,
|
|
|
|
'' as CorporateAddressState,
|
|
|
|
CONCAT(ifnull(pj .M_DoctorPrefix,"")," ",ifnull(pj .M_DoctorPrefix2,"")," ",pj.M_DoctorName," ",ifnull(pj .M_DoctorSufix,"")," ",ifnull(pj .M_DoctorSufix2,"") ) AS M_DoctorName ,
|
|
|
|
CONCAT(ifnull(pjj .M_DoctorPrefix,"")," ",ifnull(pjj .M_DoctorPrefix2,"")," ",pjj.M_DoctorName," ",ifnull(pjj .M_DoctorSufix,"")," ",ifnull(pjj .M_DoctorSufix2,"") ) AS M_DoctorName2 ,
|
|
|
|
CONCAT(DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",T_OrderHeaderM_PatientAge) AS Umur,
|
|
|
|
M_PatientNIP,
|
|
|
|
M_PatientJob,
|
|
|
|
M_PatientPosisi,
|
|
|
|
M_PatientDivisi,
|
|
|
|
M_PatientLocation,
|
|
|
|
concat(M_PatientDepartement ," - " ,M_PatientNIP ) as M_PatientDepartement
|
|
|
|
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID and M_CompanyIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID
|
|
|
|
left join m_doctor pjj ON T_OrderHeaderPj2M_DoctorID= pjj.M_DoctorID and pjj.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj .M_DoctorID AND pj .M_DoctorIsActive = 'Y'
|
|
|
|
join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and So_ResultEntryIsActive = 'Y'
|
|
|
|
where
|
|
|
|
So_ResultEntryID = PID and T_OrderHeaderIsActive = 'Y'
|
|
|
|
|
|
|
|
group by T_OrderHeaderID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_preparasi_sperma` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_preparasi_sperma`(IN `PID` int, IN `username` varchar(100))
|
|
select T_OrderHeaderLabNumber as nolabasli,T_OrderHeaderID ,
|
|
DATE_FORMAT(NOW(), "%d-%m-%Y") AS Now,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
T_OrderHeaderM_PatientAge,
|
|
M_SexName,
|
|
DATE_FORMAT(T_OrderHeaderCreated, "%d-%m-%Y %T") AS T_OrderHeaderCreated,
|
|
CONCAT(fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PiID,
|
|
`fn_get_status_lunas`(T_OrderHeaderID) as status,
|
|
if( `fn_get_status_lunas`(T_OrderHeaderID) = 'N' , concat("<u>",T_OrderHeaderLabNumberExt,"</u>"),T_OrderHeaderLabNumberExt) as T_OrderHeaderLabNumber,
|
|
T_OrderHeaderLabNumberExt as noex,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
|
|
M_PatientNoReg,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
M_TitleName,
|
|
M_PatientHP ,M_PatientPhone, M_PatientEmail,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",M_PatientNoReg) AS Barcode,
|
|
M_CompanyName,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone) as alamatcabang,
|
|
S_SystemsEmailAddress,S_SystemsCompanyCity,
|
|
CONCAT(mm.M_DoctorPrefix," ",mm.M_DoctorName," ",mm.M_DoctorSufix," ",mm.M_DoctorSufix2," ",mm.M_DoctorSufix3) AS M_DoctorName,
|
|
CONCAT(m.M_DoctorPrefix," ",m.M_DoctorName," ",m.M_DoctorSufix," ",m.M_DoctorSufix2," ",m.M_DoctorSufix3) AS M_Doctorkirim,
|
|
T_TestName,
|
|
|
|
M_BranchName,
|
|
Other_PreparasiSpermaID,
|
|
Other_PreparasiSpermaM_DoctorID ,
|
|
Other_PreparasiSpermaT_OrderDetailID,
|
|
Other_PreparasiSpermaPreMotilitasA,
|
|
Other_PreparasiSpermaPreMotilitasB,
|
|
Other_PreparasiSpermaPreMotilitasC ,
|
|
Other_PreparasiSpermaPreKonsentrasi,
|
|
Other_PreparasiSpermaPreKontaminan ,
|
|
Other_PreparasiSpermaPostMotilitasA ,
|
|
Other_PreparasiSpermaPostMotilitasB ,
|
|
Other_PreparasiSpermaPostMotilitasC,
|
|
Other_PreparasiSpermaPostKonsentrasi,
|
|
Other_PreparasiSpermaPostKontaminan ,
|
|
Other_PreparasiSpermaNote,
|
|
if(Other_PreparasiSpermaImgType = "PRE" , " Pre Preparasi : " ,"Post Preparasi : ") as Other_PreparasiSpermaImgType ,
|
|
Other_PreparasiSpermaImgNewName as new,
|
|
concat("http://localhost/one-media/one-image-nonlab/",Other_PreparasiSpermaImgNewName,"?ts=yymmddhhnnss") AS gambar,
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_MethodeSpermaName,
|
|
Other_PreparasiSpermaPreVolume ,Other_PreparasiSpermaPostVolume,M_No_FormRev
|
|
|
|
|
|
from other_preparasisperma
|
|
left join t_orderdetail on Other_PreparasiSpermaT_OrderDetailID = T_OrderDetailID and T_OrderDetailIsActive = 'Y'
|
|
left join t_orderheader on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
|
|
left join other_preparasisperma_img on Other_PreparasiSpermaImgT_OrderHeaderID = T_OrderHeaderID and Other_PreparasiSpermaImgIsActive = 'Y'
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_sex ON M_PatientM_SexID = M_SexID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID and M_CompanyIsActive = 'Y'
|
|
left join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y'
|
|
left join t_samplingso on T_SamplingSoT_OrderHeaderID = T_OrderHeaderID and T_SamplingSoT_TestID = T_TestID
|
|
left join m_doctor mm ON Other_PreparasiSpermaM_DoctorID = mm.M_DoctorID and mm.M_DoctorIsActive = 'Y'
|
|
left join m_doctor m ON T_OrderHeaderSenderM_DoctorID = m.M_DoctorID and m.M_DoctorIsActive = 'Y'
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_methodesperma on Other_PreparasiSpermaM_MethodeSpermaID = M_MethodeSpermaID and M_MethodeSpermaIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SPERMA"
|
|
|
|
where T_OrderHeaderID = PID and Other_PreparasiSpermaIsActive = 'Y' $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
concat(
|
|
'Benar telah melakukan pemeriksaan ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' pada hari ' ,
|
|
tanggal,
|
|
' dengan hasil ' ,
|
|
if((LetterOtherT_TestSasCode in ( '1063510001','10635500','1081300001' ,'10813125')) , concat('<b>',T_OrderDetailT_TestName , ' ' , T_OrderDetailResult, '</b>') ,hasil ) ,' , dengan data hasil pemeriksaan terlampir.'
|
|
) as hasil,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
CONCAT(
|
|
CASE DAYOFWEEK(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Minggu'
|
|
WHEN 2 THEN 'Senin'
|
|
WHEN 3 THEN 'Selasa'
|
|
WHEN 4 THEN 'Rabu'
|
|
WHEN 5 THEN 'Kamis'
|
|
WHEN 6 THEN 'Jumat'
|
|
WHEN 7 THEN 'Sabtu'
|
|
END,', ',
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(T_OrderHeaderDate)
|
|
) AS tanggal,
|
|
|
|
CONCAT(
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(NOW())
|
|
) AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
`fn_get_nattest`(LetterOtherNat_TestID) as T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,M_PatientIDNumber ,
|
|
concat(ifnull(M_PatientPOB,'') ,", ",DATE_FORMAT(M_PatientDOB, "%d - %m - %Y") ) as ttl,M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
concat(REPLACE(M_BranchName, "Pramita", "Cabang"), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName )) as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Yang bertanda tangan dibawah ini, Laboratorium Klinik ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Menerangkan dengan sesungguhnya bahwa :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,
|
|
if ( LetterOtherT_TestSasCode = '10635000' , concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ", if(T_OrderDetailResult like '%non%', 'Non Reaktif' , 'Reaktif'),'</b>') ,
|
|
group_concat( concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ",
|
|
(case
|
|
when T_OrderDetailResult like 'reaktif%' then 'Reaktif'
|
|
when T_OrderDetailResult like 'non reaktif%' then 'Non Reaktif'
|
|
else T_OrderDetailResult end)
|
|
,'</b>')
|
|
separator ' dan ')) as hasil ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Dokter Penanggung Jawab" ,"Dokter Pemeriksa") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%'
|
|
or LetterOtherT_TestSasCode like '%PN057810634900%' or LetterOtherT_TestSasCode like '%10813125%')
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID = PID and LetterOtherIsActive = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312506')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312506')
|
|
|
|
or
|
|
Nat_TestShortName = 'Kesimpulan'
|
|
)
|
|
|
|
group by LetterOtherID) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_1` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_1`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
concat(
|
|
'Benar telah melakukan pemeriksaan ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' pada tanggal ' ,
|
|
tanggal,
|
|
' dengan data hasil pemeriksaan ' , concat('<b>',T_OrderDetailT_TestName , '</b>') ,' terlampir.'
|
|
) as hasil,
|
|
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
Nat_TestShortName,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,
|
|
if(M_CompanyName IN ( 'PASIEN MANDIRI','PASIEN KLINISI'), M_PatientAddressDescription ,M_CompanyName ) as alamat,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
CONCAT(
|
|
CASE DAYOFWEEK(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Minggu'
|
|
WHEN 2 THEN 'Senin'
|
|
WHEN 3 THEN 'Selasa'
|
|
WHEN 4 THEN 'Rabu'
|
|
WHEN 5 THEN 'Kamis'
|
|
WHEN 6 THEN 'Jumat'
|
|
WHEN 7 THEN 'Sabtu'
|
|
END,', ',
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(`fn_get_date_sampling`(T_OrderDetailID))
|
|
) AS tanggal,
|
|
|
|
CONCAT(
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(NOW())
|
|
) AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
M_PatientIDNumber ,
|
|
DATE_FORMAT(ifnull(M_PatientPOB,""), "%d - %m - %Y") as ttl,M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,M_CompanyAddress,
|
|
concat(REPLACE(M_BranchName, "Pramita", "Cabang"), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName )) as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Yang bertanda tangan dibawah ini, Laboratorium Klinik ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Menerangkan dengan sesungguhnya bahwa :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,Nat_TestShortName,T_OrderDetailResult ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Dokter Penanggung Jawab" ,"Dokter Pemeriksa") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%'
|
|
or LetterOtherT_TestSasCode like '%PN057810634900%' or LetterOtherT_TestSasCode like '%10813125%')
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'N'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID = PID and LetterOtherIsActive = 'Y' and T_OrderDetailValidation = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500',
|
|
'108130500105','10635600','1063560001','1063560002','108130500101','108130500102','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500',
|
|
'108130500105','10635600','1063560001','1063560002','108130500101','108130500102','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
Nat_TestShortName = 'Kesimpulan'
|
|
|
|
)
|
|
) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_2` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_2`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
concat(
|
|
'Benar telah melakukan pemeriksaan ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' Antigen test dengan sample yang diambil dari swab Nasofaring pada tanggal ' ,
|
|
tanggal,
|
|
' data hasil pemeriksaan ' , concat('<b>',T_OrderDetailT_TestName , '</b>') ,' Antigen test terlampir.'
|
|
) as hasil,
|
|
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
Nat_TestShortName,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,
|
|
if(M_CompanyName IN ( 'PASIEN MANDIRI','PASIEN KLINISI'), M_PatientAddressDescription ,M_CompanyName ) as alamat,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
CONCAT(
|
|
CASE DAYOFWEEK(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Minggu'
|
|
WHEN 2 THEN 'Senin'
|
|
WHEN 3 THEN 'Selasa'
|
|
WHEN 4 THEN 'Rabu'
|
|
WHEN 5 THEN 'Kamis'
|
|
WHEN 6 THEN 'Jumat'
|
|
WHEN 7 THEN 'Sabtu'
|
|
END,', ',
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(`fn_get_date_sampling`(T_OrderDetailID))
|
|
) AS tanggal,
|
|
|
|
CONCAT(
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(NOW())
|
|
) AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
M_PatientIDNumber ,
|
|
DATE_FORMAT(ifnull(M_PatientPOB,""), "%d - %m - %Y") as ttl,M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,M_CompanyAddress,
|
|
concat(REPLACE(M_BranchName, "Pramita", "Cabang"), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName )) as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Yang bertanda tangan dibawah ini, Laboratorium Klinik ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Menerangkan dengan sesungguhnya bahwa :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,Nat_TestShortName,T_OrderDetailResult ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Dokter Penanggung Jawab" ,"Dokter Pemeriksa") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%'
|
|
or LetterOtherT_TestSasCode like '%PN057810634900%' or LetterOtherT_TestSasCode like '%10813125%')
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID = PID and LetterOtherIsActive = 'Y' and T_OrderDetailValidation = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500',
|
|
'108130500105','10635600','1063560001','1063560002','108130500101','108130500102','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500',
|
|
'108130500105','10635600','1063560001','1063560002','108130500101','108130500102','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
)
|
|
) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_3` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_3`(IN `PID` int, IN `username` char(100))
|
|
select T_OrderDetailT_TestIsResult ,
|
|
concat(
|
|
'Benar telah melakukan pemeriksaan ',
|
|
'<b>','Rapid Test Covid-19 IgM/IgG', '</b>',
|
|
' pada tanggal ' ,
|
|
tanggal,
|
|
' data hasil : '
|
|
) as hasil,
|
|
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
Nat_TestShortName,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,
|
|
if(M_CompanyName IN ( 'PASIEN MANDIRI','PASIEN KLINISI'), M_PatientAddressDescription ,M_CompanyAddress ) as alamat,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select T_OrderDetailT_TestIsResult ,
|
|
CONCAT(
|
|
CASE DAYOFWEEK(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Minggu'
|
|
WHEN 2 THEN 'Senin'
|
|
WHEN 3 THEN 'Selasa'
|
|
WHEN 4 THEN 'Rabu'
|
|
WHEN 5 THEN 'Kamis'
|
|
WHEN 6 THEN 'Jumat'
|
|
WHEN 7 THEN 'Sabtu'
|
|
END,', ',
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(`fn_get_date_sampling`(T_OrderDetailID))
|
|
) AS tanggal,
|
|
|
|
CONCAT(
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(NOW())
|
|
) AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
M_PatientIDNumber ,
|
|
DATE_FORMAT(ifnull(M_PatientPOB,""), "%d - %m - %Y") as ttl,M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,M_CompanyAddress,
|
|
concat(REPLACE(M_BranchName, "Pramita", "Cabang"), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName )) as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Yang bertanda tangan dibawah ini, Laboratorium Klinik ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Menerangkan dengan sesungguhnya bahwa :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,Nat_TestShortName,T_OrderDetailResult ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Dokter Penanggung Jawab" ,"Dokter Pemeriksa") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%'
|
|
or LetterOtherT_TestSasCode like '%PN057810634900%' or LetterOtherT_TestSasCode like '%10813125%')
|
|
and T_OrderDetailIsActive = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID = PID and LetterOtherIsActive = 'Y' and T_OrderDetailValidation = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500',
|
|
'108130500105','10635600','1063560001','1063560002','108130500101','108130500102','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500',
|
|
'108130500105','10635600','1063560001','1063560002','108130500101','108130500102','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
)
|
|
) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_4` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_4`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
concat(
|
|
'Benar telah melakukan pemeriksaan ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' pada hari ' ,
|
|
tanggal,
|
|
' dengan hasil ' ,
|
|
if((LetterOtherT_TestSasCode in ( '1063510001','10635500','1081300001' )) , concat('<b>',T_OrderDetailT_TestName , ' ' , T_OrderDetailResult, '</b>') ,hasil ) ,' , dengan data hasil pemeriksaan terlampir.'
|
|
) as hasil,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
CONCAT(
|
|
CASE DAYOFWEEK(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Minggu'
|
|
WHEN 2 THEN 'Senin'
|
|
WHEN 3 THEN 'Selasa'
|
|
WHEN 4 THEN 'Rabu'
|
|
WHEN 5 THEN 'Kamis'
|
|
WHEN 6 THEN 'Jumat'
|
|
WHEN 7 THEN 'Sabtu'
|
|
END,', ',
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(T_OrderHeaderDate)
|
|
) AS tanggal,
|
|
|
|
CONCAT(
|
|
DAY(T_OrderDetailValDate),' ',
|
|
CASE MONTH(T_OrderDetailValDate)
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(NOW())
|
|
) AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
`fn_get_nattest`(LetterOtherNat_TestID) as T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,M_PatientIDNumber ,
|
|
concat(M_PatientPOB ,", ",DATE_FORMAT(M_PatientDOB, "%d - %m - %Y") ) as ttl,M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
concat(REPLACE(M_BranchName, "Pramita", "Cabang"), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName )) as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Yang bertanda tangan dibawah ini, Laboratorium Klinik ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Menerangkan dengan sesungguhnya bahwa :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,
|
|
if ( LetterOtherT_TestSasCode = '10635000' , concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ", if(T_OrderDetailResult like '%non%', 'Non Reaktif' , 'Reaktif'),'</b>') ,
|
|
group_concat( concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ",
|
|
(case
|
|
when T_OrderDetailResult like 'reaktif%' then 'Reaktif'
|
|
when T_OrderDetailResult like 'non reaktif%' then 'Non Reaktif'
|
|
else T_OrderDetailResult end)
|
|
,'</b>')
|
|
separator ' dan ')) as hasil ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Dokter Penanggung Jawab" ,"Dokter Pemeriksa") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%'
|
|
or LetterOtherT_TestSasCode like '%PN057810634900%' or LetterOtherT_TestSasCode like '%10813125%')
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID =PID and LetterOtherIsActive = 'Y' and T_OrderDetailValidation = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
Nat_TestShortName = 'Kesimpulan'
|
|
)
|
|
|
|
group by LetterOtherID) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_eng` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_eng`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
concat(
|
|
'Has undertook ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' on ' ,
|
|
tanggal,
|
|
' with the result of : ' ,
|
|
if((LetterOtherT_TestSasCode in ( '1063510001','10635500','1081300001' ,'10813125' )) , concat('<b>',T_OrderDetailT_TestName , ' ' , (case
|
|
when T_OrderDetailResult like '%reaktif%' then 'Reactive'
|
|
when T_OrderDetailResult like '%non reaktif%' then 'Non Reactive'
|
|
when T_OrderDetailResult like '%negatif%' then 'Negative'
|
|
when T_OrderDetailResult like '%positif%' then 'Positive'
|
|
else T_OrderDetailResult end), '</b>') ,hasil ) ,' , with further details attached.'
|
|
) as hasil,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
DATE_FORMAT(`fn_get_date_sampling`(T_OrderDetailID), ' %W , %M %D %Y') AS tanggal,
|
|
|
|
DATE_FORMAT(`fn_get_date_sampling`(T_OrderDetailID), '%M %D %Y') AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
CONCAT(M_TitleLangName ," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
`fn_get_nattest`(LetterOtherNat_TestID) as T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,M_PatientIDNumber ,
|
|
concat(ifnull(M_PatientPOB,""),", ",DATE_FORMAT(M_PatientDOB, "%d - %m - %Y") ) as ttl,M_SexNameLang as M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
concat(REPLACE(M_BranchName, "Pramita", ""), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName) , " Branch") as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Signed below on behalf of ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Clinical Laboratory, herewith stating that :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,
|
|
if ( LetterOtherT_TestSasCode = '10635000' , concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ", if(T_OrderDetailResult like '%non%', 'Non Reactive' , 'Reactive'),'</b>') ,
|
|
group_concat( concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ",
|
|
(case
|
|
when T_OrderDetailResult like 'reaktif%' then 'Reactive'
|
|
when T_OrderDetailResult like 'non reaktif%' then 'Non Reactive'
|
|
when T_OrderDetailResult like 'negatif%' then 'Negative'
|
|
when T_OrderDetailResult like 'positif%' then 'Positive'
|
|
else T_OrderDetailResult end)
|
|
,'</b>')
|
|
separator ' dan ')) as hasil ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Clinical Pathologist" ,"Physician") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%'
|
|
or LetterOtherT_TestSasCode like '%PN057810634900%' or LetterOtherT_TestSasCode like '%10813125%')
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID = PID and LetterOtherIsActive = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312506')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312506')
|
|
|
|
or
|
|
Nat_TestShortName = 'Kesimpulan'
|
|
)
|
|
|
|
group by LetterOtherID) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_eng_4` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_eng_4`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
concat(
|
|
'Has undertook ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' on ' ,
|
|
tanggal,
|
|
' with the result of : ' ,
|
|
if((LetterOtherT_TestSasCode in ( '1063510001','10635500','1081300001' )) , concat('<b>',T_OrderDetailT_TestName , ' ' , T_OrderDetailResult, '</b>') ,hasil ) ,' , with further details attached.'
|
|
) as hasil,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
DATE_FORMAT(`fn_get_date_sampling`(T_OrderDetailID), ' %W , %M %D %Y') AS tanggal,
|
|
|
|
DATE_FORMAT(T_OrderDetailValDate, '%M %D %Y') AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
CONCAT(M_TitleLangName ," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
`fn_get_nattest`(LetterOtherNat_TestID) as T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,M_PatientIDNumber ,
|
|
concat(ifnull(M_PatientPOB,""),", ",DATE_FORMAT(M_PatientDOB, "%d - %m - %Y") ) as ttl,M_SexNameLang as M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
concat(REPLACE(M_BranchName, "Pramita", ""), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName) , " Branch") as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Signed below on behalf of ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Clinical Laboratory, herewith stating that :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,
|
|
if ( LetterOtherT_TestSasCode = '10635000' , concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ", if(T_OrderDetailResult like '%non%', 'Non Reactive' , 'Reactive'),'</b>') ,
|
|
group_concat( concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ",
|
|
(case
|
|
when T_OrderDetailResult like 'reaktif%' then 'Reactive'
|
|
when T_OrderDetailResult like 'non reaktif%' then 'Non Reactive'
|
|
when T_OrderDetailResult like 'negatif%' then 'Negative'
|
|
when T_OrderDetailResult like 'positif%' then 'Positive'
|
|
else T_OrderDetailResult end)
|
|
,'</b>')
|
|
separator ' dan ')) as hasil ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Clinical Pathologist" ,"Physician") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%'
|
|
or LetterOtherT_TestSasCode like '%PN057810634900%' or LetterOtherT_TestSasCode like '%10813125%')
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID = PID and LetterOtherIsActive = 'Y' and T_OrderDetailValidation = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
Nat_TestShortName = 'Kesimpulan'
|
|
)
|
|
|
|
group by LetterOtherID) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_panel` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_panel`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
concat(
|
|
'Benar telah melakukan pemeriksaan ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' pada hari ' ,
|
|
tanggal,
|
|
' dengan hasil ' ,
|
|
hasil ,' , dengan data hasil pemeriksaan terlampir.'
|
|
) as hasil,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
CONCAT(
|
|
CASE DAYOFWEEK(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Minggu'
|
|
WHEN 2 THEN 'Senin'
|
|
WHEN 3 THEN 'Selasa'
|
|
WHEN 4 THEN 'Rabu'
|
|
WHEN 5 THEN 'Kamis'
|
|
WHEN 6 THEN 'Jumat'
|
|
WHEN 7 THEN 'Sabtu'
|
|
END,', ',
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(`fn_get_date_sampling`(T_OrderDetailID))
|
|
) AS tanggal,
|
|
|
|
CONCAT(
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(NOW())
|
|
) AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
`fn_get_nattest`(LetterOtherNat_TestID) as T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,M_PatientIDNumber ,
|
|
concat(ifnull(M_PatientPOB,""),", ",DATE_FORMAT(M_PatientDOB, "%d - %m - %Y") ) as ttl,M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
concat(REPLACE(M_BranchName, "Pramita", "Cabang"), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName )) as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Yang bertanda tangan dibawah ini, Laboratorium Klinik ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Menerangkan dengan sesungguhnya bahwa :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,
|
|
concat('<b>','SARS-CoV-2 (RT-PCR)', " " , T_OrderDetailResult,'</b>') as hasil ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Dokter Penanggung Jawab" ,"Dokter Pemeriksa") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID = PID and LetterOtherIsActive = 'Y' and T_OrderDetailT_TestSasCode = '108130500103'
|
|
|
|
group by LetterOtherID) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_pasport` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_pasport`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
concat(
|
|
'Benar telah melakukan pemeriksaan ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' pada hari ' ,
|
|
tanggal,
|
|
' dengan hasil ' ,
|
|
if((LetterOtherT_TestSasCode in ( '1063510001','10635500','1081300001','10813125' )) , concat('<b>',T_OrderDetailT_TestName , ' ' , T_OrderDetailResult, '</b>') ,hasil ) ,' , dengan data hasil pemeriksaan terlampir.'
|
|
) as hasil,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
CONCAT(
|
|
CASE DAYOFWEEK(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Minggu'
|
|
WHEN 2 THEN 'Senin'
|
|
WHEN 3 THEN 'Selasa'
|
|
WHEN 4 THEN 'Rabu'
|
|
WHEN 5 THEN 'Kamis'
|
|
WHEN 6 THEN 'Jumat'
|
|
WHEN 7 THEN 'Sabtu'
|
|
END,', ',
|
|
DAY(`fn_get_date_sampling`(T_OrderDetailID)),' ',
|
|
CASE MONTH(`fn_get_date_sampling`(T_OrderDetailID))
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(T_OrderHeaderDate)
|
|
) AS tanggal,
|
|
|
|
CONCAT(
|
|
DAY(T_OrderDetailValDate),' ',
|
|
CASE MONTH(T_OrderDetailValDate)
|
|
WHEN 1 THEN 'Januari'
|
|
WHEN 2 THEN 'Februari'
|
|
WHEN 3 THEN 'Maret'
|
|
WHEN 4 THEN 'April'
|
|
WHEN 5 THEN 'Mei'
|
|
WHEN 6 THEN 'Juni'
|
|
WHEN 7 THEN 'Juli'
|
|
WHEN 8 THEN 'Agustus'
|
|
WHEN 9 THEN 'September'
|
|
WHEN 10 THEN 'Oktober'
|
|
WHEN 11 THEN 'November'
|
|
WHEN 12 THEN 'Desember'
|
|
END,' ',
|
|
YEAR(NOW())
|
|
) AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
`fn_get_nattest`(LetterOtherNat_TestID) as T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,M_PatientIDNumber ,
|
|
concat(M_PatientPOB ,", ",DATE_FORMAT(M_PatientDOB, "%d - %m - %Y") ) as ttl,M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
concat(REPLACE(M_BranchName, "Pramita", "Cabang"), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName )) as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Yang bertanda tangan dibawah ini, Laboratorium Klinik ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Menerangkan dengan sesungguhnya bahwa :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,
|
|
if ( LetterOtherT_TestSasCode = '10635000' , concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ", if(T_OrderDetailResult like '%non%', 'Non Reaktif' , 'Reaktif'),'</b>') ,
|
|
group_concat( concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ",
|
|
(case
|
|
when T_OrderDetailResult like 'reaktif%' then 'Reaktif'
|
|
when T_OrderDetailResult like 'non reaktif%' then 'Non Reaktif'
|
|
else T_OrderDetailResult end)
|
|
,'</b>')
|
|
separator ' dan ')) as hasil ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Dokter Penanggung Jawab" ,"Dokter Pemeriksa") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%'
|
|
or LetterOtherT_TestSasCode like '%PN057810634900%' or LetterOtherT_TestSasCode like '%10813125%')
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID =PID and LetterOtherIsActive = 'Y' and T_OrderDetailValidation = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400','10635575','10813125','1081312505')
|
|
|
|
or
|
|
Nat_TestShortName = 'Kesimpulan'
|
|
)
|
|
|
|
group by LetterOtherID) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_sk_pasport_eng` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_sk_pasport_eng`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
tanggal,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
M_PatientName,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
M_PatientIDNumber ,
|
|
ttl,M_SexName,
|
|
M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
M_BranchName,
|
|
M_CityName ,
|
|
header ,
|
|
LetterOtherID ,
|
|
M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode,
|
|
Nat_TestName,
|
|
concat(
|
|
'Has undertook ',
|
|
'<b>',T_OrderDetailT_TestName, '</b>',
|
|
' on ' ,
|
|
tanggal,
|
|
' with the result of : ' ,
|
|
if((LetterOtherT_TestSasCode in ( '1063510001','10635500','1081300001' ,'10813125')) , concat('<b>',T_OrderDetailT_TestName , ' ' , T_OrderDetailResult, '</b>') ,hasil ) ,' , with further details attached.'
|
|
) as hasil,
|
|
concat(M_CityName,", ", tanggalnow) as tanggalnow ,
|
|
DokterPJ ,Dokter,qrcode
|
|
|
|
|
|
from
|
|
(
|
|
|
|
select
|
|
DATE_FORMAT(`fn_get_date_sampling`(T_OrderDetailID), ' %W , %M %D %Y') AS tanggal,
|
|
|
|
DATE_FORMAT(T_OrderDetailValDate, '%M %D %Y') AS tanggalnow,
|
|
LetterOtherPekerjaan,
|
|
LetterOtherNumber,
|
|
M_CompanyName,
|
|
T_OrderHeaderDate ,
|
|
T_OrderHeaderLabNumber ,
|
|
T_OrderHeaderLabNumberExt,
|
|
CONCAT(M_TitleLangName ," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
`fn_get_nattest`(LetterOtherNat_TestID) as T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,M_PatientIDNumber ,
|
|
concat(ifnull(M_PatientPOB,""),", ",DATE_FORMAT(M_PatientDOB, "%d - %m - %Y") ) as ttl,M_SexNameLang as M_SexName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_No_FormRev,
|
|
concat(REPLACE(M_BranchName, "Pramita", ""), " " ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName) , " Branch") as M_BranchName,
|
|
M_CityName ,
|
|
concat( 'Signed below on behalf of ' ,M_BranchName, ' ' ,if(M_CityName like SUBSTRING(M_BranchName, 9), '',M_CityName ), ' Clinical Laboratory, herewith stating that :') as header ,LetterOtherID ,M_PatientID ,
|
|
LetterOtherT_OrderHeaderID ,
|
|
LetterOtherNat_TestID,
|
|
LetterOtherT_TestSasCode, Nat_TestName,
|
|
if ( LetterOtherT_TestSasCode = '10635000' , concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ", if(T_OrderDetailResult like '%non%', 'Non Reactive' , 'Reactive'),'</b>') ,
|
|
group_concat( concat('<b>',if(Nat_TestShortName = 'Kesimpulan','SARS-CoV-2 (RT-PCR)', Nat_TestShortName)," ",
|
|
(case
|
|
when T_OrderDetailResult like 'reaktif%' then 'Reactive'
|
|
when T_OrderDetailResult like 'non reaktif%' then 'Non Reactive'
|
|
when T_OrderDetailResult like 'negatif%' then 'Negative'
|
|
when T_OrderDetailResult like 'positif%' then 'Positive'
|
|
else T_OrderDetailResult end)
|
|
,'</b>')
|
|
separator ' dan ')) as hasil ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3),
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3)) AS DokterPJ ,
|
|
|
|
if((LetterOtherM_DoctorID is null or LetterOtherM_DoctorID = '0') ,"Clinical Pathologist" ,"Phisician") AS Dokter,
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T") ) AS qrcode
|
|
from letter_other
|
|
left join t_orderheader on LetterOtherT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and (LetterOtherT_TestSasCode = T_OrderDetailT_TestSasCode or LetterOtherT_TestSasCode like '%1063490%' or LetterOtherT_TestSasCode like '%10635600%' or LetterOtherT_TestSasCode like '%10813050%' or LetterOtherT_TestSasCode like '%PN057810634900%' )
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON LetterOtherM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderPjM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
where LetterOtherID = PID and LetterOtherIsActive = 'Y' and T_OrderDetailValidation = 'Y'
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500108','10635600','1063560001','1063560002','10635200','10635400','10635550'
|
|
,'PN086610635400')
|
|
|
|
or
|
|
Nat_TestShortName = 'Kesimpulan'
|
|
)
|
|
|
|
group by LetterOtherID) as x $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_hasil_smwt` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_hasil_smwt`(IN `PID` int, IN `PLang` int, IN `username` varchar(100))
|
|
select T_OrderHeaderLabNumber as nolabasli,
|
|
DATE_FORMAT(NOW(), "%d-%m-%Y") AS Now,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
T_OrderHeaderM_PatientAge,
|
|
M_SexName,
|
|
DATE_FORMAT(T_OrderHeaderCreated, "%d-%m-%Y %T") AS T_OrderHeaderCreated,
|
|
CONCAT(fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PiID,
|
|
`fn_get_status_lunas`(T_OrderHeaderID) as status,
|
|
if( `fn_get_status_lunas`(T_OrderHeaderID) = 'N' , concat("<u>",fn_lookup_external(T_OrderHeaderLabNumber,'L'),"</u>"),fn_lookup_external(T_OrderHeaderLabNumber,'L')) as T_OrderHeaderLabNumber,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
|
|
M_PatientNoReg,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
M_TitleName,
|
|
M_PatientHP ,M_PatientPhone, M_PatientEmail,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) AS Barcode,
|
|
M_CompanyName,
|
|
S_SystemsCompanyName ,So_ResultEntryT_OrderDetailID,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
CONCAT(mm.M_DoctorPrefix," ",mm.M_DoctorName," ",mm.M_DoctorSufix," ",mm.M_DoctorSufix2," ",mm.M_DoctorSufix3) AS M_DoctorName,
|
|
CONCAT(m.M_DoctorPrefix," ",m.M_DoctorName," ",m.M_DoctorSufix," ",m.M_DoctorSufix2," ",m.M_DoctorSufix3) AS M_Doctorkirim,
|
|
T_TestName,
|
|
So_ResultentrySmwtID ,
|
|
So_ResultentrySmwtSo_ResultentryID,
|
|
So_ResultentrySmwtM_LangID ,
|
|
So_ResultentrySmwtWeight ,
|
|
So_ResultentrySmwtHeight,
|
|
So_ResultentrySmwtBMI ,
|
|
concat(So_ResultentrySmwtJarakPutaran,' ' , 'Meter') as So_ResultentrySmwtJarakPutaran ,
|
|
concat(So_ResultentrySmwtJumlahPutaran , ' ' , 'Putaran') as So_ResultentrySmwtJumlahPutaran ,
|
|
concat(So_ResultentrySmwtPreTensi ,' ' , 'mmHg') as So_ResultentrySmwtPreTensi ,
|
|
concat(So_ResultentrySmwtPreSPO2 ,' ' , '%') as So_ResultentrySmwtPreSPO2 ,
|
|
concat(So_ResultentrySmwtPreNadi ,' ' , 'x/menit') as So_ResultentrySmwtPreNadi ,
|
|
So_ResultentrySmwtPreDyspnea ,
|
|
So_ResultentrySmwtPreFatigue,
|
|
concat(So_ResultentrySmwtPostTensi ,' ' , 'mmHg') as So_ResultentrySmwtPostTensi ,
|
|
concat(So_ResultentrySmwtPostSPO2,' ' , '%') as So_ResultentrySmwtPostSPO2 ,
|
|
concat(So_ResultentrySmwtPostNadi ,' ' , 'x/menit') as So_ResultentrySmwtPostNadi ,
|
|
So_ResultentrySmwtPostDyspnea,
|
|
So_ResultentrySmwtPostFatigue ,
|
|
So_ResultentrySmwtVOMax ,
|
|
So_ResultentrySmwtKategoriKebugaran,
|
|
So_ResultentrySmwtDetailsWaktu,
|
|
So_ResultentrySmwtDetailsSPO2 ,
|
|
So_ResultentrySmwtDetailsNadi,
|
|
M_BranchName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription
|
|
|
|
|
|
from so_resultentry
|
|
left join t_orderheader on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
|
|
left join so_resultentry_smwt on So_ResultentrySmwtSo_ResultentryID = So_ResultentryID and So_ResultentrySmwtIsActive = 'Y'
|
|
left join so_resultentry_smwt_details on So_ResultentrySmwtDetailsSo_ResultentrySmwtID = So_ResultentrySmwtID and So_ResultentrySmwtDetailsIsActive = 'Y'
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_sex ON M_PatientM_SexID = M_SexID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID and M_CompanyIsActive = 'Y'
|
|
left join t_orderdetail on So_ResultEntryT_OrderDetailID = T_OrderDetailID and T_OrderDetailIsActive = 'Y'
|
|
left join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y'
|
|
left join t_samplingso on T_SamplingSoT_OrderHeaderID = T_OrderHeaderID and T_SamplingSoT_TestID = T_TestID
|
|
left join m_doctor mm ON T_SamplingSoM_DoctorID = mm.M_DoctorID and mm.M_DoctorIsActive = 'Y'
|
|
left join m_doctor m ON T_OrderHeaderSenderM_DoctorID = m.M_DoctorID and m.M_DoctorIsActive = 'Y'
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "FISIK"
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
where So_ResultEntryID = PID and So_ResultEntryM_LangID = PLang $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_klinik_001` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_klinik_001`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
orderID,
|
|
DATE_FORMAT(orderDate, "%d-%m-%Y %T") AS orderDate,
|
|
orderNumber,
|
|
fn_get_name(orderM_PatientID) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
CONCAT(orderAge," / ",M_SexCode) AS Umur,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
orderM_PatientID,
|
|
orderM_DoctorID,
|
|
orderIsLunas,
|
|
orderKeluhan,
|
|
orderDiagnosisAwal,
|
|
orderDiagnosisAkhir,
|
|
orderSubtotal,
|
|
orderDiscountAmount,
|
|
orderDiscountPercent,
|
|
orderDiscountTotal,
|
|
orderTotal,
|
|
|
|
IF(orderIsLunas= 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
fn_get_delivery_patient(orderID) as alamatkirim,
|
|
fn_get_staff(orderUserID) as M_UserUsername,
|
|
M_No_FormRev,
|
|
orderNumber AS PIiD,
|
|
S_SystemsCompanyName,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
if(fn_kirim_wa(orderID) = "" , "", concat("Kami menyetujui bahwa hasil pemeriksaan dikirim melalui media elektronik WhatsApp No." , fn_kirim_wa(orderID))) as WA
|
|
|
|
from one_klinik.order
|
|
left join m_patient ON orderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_doctor p ON orderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on orderUserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
where orderIsActive = 'Y' AND orderID = PID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_medis_001` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_medis_001`(IN `PID` int, IN `PLang` int, IN `username` varchar(100))
|
|
select
|
|
fn_get_name( orderM_PatientID) AS M_PatientName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = orderM_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
CONCAT(ifnull( M_DoctorPrefix,"")," ", M_DoctorName," ",ifnull( M_DoctorSufix,"")," ",ifnull( M_DoctorSufix2,"")," ",ifnull( M_DoctorSufix3,"")) AS M_DoctorName,
|
|
orderDate,
|
|
orderAge ,
|
|
orderNumber,
|
|
orderDoctorVitalSign,
|
|
orderDoctorReceipt,
|
|
concat(orderDoctorDiagnosePrimer," " ,orderDiagnoseIcd10Primary, " " ,orderDiagnoseIcd10PrimaryText) as orderDoctorDiagnosePrimer,
|
|
concat(orderDoctorDiagnoseSekunder," " ,orderDiagnoseIcd10Sekunder," " ,orderDiagnoseIcd10SekunderText ) as orderDoctorDiagnoseSekunder,
|
|
orderDoctorSaran,
|
|
orderKeluhan,
|
|
orderDiagnosisAwal,
|
|
orderDiagnosisAkhir ,
|
|
T_TestName,
|
|
concat(orderDiagnoseIcd10Primary, " " ,orderDiagnoseIcd10PrimaryText ) as primaryText,
|
|
concat(orderDiagnoseIcd10Sekunder," " ,orderDiagnoseIcd10SekunderText) as SekunderText,
|
|
orderDoctorMedic
|
|
|
|
|
|
from one_klinik.order
|
|
left join one_klinik.order_doctor on order.orderid = order_doctor.orderDoctorOrderID and order_doctor .orderDoctorType = "TEXT" and order_doctor.orderDoctorIsActive = "Y"
|
|
left join m_doctor ON order.orderM_DoctorID = M_DoctorID
|
|
left join one_klinik.order_penunjang ON order.orderid = order_penunjang .orderPenunjangOrderID and orderPenunjangIsActive = 'Y'
|
|
left join t_test on order_penunjang .orderPenunjangT_TestID = T_TestID
|
|
left join one_klinik.order_diagnose_icd10 on order_diagnose_icd10.orderDiagnoseIcd10OrderID = order.orderid and order_diagnose_icd10.orderDiagnoseIcd10IsActive = 'Y'
|
|
|
|
|
|
where
|
|
|
|
order.orderIsActive = "Y"
|
|
and order.OrderID = PID
|
|
and order.orderM_LanguageID = PLang $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_medis_002` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_medis_002`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
fn_get_name( orderM_PatientID) AS M_PatientName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = orderM_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
CONCAT(ifnull( M_DoctorPrefix,"")," ", M_DoctorName," ",ifnull( M_DoctorSufix,"")," ",ifnull( M_DoctorSufix2,"")," ",ifnull( M_DoctorSufix3,"")) AS M_DoctorName,
|
|
orderDate,
|
|
orderAge ,
|
|
orderNumber,
|
|
|
|
orderKeluhan,
|
|
orderDiagnosisAwal,
|
|
orderDiagnosisAkhir ,
|
|
T_TestName,T_TestSasCode
|
|
|
|
|
|
|
|
from one_klinik.order
|
|
left join m_doctor ON order.orderM_DoctorID = M_DoctorID
|
|
left join one_klinik.order_penunjang ON order.orderid = order_penunjang .orderPenunjangOrderID and orderPenunjangIsActive = 'Y'
|
|
left join t_test on order_penunjang .orderPenunjangT_TestID = T_TestID
|
|
|
|
|
|
where
|
|
|
|
order.orderIsActive = "Y"
|
|
and order.OrderID = PID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_m_doctor` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_m_doctor`(IN `PStaffID` int, IN `username` varchar(100))
|
|
select
|
|
M_DoctorID,
|
|
M_DoctorOldCode ,
|
|
M_DoctorCode,
|
|
M_DoctorM_BranchCode,
|
|
concat( M_DoctorPrefix,M_DoctorPrefix2, M_DoctorName,M_DoctorSufix,M_DoctorSufix2,M_DoctorSufix3) as doctor,
|
|
M_DoctorAddressNote,
|
|
|
|
group_concat(concat(M_DoctorAddressNote, ":" , M_DoctorAddressDescription )SEPARATOR '\\n') as M_DoctorAddressDescription ,
|
|
M_DoctorDOB,
|
|
M_SexName,
|
|
M_ReligionName,
|
|
M_DoctorEmail,
|
|
M_DoctorHP,
|
|
M_DoctorPhone,
|
|
M_DoctorNote,
|
|
M_SpecialistName,
|
|
Nat_StaffName,
|
|
M_KelurahanName,
|
|
M_DistrictName,
|
|
M_CityName,
|
|
if(M_DoctorIsMarketingConfirm = 'Y' , 'Sudah', 'Belum') as M_DoctorIsMarketingConfirm ,
|
|
M_DoctorM_SexID ,
|
|
M_DoctorM_ReligionID,
|
|
M_DoctorEmailIsDefault,
|
|
M_DoctorIsPJ,
|
|
M_DoctorIsDefaultPJ,
|
|
M_DoctorM_SpecialID,
|
|
M_DoctorIsClinic,
|
|
M_DoctorIsDefault,
|
|
M_DoctorIsDefaultMcu,
|
|
M_DoctorCreated,
|
|
M_DoctorLastUpdated,
|
|
M_DoctorIsActive,
|
|
M_DoctorReportCode,
|
|
M_DoctorPrivateRequest,
|
|
M_DoctorM_UserID,
|
|
M_DoctorM_StaffID,
|
|
M_DoctorM_StaffNIK,
|
|
|
|
M_DoctorIsUploaded,
|
|
M_DoctorM_SpecialistID
|
|
|
|
|
|
|
|
from m_doctor
|
|
left join m_doctoraddress on M_DoctorAddressM_DoctorID = M_DoctorID and M_DoctorAddressIsActive = 'Y'
|
|
left join m_sex on M_DoctorM_SexID = M_SexID
|
|
left join m_religion on M_DoctorM_ReligionID = M_ReligionID
|
|
left join nat_staff on M_DoctorM_StaffNIK = Nat_StaffNIK
|
|
left join m_specialist on M_DoctorM_SpecialistID = M_SpecialistID
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_DoctorAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
|
|
where M_DoctorIsActive = 'Y'
|
|
and (PStaffID= 0 or (PStaffID> 0 and Nat_StaffID = PStaffID))
|
|
group by M_DoctorCode
|
|
order by M_DoctorSufix,M_DoctorName $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_nl_005` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_nl_005`(IN `PStartDate` date, IN `PEndDate` date, IN `PPatientTypeID` int, IN `PMouID` int, IN `username` varchar(100))
|
|
select
|
|
M_CompanyName,M_MouName,M_MouID,M_CompanyID,
|
|
T_OrderHeaderDate ,
|
|
concat(right(ifnull(T_OrderHeaderAddOnLabNumberOrigin,''),2) , " " , T_OrderHeaderLabNumberExt) As T_OrderHeaderLabNumberExt,
|
|
T_OrderHeaderLabNumber ,
|
|
M_PatientName,
|
|
M_PatientIDNumber ,
|
|
M_PatientDOB,
|
|
T_OrderHeaderM_PatientAge,
|
|
M_SexName,
|
|
M_PatientLocation,
|
|
M_PatientHP,
|
|
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailResult,
|
|
T_OrderDetailT_TestSasCode as LetterOtherT_TestSasCode,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_PatientNIK ,
|
|
M_PatientJabatan ,
|
|
M_PatientKedudukan,
|
|
M_PatientPJ ,
|
|
M_PatientLocation ,
|
|
M_PatientJob,
|
|
substring_index(T_OrderHeaderFoNote,',',-1) as note,mm.M_BranchName as M_BranchName
|
|
|
|
from t_orderheader
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "SK"
|
|
left join m_branch m on M_BranchIsDefault = 'Y'
|
|
left join m_city on M_BranchM_CityID = M_CityID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
left join t_test on T_OrderDetailT_TestID = T_TestID
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join m_mou on T_OrderHeaderM_MouID= M_MouID
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderAddOnIsActive = 'Y'
|
|
left join t_ref_deliveryorder_detail on T_RefDeliveryOrderDetailT_OrderHeaderID = T_OrderHeaderID and T_RefDeliveryOrderDetailIsActive = 'Y'
|
|
left join t_ref_deliveryorder on T_RefDeliveryOrderDetailT_RefDeliveryOrderID = T_RefDeliveryOrderID and T_RefDeliveryOrderDetailIsActive = 'Y'
|
|
LEFT JOIN m_branch mm ON T_RefDeliveryOrderM_DestinationID = mm.M_BranchID AND mm.M_BranchIsActive = 'Y'
|
|
|
|
where T_OrderHeaderIsActive = 'Y'
|
|
and date(T_OrderHeaderDate) between PStartDate and PEndDate
|
|
and (PPatientTypeID= 0 or (PPatientTypeID> 0 and M_CompanyID = PPatientTypeID))
|
|
and (PMouID= 0 or (PMouID > 0 and M_MouID= PMouID))
|
|
and ( SUBSTRING(T_OrderDetailT_TestSasCode , 7,20)
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000','10635550',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500101','108130500102','108130500103','108130500104','108130500105',
|
|
'108130500106','108130500107','10635600','1063560001','1063560002','10635200','10635400','108130500108'
|
|
,'PN086610635400')
|
|
|
|
or
|
|
|
|
T_OrderDetailT_TestSasCode
|
|
in ('10634900','1063490001','PN05781063490001','PN05781063490002','1063490002','10635000','10635550',
|
|
'1063510001','10813100','1081300001','10813050','10635500','1063590001',
|
|
'108130500101','108130500102','108130500103','108130500104','108130500105',
|
|
'108130500106','108130500107','10635600','1063560001','1063560002','10635200','10635400','108130500108'
|
|
,'PN086610635400')
|
|
|
|
or
|
|
Nat_TestShortName = 'Kesimpulan'
|
|
) $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_pajak_001` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_pajak_001`(IN `PStartDate` date, IN `PEndDate` date, IN `username` varchar(100))
|
|
select
|
|
"08" as KodePajak,
|
|
"BIAYA MEDICAL CHECK UP" as Pemeriksaan,
|
|
REPLACE(sysFaktur08NoEfaktur, ".", "") as sysFaktur08NoEfaktur,
|
|
sysFaktur08Amount,
|
|
month(T_OrderHeaderDate) as Bulan ,
|
|
Year(T_OrderHeaderDate) as Tahun,
|
|
date_format(T_OrderHeaderDate , "%d/%m/%Y" ) as tanggal,
|
|
concat(M_PatientIDNumber,"#NIK","#NAMA#",M_PatientName) as pasien,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID and M_PatientAddressIsActive = 'Y'
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription
|
|
|
|
|
|
from sys_faktur_08
|
|
join t_orderheader on sysFaktur08T_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
|
|
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
|
|
where sysFaktur08IsActive = 'Y'
|
|
and date(T_OrderHeaderDate) between PStartDate and PEndDate $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_pm_001` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_pm_001`(IN `PID` int, IN `username` varchar(100))
|
|
BEGIN
|
|
|
|
SELECT DISTINCT
|
|
DATE_FORMAT(now(), '%d-%m-%Y %T') AS DATENOW,
|
|
M_PatientNoReg,
|
|
concat(M_TitleName,' ',M_PatientName) AS M_PatientName,
|
|
concat(TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()), ' Tahun / ', M_SexCode) AS Umur,
|
|
MemberPaymentNumber,
|
|
IF(MemberPaymentNote = '' , ' ',CONCAT( 'No: ',MemberPaymentNote)) AS MemberPaymentNote,
|
|
MemberPaymentTotal,
|
|
|
|
(SELECT concat(M_PatientAddressDescription,' ',M_KelurahanName,' ',M_DistrictName,' ',M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
MemberPaymentDetailAmount,
|
|
IF(MemberPaymentDetailActual = '0' ,MemberPaymentDetailAmount,MemberPaymentDetailActual) AS MemberPaymentDetailActual ,
|
|
MemberPaymentDetailChange,
|
|
MemberNote,
|
|
MemberNumber,
|
|
MemberM_BrachCode,
|
|
MemberNIK,
|
|
CASE
|
|
WHEN MemberTransactionType = 'N' THEN 'Baru'
|
|
WHEN MemberTransactionType = 'E' THEN 'Perpanjangan'
|
|
WHEN MemberTransactionType = 'O' THEN 'Member lama'
|
|
ELSE ''
|
|
END AS MemberTransactionType,
|
|
MemberTransactionType as MemberTransactionTypeCode,
|
|
MemberType,
|
|
DATE_FORMAT(MemberStartDate, '%d-%m-%Y') AS MemberStartDate,
|
|
DATE_FORMAT(MemberEndDate, '%d-%m-%Y') AS MemberEndDate,
|
|
MemberDateCountVisit,
|
|
MemberDateCountPoint,
|
|
M_PaymentTypeName,
|
|
if(MemberPaymentDetailCardNat_BankID = '0' , '', concat('Kartu: ',b.Nat_BankName)) as bank,
|
|
if(MemberPaymentDetailEDCNat_BankID = '0' , '', concat('EDC: ',bb.Nat_BankName)) as EDC,
|
|
concat(M_PaymentTypeName ,' ',
|
|
if(MemberPaymentDetailCardNat_BankID = '0' , '', concat('Kartu: ',b.Nat_BankName)),' ',
|
|
if(MemberPaymentDetailEDCNat_BankID = '0' , '', concat('EDC: ',bb.Nat_BankName)),' ',
|
|
if(MemberPaymentDetailM_BankAccountID = '0' , '', concat('No: ',concat(bbb.Nat_BankName,'/',M_BankAccountNo)))
|
|
) as aaa,
|
|
fn_get_staff(MemberPaymentUserID) AS M_UserUsername,
|
|
S_SystemsCompanyName,
|
|
S_SystemsEmailAddress,
|
|
S_SystemsCompanyCity,
|
|
(SELECT Member_EligibleDescription
|
|
FROM member_eligible WHERE Member_EligibleM_PatientID = M_PatientID
|
|
ORDER BY Member_EligibleID DESC
|
|
LIMIT 1) AS Member_EligibleDescription,
|
|
(SELECT Member_EligibleID
|
|
FROM member_eligible WHERE Member_EligibleM_PatientID = M_PatientID
|
|
ORDER BY Member_EligibleID DESC
|
|
LIMIT 1) AS flag_member
|
|
|
|
FROM one_pointreward.member_payment
|
|
LEFT JOIN one_pointreward.member_paymentdetail ON MemberPaymentDetailMemberPaymentID = MemberPaymentID AND MemberPaymentDetailIsActive = 'Y'
|
|
LEFT JOIN m_paymenttype ON MemberPaymentDetailM_PaymentTypeID = M_PaymentTypeID AND M_PaymentTypeIsActive = 'Y'
|
|
LEFT JOIN nat_bank b ON MemberPaymentDetailCardNat_BankID = b.Nat_BankID
|
|
LEFT JOIN nat_bank bb ON MemberPaymentDetailEDCNat_BankID = bb.Nat_BankID
|
|
LEFT JOIN m_bank_account ON MemberPaymentDetailM_BankAccountID = M_BankAccountID
|
|
LEFT JOIN nat_bank bbb ON M_BankAccountNat_BankID = bbb.Nat_BankID
|
|
LEFT JOIN one_pointreward.member ON MemberPaymentMemberID = MemberID AND (MemberIsActive = 'Y' OR MemberIsActive = 'P')
|
|
LEFT JOIN m_patient ON MemberM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
LEFT JOIN m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
LEFT JOIN m_user on MemberPaymentUserID = M_UserID
|
|
LEFT JOIN conf_systems on S_SystemsID > 0
|
|
WHERE MemberPaymentIsActive = 'Y'
|
|
AND MemberPaymentMemberID = PID;
|
|
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_p_001` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_p_001`(IN `PID` int, IN `username` varchar(100))
|
|
BEGIN
|
|
|
|
select PaymentOrderID into @oid
|
|
from
|
|
one_klinik.payment
|
|
where
|
|
PaymentID = PID AND PaymentIsActive = 'Y';
|
|
|
|
select ifnull(sum(PaymentTotal),0) into @amountotherinvoice
|
|
from
|
|
one_klinik.payment
|
|
WHERE
|
|
PaymentOrderID = @oid AND PaymentIsActive = 'Y' AND PaymentID < PID;
|
|
|
|
select distinct
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
orderID,
|
|
DATE_FORMAT(orderDate, "%d-%m-%Y %T") AS orderDate,
|
|
orderNumber,
|
|
fn_get_name(orderM_PatientID) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
CONCAT(orderAge," / ",M_SexCode) AS Umur,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
orderM_PatientID,
|
|
orderM_DoctorID,
|
|
orderIsLunas,
|
|
orderKeluhan,
|
|
orderDiagnosisAwal,
|
|
orderDiagnosisAkhir,
|
|
orderSubtotal,
|
|
orderDiscountAmount,
|
|
orderDiscountPercent,
|
|
orderDiscountTotal,
|
|
orderTotal,
|
|
DATE_FORMAT(PaymentDate, "%d-%m-%Y") AS PaymentDate,
|
|
PaymentID,
|
|
PaymentOrderID,
|
|
PaymentNumber,
|
|
PaymentNote,
|
|
PaymentTotal,
|
|
PaymentIsPosted,
|
|
IF(orderIsLunas= 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
fn_get_delivery_patient(orderID) as alamatkirim,
|
|
ifnull(fn_get_potongan(orderID, PaymentID),0) as administasi,
|
|
fn_get_staff(PaymentM_UserID) as M_UserUsername,
|
|
M_No_FormRev,
|
|
orderNumber AS PIiD,
|
|
S_SystemsCompanyName,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
(orderTotal-ifnull(@amountotherinvoice,0)-PaymentTotal) as kurangbayar,
|
|
if(fn_kirim_wa(orderID) = "" , "", concat("Kami menyetujui bahwa hasil pemeriksaan dikirim melalui media elektronik WhatsApp No." , fn_kirim_wa(orderID))) as WA
|
|
|
|
from one_klinik.order
|
|
left join one_klinik.payment on PaymentOrderID = orderID and PaymentIsActive = 'Y'
|
|
left join m_patient ON orderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_doctor p ON orderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on PaymentM_UserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
where orderIsActive = 'Y' AND PaymentID = PID;
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_resep_001` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_resep_001`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
fn_get_name( orderM_PatientID) AS M_PatientName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = orderM_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
CONCAT(ifnull( M_DoctorPrefix,"")," ", M_DoctorName," ",ifnull( M_DoctorSufix,"")," ",ifnull( M_DoctorSufix2,"")," ",ifnull( M_DoctorSufix3,"")) AS M_DoctorName,
|
|
orderDate,
|
|
orderAge ,
|
|
orderNumber,
|
|
orderDoctorVitalSign,
|
|
orderDoctorReceipt,
|
|
orderDoctorDiagnosePrimer,
|
|
orderDoctorDiagnoseSekunder,
|
|
orderDoctorSaran,
|
|
orderKeluhan,
|
|
orderDiagnosisAwal,
|
|
orderDiagnosisAkhir
|
|
|
|
|
|
from one_klinik.order_doctor
|
|
join one_klinik.order on order.orderid = order_doctor.orderDoctorOrderID
|
|
left join m_doctor ON order.orderM_DoctorID = M_DoctorID
|
|
|
|
|
|
where
|
|
order_doctor .orderDoctorType = "TEXT"
|
|
and order_doctor.orderDoctorIsActive = "Y"
|
|
and order.orderIsActive = "Y"
|
|
and order.OrderID = PID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_015` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_015`(IN `PStartDate` date, IN `PEndDate` date, IN `username` varchar(100))
|
|
begin
|
|
|
|
|
|
select
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
T_OrderHeaderID as id,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS tglorder,
|
|
fn_numbering_external(T_OrderHeaderLabNumber) as labx,
|
|
CONCAT(fn_numbering_external(T_OrderHeaderLabNumber)," / ",M_PatientNoReg) AS PIiD,
|
|
CONCAT(M_TitleName," ",M_PatientName) AS M_PatientName,
|
|
T_OrderHeaderLabNumber,
|
|
M_PatientNoReg ,
|
|
M_SexName,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_MouName,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
|
|
T_OrderHeaderTotal,
|
|
T_TestCode , group_concat( distinct T_TestName) as pemeriksaan,
|
|
|
|
CONCAT(`f_terbilang`(T_OrderHeaderTotal),"", "Rupiah") AS terbilang,
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity ,M_UserUsername
|
|
|
|
|
|
|
|
from t_orderheader
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_user on T_OrderHeaderUserID = M_UserID
|
|
|
|
|
|
|
|
where
|
|
DATE(T_OrderHeaderDate) between PStartDate and PEndDate
|
|
and
|
|
T_OrderHeaderIsActive = 'Y' and T_OrderDetailIsActive = 'Y' and
|
|
( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
and
|
|
(
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
and
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
or
|
|
T_PacketIsNota = 'Y'
|
|
)
|
|
)
|
|
or
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
and
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
)
|
|
)
|
|
group by T_OrderHeaderID
|
|
order by T_OrderHeaderID
|
|
|
|
;
|
|
end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_046` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_046`(IN `PStartDate` date, IN `PEndDate` date, IN `username` varchar(100))
|
|
select
|
|
T_OrderHeaderID ,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT(M_TitleName," ",M_PatientName) AS M_PatientName,
|
|
M_PatientNoReg,
|
|
GROUP_CONCAT(distinct M_MouName SEPARATOR ',') as MOU ,
|
|
M_CompanyName,
|
|
M_SexName,
|
|
M_PatientPOB,
|
|
M_PatientDOB,
|
|
T_OrderHeaderM_PatientAge,
|
|
M_ReligionName,
|
|
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_KelurahanName,
|
|
M_DistrictName,
|
|
M_CityName,
|
|
M_PatientAddressPostCodeID,
|
|
M_PatientPhone ,
|
|
M_PatientHP ,
|
|
M_PatientEmail,
|
|
count(distinct T_OrderHeaderID) as jmlpemeriksaan,
|
|
sum(distinct T_OrderHeaderTotal) as jmlorder ,
|
|
M_ReferenceName
|
|
|
|
from t_orderheader
|
|
join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_religion ON M_PatientM_ReligionID = M_ReligionID
|
|
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
join m_mou on T_OrderHeaderM_MouID = M_MouID
|
|
join m_omzettype on M_MouM_OmzetTypeID = M_OmzetTypeID
|
|
left join m_user on T_OrderHeaderUserID = M_UserID
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
join m_patientaddress mm on mm.M_PatientAddressM_PatientID = M_PatientID
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
left join t_orderreference ON T_OrderreferenceT_OrderheaderID = T_OrderheaderID
|
|
left join m_reference ON M_ReferenceID = T_OrderreferenceM_ReferenceID
|
|
|
|
where T_OrderHeaderIsActive = 'Y'
|
|
and date(T_OrderHeaderDate) between PStartDate and PEndDate
|
|
|
|
group by M_PatientID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_047` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_047`(IN `PStartDate` date, IN `PEndDate` date, IN `username` varchar(100))
|
|
select
|
|
DATE_FORMAT(M_PatientCreated, "%d-%m-%Y") AS M_PatientCreated,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_PatientName,
|
|
M_SexName,
|
|
M_ReligionName,
|
|
M_PatientPOB,
|
|
M_CompanyName,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
'' as realdob,
|
|
'' as alive ,
|
|
'' as location,
|
|
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CityName,
|
|
M_PatientAddressPostCodeID,
|
|
M_PatientPhone ,
|
|
M_PatientHP ,
|
|
M_PatientEmail,
|
|
M_KelurahanName,
|
|
M_DistrictName
|
|
|
|
|
|
from m_patient
|
|
join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
join t_orderheader on T_OrderHeaderM_PatientID = M_PatientID
|
|
join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
|
left join m_patientaddress mm on mm.M_PatientAddressM_PatientID = M_PatientID
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
where date(M_PatientCreated) between PStartDate and PEndDate
|
|
AND M_PatientIsActive = 'Y' and T_OrderHeaderAddOnLabNumberOrigin is null
|
|
|
|
group by M_PatientID
|
|
order by M_PatientCreated $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_077` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_077`(IN `PStartDate` date, IN `PEndDate` date, IN `PPatientTypeID` int, IN `username` varchar(100))
|
|
select
|
|
|
|
T_OrderHeaderLabNumberExt as noex,
|
|
T_OrderHeaderLabNumber as noIn,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
T_OrderHeaderAddOnLabNumberOrigin as noLabAsli,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y") AS T_OrderHeaderDate,
|
|
M_PatientIDNumber,
|
|
M_PatientNIK,
|
|
M_PatientDOB,
|
|
M_SexName,
|
|
M_PatientHP,
|
|
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
(SELECT M_ProvinceName from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS propinsi,
|
|
|
|
(SELECT M_CityName from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS kota,
|
|
|
|
(SELECT M_DistrictName from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS kecamatan,
|
|
|
|
(SELECT M_KelurahanName from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS kelurahan,
|
|
concat(T_OrderSampleSamplingDate ," " , T_OrderSampleSamplingTime ) as sampling,
|
|
`fn_get_suratjalan`(T_OrderDetailID) as suratjalan,
|
|
concat(T_OrderSampleReceiveDate, " " , T_OrderSampleReceiveTime ) as receive ,
|
|
T_OrderDetailT_TestID as testid,
|
|
T_OrderDetailT_TestName as testname,
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (T_OrderSampleReceive= 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
when T_OrderDetailVerification = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(concat("",T_OrderDetailNote),""))
|
|
)) end) )
|
|
as T_OrderDetailResult,
|
|
if(T_OrderDetailResultFlag = "*" ,'H' , '' ) as flag,
|
|
T_OrderDetailVerDate,
|
|
T_OrderDetailNat_MethodeID as metodeid,
|
|
T_OrderdetailNat_MethodeName as metodename,
|
|
Nat_GroupID,
|
|
Nat_GroupName,
|
|
concat(T_OrderDetailNormalValueNote , " " , ifnull(T_OrderDetailNormalValueDescription,'')) as normalvalue,
|
|
M_CompanyName,M_CompanyID
|
|
|
|
|
|
|
|
from t_orderheader
|
|
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID and T_OrderDetailIsActive = 'Y' and T_OrderDetailT_TestIsResult = 'Y'
|
|
join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_unit on T_OrderDetailNat_UnitID = Nat_UnitID and Nat_UnitIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
left join nat_group on T_TestNat_GroupID = Nat_GroupID
|
|
left JOIN m_company ON T_OrderHeaderM_CompanyID = M_CompanyID
|
|
|
|
|
|
where T_OrderHeaderIsActive = 'Y'
|
|
and date(T_OrderHeaderDate) between PStartDate and PEndDate
|
|
|
|
and (PPatientTypeID= 0 or (PPatientTypeID> 0 and M_CompanyID = PPatientTypeID))
|
|
order by T_OrderHeaderID ,T_OrderDetailID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_086` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_086`(IN `PStartDate` date, IN `PEndDate` date, IN `username` varchar(100))
|
|
select *
|
|
|
|
from (
|
|
|
|
select
|
|
fn_get_name( FutureOrderM_PatientID) AS M_PatientName,
|
|
|
|
DATE_FORMAT(FutureOrderCreated , "%d-%m-%Y") AS FutureOrderCreated ,
|
|
FutureOrderNumber ,
|
|
M_PatientNoReg ,
|
|
DATE_FORMAT(FutureOrderDateBooking, "%d-%m-%Y") AS bookingdate,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_MouName,
|
|
DATE_FORMAT(FutureDownpaymentF_PaymentDate , "%d-%m-%Y") as FutureDownpaymentF_PaymentDate ,
|
|
FutureDownpaymentNumber,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
if(Future_OrderDetailIsPacket = 'Y' ,
|
|
CONCAT(T_PacketName,"(",`fn_get_test_packet`(T_PacketID),")" )
|
|
,group_concat(T_TestName separator ",") ) as test,
|
|
FutureOrderTotal,
|
|
FutureDownpaymentTotal,
|
|
|
|
|
|
FutureDownpaymentDetailAmount,
|
|
|
|
Future_OrderDetailPrice , Future_OrderDetailDiscTotal, Future_OrderDetailTotal,
|
|
|
|
ifnull(M_PaymentTypeName,"") as M_PaymentTypeName,
|
|
ifnull(Nat_BankName,"") as Nat_BankName,
|
|
ifnull(M_BankAccountNo,"") as M_BankAccountNo,
|
|
if(FutureDownpaymentUserID is null , '',`fn_get_staff`(FutureDownpaymentUserID)) as M_UserUsername
|
|
|
|
|
|
from future_order
|
|
left join future_downpayment ON FutureDownpaymentFutureOrderID = FutureOrderID AND FutureDownpaymentIsActive = 'Y'
|
|
left join future_orderdetail on Future_OrderDetailFutureOrderID = FutureOrderID and Future_OrderDetailIsActive = 'Y'
|
|
left join m_patient ON FutureOrderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON FutureOrderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON FutureOrderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON FutureOrderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join t_test ON Future_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on FutureDownpaymentUserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_packet on Future_OrderDetailT_TestID = T_PacketID and T_PacketIsActive = 'Y'
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join future_downpayment_detail on FutureDownpaymentDetailFutureDownpaymentID = FutureDownpaymentID
|
|
left join m_paymenttype ON FutureDownpaymentDetailM_PaymentTypeID = M_PaymentTypeID
|
|
left join m_bank_account on FutureDownpaymentDetailM_BankAccountID = M_BankAccountID
|
|
left join nat_bank on M_BankAccountNat_BankID = Nat_BankID
|
|
|
|
where FutureOrderIsActive = 'Y'
|
|
and date(FutureOrderCreated) between PStartDate and PEndDate
|
|
|
|
group by FutureOrderID , FutureDownpaymentID, FutureDownpaymentDetailID
|
|
|
|
|
|
union all
|
|
|
|
select
|
|
fn_get_name( FutureOrderM_PatientID) AS M_PatientName,
|
|
|
|
DATE_FORMAT(FutureOrderCreated , "%d-%m-%Y") AS FutureOrderCreated ,
|
|
FutureOrderNumber ,
|
|
M_PatientNoReg ,
|
|
DATE_FORMAT(FutureOrderDateBooking, "%d-%m-%Y") AS bookingdate,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_MouName,
|
|
DATE_FORMAT(F_PaymentDate, "%d-%m-%Y") as FutureDownpaymentF_PaymentDate ,
|
|
F_PaymentNumber as FutureDownpaymentNumber,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
'' as test,
|
|
FutureOrderTotal,
|
|
F_PaymentTotal as FutureDownpaymentTotal,
|
|
|
|
|
|
F_PaymentDetailAmount as FutureDownpaymentDetailAmount,
|
|
|
|
'' as Future_OrderDetailPrice ,
|
|
'' as Future_OrderDetailDiscTotal,
|
|
'' as Future_OrderDetailTotal,
|
|
|
|
ifnull(M_PaymentTypeName,"") as M_PaymentTypeName,
|
|
ifnull(Nat_BankName,"") as Nat_BankName,
|
|
ifnull(M_BankAccountNo,"") as M_BankAccountNo,
|
|
if(F_PaymentM_UserID is null , '',`fn_get_staff`(F_PaymentM_UserID)) as M_UserUsername
|
|
|
|
|
|
|
|
from future_order
|
|
left join future_map on FutureMapFutureOrderID = FutureOrderID
|
|
left join t_orderheader on FutureMapT_OrderHeaderID = T_OrderHeaderID
|
|
left join f_payment on F_PaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join f_paymentdetail on F_PaymentDetailF_PaymentID = F_PaymentID
|
|
left join m_paymenttype ON F_PaymentDetailM_PaymentTypeID = M_PaymentTypeID and M_PaymentTypeIsActive = 'Y'
|
|
left join m_bank_account on F_PaymentDetailM_BankAccountID = M_BankAccountID
|
|
left join nat_bank on M_BankAccountNat_BankID = Nat_BankID
|
|
|
|
left join m_patient ON FutureOrderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON FutureOrderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON FutureOrderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON FutureOrderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
|
|
|
|
where FutureOrderIsActive = 'Y'
|
|
and date(FutureOrderCreated) between PStartDate and PEndDate and M_PaymentTypeID <> '10'
|
|
group by T_OrderHeaderID,F_PaymentID
|
|
) as xx
|
|
|
|
order by FutureOrderNumber $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_087` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_087`(IN `PStartDate` date, IN `PEndDate` date, IN `username` varchar(100))
|
|
select
|
|
FutureOrderID ,
|
|
M_PatientName ,
|
|
FutureOrderCreated ,
|
|
FutureOrderNumber,
|
|
M_PatientNoReg, bookingdate,
|
|
M_PatientAddressDescription,
|
|
M_CompanyName,
|
|
M_MouName,
|
|
FutureDownpaymentF_PaymentDate ,
|
|
FutureDownpaymentNumber ,
|
|
M_DoctorName,
|
|
test ,
|
|
FutureOrderTotal ,
|
|
sum(payment) as payment,
|
|
FutureOrderTotal - sum(payment) as piutang ,
|
|
status ,
|
|
M_UserUsername
|
|
|
|
from
|
|
(
|
|
select FutureOrderID ,
|
|
fn_get_name( FutureOrderM_PatientID) AS M_PatientName,
|
|
|
|
DATE_FORMAT(FutureOrderCreated , "%d-%m-%Y") AS FutureOrderCreated ,
|
|
FutureOrderNumber ,
|
|
M_PatientNoReg ,
|
|
DATE_FORMAT(FutureOrderDateBooking, "%d-%m-%Y") AS bookingdate,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_MouName,
|
|
DATE_FORMAT(FutureDownpaymentF_PaymentDate , "%d-%m-%Y") as FutureDownpaymentF_PaymentDate ,
|
|
FutureDownpaymentNumber,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
if(Future_OrderDetailIsPacket = 'Y' ,
|
|
CONCAT(T_PacketName,"(",`fn_get_test_packet`(T_PacketID),")" )
|
|
,group_concat(T_TestName separator ",") ) as test,
|
|
FutureOrderTotal,
|
|
sum(distinct FutureDownpaymentTotal) as payment,
|
|
|
|
FutureOrderTotal - sum(distinct ifnull(FutureDownpaymentTotal,"0")) as piutang,
|
|
if( FutureOrderTotal < sum(distinct ifnull(FutureDownpaymentTotal,"0")) , "LUNAS" , "BELUM LUNAS") as status ,
|
|
|
|
if(FutureDownpaymentUserID is null , '',`fn_get_staff`(FutureDownpaymentUserID)) as M_UserUsername
|
|
|
|
|
|
from future_order
|
|
left join future_downpayment ON FutureDownpaymentFutureOrderID = FutureOrderID AND FutureDownpaymentIsActive = 'Y'
|
|
left join future_orderdetail on Future_OrderDetailFutureOrderID = FutureOrderID and Future_OrderDetailIsActive = 'Y'
|
|
left join m_patient ON FutureOrderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON FutureOrderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON FutureOrderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON FutureOrderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join t_test ON Future_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on FutureDownpaymentUserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_packet on Future_OrderDetailT_TestID = T_PacketID and T_PacketIsActive = 'Y'
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
|
|
|
|
where FutureOrderIsActive = 'Y'
|
|
and date(FutureOrderDateBooking) between PStartDate and PEndDate
|
|
|
|
group by FutureOrderID
|
|
|
|
union all
|
|
select FutureOrderID ,
|
|
fn_get_name( FutureOrderM_PatientID) AS M_PatientName,
|
|
|
|
DATE_FORMAT(FutureOrderCreated , "%d-%m-%Y") AS FutureOrderCreated ,
|
|
FutureOrderNumber ,
|
|
M_PatientNoReg ,
|
|
DATE_FORMAT(FutureOrderDateBooking, "%d-%m-%Y") AS bookingdate,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_MouName,
|
|
DATE_FORMAT(F_PaymentDate, "%d-%m-%Y") as FutureDownpaymentF_PaymentDate ,
|
|
F_PaymentNumber as FutureDownpaymentNumber,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
'' as test,
|
|
FutureOrderTotal,
|
|
sum(F_PaymentTotal) as payment,
|
|
|
|
FutureOrderTotal - sum(ifnull(F_PaymentTotal,"0")) as piutang,
|
|
if( FutureOrderTotal < sum(ifnull(F_PaymentTotal,"0")) , "LUNAS" , "BELUM LUNAS") as status ,
|
|
|
|
if(F_PaymentM_UserID is null , '',`fn_get_staff`(F_PaymentM_UserID)) as M_UserUsername
|
|
|
|
|
|
from future_order
|
|
left join future_map on FutureMapFutureOrderID = FutureOrderID
|
|
left join t_orderheader on FutureMapT_OrderHeaderID = T_OrderHeaderID
|
|
left join f_payment on F_PaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join f_paymentdetail on F_PaymentDetailF_PaymentID = F_PaymentID
|
|
left join m_patient ON FutureOrderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON FutureOrderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON FutureOrderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON FutureOrderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
|
|
|
|
where FutureOrderIsActive = 'Y'
|
|
and date(FutureOrderDateBooking) between PStartDate and PEndDate
|
|
and F_PaymentDetailM_PaymentTypeID <> '10'
|
|
group by FutureOrderID
|
|
) as xx group by FutureOrderID
|
|
order by bookingdate $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_088` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_088`(IN `PStartDate` date, IN `PEndDate` date, IN `username` varchar(100))
|
|
select
|
|
fn_get_name( FutureOrderM_PatientID) AS M_PatientName,
|
|
|
|
DATE_FORMAT(FutureOrderCreated , "%d-%m-%Y") AS FutureOrderCreated ,
|
|
FutureOrderNumber ,
|
|
M_PatientNoReg ,
|
|
DATE_FORMAT(FutureOrderDateBooking, "%d-%m-%Y") AS bookingdate,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_MouName,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
if(Future_OrderDetailIsPacket = 'Y' ,
|
|
CONCAT(T_PacketName,"(",`fn_get_test_packet`(T_PacketID),")" )
|
|
,group_concat(T_TestName separator ",") ) as test,
|
|
FutureOrderTotal,
|
|
if(FutureOrderUserID is null , '',`fn_get_staff`(FutureOrderUserID)) as M_UserUsername
|
|
|
|
|
|
from future_order
|
|
left join future_orderdetail on Future_OrderDetailFutureOrderID = FutureOrderID and Future_OrderDetailIsActive = 'N'
|
|
left join m_patient ON FutureOrderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON FutureOrderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON FutureOrderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON FutureOrderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join t_test ON Future_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_packet on Future_OrderDetailT_TestID = T_PacketID and T_PacketIsActive = 'Y'
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
|
|
|
|
where FutureOrderIsActive = 'N'
|
|
and date(FutureOrderCreated) between PStartDate and PEndDate
|
|
|
|
|
|
group by FutureOrderID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_scanning_klinik` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_scanning_klinik`(IN `PID` int, IN `PLang` int, IN `username` varchar(100))
|
|
select
|
|
fn_get_name( orderM_PatientID) AS M_PatientName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = orderM_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
CONCAT(ifnull( M_DoctorPrefix,"")," ", M_DoctorName," ",ifnull( M_DoctorSufix,"")," ",ifnull( M_DoctorSufix2,"")," ",ifnull( M_DoctorSufix3,"")) AS M_DoctorName,
|
|
orderDate,
|
|
orderAge ,
|
|
orderNumber,
|
|
|
|
orderScreeningKesanUmum ,
|
|
a.ScreeningParameterType as TypeKesadaran ,
|
|
a.ScreeningParameterDisplay as DisplayKesadaran,
|
|
orderScreeningValueKesadaran,
|
|
|
|
b.ScreeningParameterType as TypePernafasan ,
|
|
b.ScreeningParameterDisplay as DisplayPernafasan ,
|
|
orderScreeningValuePernafasan ,
|
|
|
|
c.ScreeningParameterType as TypeJatuh,
|
|
c.ScreeningParameterDisplay as DisplayJatuh,
|
|
orderScreeningValueResikoJatuh,
|
|
|
|
d.ScreeningParameterType as TypeDada ,
|
|
d.ScreeningParameterDisplay as DisplayDada ,
|
|
orderScreeningValueNyeriDada ,
|
|
|
|
e.ScreeningParameterType as TypeNyeri,
|
|
e.ScreeningParameterDisplay as DisplayNyeri,
|
|
orderScreeningValueSkalaNyeri,
|
|
|
|
f.ScreeningParameterType as TypeBatuk,
|
|
f.ScreeningParameterDisplay as DisplayBatuk,
|
|
orderScreeningValueBatuk,
|
|
|
|
g.ScreeningParameterType as TypeKeputusan ,
|
|
g.ScreeningParameterDisplay as DisplayKeputusan ,
|
|
orderScreeningValueKeputusan ,
|
|
M_SexCode ,m_sexname, M_SexNameLang,
|
|
concat(S_SystemsCompanyCityFooter,", ",DATE_FORMAT(now(), "%d-%m-%Y ")) as hariini,
|
|
`fn_getstaffname`(orderScreeningUserID) as staff,orderScreeningUserID
|
|
|
|
from one_klinik.order
|
|
left join m_doctor ON order.orderM_DoctorID = M_DoctorID
|
|
left join one_klinik.order_screening on orderScreeningOrderID = order.orderid
|
|
left join one_klinik.screening_parameter a on a.ScreeningParameterCode = orderScreeningValueKesadaran
|
|
left join one_klinik.screening_parameter b on b.ScreeningParameterCode = orderScreeningValuePernafasan
|
|
left join one_klinik.screening_parameter c on c.ScreeningParameterCode = orderScreeningValueResikoJatuh
|
|
left join one_klinik.screening_parameter d on d.ScreeningParameterCode = orderScreeningValueNyeriDada
|
|
left join one_klinik.screening_parameter e on e.ScreeningParameterCode = orderScreeningValueSkalaNyeri
|
|
left join one_klinik.screening_parameter f on f.ScreeningParameterCode = orderScreeningValueBatuk
|
|
left join one_klinik.screening_parameter g on g.ScreeningParameterCode = orderScreeningValueKeputusan
|
|
left join conf_systems on S_SystemsID > 0
|
|
LEFT JOIN m_patient ON orderM_PatientID = M_PatientID
|
|
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
where
|
|
|
|
order.orderIsActive = "Y" and order.orderid = PID
|
|
and order.orderM_LanguageID = 1 $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_001` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_001`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
|
|
|
|
|
|
select sum(T_OrderDetailPrice) into @subtot
|
|
|
|
from t_orderdetail
|
|
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
|
|
select sum(T_OrderDetailDiscTotal) into @disc
|
|
|
|
from t_orderdetail
|
|
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
|
|
|
|
|
|
select
|
|
|
|
distinct
|
|
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
|
|
T_OrderHeaderID,
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,T_OrderHeaderLabNumber as noRegin,
|
|
|
|
T_OrderHeaderLabNumberExt as noEX,
|
|
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PIiD,
|
|
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
|
|
M_PatientNoReg ,
|
|
|
|
M_TitleName,
|
|
|
|
M_SexName,
|
|
|
|
M_PatientSuffix,
|
|
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
|
|
M_PatientHP ,
|
|
|
|
M_PatientPhone ,
|
|
|
|
M_PatientEmail,
|
|
|
|
M_PatientIDNumber,
|
|
|
|
M_PatientNote,
|
|
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
M_CompanyName,
|
|
|
|
M_CompanyAddress,
|
|
|
|
M_CompanyPhone ,
|
|
|
|
M_CompanyEmail ,
|
|
|
|
M_CompanyPICName as M_CompanyPIC ,
|
|
|
|
M_MouName,
|
|
|
|
T_OrderHeaderM_PatientAge,
|
|
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
|
|
T_OrderHeaderDoctorNote,
|
|
|
|
T_OrderHeaderVerificationNote ,
|
|
|
|
T_OrderHeaderFoNote ,
|
|
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderResultNote,
|
|
|
|
T_OrderHeaderSubTotal,
|
|
|
|
T_OrderHeaderRounding ,
|
|
|
|
T_OrderHeaderTotal,
|
|
|
|
T_TestCode ,
|
|
|
|
T_PacketName as paket,
|
|
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
|
|
T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0) T_OrderDetailPrice ,
|
|
|
|
T_OrderDetailPriceForDisc,
|
|
|
|
(T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0)) -
|
|
|
|
(T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0)) T_OrderDetailTotal ,
|
|
|
|
T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) diskonsatuan,
|
|
|
|
T_OrderDetailDiscAmount ,
|
|
|
|
T_OrderDetailDiscTotal ,
|
|
|
|
T_OrderDetailTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailDisc,
|
|
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
|
|
IF(Last_StatusPaymentIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
|
|
|
|
CONCAT(`f_terbilang`(T_OrderHeaderTotal),"", "Rupiah") AS terbilang,
|
|
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
|
|
S_SystemsCompanyName ,
|
|
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,@subtot as subtot,@disc+T_OrderHeaderRounding as disc,
|
|
|
|
`fn_get_staff`(T_OrderHeaderCreatedUserID) as M_UserUsername
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailIsActive = 'Y'
|
|
|
|
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "INV" and M_No_FormIsActive = 'Y'
|
|
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
|
|
|
|
|
|
|
|
where
|
|
|
|
T_OrderHeaderID = PID
|
|
|
|
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
|
|
and
|
|
|
|
(
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
|
|
and
|
|
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
|
|
or
|
|
|
|
T_PacketIsNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
or
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
|
|
and
|
|
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
order by T_OrderDetailT_TestSasCode
|
|
|
|
|
|
|
|
;end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_001ii` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_001ii`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
|
|
select sum(T_OrderDetailPrice) into @subtot
|
|
from t_orderdetail
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
select sum(T_OrderDetailDiscTotal) into @disc
|
|
from t_orderdetail
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
select
|
|
distinct
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PIiD,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderResultNote,
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_TestCode ,
|
|
T_PacketName as paket,
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0) T_OrderDetailPrice ,
|
|
T_OrderDetailPriceForDisc,
|
|
(T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0)) -
|
|
(T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0)) T_OrderDetailTotal ,
|
|
T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) diskonsatuan,
|
|
T_OrderDetailDiscAmount ,
|
|
T_OrderDetailDiscTotal ,
|
|
T_OrderDetailTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailDisc,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
IF(Last_StatusPaymentIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
CONCAT(`f_terbilang`(T_OrderHeaderTotal),"", "Rupiah") AS terbilang,
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,@subtot as subtot,@disc+T_OrderHeaderRounding as disc,
|
|
`fn_get_staff`(T_OrderHeaderUserID) as M_UserUsername,
|
|
Last_StatusPaymentBillTotal ,
|
|
Last_StatusPaymentPaid ,
|
|
Last_StatusPaymentUnpaid
|
|
|
|
|
|
|
|
from t_orderheader
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailIsActive = 'Y'
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "INV"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
|
|
where
|
|
T_OrderHeaderID = PID
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
and
|
|
(
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
and
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
or
|
|
T_PacketIsNota = 'Y'
|
|
)
|
|
)
|
|
or
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
and
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
)
|
|
)
|
|
order by T_OrderDetailT_TestSasCode
|
|
|
|
;end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_001_eng` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_001_eng`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
|
|
select sum(T_OrderDetailPrice) into @subtot
|
|
from t_orderdetail
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
select sum(T_OrderDetailDiscTotal) into @disc
|
|
from t_orderdetail
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
select
|
|
distinct
|
|
DATE_FORMAT(now(), "%M %d %Y %T") AS DATENOW,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%M %d %Y %T") AS T_OrderHeaderDate,T_OrderHeaderLabNumber as noRegin,
|
|
T_OrderHeaderLabNumberExt as noEX,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PIiD,
|
|
CONCAT(M_TitleLangName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleLangName as M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%M %d %Y ") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
(case
|
|
when M_CompanyName = 'Pasien klinisi' then 'CLINICIAN REFERENCE'
|
|
when M_CompanyName = 'Pasien mandiri' then 'PERSONAL REQUEST'
|
|
else M_CompanyName end )
|
|
as
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') as T_OrderHeaderM_PatientAge,
|
|
CONCAT(REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') ," / ",M_SexCode) AS Umur,
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderResultNote,
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_TestCode ,
|
|
T_PacketName as paket,
|
|
if(Nat_TestLangName is null ,"kosong",Nat_TestLangName) as test,
|
|
if (T_PacketID is null, Nat_TestLangName, T_PacketName) as T_TestNamea,
|
|
if (T_PacketID is null,concat(" ",Nat_TestLangName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0) T_OrderDetailPrice ,
|
|
T_OrderDetailPriceForDisc,
|
|
(T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0)) -
|
|
(T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0)) T_OrderDetailTotal ,
|
|
T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) diskonsatuan,
|
|
T_OrderDetailDiscAmount ,
|
|
T_OrderDetailDiscTotal ,
|
|
T_OrderDetailTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailDisc,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
IF(Last_StatusPaymentIsLunas = 'N' , "NOT PAID","PAID") AS Status,
|
|
|
|
CONCAT(`f_terbilang`(T_OrderHeaderTotal),"", "Rupiah") AS terbilang,
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,@subtot as subtot,@disc+T_OrderHeaderRounding as disc,
|
|
`fn_get_staff`(T_OrderHeaderUserID) as M_UserUsername
|
|
|
|
|
|
|
|
from t_orderheader
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailIsActive = 'Y'
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_testlang on Nat_TestLangNat_TestID = Nat_TestID and Nat_testLangIsActive = 'Y' and Nat_TestLangLangID = '2'
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "INV"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
|
|
where
|
|
T_OrderHeaderID = PID
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
and
|
|
(
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
and
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
or
|
|
T_PacketIsNota = 'Y'
|
|
)
|
|
)
|
|
or
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
and
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
)
|
|
)
|
|
order by T_OrderDetailT_TestSasCode
|
|
|
|
;end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_002` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_002`(IN `PID` int, IN `an` varchar(200), IN `username` varchar(100))
|
|
begin
|
|
|
|
|
|
|
|
select sum(T_OrderDetailPrice) into @subtot
|
|
|
|
from t_orderdetail
|
|
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
|
|
select sum(T_OrderDetailDiscTotal) into @disc
|
|
|
|
from t_orderdetail
|
|
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
|
|
|
|
|
|
select
|
|
|
|
distinct
|
|
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
|
|
T_OrderHeaderID,
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
|
|
CONCAT(M_PatientNoReg," / ", fn_lookup_external(T_OrderHeaderLabNumber,'L')) AS PIiD,
|
|
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
|
|
M_PatientNoReg ,
|
|
|
|
M_TitleName,
|
|
|
|
M_SexName,
|
|
|
|
M_PatientSuffix,
|
|
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
|
|
M_PatientHP ,
|
|
|
|
M_PatientPhone ,
|
|
|
|
M_PatientEmail,
|
|
|
|
M_PatientIDNumber,
|
|
|
|
M_PatientNote,
|
|
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
M_CompanyName,
|
|
|
|
M_CompanyAddress,
|
|
|
|
M_CompanyPhone ,
|
|
|
|
M_CompanyEmail ,
|
|
|
|
M_CompanyPICName ,M_MouName,
|
|
|
|
T_OrderHeaderM_PatientAge,
|
|
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
|
|
T_OrderHeaderDoctorNote,
|
|
|
|
T_OrderHeaderVerificationNote ,
|
|
|
|
T_OrderHeaderFoNote ,
|
|
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderResultNote,
|
|
|
|
T_OrderHeaderSubTotal,
|
|
|
|
T_OrderHeaderRounding ,
|
|
|
|
T_OrderHeaderTotal,
|
|
|
|
T_TestCode ,
|
|
|
|
T_PacketName as paket,
|
|
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
|
|
T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0) T_OrderDetailPrice ,
|
|
|
|
T_OrderDetailPriceForDisc,
|
|
|
|
T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailTotal ,
|
|
|
|
T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) diskonsatuan,
|
|
|
|
T_OrderDetailDiscAmount ,
|
|
|
|
T_OrderDetailDiscTotal ,
|
|
|
|
T_OrderDetailTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailDisc,
|
|
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
|
|
IF(Last_StatusPaymentIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
|
|
|
|
CONCAT(`f_terbilang`(T_OrderHeaderTotal),"", "Rupiah") AS terbilang,
|
|
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
|
|
S_SystemsCompanyName ,
|
|
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,@subtot as subtot,@disc+T_OrderHeaderRounding as disc
|
|
|
|
,`fn_get_staff`(T_OrderHeaderCreatedUserID) as M_UserUsername
|
|
|
|
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailIsActive = 'Y'
|
|
|
|
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "KWITANSI"
|
|
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
|
|
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
|
|
|
|
where
|
|
|
|
T_OrderHeaderID = PID
|
|
|
|
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
|
|
and
|
|
|
|
(
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
|
|
and
|
|
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
|
|
or
|
|
|
|
T_PacketIsNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
or
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
|
|
and
|
|
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
order by T_OrderDetailT_TestSasCode
|
|
|
|
|
|
|
|
;end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_002_eng` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_002_eng`(IN `PID` int, IN `an` varchar(200), IN `username` varchar(100))
|
|
begin
|
|
|
|
|
|
|
|
select sum(T_OrderDetailPrice) into @subtot
|
|
|
|
from t_orderdetail
|
|
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
|
|
select sum(T_OrderDetailDiscTotal) into @disc
|
|
|
|
from t_orderdetail
|
|
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
|
|
|
|
|
|
select
|
|
|
|
distinct
|
|
|
|
DATE_FORMAT(now(), "%M %d %Y %T") AS DATENOW,
|
|
|
|
T_OrderHeaderID,
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%M %d %Y %T") AS T_OrderHeaderDate,
|
|
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
|
|
CONCAT(M_PatientNoReg," / ", fn_lookup_external(T_OrderHeaderLabNumber,'L')) AS PIiD,
|
|
|
|
CONCAT(M_TitleLangName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
|
|
M_PatientNoReg ,
|
|
|
|
M_TitleLangName as M_TitleName,
|
|
|
|
M_SexName,
|
|
|
|
M_PatientSuffix,
|
|
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
|
|
M_PatientHP ,
|
|
|
|
M_PatientPhone ,
|
|
|
|
M_PatientEmail,
|
|
|
|
M_PatientIDNumber,
|
|
|
|
M_PatientNote,
|
|
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
(case
|
|
|
|
when M_CompanyName = 'Pasien klinisi' then 'CLINICIAN REFERENCE'
|
|
|
|
when M_CompanyName = 'Pasien mandiri' then 'PERSONAL REQUEST'
|
|
|
|
else M_CompanyName end )
|
|
|
|
as M_CompanyName,
|
|
|
|
M_CompanyAddress,
|
|
|
|
M_CompanyPhone ,
|
|
|
|
M_CompanyEmail ,
|
|
|
|
M_CompanyPICName as M_CompanyPIC ,M_MouName,
|
|
|
|
REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') as T_OrderHeaderM_PatientAge,
|
|
|
|
CONCAT(REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') ," / ",if(M_SexCode = 'L' , 'M','F')) AS Umur,
|
|
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
|
|
T_OrderHeaderDoctorNote,
|
|
|
|
T_OrderHeaderVerificationNote ,
|
|
|
|
T_OrderHeaderFoNote ,
|
|
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderResultNote,
|
|
|
|
T_OrderHeaderSubTotal,
|
|
|
|
T_OrderHeaderRounding ,
|
|
|
|
T_OrderHeaderTotal,
|
|
|
|
T_TestCode ,
|
|
|
|
T_PacketName as paket,
|
|
|
|
if(Nat_TestLangName is null ,"kosong",Nat_TestLangName) as test,
|
|
|
|
if (T_PacketID is null, Nat_TestLangName, T_PacketName) as T_TestNamea,
|
|
|
|
if (T_PacketID is null,concat(" ",Nat_TestLangName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
|
|
T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0) T_OrderDetailPrice ,
|
|
|
|
T_OrderDetailPriceForDisc,
|
|
|
|
T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailTotal ,
|
|
|
|
T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) diskonsatuan,
|
|
|
|
T_OrderDetailDiscAmount ,
|
|
|
|
T_OrderDetailDiscTotal ,
|
|
|
|
T_OrderDetailTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailDisc,
|
|
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
|
|
IF(Last_StatusPaymentIsLunas = 'N' , "NOT PAID","PAID") AS Status,
|
|
|
|
concat( `fn_integerToWords`(T_OrderHeaderTotal)," Rupiah") AS terbilang,
|
|
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
|
|
S_SystemsCompanyName ,
|
|
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,@subtot as subtot,@disc+T_OrderHeaderRounding as disc
|
|
|
|
,`fn_get_staff`(T_OrderHeaderCreatedUserID) as M_UserUsername
|
|
|
|
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailIsActive = 'Y'
|
|
|
|
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
|
|
left join nat_testlang on Nat_TestLangNat_TestID = Nat_TestID and Nat_testLangIsActive = 'Y' and Nat_TestLangLangID = '2'
|
|
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "KWITANSI"
|
|
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
|
|
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
|
|
|
|
where
|
|
|
|
T_OrderHeaderID = PID
|
|
|
|
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
|
|
and
|
|
|
|
(
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
|
|
and
|
|
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
|
|
or
|
|
|
|
T_PacketIsNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
or
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
|
|
and
|
|
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
order by T_OrderDetailT_TestSasCode
|
|
|
|
|
|
|
|
;end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_003` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_003`(IN `PID` int, IN `username` varchar(100))
|
|
BEGIN
|
|
|
|
select F_PaymentT_OrderHeaderID into @ohid
|
|
|
|
from
|
|
|
|
f_payment
|
|
|
|
where
|
|
|
|
F_PaymentID = PID AND F_PaymentIsActive = 'Y';
|
|
|
|
|
|
|
|
select ifnull(sum(F_PaymentTotal),0) into @amountotherinvoice
|
|
|
|
from
|
|
|
|
f_payment
|
|
|
|
WHERE
|
|
|
|
F_PaymentT_OrderHeaderID = @ohid AND F_PaymentIsActive = 'Y' AND F_PaymentID < PID;
|
|
|
|
|
|
|
|
|
|
|
|
set @count_payment_test = 0;
|
|
|
|
select count(*) into @count_payment_test
|
|
|
|
from f_payment
|
|
|
|
join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and F_PaymentID=PID;
|
|
|
|
|
|
|
|
if @count_payment_test = 0 then
|
|
|
|
|
|
|
|
select
|
|
|
|
distinct
|
|
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
|
|
T_OrderHeaderID,
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
|
|
T_OrderHeaderLabNumber,
|
|
|
|
CONCAT(fn_lookup_external(T_OrderHeaderLabNumber,'L') ," / ",T_OrderHeaderLabNumber) AS PIiD,
|
|
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
|
|
M_PatientNoReg ,
|
|
|
|
M_TitleName,
|
|
|
|
M_SexName,
|
|
|
|
M_PatientSuffix,
|
|
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
|
|
M_PatientHP ,
|
|
|
|
M_PatientPhone ,
|
|
|
|
M_PatientEmail,
|
|
|
|
M_PatientIDNumber,
|
|
|
|
M_PatientNote,
|
|
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
M_CompanyName,
|
|
|
|
M_CompanyAddress,
|
|
|
|
M_CompanyPhone ,
|
|
|
|
M_CompanyEmail ,
|
|
|
|
M_CompanyPICName as M_CompanyPIC ,M_MouName,
|
|
|
|
T_OrderHeaderM_PatientAge,
|
|
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
|
|
T_OrderHeaderDoctorNote,
|
|
|
|
T_OrderHeaderVerificationNote ,
|
|
|
|
T_OrderHeaderFoNote ,
|
|
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderResultNote,
|
|
|
|
F_Payment_OrderHeaderSubTotal as T_OrderHeaderSubTotal,
|
|
|
|
F_Payment_OrderHeaderRounding as T_OrderHeaderRounding ,
|
|
|
|
F_Payment_OrderHeaderTotal as T_OrderHeaderTotal,
|
|
|
|
T_TestCode ,
|
|
|
|
T_PacketName as paket,
|
|
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
|
|
T_OrderDetailPrice + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) T_OrderDetailPrice ,
|
|
|
|
T_OrderDetailPriceForDisc,
|
|
|
|
T_OrderDetailDisc + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDisc,
|
|
|
|
T_OrderDetailDiscAmount ,
|
|
|
|
T_OrderDetailDiscTotal + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDiscTotal ,
|
|
|
|
T_OrderDetailTotal + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) - fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailTotal,
|
|
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
|
|
IF(F_Payment_OrderHeaderIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
|
|
|
|
CONCAT(`f_terbilang`(F_PaymentTotal),"", "Rupiah")AS terbilang,
|
|
|
|
F_PaymentID,
|
|
|
|
F_PaymentT_OrderHeaderID,
|
|
|
|
F_PaymentDate,
|
|
|
|
F_PaymentNumber ,
|
|
|
|
F_PaymentTotal,
|
|
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
|
|
S_SystemsCompanyName ,
|
|
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
|
|
`fn_get_count_payment`(F_PaymentID) as idd,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0', (F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) ,
|
|
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) + ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0))as kurangbayarr ,
|
|
|
|
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal ,
|
|
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as subsubtotal_header,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal - F_Payment_OrderHeaderRounding ,
|
|
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) - F_Payment_OrderHeaderRounding) as grandtotal_header,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0','0',
|
|
|
|
ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as biayaadmin_header,
|
|
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as kurangbayar,
|
|
|
|
ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as administasi,
|
|
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as subtotalbaru,
|
|
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) -F_Payment_OrderHeaderRounding as grandtotalbaru,`fn_get_staff`(F_PaymentM_UserID) as M_UserUsername,
|
|
|
|
if(fn_kirim_wa(T_OrderHeaderID) = "" , "", concat("Kami menyetujui bahwa hasil pemeriksaan dikirim melalui media elektronik WhatsApp No." ,`fn_kirim_wa`(T_OrderHeaderID))) as WA
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
left join f_payment ON F_PaymentT_OrderHeaderID = T_OrderHeaderID AND F_PaymentIsActive = 'Y'
|
|
|
|
left join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and T_OrderHeaderID = @ohid
|
|
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
|
|
and (
|
|
|
|
F_Payment_TestT_OrderDetailID = T_OrderDetailID
|
|
|
|
or
|
|
|
|
( T_OrderDetailT_TestIsPanel = 'Y' and T_OrderDetailT_TestID = 0 )
|
|
|
|
)
|
|
|
|
|
|
|
|
left join f_payment_orderheader on F_Payment_OrderHeaderF_PaymentID = F_PaymentID
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
|
|
left join m_user on F_PaymentM_UserID = M_UserID
|
|
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
where
|
|
|
|
F_PaymentID = PID ;
|
|
|
|
else
|
|
|
|
select
|
|
|
|
distinct
|
|
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
|
|
T_OrderHeaderID,
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
|
|
T_OrderHeaderLabNumber,
|
|
|
|
CONCAT(fn_lookup_external(T_OrderHeaderLabNumber,'L') ," / ",T_OrderHeaderLabNumber) AS PIiD,
|
|
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
|
|
M_PatientNoReg ,
|
|
|
|
M_TitleName,
|
|
|
|
M_SexName,
|
|
|
|
M_PatientSuffix,
|
|
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
|
|
M_PatientHP ,
|
|
|
|
M_PatientPhone ,
|
|
|
|
M_PatientEmail,
|
|
|
|
M_PatientIDNumber,
|
|
|
|
M_PatientNote,
|
|
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
M_CompanyName,
|
|
|
|
M_CompanyAddress,
|
|
|
|
M_CompanyPhone ,
|
|
|
|
M_CompanyEmail ,
|
|
|
|
M_CompanyPICName as M_CompanyPIC ,M_MouName,
|
|
|
|
T_OrderHeaderM_PatientAge,
|
|
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
|
|
T_OrderHeaderDoctorNote,
|
|
|
|
T_OrderHeaderVerificationNote ,
|
|
|
|
T_OrderHeaderFoNote ,
|
|
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderResultNote,
|
|
|
|
F_Payment_OrderHeaderSubTotal as T_OrderHeaderSubTotal,
|
|
|
|
F_Payment_OrderHeaderRounding as T_OrderHeaderRounding ,
|
|
|
|
F_Payment_OrderHeaderTotal as T_OrderHeaderTotal,
|
|
|
|
T_TestCode ,
|
|
|
|
T_PacketName as paket,
|
|
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
|
|
T_OrderDetailPrice + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) T_OrderDetailPrice ,
|
|
|
|
T_OrderDetailPriceForDisc,
|
|
|
|
T_OrderDetailDisc + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDisc,
|
|
|
|
T_OrderDetailDiscAmount ,
|
|
|
|
T_OrderDetailDiscTotal + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDiscTotal ,
|
|
|
|
T_OrderDetailTotal + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) - fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailTotal,
|
|
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
|
|
IF(F_Payment_OrderHeaderIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
|
|
|
|
CONCAT(`f_terbilang`(F_PaymentTotal),"", "Rupiah")AS terbilang,
|
|
|
|
F_PaymentID,
|
|
|
|
F_PaymentT_OrderHeaderID,
|
|
|
|
F_PaymentDate,
|
|
|
|
F_PaymentNumber ,
|
|
|
|
F_PaymentTotal,
|
|
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
|
|
S_SystemsCompanyName ,
|
|
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
|
|
`fn_get_count_payment`(F_PaymentID) as idd,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0', (F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) ,
|
|
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) + ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0))as kurangbayarr ,
|
|
|
|
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal ,
|
|
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as subsubtotal_header,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal - F_Payment_OrderHeaderRounding ,
|
|
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) - F_Payment_OrderHeaderRounding) as grandtotal_header,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0','0',
|
|
|
|
ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as biayaadmin_header,
|
|
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as kurangbayar,
|
|
|
|
ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as administasi,
|
|
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as subtotalbaru,
|
|
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) -F_Payment_OrderHeaderRounding as grandtotalbaru,`fn_get_staff`(F_PaymentM_UserID) as M_UserUsername,
|
|
|
|
if(fn_kirim_wa(T_OrderHeaderID)= "" , "", concat("Kami menyetujui bahwa hasil pemeriksaan dikirim melalui media elektronik WhatsApp No." ,`fn_kirim_wa`(T_OrderHeaderID))) as WA
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
left join f_payment ON F_PaymentT_OrderHeaderID = T_OrderHeaderID AND F_PaymentIsActive = 'Y'
|
|
|
|
join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and T_OrderHeaderID = @ohid
|
|
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
|
|
and (
|
|
|
|
F_Payment_TestT_OrderDetailID = T_OrderDetailID
|
|
|
|
or
|
|
|
|
( T_OrderDetailT_TestIsPanel = 'Y' and T_OrderDetailT_TestID = 0 )
|
|
|
|
)
|
|
|
|
|
|
|
|
left join f_payment_orderheader on F_Payment_OrderHeaderF_PaymentID = F_PaymentID
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
|
|
left join m_user on F_PaymentM_UserID = M_UserID
|
|
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
where
|
|
|
|
F_PaymentID = PID
|
|
|
|
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
|
|
and
|
|
|
|
(
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
|
|
and
|
|
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
|
|
or
|
|
|
|
T_PacketIsNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
or
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
|
|
and
|
|
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
order by T_OrderDetailT_TestSasCode
|
|
|
|
;
|
|
|
|
|
|
|
|
end if;
|
|
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_003x` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_003x`(IN `PID` int, IN `username` varchar(100))
|
|
BEGIN
|
|
select F_PaymentT_OrderHeaderID into @ohid
|
|
from
|
|
f_payment
|
|
where
|
|
F_PaymentID = PID AND F_PaymentIsActive = 'Y';
|
|
|
|
select ifnull(sum(F_PaymentTotal),0) into @amountotherinvoice
|
|
from
|
|
f_payment
|
|
WHERE
|
|
F_PaymentT_OrderHeaderID = @ohid AND F_PaymentIsActive = 'Y' AND F_PaymentID < PID;
|
|
|
|
|
|
set @count_payment_test = 0;
|
|
select count(*) into @count_payment_test
|
|
from f_payment
|
|
join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and F_PaymentID=PID;
|
|
|
|
if @count_payment_test = 0 then
|
|
|
|
select
|
|
distinct
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
CONCAT(T_OrderHeaderLabNumber," / ",M_PatientNoReg) AS PIiD,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderResultNote,
|
|
F_Payment_OrderHeaderSubTotal as T_OrderHeaderSubTotal,
|
|
F_Payment_OrderHeaderRounding as T_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderTotal as T_OrderHeaderTotal,
|
|
T_TestCode ,
|
|
T_PacketName as paket,
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
T_OrderDetailPrice + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) T_OrderDetailPrice ,
|
|
T_OrderDetailPriceForDisc,
|
|
T_OrderDetailDisc + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDisc,
|
|
T_OrderDetailDiscAmount ,
|
|
T_OrderDetailDiscTotal ,
|
|
T_OrderDetailTotal + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) - fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailTotal,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
IF(F_Payment_OrderHeaderIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
CONCAT(`f_terbilang`(F_PaymentTotal),"", "Rupiah")AS terbilang,
|
|
F_PaymentID,
|
|
F_PaymentT_OrderHeaderID,
|
|
F_PaymentDate,
|
|
F_PaymentNumber ,
|
|
F_PaymentTotal,
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
`fn_get_count_payment`(F_PaymentID) as idd,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0', (F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) ,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) + ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0))as kurangbayarr ,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal ,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as subsubtotal_header,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal - F_Payment_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) - F_Payment_OrderHeaderRounding) as grandtotal_header,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0','0',
|
|
ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as biayaadmin_header,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as kurangbayar,
|
|
ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as administasi,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as subtotalbaru,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) -F_Payment_OrderHeaderRounding as grandtotalbaru
|
|
from t_orderheader
|
|
left join f_payment ON F_PaymentT_OrderHeaderID = T_OrderHeaderID AND F_PaymentIsActive = 'Y'
|
|
left join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and T_OrderHeaderID = @ohid
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
and (
|
|
F_Payment_TestT_OrderDetailID = T_OrderDetailID
|
|
or
|
|
( T_OrderDetailT_TestIsPanel = 'Y' and T_OrderDetailT_TestID = 0 )
|
|
)
|
|
|
|
left join f_payment_orderheader on F_Payment_OrderHeaderF_PaymentID = F_PaymentID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
where
|
|
F_PaymentID = PID ;
|
|
else
|
|
select
|
|
distinct
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
CONCAT(T_OrderHeaderLabNumber," / ",M_PatientNoReg) AS PIiD,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderResultNote,
|
|
F_Payment_OrderHeaderSubTotal as T_OrderHeaderSubTotal,
|
|
F_Payment_OrderHeaderRounding as T_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderTotal as T_OrderHeaderTotal,
|
|
T_TestCode ,
|
|
T_PacketName as paket,
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
T_OrderDetailPrice + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) T_OrderDetailPrice ,
|
|
T_OrderDetailPriceForDisc,
|
|
T_OrderDetailDisc + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDisc,
|
|
T_OrderDetailDiscAmount ,
|
|
T_OrderDetailDiscTotal ,
|
|
T_OrderDetailTotal + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) - fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailTotal,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
IF(F_Payment_OrderHeaderIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
CONCAT(`f_terbilang`(F_PaymentTotal),"", "Rupiah")AS terbilang,
|
|
F_PaymentID,
|
|
F_PaymentT_OrderHeaderID,
|
|
F_PaymentDate,
|
|
F_PaymentNumber ,
|
|
F_PaymentTotal,
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
`fn_get_count_payment`(F_PaymentID) as idd,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0', (F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) ,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) + ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0))as kurangbayarr ,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal ,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as subsubtotal_header,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal - F_Payment_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) - F_Payment_OrderHeaderRounding) as grandtotal_header,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0','0',
|
|
ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as biayaadmin_header,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as kurangbayar,
|
|
ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as administasi,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as subtotalbaru,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) -F_Payment_OrderHeaderRounding as grandtotalbaru
|
|
from t_orderheader
|
|
left join f_payment ON F_PaymentT_OrderHeaderID = T_OrderHeaderID AND F_PaymentIsActive = 'Y'
|
|
join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and T_OrderHeaderID = @ohid
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
and (
|
|
F_Payment_TestT_OrderDetailID = T_OrderDetailID
|
|
or
|
|
( T_OrderDetailT_TestIsPanel = 'Y' and T_OrderDetailT_TestID = 0 )
|
|
)
|
|
|
|
left join f_payment_orderheader on F_Payment_OrderHeaderF_PaymentID = F_PaymentID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
where
|
|
F_PaymentID = PID
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
and
|
|
(
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
and
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
or
|
|
T_PacketIsNota = 'Y'
|
|
)
|
|
)
|
|
or
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
and
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
)
|
|
)
|
|
order by T_OrderDetailT_TestSasCode
|
|
;
|
|
|
|
end if;
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_003_eng` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_003_eng`(IN `PID` int, IN `username` varchar(100))
|
|
BEGIN
|
|
select F_PaymentT_OrderHeaderID into @ohid
|
|
from
|
|
f_payment
|
|
where
|
|
F_PaymentID = PID AND F_PaymentIsActive = 'Y';
|
|
|
|
select ifnull(sum(F_PaymentTotal),0) into @amountotherinvoice
|
|
from
|
|
f_payment
|
|
WHERE
|
|
F_PaymentT_OrderHeaderID = @ohid AND F_PaymentIsActive = 'Y' AND F_PaymentID < PID;
|
|
|
|
|
|
set @count_payment_test = 0;
|
|
select count(*) into @count_payment_test
|
|
from f_payment
|
|
join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and F_PaymentID=PID;
|
|
|
|
if @count_payment_test = 0 then
|
|
|
|
select
|
|
distinct
|
|
DATE_FORMAT(now(), "%M %d %Y %T") AS DATENOW,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%M %d %Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
CONCAT(fn_lookup_external(T_OrderHeaderLabNumber,'L') ," / ",T_OrderHeaderLabNumber) AS PIiD,
|
|
CONCAT(M_TitleLangName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
(case
|
|
when M_CompanyName = 'Pasien klinisi' then 'CLINICIAN REFERENCE'
|
|
when M_CompanyName = 'Pasien mandiri' then 'PERSONAL REQUEST'
|
|
else M_CompanyName end )
|
|
as M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') as T_OrderHeaderM_PatientAge,
|
|
CONCAT(REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') ," / ",M_SexCode) AS Umur,
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderResultNote,
|
|
F_Payment_OrderHeaderSubTotal as T_OrderHeaderSubTotal,
|
|
F_Payment_OrderHeaderRounding as T_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderTotal as T_OrderHeaderTotal,
|
|
T_TestCode ,
|
|
T_PacketName as paket,
|
|
if(Nat_TestLangName is null ,"kosong",Nat_TestLangName ) as test,
|
|
if (T_PacketID is null, Nat_TestLangName, T_PacketName) as T_TestNamea,
|
|
if (T_PacketID is null,concat(" ",Nat_TestLangName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
T_OrderDetailPrice + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) T_OrderDetailPrice ,
|
|
T_OrderDetailPriceForDisc,
|
|
T_OrderDetailDisc + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDisc,
|
|
T_OrderDetailDiscAmount ,
|
|
T_OrderDetailDiscTotal + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDiscTotal ,
|
|
T_OrderDetailTotal + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) - fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailTotal,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
IF(F_Payment_OrderHeaderIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
CONCAT(`f_terbilang`(F_PaymentTotal),"", "Rupiah")AS terbilang,
|
|
F_PaymentID,
|
|
F_PaymentT_OrderHeaderID,
|
|
F_PaymentDate,
|
|
F_PaymentNumber ,
|
|
F_PaymentTotal,
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
`fn_get_count_payment`(F_PaymentID) as idd,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0', (F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) ,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) + ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0))as kurangbayarr ,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal ,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as subsubtotal_header,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal - F_Payment_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) - F_Payment_OrderHeaderRounding) as grandtotal_header,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0','0',
|
|
ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as biayaadmin_header,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as kurangbayar,
|
|
ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as administasi,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as subtotalbaru,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) -F_Payment_OrderHeaderRounding as grandtotalbaru,`fn_get_staff`(F_PaymentM_UserID) as M_UserUsername,
|
|
if(fn_kirim_wa(T_OrderHeaderID) = "" , "", concat("Kami menyetujui bahwa hasil pemeriksaan dikirim melalui media elektronik WhatsApp No." ,`fn_kirim_wa`(T_OrderHeaderID))) as WA
|
|
|
|
from t_orderheader
|
|
left join f_payment ON F_PaymentT_OrderHeaderID = T_OrderHeaderID AND F_PaymentIsActive = 'Y'
|
|
left join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and T_OrderHeaderID = @ohid
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
and (
|
|
F_Payment_TestT_OrderDetailID = T_OrderDetailID
|
|
or
|
|
( T_OrderDetailT_TestIsPanel = 'Y' and T_OrderDetailT_TestID = 0 )
|
|
)
|
|
|
|
left join f_payment_orderheader on F_Payment_OrderHeaderF_PaymentID = F_PaymentID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_testlang on Nat_TestLangNat_TestID = Nat_TestID and Nat_testLangIsActive = 'Y' and Nat_TestLangLangID = '2'
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on F_PaymentM_UserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
where
|
|
F_PaymentID = PID ;
|
|
else
|
|
select
|
|
distinct
|
|
DATE_FORMAT(now(), "%M %d %Y %T") AS DATENOW,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
CONCAT(fn_lookup_external(T_OrderHeaderLabNumber,'L') ," / ",T_OrderHeaderLabNumber) AS PIiD,
|
|
CONCAT(M_TitleLangName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%M %d %Y %T") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
(case
|
|
when M_CompanyName = 'Pasien klinisi' then 'CLINICIAN REFERENCE'
|
|
when M_CompanyName = 'Pasien mandiri' then 'PERSONAL REQUEST'
|
|
else M_CompanyName end )
|
|
as M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') as T_OrderHeaderM_PatientAge,
|
|
CONCAT(REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') ," / ",M_SexCode) AS Umur,
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderResultNote,
|
|
F_Payment_OrderHeaderSubTotal as T_OrderHeaderSubTotal,
|
|
F_Payment_OrderHeaderRounding as T_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderTotal as T_OrderHeaderTotal,
|
|
T_TestCode ,
|
|
T_PacketName as paket,
|
|
if(Nat_TestLangName is null ,"kosong",Nat_TestLangName ) as test,
|
|
if (T_PacketID is null, Nat_TestLangName, T_PacketName) as T_TestNamea,
|
|
if (T_PacketID is null,concat(" ",Nat_TestLangName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
T_OrderDetailPrice + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) T_OrderDetailPrice ,
|
|
T_OrderDetailPriceForDisc,
|
|
T_OrderDetailDisc + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDisc,
|
|
T_OrderDetailDiscAmount ,
|
|
T_OrderDetailDiscTotal + fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailDiscTotal ,
|
|
T_OrderDetailTotal + fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID) - fn_rpt_profile_child_disc(F_PaymentID, T_OrderDetailID) T_OrderDetailTotal,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
IF(F_Payment_OrderHeaderIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
CONCAT(`f_terbilang`(F_PaymentTotal),"", "Rupiah")AS terbilang,
|
|
F_PaymentID,
|
|
F_PaymentT_OrderHeaderID,
|
|
F_PaymentDate,
|
|
F_PaymentNumber ,
|
|
F_PaymentTotal,
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
`fn_get_count_payment`(F_PaymentID) as idd,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0', (F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) ,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) + ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0))as kurangbayarr ,
|
|
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal ,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as subsubtotal_header,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0',F_Payment_OrderHeaderSubTotal - F_Payment_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) - F_Payment_OrderHeaderRounding) as grandtotal_header,
|
|
if(`fn_get_count_payment`(F_PaymentID) = '0','0',
|
|
ifnull(`fn_get_potongan_header`(T_OrderHeaderID ),0) ) as biayaadmin_header,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as kurangbayar,
|
|
ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as administasi,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) as subtotalbaru,
|
|
F_Payment_OrderHeaderSubTotal +ifnull(`fn_get_potongan`(T_OrderHeaderID , F_PaymentID),0) -F_Payment_OrderHeaderRounding as grandtotalbaru,`fn_get_staff`(F_PaymentM_UserID) as M_UserUsername,
|
|
if(fn_kirim_wa(T_OrderHeaderID)= "" , "", concat("Kami menyetujui bahwa hasil pemeriksaan dikirim melalui media elektronik WhatsApp No." ,`fn_kirim_wa`(T_OrderHeaderID))) as WA
|
|
|
|
from t_orderheader
|
|
left join f_payment ON F_PaymentT_OrderHeaderID = T_OrderHeaderID AND F_PaymentIsActive = 'Y'
|
|
join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID and T_OrderHeaderID = @ohid
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
and (
|
|
F_Payment_TestT_OrderDetailID = T_OrderDetailID
|
|
or
|
|
( T_OrderDetailT_TestIsPanel = 'Y' and T_OrderDetailT_TestID = 0 )
|
|
)
|
|
|
|
left join f_payment_orderheader on F_Payment_OrderHeaderF_PaymentID = F_PaymentID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_testlang on Nat_TestLangNat_TestID = Nat_TestID and Nat_testLangIsActive = 'Y' and Nat_TestLangLangID = '2'
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on F_PaymentM_UserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
where
|
|
F_PaymentID = PID
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
and
|
|
(
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
and
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
or
|
|
T_PacketIsNota = 'Y'
|
|
)
|
|
)
|
|
or
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
and
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
)
|
|
)
|
|
order by T_OrderDetailT_TestSasCode
|
|
;
|
|
|
|
end if;
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_003_pe` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_003_pe`(IN `PID` int, IN `username` varchar(100))
|
|
READS SQL DATA
|
|
BEGIN
|
|
set @ohid =null;
|
|
select F_PaymentT_OrderHeaderID into @ohid
|
|
from
|
|
f_payment
|
|
where
|
|
F_PaymentID = PID AND F_PaymentIsActive = 'Y';
|
|
|
|
select ifnull(sum(F_PaymentTotal),0) into @amountotherinvoice
|
|
from
|
|
f_payment
|
|
WHERE
|
|
F_PaymentT_OrderHeaderID = @ohid AND F_PaymentIsActive = 'Y' AND F_PaymentID < PID;
|
|
|
|
select
|
|
distinct
|
|
F_PaymentID, T_OrderDetailID,
|
|
fn_rpt_profile_child_amount(F_PaymentID, T_OrderDetailID),
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
T_OrderHeaderLabNumber,
|
|
CONCAT(T_OrderHeaderLabNumber," / ",M_PatientNoReg) AS PIiD,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderResultNote,
|
|
F_Payment_OrderHeaderSubTotal as T_OrderHeaderSubTotal,
|
|
F_Payment_OrderHeaderRounding as T_OrderHeaderRounding ,
|
|
F_Payment_OrderHeaderTotal as T_OrderHeaderTotal,
|
|
T_TestCode ,
|
|
T_PacketName as paket,
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
T_OrderDetailPrice,
|
|
T_OrderDetailPriceForDisc,
|
|
T_OrderDetailDisc ,
|
|
T_OrderDetailDiscAmount ,
|
|
T_OrderDetailDiscTotal ,
|
|
T_OrderDetailTotal,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
IF(Last_StatusPaymentIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
CONCAT(`f_terbilang`(F_PaymentTotal),"", "Rupiah")AS terbilang,
|
|
F_PaymentID,
|
|
F_PaymentT_OrderHeaderID,
|
|
F_PaymentDate,
|
|
F_PaymentNumber ,
|
|
F_PaymentTotal,
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
(F_Payment_OrderHeaderTotal -ifnull(@amountotherinvoice,0)-F_PaymentTotal) as kurangbayar
|
|
|
|
|
|
|
|
from t_orderheader
|
|
join f_payment ON F_PaymentT_OrderHeaderID = T_OrderHeaderID AND F_PaymentIsActive = 'Y'
|
|
and T_OrderHeaderID = @ohid
|
|
join f_payment_test on F_Payment_TestF_PaymentID = F_PaymentID
|
|
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
and (
|
|
F_Payment_TestT_OrderDetailID = T_OrderDetailID
|
|
or
|
|
T_OrderDetailT_TestID = 0
|
|
)
|
|
left join f_payment_orderheader on F_Payment_OrderHeaderF_PaymentID = F_PaymentID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
where
|
|
F_PaymentID = PID
|
|
|
|
and
|
|
(
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
and
|
|
( T_TestIsPrintNota = 'y'
|
|
or
|
|
T_PacketIsNota = 'Y'
|
|
)
|
|
)
|
|
or
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
and
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
)
|
|
)
|
|
order by T_OrderDetailT_TestSasCode ;
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_006` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_006`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
|
|
|
|
|
|
select sum(T_OrderDetailPrice) into @subtot
|
|
|
|
from t_orderdetail
|
|
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
|
|
select sum(T_OrderDetailDiscTotal) into @disc
|
|
|
|
from t_orderdetail
|
|
|
|
where T_OrderDetailT_OrderHeaderID = PID and T_OrderDetailIsActive = 'Y' limit 1;
|
|
|
|
|
|
|
|
|
|
|
|
select
|
|
|
|
distinct
|
|
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
|
|
T_OrderHeaderID,
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
|
|
T_OrderHeaderLabNumber as noRegin,
|
|
|
|
CONCAT(M_PatientNoReg," / ", fn_lookup_external(T_OrderHeaderLabNumber,'L')) AS PIiD,
|
|
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
|
|
M_PatientNoReg ,
|
|
|
|
M_TitleName,
|
|
|
|
M_SexName,
|
|
|
|
M_PatientSuffix,
|
|
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
|
|
M_PatientHP ,
|
|
|
|
M_PatientPhone ,
|
|
|
|
M_PatientEmail,
|
|
|
|
M_PatientIDNumber,
|
|
|
|
M_PatientNote,
|
|
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
M_CompanyName,
|
|
|
|
M_CompanyAddress,
|
|
|
|
M_CompanyPhone ,
|
|
|
|
M_CompanyEmail ,
|
|
|
|
IFNULL(M_CompanyPICName, '-') as M_CompanyPIC,
|
|
|
|
M_MouName,
|
|
|
|
T_OrderHeaderM_PatientAge,
|
|
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
|
|
T_OrderHeaderDoctorNote,
|
|
|
|
T_OrderHeaderVerificationNote ,
|
|
|
|
T_OrderHeaderFoNote ,
|
|
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderResultNote,
|
|
|
|
T_OrderHeaderSubTotal,
|
|
|
|
T_OrderHeaderRounding ,
|
|
|
|
T_OrderHeaderTotal,
|
|
|
|
T_TestCode ,
|
|
|
|
T_PacketName as paket,
|
|
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
|
|
T_OrderDetailPrice +ifnull( fn_rpt_profile_child_amount_header(T_OrderDetailID),0) T_OrderDetailPrice ,
|
|
|
|
T_OrderDetailPriceForDisc,
|
|
|
|
T_OrderDetailTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailTotal ,
|
|
|
|
T_OrderDetailDiscTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) diskonsatuan,
|
|
|
|
T_OrderDetailDiscAmount ,
|
|
|
|
T_OrderDetailDiscTotal ,
|
|
|
|
T_OrderDetailTotal + ifnull(fn_rpt_profile_child_disc_header(T_OrderDetailID),0) T_OrderDetailDisc,
|
|
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
|
|
IF(Last_StatusPaymentIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
|
|
|
|
CONCAT(`f_terbilang`(T_OrderHeaderTotal),"", "Rupiah") AS terbilang,
|
|
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
|
|
S_SystemsCompanyName ,
|
|
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,@subtot as subtot,@disc+T_OrderHeaderRounding as disc
|
|
|
|
,`fn_get_staff`(T_OrderHeaderCreatedUserID) as M_UserUsername,
|
|
|
|
if(fn_kirim_wa(T_OrderHeaderID) = "" , "", concat("Kami menyetujui bahwa hasil pemeriksaan dikirim melalui media elektronik WhatsApp No." ,`fn_kirim_wa`(T_OrderHeaderID))) as WA
|
|
|
|
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailIsActive = 'Y'
|
|
|
|
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "BP"
|
|
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
|
|
|
|
|
|
|
|
where
|
|
|
|
T_OrderHeaderID = PID
|
|
|
|
|
|
|
|
and ( Nat_TestPriceSumToNat_TestID = 0 or Nat_TestPriceSumToNat_TestID is null )
|
|
|
|
and
|
|
|
|
(
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
|
|
and
|
|
|
|
( ( T_TestIsPrintNota = 'y' )
|
|
|
|
or
|
|
|
|
T_PacketIsNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
or
|
|
|
|
(
|
|
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
|
|
and
|
|
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
order by T_OrderDetailT_TestSasCode
|
|
|
|
|
|
|
|
;end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_006x` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_006x`(IN `PID` int, IN `username` varchar(100))
|
|
BEGIN
|
|
select sum(T_OrderDetailPrice) into @subtot
|
|
from t_orderdetail
|
|
where T_OrderDetailT_OrderHeaderID = PID limit 1;
|
|
|
|
select sum(T_OrderDetailDiscTotal) into @disc
|
|
from t_orderdetail
|
|
where T_OrderDetailT_OrderHeaderID = PID limit 1;
|
|
|
|
select
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
T_OrderHeaderLabNumber,
|
|
CONCAT(T_OrderHeaderLabNumber," / ",M_PatientNoReg) AS PID,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
if(T_OrderHeaderAddOnAliasDoctorName is null or T_OrderHeaderAddOnAliasDoctorName = '' ,CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2),T_OrderHeaderAddOnAliasDoctorName) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderResultNote,
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_TestCode ,
|
|
T_PacketName as paket,
|
|
if(T_TestName is null ,"kosong",T_TestName ) as test,
|
|
if (T_PacketID is null, T_TestName, T_PacketName) as T_TestNamea,
|
|
if (T_PacketID is null,concat(" ",T_TestName), ifnull( concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)),"")) as T_TestName,
|
|
concat(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID)) as testpaket,
|
|
`fn_get_test_packet`(T_PacketID) as namapaket ,
|
|
T_OrderDetailPrice,
|
|
T_OrderDetailPriceForDisc,
|
|
T_OrderDetailDisc ,
|
|
T_OrderDetailDiscAmount ,
|
|
T_OrderDetailDiscTotal ,
|
|
T_OrderDetailTotal,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil,
|
|
IF(Last_StatusPaymentIsLunas = 'N' , "BELUM LUNAS","LUNAS") AS Status,
|
|
|
|
`fn_get_delivery_patient`(T_OrderHeaderID) as alamatkirim,
|
|
S_SystemsCompanyName ,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity
|
|
,@subtot as subtot,@disc+T_OrderHeaderRounding as disc
|
|
|
|
|
|
|
|
from t_orderheader
|
|
left join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join t_orderdetailaddon on T_OrderDetailID = T_OrderDetailAddOnT_OrderDetailID
|
|
left join t_packet on T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
LEFT JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
|
|
where
|
|
T_OrderHeaderID = PID
|
|
|
|
and
|
|
(
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'N'
|
|
and
|
|
( T_TestIsPrintNota = 'y'
|
|
or
|
|
T_PacketIsNota = 'Y'
|
|
)
|
|
)
|
|
or
|
|
(
|
|
T_OrderDetailT_TestIsPanelChildren = 'Y'
|
|
and
|
|
T_OrderDetailT_TestIsPanelChildrenPrintNota = 'Y'
|
|
)
|
|
)
|
|
order by T_OrderDetailT_TestSasCode
|
|
|
|
;
|
|
END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_013` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_013`(IN `PID` int, IN `username` varchar(100))
|
|
BEGIN
|
|
select FutureDownpaymentFutureOrderID into @ohid
|
|
from
|
|
future_downpayment
|
|
where
|
|
FutureDownpaymentID = PID AND FutureDownpaymentIsActive = 'Y' ;
|
|
|
|
select ifnull(sum(FutureDownpaymentTotal),0) into @amountotherinvoice
|
|
from
|
|
future_downpayment
|
|
WHERE
|
|
FutureDownpaymentFutureOrderID = @ohid AND FutureDownpaymentIsActive= 'Y' AND FutureDownpaymentID < PID;
|
|
|
|
|
|
|
|
select
|
|
concat(S_SystemsCompanyCity,", ", DATE_FORMAT(now(), "%d-%m-%Y %T")) AS DATENOW,
|
|
FutureOrderID,
|
|
DATE_FORMAT(FutureOrderDateBooking, "%d-%m-%Y") AS T_OrderHeaderDate,
|
|
FutureOrderNumber ,
|
|
fn_get_name( FutureOrderM_PatientID) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
|
|
REPLACE(JSON_EXTRACT(FutureOrderJSONHeader, '$.age'), '"', "") as age,
|
|
CONCAT( REPLACE(JSON_EXTRACT(FutureOrderJSONHeader, '$.age'), '"', "") ," / ",M_SexCode) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
FutureOrderSubTotal ,FutureOrderTotal,
|
|
|
|
T_TestCode ,T_TestName ,
|
|
|
|
if(Future_OrderDetailIsPacket = 'Y' ,
|
|
CONCAT(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID) )
|
|
,T_TestName ) as test,
|
|
Future_OrderDetailPrice ,Future_OrderDetailDisc, Future_OrderDetailDiscAmount ,Future_OrderDetailDiscTotal, Future_OrderDetailTotal,
|
|
FutureDownpaymentTotal,
|
|
@amountotherinvoice as pembayaranlain,
|
|
T_PacketName,
|
|
`fn_get_test_packet`(T_PacketID) as paketdetail,
|
|
|
|
`fn_get_staff`(FutureDownpaymentUserID) as M_UserUsername,
|
|
DATE_FORMAT(FutureDownpaymentF_PaymentDate , "%d-%m-%Y") as FutureDownpaymentF_PaymentDate ,
|
|
FutureDownpaymentNumber,
|
|
(FutureOrderTotal-ifnull(@amountotherinvoice,0)-FutureDownpaymentTotal) as kurangbayar ,
|
|
if((FutureOrderTotal-ifnull(@amountotherinvoice,0)-FutureDownpaymentTotal) = '0' , "LUNAS","BELUM LUNAS" ) as statuslunas,
|
|
M_BranchName,
|
|
M_BranchAddress
|
|
|
|
|
|
from future_order
|
|
left join future_downpayment ON FutureDownpaymentFutureOrderID = FutureOrderID AND FutureDownpaymentIsActive = 'Y'
|
|
left join future_orderdetail on Future_OrderDetailFutureOrderID = FutureOrderID and Future_OrderDetailIsActive = 'Y'
|
|
left join m_patient ON FutureOrderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON FutureOrderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON FutureOrderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON FutureOrderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join t_test ON Future_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on FutureDownpaymentUserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_packet on Future_OrderDetailT_TestID = T_PacketID and T_PacketIsActive = 'Y'
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
|
|
|
|
where
|
|
FutureDownpaymentID = PID ; END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_014` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_014`(IN `PID` int, IN `username` varchar(100))
|
|
BEGIN
|
|
select FutureDownpaymentFutureOrderID into @ohid
|
|
from
|
|
future_downpayment
|
|
where
|
|
FutureDownpaymentID = PID AND FutureDownpaymentIsActive = 'N' ;
|
|
|
|
select ifnull(sum(FutureDownpaymentTotal),0) into @amountotherinvoice
|
|
from
|
|
future_downpayment
|
|
WHERE
|
|
FutureDownpaymentFutureOrderID = @ohid AND FutureDownpaymentIsActive= 'N' AND FutureDownpaymentID < PID;
|
|
|
|
|
|
|
|
select
|
|
concat(S_SystemsCompanyCity,", ", DATE_FORMAT(now(), "%d-%m-%Y %T")) AS DATENOW,
|
|
FutureOrderID,
|
|
DATE_FORMAT(FutureOrderDateBooking, "%d-%m-%Y") AS T_OrderHeaderDate,
|
|
FutureOrderNumber ,
|
|
fn_get_name( FutureOrderM_PatientID) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
|
|
REPLACE(JSON_EXTRACT(FutureOrderJSONHeader, '$.age'), '"', "") as age,
|
|
CONCAT( REPLACE(JSON_EXTRACT(FutureOrderJSONHeader, '$.age'), '"', "") ," / ",M_SexCode) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
FutureOrderSubTotal ,FutureOrderTotal,
|
|
|
|
T_TestCode ,T_TestName ,
|
|
|
|
if(Future_OrderDetailIsPacket = 'Y' ,
|
|
CONCAT(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID) )
|
|
,T_TestName ) as test,
|
|
Future_OrderDetailPrice ,Future_OrderDetailDisc, Future_OrderDetailDiscAmount ,Future_OrderDetailDiscTotal, Future_OrderDetailTotal,
|
|
FutureDownpaymentTotal,
|
|
@amountotherinvoice as pembayaranlain,
|
|
T_PacketName,
|
|
`fn_get_test_packet`(T_PacketID) as paketdetail,
|
|
|
|
`fn_get_staff`(FutureDownpaymentUserID) as M_UserUsername,
|
|
DATE_FORMAT(FutureDownpaymentF_PaymentDate , "%d-%m-%Y") as FutureDownpaymentF_PaymentDate ,
|
|
FutureDownpaymentNumber,
|
|
(FutureOrderTotal-ifnull(@amountotherinvoice,0)-FutureDownpaymentTotal) as kurangbayar ,
|
|
if((FutureOrderTotal-ifnull(@amountotherinvoice,0)-FutureDownpaymentTotal) = '0' , "LUNAS","BELUM LUNAS" ) as statuslunas,
|
|
M_BranchName,
|
|
M_BranchAddress
|
|
|
|
|
|
from future_order
|
|
left join future_downpayment ON FutureDownpaymentFutureOrderID = FutureOrderID AND FutureDownpaymentIsActive = 'N'
|
|
left join future_orderdetail on Future_OrderDetailFutureOrderID = FutureOrderID and Future_OrderDetailIsActive = 'N'
|
|
left join m_patient ON FutureOrderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON FutureOrderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON FutureOrderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON FutureOrderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join t_test ON Future_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on FutureDownpaymentUserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_packet on Future_OrderDetailT_TestID = T_PacketID and T_PacketIsActive = 'Y'
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
|
|
|
|
where
|
|
FutureDownpaymentID = PID ; END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_015` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_015`(IN `PID` int, IN `an` varchar(100), IN `username` varchar(100))
|
|
BEGIN
|
|
select FutureDownpaymentFutureOrderID into @ohid
|
|
from
|
|
future_downpayment
|
|
where
|
|
FutureDownpaymentID = PID AND FutureDownpaymentIsActive = 'Y' ;
|
|
|
|
select ifnull(sum(FutureDownpaymentTotal),0) into @amountotherinvoice
|
|
from
|
|
future_downpayment
|
|
WHERE
|
|
FutureDownpaymentFutureOrderID = @ohid AND FutureDownpaymentIsActive= 'Y' AND FutureDownpaymentID < PID;
|
|
|
|
|
|
|
|
select
|
|
concat(S_SystemsCompanyCity,", ", DATE_FORMAT(now(), "%d-%m-%Y %T")) AS DATENOW,
|
|
FutureOrderID,
|
|
DATE_FORMAT(FutureOrderDateBooking, "%d-%m-%Y") AS T_OrderHeaderDate,
|
|
FutureOrderNumber ,
|
|
fn_get_name( FutureOrderM_PatientID) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription," ",M_KelurahanName," ",M_DistrictName," ",M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
|
|
REPLACE(JSON_EXTRACT(FutureOrderJSONHeader, '$.age'), '"', "") as age,
|
|
CONCAT( REPLACE(JSON_EXTRACT(FutureOrderJSONHeader, '$.age'), '"', "") ," / ",M_SexCode) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2) AS M_DoctorName,
|
|
FutureOrderSubTotal ,FutureOrderTotal,
|
|
|
|
T_TestCode ,T_TestName ,
|
|
|
|
if(Future_OrderDetailIsPacket = 'Y' ,
|
|
CONCAT(T_PacketName,"</br>",`fn_get_test_packet`(T_PacketID) )
|
|
,T_TestName ) as test,
|
|
Future_OrderDetailPrice ,Future_OrderDetailDisc, Future_OrderDetailDiscAmount ,Future_OrderDetailDiscTotal, Future_OrderDetailTotal,
|
|
FutureDownpaymentTotal,
|
|
@amountotherinvoice as pembayaranlain,
|
|
T_PacketName,
|
|
`fn_get_test_packet`(T_PacketID) as paketdetail,
|
|
|
|
`fn_get_staff`(FutureDownpaymentUserID) as M_UserUsername,
|
|
DATE_FORMAT(FutureDownpaymentF_PaymentDate , "%d-%m-%Y") as FutureDownpaymentF_PaymentDate ,
|
|
FutureDownpaymentNumber,
|
|
(FutureOrderTotal-ifnull(@amountotherinvoice,0)-FutureDownpaymentTotal) as kurangbayar ,
|
|
if((FutureOrderTotal-ifnull(@amountotherinvoice,0)-FutureDownpaymentTotal) = '0' , "LUNAS","BELUM LUNAS" ) as statuslunas,
|
|
M_BranchName,
|
|
M_BranchAddress,
|
|
CONCAT(`f_terbilang`(FutureOrderTotal),"", "Rupiah") AS terbilang
|
|
|
|
|
|
from future_order
|
|
left join future_downpayment ON FutureDownpaymentFutureOrderID = FutureOrderID AND FutureDownpaymentIsActive = 'Y'
|
|
left join future_orderdetail on Future_OrderDetailFutureOrderID = FutureOrderID and Future_OrderDetailIsActive = 'Y'
|
|
left join m_patient ON FutureOrderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON FutureOrderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON FutureOrderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON FutureOrderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join t_test ON Future_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_user on FutureDownpaymentUserID = M_UserID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join t_packet on Future_OrderDetailT_TestID = T_PacketID and T_PacketIsActive = 'Y'
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
|
|
|
|
where
|
|
FutureOrderID = PID ; END $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil2` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil2`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
CHAR_LENGTH(T_TestSasCode) as code,
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
else concat(" ",T_TestShortName) end as space,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PID,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) aS Barcode,
|
|
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
concat( DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",T_OrderHeaderM_PatientAge ) as T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
CONCAT(ifnull(p.M_DoctorPrefix,"")," ",p.M_DoctorName," ",ifnull(p.M_DoctorSufix,"")," ",ifnull(p.M_DoctorSufix2,"")," ",ifnull(p.M_DoctorSufix3,"")) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderAddOnValidationNote ,
|
|
`fn_get_note_extra_demo`(T_OrderHeaderID ,T_OrderDetailT_TestID,(case
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'reaktif%' then 'Reaktif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'non reaktif%' then 'Non Reaktif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'terdeteksi%' then 'Positif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'tidak terdeteksi%' then 'negatif'
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'positif%' then 'Positif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'negatif%' then 'negatif'
|
|
else T_OrderDetailResult end)) as T_OrderHeaderResultNote ,
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_OrderDetailNormalValueNote,if(Nat_MethodeNameInResult = "UNDEFINED METHODE" , "",Nat_MethodeNameInResult) as T_OrderdetailNat_MethodeName,S_SystemsCompanyCity ,S_SystemsCompanyCityFooter,DATE_FORMAT(now(), "%d-%m-%Y %T") as hariini,
|
|
|
|
T_TestCode ,UPPER(Nat_SubSubGroupName) as Nat_SubSubGroupName,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil , T_OrderDetailHasResult,
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
when T_OrderDetailVerification = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
|
|
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
|
|
)
|
|
|
|
end) )
|
|
|
|
as T_OrderDetailResult,
|
|
T_OrderDetailNote,T_TestNormalValue,ifnull(T_OrderDetailNormalValueDescription,'') as T_OrderDetailNormalValueDescription,Nat_UnitName,T_BahanName,T_OrderSampleSamplingDate,T_OrderSampleSamplingTime,
|
|
concat(DATE_FORMAT(T_OrderSampleSamplingDate, "%d-%m-%Y %T") ,",",T_OrderSampleSamplingTime ) as sampling,T_TestName as T_TestNameAA,
|
|
UPPER(Nat_SubGroupName) as Nat_SubGroupName
|
|
,S_SystemsCompanyName ,S_SystemsCompanyFax,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone ) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
concat("<p style='text-decoration: overline;'>",
|
|
(
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
)
|
|
|
|
,"</p>") as uservalidasi,
|
|
|
|
T_OrderDetailResultFlag,Nat_SubgroupID ,Nat_SubSubGroupID, T_TestID,
|
|
if(T_TestIsParent = 'Y','',DATE_FORMAT(T_OrderPromiseDateTime, "%d-%m-%Y %T")) AS T_OrderPromiseDateTime,
|
|
Last_StatusPaymentIsLunas ,IFNULL(`fn_get_delivery_patient_type`(T_OrderHeaderID),0 )as pengiriman,
|
|
SUBSTRING(T_OrderHeaderLabNumber,4, 5) as noreg, T_OrderHeaderLabNumber as noregasli,
|
|
if(`fn_is_periksa_covid`(T_OrderHeaderID) = 'N' , '',
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T")) ) AS qrcode
|
|
,`fn_itf_isnumber`(T_OrderDetailResult) as kodehasil ,Nat_TestIsLongResult,Group_ResultName
|
|
|
|
from t_orderheader
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_unit on T_OrderDetailNat_UnitID = Nat_UnitID and Nat_UnitIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
left join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID and T_SampleTypeIsActive = 'Y'
|
|
left join t_bahan on T_SampleTypeT_BahanID = T_BahanID and T_BahanIsActive = 'Y'
|
|
left join nat_subgroup on Nat_TestNat_SubGroupID = Nat_SubgroupID anD Nat_SubGroupIsActive = 'Y'
|
|
left join nat_subsubgroup on Nat_TestNat_SubSubGroupID = Nat_SubSubGroupID and Nat_SubSubGroupIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_user on T_OrderDetailValUserID = M_UserID
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
left join nat_methode on T_OrderDetailNat_MethodeID = Nat_MethodeID
|
|
left join t_orderdetailaddon on T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
left join t_orderpromise on T_OrderDetailT_OrderPromiseID = T_OrderPromiseID
|
|
left join last_statuspayment on Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join group_resultdetail on Group_ResultDetailT_TestID = T_OrderDetailT_TestID and Group_ResultDetailIsActive = 'Y'
|
|
left join group_result on Group_ResultDetailGroup_ResultID = Group_ResultID
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
where
|
|
T_OrderHeaderID = PID
|
|
aND T_TestIsPrintResult = 'Y' and Nat_TestNat_GroupID = '1' and Group_ResultID in ('1','13')
|
|
and
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
when T_OrderDetailVerification = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
)
|
|
end) ) not like '%#%'
|
|
|
|
group by T_TestID
|
|
order by Nat_SubgroupID ,Nat_SubSubGroupID ,T_TestSasCode asc $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil2_auto` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil2_auto`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
|
|
set @lastValidasiUserID = null;
|
|
|
|
set @lastStaffName = null;
|
|
|
|
|
|
|
|
select T_OrderDetailValUserID into @lastValidasiUserID
|
|
|
|
from t_orderdetail
|
|
|
|
join t_test on T_OrderDetailT_OrderHeaderID = PID
|
|
|
|
and T_OrderDetailValUserID is not null
|
|
|
|
and T_OrderDetailT_TestID = T_TestID
|
|
|
|
and T_TestNat_GroupID = 1
|
|
|
|
order by T_OrderDetailValDate desc,T_OrderDetailID desc
|
|
|
|
limit 0,1;
|
|
|
|
|
|
|
|
select M_StaffName into @lastStaffName
|
|
|
|
from m_staff
|
|
|
|
join m_user on M_StaffID = M_UserM_StaffID
|
|
|
|
and M_UserID = @lastValidasiUserID;
|
|
|
|
|
|
|
|
select
|
|
|
|
CHAR_LENGTH(T_TestSasCode) as code,
|
|
|
|
if (M_AkreditasiPxID is null ,
|
|
|
|
case
|
|
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
|
|
else concat(" ",T_TestShortName) end ,
|
|
|
|
concat(
|
|
|
|
|
|
|
|
case
|
|
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
|
|
else concat(" ",T_TestShortName) end
|
|
|
|
, " ® " )
|
|
|
|
) as space,
|
|
|
|
T_OrderHeaderID,
|
|
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PID,
|
|
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
|
|
M_PatientNoReg ,
|
|
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) aS Barcode,
|
|
|
|
|
|
|
|
M_TitleName,
|
|
|
|
M_SexName,
|
|
|
|
M_PatientSuffix,
|
|
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
|
|
M_PatientHP ,
|
|
|
|
ifnull(M_PatientPhone ,'') as M_PatientPhone ,
|
|
|
|
M_PatientEmail,
|
|
|
|
M_PatientIDNumber,
|
|
|
|
M_PatientNote,
|
|
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
M_CompanyName,
|
|
|
|
M_CompanyAddress,
|
|
|
|
M_CompanyPhone ,
|
|
|
|
M_CompanyEmail ,
|
|
|
|
M_CompanyPICName as M_CompanyPIC ,M_MouName,
|
|
|
|
concat( DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",T_OrderHeaderM_PatientAge ) as T_OrderHeaderM_PatientAge,
|
|
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
|
|
CONCAT(ifnull(p.M_DoctorPrefix,"")," ",p.M_DoctorName," ",ifnull(p.M_DoctorSufix,"")," ",ifnull(p.M_DoctorSufix2,"")," ",ifnull(p.M_DoctorSufix3,"")) AS M_DoctorName,
|
|
|
|
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
|
|
T_OrderHeaderDoctorNote,
|
|
|
|
ifnull(T_OrderHeaderVerificationNote,'') as T_OrderHeaderVerificationNote ,
|
|
|
|
ifnull(T_OrderHeaderFoNote,'') as T_OrderHeaderFoNote ,
|
|
|
|
ifnull(T_OrderHeaderSamplingNote,'') as T_OrderHeaderSamplingNote,
|
|
|
|
|
|
|
|
T_OrderHeaderAddOnValidationNote ,
|
|
|
|
`fn_get_note_extra_demo`(T_OrderHeaderID ,T_OrderDetailT_TestID,(case
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'reaktif%' then 'Reaktif'
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'non reaktif%' then 'Non Reaktif'
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'terdeteksi%' then 'Positif'
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'tidak terdeteksi%' then 'negatif'
|
|
|
|
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'positif%' then 'Positif'
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'negatif%' then 'negatif'
|
|
|
|
else T_OrderDetailResult end)) as T_OrderHeaderResultNote ,
|
|
|
|
T_OrderHeaderSubTotal,
|
|
|
|
T_OrderHeaderRounding ,
|
|
|
|
T_OrderHeaderTotal,
|
|
|
|
ifnull(T_OrderDetailNormalValueNote,'') as T_OrderDetailNormalValueNote,if(Nat_MethodeNameInResult = "UNDEFINED METHODE" , "",Nat_MethodeNameInResult) as T_OrderdetailNat_MethodeName,S_SystemsCompanyCity ,S_SystemsCompanyCityFooter,DATE_FORMAT(now(), "%d-%m-%Y %T") as hariini,
|
|
|
|
|
|
|
|
T_TestCode ,UPPER(Nat_SubSubGroupName) as Nat_SubSubGroupName,
|
|
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil , T_OrderDetailHasResult,
|
|
|
|
if(T_TestIsParent = 'Y','',(case
|
|
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
|
|
concat(
|
|
|
|
|
|
|
|
|
|
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
|
|
)
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
end) )
|
|
|
|
|
|
|
|
as T_OrderDetailResult,
|
|
|
|
T_OrderDetailNote,T_TestNormalValue,ifnull(T_OrderDetailNormalValueDescription,'') as T_OrderDetailNormalValueDescription,
|
|
|
|
ifnull(T_OrderDetailNat_UnitName,'') as Nat_UnitName,T_BahanName,T_OrderSampleSamplingDate,T_OrderSampleSamplingTime,
|
|
|
|
concat(DATE_FORMAT(T_OrderSampleSamplingDate, "%d-%m-%Y %T") ,",",T_OrderSampleSamplingTime ) as sampling,T_TestName as T_TestNameAA,
|
|
|
|
UPPER(Nat_SubGroupName) as Nat_SubGroupName
|
|
|
|
,S_SystemsCompanyName ,S_SystemsCompanyFax,
|
|
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone ) as alamatcabang,
|
|
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
|
|
concat("<p style='text-decoration: overline;'>",
|
|
|
|
IF (@lastValidasiUserID = 1500 ,CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) ,
|
|
|
|
(
|
|
|
|
case
|
|
|
|
when @lastStaffName is not null then @lastStaffName
|
|
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
|
|
else M_StaffName end
|
|
|
|
))
|
|
|
|
|
|
|
|
,"</p>") as uservalidasi,
|
|
|
|
|
|
|
|
T_OrderDetailResultFlag,Nat_SubgroupID ,Nat_SubSubGroupID, T_TestID,
|
|
|
|
if(T_TestIsParent = 'Y','',DATE_FORMAT(T_OrderPromiseDateTime, "%d-%m-%Y %T")) AS T_OrderPromiseDateTime,
|
|
|
|
Last_StatusPaymentIsLunas ,IFNULL(`fn_get_delivery_patient_type`(T_OrderHeaderID),0 )as pengiriman,
|
|
|
|
SUBSTRING(T_OrderHeaderLabNumber,4, 5) as noreg, T_OrderHeaderLabNumber as noregasli,
|
|
|
|
if(`fn_is_periksa_covid`(T_OrderHeaderID) = 'N' , '',
|
|
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T")) ) AS qrcode
|
|
|
|
,`fn_itf_isnumber`(T_OrderDetailResult) as kodehasil ,Nat_TestIsLongResult,Group_ResultName
|
|
|
|
|
|
|
|
from t_orderheader
|
|
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
|
|
left join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
|
|
left join nat_unit on T_OrderDetailNat_UnitID = Nat_UnitID and Nat_UnitIsActive = 'Y'
|
|
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
|
|
left join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID and T_SampleTypeIsActive = 'Y'
|
|
|
|
left join t_bahan on T_SampleTypeT_BahanID = T_BahanID and T_BahanIsActive = 'Y'
|
|
|
|
left join nat_subgroup on Nat_TestNat_SubGroupID = Nat_SubgroupID anD Nat_SubGroupIsActive = 'Y'
|
|
|
|
left join nat_subsubgroup on Nat_TestNat_SubSubGroupID = Nat_SubSubGroupID and Nat_SubSubGroupIsActive = 'Y'
|
|
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB"
|
|
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
left join m_user on T_OrderDetailValUserID = M_UserID
|
|
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
|
|
left join nat_methode on T_OrderDetailNat_MethodeID = Nat_MethodeID
|
|
|
|
left join t_orderdetailaddon on T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
|
|
left join t_orderpromise on T_OrderDetailT_OrderPromiseID = T_OrderPromiseID
|
|
|
|
left join last_statuspayment on Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
left join group_resultdetail on Group_ResultDetailT_TestID = T_OrderDetailT_TestID and Group_ResultDetailIsActive = 'Y'
|
|
|
|
left join group_result on Group_ResultDetailGroup_ResultID = Group_ResultID
|
|
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
left join m_akreditasipx on T_TestNat_TestID = M_AkreditasiPxNat_TestID and M_AkreditasiPxIsActive = 'Y'
|
|
|
|
where
|
|
|
|
T_OrderHeaderID = PID
|
|
|
|
aND T_TestIsPrintResult = 'Y' and Nat_TestNat_GroupID = '1' and Group_ResultID in ('1','13')
|
|
|
|
and
|
|
|
|
if(T_TestIsParent = 'Y','',(case
|
|
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
|
|
concat(
|
|
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
|
|
)
|
|
|
|
)
|
|
|
|
end) ) not like '%#%'
|
|
|
|
|
|
|
|
group by T_TestID
|
|
|
|
order by Nat_SubgroupID ,Nat_SubSubGroupID ,T_TestSasCode asc;
|
|
|
|
end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil_email` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil_email`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
CHAR_LENGTH(T_TestSasCode) as code,
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
else concat(" ",T_TestShortName) end as space,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PID,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) aS Barcode,
|
|
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
concat( DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",T_OrderHeaderM_PatientAge ) as T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderAddOnValidationNote ,
|
|
`fn_get_note_extra_demo`(T_OrderHeaderID ,T_OrderDetailT_TestID,(case
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'reaktif%' then 'Reaktif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'non reaktif%' then 'Non Reaktif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'terdeteksi%' then 'Positif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'tidak terdeteksi%' then 'negatif'
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'positif%' then 'Positif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'negatif%' then 'negatif'
|
|
else T_OrderDetailResult end)) as T_OrderHeaderResultNote ,
|
|
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_OrderDetailNormalValueNote,if(Nat_MethodeNameInResult = "UNDEFINED METHODE" , "",Nat_MethodeNameInResult) as T_OrderdetailNat_MethodeName,S_SystemsCompanyCity ,S_SystemsCompanyCityFooter,DATE_FORMAT(now(), "%d-%m-%Y %T") as hariini,
|
|
|
|
T_TestCode ,UPPER(Nat_SubSubGroupName) as Nat_SubSubGroupName,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil ,
|
|
T_OrderDetailHasResult,
|
|
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
when T_OrderDetailVerification = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
|
|
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
|
|
)
|
|
|
|
end) )
|
|
|
|
as T_OrderDetailResult,
|
|
|
|
T_OrderDetailNote,T_TestNormalValue,ifnull(T_OrderDetailNormalValueDescription,'') as T_OrderDetailNormalValueDescription,Nat_UnitName,T_BahanName,T_OrderSampleSamplingDate,T_OrderSampleSamplingTime,
|
|
concat(DATE_FORMAT(T_OrderSampleSamplingDate, "%d-%m-%Y %T") ,",",T_OrderSampleSamplingTime ) as sampling,T_TestName as T_TestNameAA,
|
|
UPPER(Nat_SubGroupName) as Nat_SubGroupName
|
|
,S_SystemsCompanyName ,S_SystemsCompanyFax,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone ) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
concat("<p style='text-decoration: overline;'>",
|
|
(
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
)
|
|
|
|
,"</p>") as uservalidasi,
|
|
|
|
T_OrderDetailResultFlag,Nat_SubgroupID ,Nat_SubSubGroupID, T_TestID,
|
|
if(T_TestIsParent = 'Y','',DATE_FORMAT(T_OrderPromiseDateTime, "%d-%m-%Y %T")) AS T_OrderPromiseDateTime,
|
|
Last_StatusPaymentIsLunas ,IFNULL(`fn_get_delivery_patient_type`(T_OrderHeaderID),0 )as pengiriman,
|
|
SUBSTRING(T_OrderHeaderLabNumber,4, 5) as noreg, T_OrderHeaderLabNumber as noregasli,
|
|
replace(concat("http://localhost/charts/qr.php?d=",
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
|
|
,"^",DATE_FORMAT(now(), "%d-%m-%Y %T"))," ","+") AS qrcode
|
|
,`fn_itf_isnumber`(T_OrderDetailResult) as kodehasil ,Nat_TestIsLongResult,
|
|
|
|
if(`fn_is_periksa_covid`(T_OrderHeaderID) = 'N' , '',
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T")) )AS qrcodecov
|
|
|
|
from t_orderheader
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_unit on T_OrderDetailNat_UnitID = Nat_UnitID and Nat_UnitIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
left join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID and T_SampleTypeIsActive = 'Y'
|
|
left join t_bahan on T_SampleTypeT_BahanID = T_BahanID and T_BahanIsActive = 'Y'
|
|
left join nat_subgroup on Nat_TestNat_SubGroupID = Nat_SubgroupID anD Nat_SubGroupIsActive = 'Y'
|
|
left join nat_subsubgroup on Nat_TestNat_SubSubGroupID = Nat_SubSubGroupID and Nat_SubSubGroupIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_user on T_OrderDetailValUserID = M_UserID
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
left join nat_methode on T_OrderDetailNat_MethodeID = Nat_MethodeID
|
|
left join t_orderdetailaddon on T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
left join t_orderpromise on T_OrderDetailT_OrderPromiseID = T_OrderPromiseID
|
|
left join last_statuspayment on Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join group_resultdetail on Group_ResultDetailT_TestID = T_OrderDetailT_TestID and Group_ResultDetailIsActive = 'Y'
|
|
left join group_result on Group_ResultDetailGroup_ResultID = Group_ResultID
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
where
|
|
T_OrderHeaderID = PID
|
|
aND T_TestIsPrintResult = 'Y' and Nat_TestNat_GroupID = '1' and Group_ResultID in ('1','13')
|
|
|
|
and
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when T_OrderSampleReceive= 'N' then 'Bahan Belum'
|
|
when T_OrderDetailVerification = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
)
|
|
end) ) not like '%#%'
|
|
group by T_TestID
|
|
order by Nat_SubgroupID ,Nat_SubSubGroupID ,T_TestSasCode asc $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil_email_auto` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil_email_auto`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
set @lastValidasiUserID = null;
|
|
set @lastStaffName = null;
|
|
|
|
select T_OrderDetailValUserID into @lastValidasiUserID
|
|
from t_orderdetail
|
|
join t_test on T_OrderDetailT_OrderHeaderID = PID
|
|
and T_OrderDetailValUserID is not null
|
|
and T_OrderDetailT_TestID = T_TestID
|
|
and T_TestNat_GroupID = 1
|
|
order by T_OrderDetailValDate desc,T_OrderDetailID desc
|
|
limit 0,1;
|
|
|
|
select M_StaffName into @lastStaffName
|
|
from m_staff
|
|
join m_user on M_StaffID = M_UserM_StaffID
|
|
and M_UserID = @lastValidasiUserID;
|
|
|
|
|
|
select
|
|
CHAR_LENGTH(T_TestSasCode) as code,
|
|
if (M_AkreditasiPxID is null ,
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
else concat(" ",T_TestShortName) end ,
|
|
concat(
|
|
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
else concat(" ",T_TestShortName) end
|
|
, " ® " )
|
|
) as space,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PID,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) aS Barcode,
|
|
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
concat( DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",T_OrderHeaderM_PatientAge ) as T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderAddOnValidationNote ,
|
|
`fn_get_note_extra_demo`(T_OrderHeaderID ,T_OrderDetailT_TestID,(case
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'reaktif%' then 'Reaktif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'non reaktif%' then 'Non Reaktif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'terdeteksi%' then 'Positif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'tidak terdeteksi%' then 'negatif'
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'positif%' then 'Positif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'negatif%' then 'negatif'
|
|
else T_OrderDetailResult end)) as T_OrderHeaderResultNote ,
|
|
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_OrderDetailNormalValueNote,if(Nat_MethodeNameInResult = "UNDEFINED METHODE" , "",Nat_MethodeNameInResult) as T_OrderdetailNat_MethodeName,S_SystemsCompanyCity ,S_SystemsCompanyCityFooter,DATE_FORMAT(now(), "%d-%m-%Y %T") as hariini,
|
|
|
|
T_TestCode ,UPPER(Nat_SubSubGroupName) as Nat_SubSubGroupName,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil ,
|
|
T_OrderDetailHasResult,
|
|
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
|
|
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
|
|
)
|
|
|
|
end) )
|
|
|
|
as T_OrderDetailResult,
|
|
|
|
T_OrderDetailNote,T_TestNormalValue,ifnull(T_OrderDetailNormalValueDescription,'') as T_OrderDetailNormalValueDescription,Nat_UnitName,T_BahanName,T_OrderSampleSamplingDate,T_OrderSampleSamplingTime,
|
|
concat(DATE_FORMAT(T_OrderSampleSamplingDate, "%d-%m-%Y %T") ,",",T_OrderSampleSamplingTime ) as sampling,T_TestName as T_TestNameAA,
|
|
UPPER(Nat_SubGroupName) as Nat_SubGroupName
|
|
,S_SystemsCompanyName ,S_SystemsCompanyFax,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone ) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
concat("<p style='text-decoration: overline;'>",
|
|
IF (@lastValidasiUserID = 1500 ,CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) ,
|
|
(
|
|
case
|
|
when @lastStaffName is not null then @lastStaffName
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
))
|
|
|
|
,"</p>") as uservalidasi,
|
|
|
|
T_OrderDetailResultFlag,Nat_SubgroupID ,Nat_SubSubGroupID, T_TestID,
|
|
if(T_TestIsParent = 'Y','',DATE_FORMAT(T_OrderPromiseDateTime, "%d-%m-%Y %T")) AS T_OrderPromiseDateTime,
|
|
Last_StatusPaymentIsLunas ,IFNULL(`fn_get_delivery_patient_type`(T_OrderHeaderID),0 )as pengiriman,
|
|
SUBSTRING(T_OrderHeaderLabNumber,4, 5) as noreg, T_OrderHeaderLabNumber as noregasli,
|
|
replace(concat("http://localhost/charts/qr.php?d=",
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
|
|
,"^",DATE_FORMAT(now(), "%d-%m-%Y %T"))," ","+") AS qrcode
|
|
,`fn_itf_isnumber`(T_OrderDetailResult) as kodehasil ,Nat_TestIsLongResult,
|
|
|
|
if(`fn_is_periksa_covid`(T_OrderHeaderID) = 'N' , '',
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T")) )AS qrcodecov
|
|
|
|
from t_orderheader
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_unit on T_OrderDetailNat_UnitID = Nat_UnitID and Nat_UnitIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
left join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID and T_SampleTypeIsActive = 'Y'
|
|
left join t_bahan on T_SampleTypeT_BahanID = T_BahanID and T_BahanIsActive = 'Y'
|
|
left join nat_subgroup on Nat_TestNat_SubGroupID = Nat_SubgroupID anD Nat_SubGroupIsActive = 'Y'
|
|
left join nat_subsubgroup on Nat_TestNat_SubSubGroupID = Nat_SubSubGroupID and Nat_SubSubGroupIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_user on T_OrderDetailValUserID = M_UserID
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
left join nat_methode on T_OrderDetailNat_MethodeID = Nat_MethodeID
|
|
left join t_orderdetailaddon on T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
left join t_orderpromise on T_OrderDetailT_OrderPromiseID = T_OrderPromiseID
|
|
left join last_statuspayment on Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join group_resultdetail on Group_ResultDetailT_TestID = T_OrderDetailT_TestID and Group_ResultDetailIsActive = 'Y'
|
|
left join group_result on Group_ResultDetailGroup_ResultID = Group_ResultID
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_akreditasipx on T_TestNat_TestID = M_AkreditasiPxNat_TestID and M_AkreditasiPxIsActive = 'Y'
|
|
where
|
|
T_OrderHeaderID = PID
|
|
aND T_TestIsPrintResult = 'Y' and Nat_TestNat_GroupID = '1' and Group_ResultID in ('1','13')
|
|
|
|
and
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when T_OrderSampleReceive= 'N' then 'Bahan Belum'
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
)
|
|
end) ) not like '%#%'
|
|
group by T_TestID
|
|
order by Nat_SubgroupID ,Nat_SubSubGroupID ,T_TestSasCode asc;
|
|
end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil_eng` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil_eng`(IN `PID` int, IN `username` varchar(100))
|
|
select T_OrderDetailID,T_OrderDetailLangT_OrderDetailID ,
|
|
CHAR_LENGTH(T_TestSasCode) as code,
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_OrderDetailLangNat_TestLangName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_OrderDetailLangNat_TestLangName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_OrderDetailLangNat_TestLangName)
|
|
else concat(" ",T_OrderDetailLangNat_TestLangName) end as space,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PID,
|
|
CONCAT(M_TitleLangName ," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) aS Barcode,
|
|
|
|
M_TitleLangName as M_TitleName,
|
|
M_SexNameLang as M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
(case
|
|
when M_CompanyName = 'Pasien klinisi' then 'CLINICIAN REFERENCE'
|
|
when M_CompanyName = 'Pasien mandiri' then 'PERSONAL REQUEST'
|
|
else M_CompanyName end )
|
|
as M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
concat( DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') ) as T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderLangResultNote as T_OrderHeaderResultNote,
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_OrderDetailLangNat_NormalValueLangNote as T_OrderDetailNormalValueNote,if(Nat_MethodeNameInResult = "UNDEFINED METHODE" , "",Nat_MethodeNameInResult) as T_OrderdetailNat_MethodeName,S_SystemsCompanyCity ,S_SystemsCompanyCityFooter,DATE_FORMAT(now(), "%d-%m-%Y %T") as hariini,
|
|
|
|
T_TestCode ,UPPER(Nat_SubSubGroupLangName) as Nat_SubSubGroupName,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil , T_OrderDetailHasResult,
|
|
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Sample will be completed'
|
|
when T_OrderDetailVerification = 'X' then concat( 'Will be completed' , " " , date_format(T_OrderPromiseDateTime, "%d-%m-%Y") ) else
|
|
concat(
|
|
|
|
|
|
concat(ifnull(if(T_OrderDetailLangResult = 'Terlampir','Attachment',T_OrderDetailLangResult ),''),"", ifnull(T_OrderDetailLangFlag ,''))
|
|
|
|
)
|
|
|
|
end) )
|
|
|
|
as T_OrderDetailResult,
|
|
|
|
|
|
T_OrderDetailNote,T_TestNormalValue,ifnull(if (T_OrderDetailLangIsSI = 'Y' ,Nat_NormalValueLangDescriptionSI,Nat_NormalValueLangDescription),'') as T_OrderDetailNormalValueDescription,T_OrderDetailLangNat_UnitLangName as Nat_UnitName,T_BahanName,T_OrderSampleSamplingDate,T_OrderSampleSamplingTime,
|
|
concat(DATE_FORMAT(T_OrderSampleSamplingDate, "%d-%m-%Y %T") ,",",T_OrderSampleSamplingTime ) as sampling,T_OrderDetailLangNat_TestLangName as T_TestNameAA,
|
|
UPPER(Nat_SubGroupLangName) as Nat_SubGroupName
|
|
,S_SystemsCompanyName ,S_SystemsCompanyFax,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone ) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
|
|
concat("<p style='text-decoration: overline;'>",
|
|
(
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
)
|
|
|
|
,"</p>") as uservalidasi,
|
|
T_OrderDetailLangFlag as T_OrderDetailResultFlag,Nat_SubgroupID ,Nat_SubSubGroupID, T_TestID,
|
|
if(T_TestIsParent = 'Y','',DATE_FORMAT(T_OrderPromiseDateTime, "%d-%m-%Y %T")) AS T_OrderPromiseDateTime,
|
|
Last_StatusPaymentIsLunas ,IFNULL(`fn_get_delivery_patient_type`(T_OrderHeaderID),0 )as pengiriman,
|
|
SUBSTRING(T_OrderHeaderLabNumber,4, 5) as noreg, T_OrderHeaderLabNumber as noregasli,
|
|
replace(concat("http://localhost/charts/qr.php?d=",
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
|
|
,"^",DATE_FORMAT(now(), "%d-%m-%Y %T"))," ","+") AS qrcode
|
|
,`fn_itf_isnumber`(T_OrderDetailResult) as kodehasil ,Nat_TestIsLongResult,Group_ResultName,
|
|
|
|
if(`fn_is_periksa_covid`(T_OrderHeaderID) = 'N' , '',
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T")) )AS qrcodecov
|
|
|
|
|
|
|
|
from t_orderheader
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
join t_orderdetaillang on T_OrderDetailID = T_OrderDetailLangT_OrderDetailID and T_OrderDetailLangT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_testlang on T_OrderDetailLangNat_TestLangID = Nat_TestLangID
|
|
left join nat_unitlang on T_OrderDetailLangNat_UnitLangID = Nat_UnitLangID and Nat_UnitLangIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
left join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID and T_SampleTypeIsActive = 'Y'
|
|
left join t_bahan on T_SampleTypeT_BahanID = T_BahanID and T_BahanIsActive = 'Y'
|
|
left join nat_subgroup on Nat_TestNat_SubGroupID = Nat_SubgroupID anD Nat_SubGroupIsActive = 'Y'
|
|
left join nat_subsubgroup on Nat_TestNat_SubSubGroupID = Nat_SubSubGroupID and Nat_SubSubGroupIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_user on T_OrderDetailValUserID = M_UserID
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
left join nat_methode on T_OrderDetailNat_MethodeID = Nat_MethodeID
|
|
left join t_orderdetailaddon on T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
left join t_orderpromise on T_OrderDetailT_OrderPromiseID = T_OrderPromiseID
|
|
left join last_statuspayment on Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join group_resultdetail on Group_ResultDetailT_TestID = T_OrderDetailT_TestID and Group_ResultDetailIsActive = 'Y'
|
|
left join group_result on Group_ResultDetailGroup_ResultID = Group_ResultID
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
left join nat_normalvaluelang on T_OrderDetailLangNat_NormalValueLangID = Nat_NormalValueLangID
|
|
left join t_orderheaderlang on T_OrderHeaderLangT_OrderHeaderID = T_OrderHeaderID
|
|
|
|
where
|
|
T_OrderHeaderID = PID
|
|
aND T_TestIsPrintResult = 'Y' and Nat_TestNat_GroupID = '1' and Group_ResultID in ('1','13')
|
|
|
|
and
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when T_OrderSampleReceive= 'N' then 'Bahan Belum'
|
|
when T_OrderDetailVerification = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
)
|
|
end) ) not like '%#%'
|
|
group by T_TestID
|
|
order by Nat_SubgroupID ,Nat_SubSubGroupID ,T_TestSasCode asc $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil_eng_auto` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil_eng_auto`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
set @lastValidasiUserID = null;
|
|
set @lastStaffName = null;
|
|
|
|
select T_OrderDetailValUserID into @lastValidasiUserID
|
|
from t_orderdetail
|
|
join t_test on T_OrderDetailT_OrderHeaderID = PID
|
|
and T_OrderDetailValUserID is not null
|
|
and T_OrderDetailT_TestID = T_TestID
|
|
and T_TestNat_GroupID = 1
|
|
order by T_OrderDetailValDate desc,T_OrderDetailID desc
|
|
limit 0,1;
|
|
|
|
select M_StaffName into @lastStaffName
|
|
from m_staff
|
|
join m_user on M_StaffID = M_UserM_StaffID
|
|
and M_UserID = @lastValidasiUserID;
|
|
|
|
|
|
|
|
select T_OrderDetailID,T_OrderDetailLangT_OrderDetailID ,
|
|
CHAR_LENGTH(T_TestSasCode) as code,
|
|
|
|
if (M_AkreditasiPxID is null ,
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_OrderDetailLangNat_TestLangName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_OrderDetailLangNat_TestLangName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_OrderDetailLangNat_TestLangName)
|
|
else concat(" ",T_OrderDetailLangNat_TestLangName) end ,
|
|
concat(
|
|
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_OrderDetailLangNat_TestLangName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_OrderDetailLangNat_TestLangName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_OrderDetailLangNat_TestLangName)
|
|
else concat(" ",T_OrderDetailLangNat_TestLangName) end
|
|
, " ® " )
|
|
) as space,
|
|
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PID,
|
|
CONCAT(M_TitleLangName ," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) aS Barcode,
|
|
|
|
M_TitleLangName as M_TitleName,
|
|
M_SexNameLang as M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
(case
|
|
when M_CompanyName = 'Pasien klinisi' then 'CLINICIAN REFERENCE'
|
|
when M_CompanyName = 'Pasien mandiri' then 'PERSONAL REQUEST'
|
|
else M_CompanyName end )
|
|
as M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
concat( DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",REPLACE(REPLACE(REPLACE(T_OrderHeaderM_PatientAge, 'tahun', 'year') , 'bulan', 'month') , 'hari', 'days') ) as T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
T_OrderHeaderLangResultNote as T_OrderHeaderResultNote,
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_OrderDetailLangNat_NormalValueLangNote as T_OrderDetailNormalValueNote,if(Nat_MethodeNameInResult = "UNDEFINED METHODE" , "",Nat_MethodeNameInResult) as T_OrderdetailNat_MethodeName,S_SystemsCompanyCity ,S_SystemsCompanyCityFooter,DATE_FORMAT(now(), "%d-%m-%Y %T") as hariini,
|
|
|
|
T_TestCode ,UPPER(Nat_SubSubGroupLangName) as Nat_SubSubGroupName,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil , T_OrderDetailHasResult,
|
|
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Sample will be completed'
|
|
when T_OrderDetailValidation = 'X' then concat( 'Will be completed' , " " , date_format(T_OrderPromiseDateTime, "%d-%m-%Y") ) else
|
|
concat(
|
|
|
|
|
|
concat(ifnull(if(T_OrderDetailLangResult = 'Terlampir','Attachment',T_OrderDetailLangResult ),''),"", ifnull(T_OrderDetailLangFlag ,''))
|
|
|
|
)
|
|
|
|
end) )
|
|
|
|
as T_OrderDetailResult,
|
|
|
|
|
|
T_OrderDetailNote,T_TestNormalValue,ifnull(if (T_OrderDetailLangIsSI = 'Y' ,Nat_NormalValueLangDescriptionSI,Nat_NormalValueLangDescription),'') as T_OrderDetailNormalValueDescription,T_OrderDetailLangNat_UnitLangName as Nat_UnitName,T_BahanName,T_OrderSampleSamplingDate,T_OrderSampleSamplingTime,
|
|
concat(DATE_FORMAT(T_OrderSampleSamplingDate, "%d-%m-%Y %T") ,",",T_OrderSampleSamplingTime ) as sampling,T_OrderDetailLangNat_TestLangName as T_TestNameAA,
|
|
UPPER(Nat_SubGroupLangName) as Nat_SubGroupName
|
|
,S_SystemsCompanyName ,S_SystemsCompanyFax,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone ) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
|
|
concat("<p style='text-decoration: overline;'>",
|
|
IF (@lastValidasiUserID = 1500 ,CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) ,
|
|
(
|
|
case
|
|
when @lastStaffName is not null then @lastStaffName
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
))
|
|
|
|
,"</p>") as uservalidasi,
|
|
|
|
|
|
T_OrderDetailLangFlag as T_OrderDetailResultFlag,Nat_SubgroupID ,Nat_SubSubGroupID, T_TestID,
|
|
if(T_TestIsParent = 'Y','',DATE_FORMAT(T_OrderPromiseDateTime, "%d-%m-%Y %T")) AS T_OrderPromiseDateTime,
|
|
Last_StatusPaymentIsLunas ,IFNULL(`fn_get_delivery_patient_type`(T_OrderHeaderID),0 )as pengiriman,
|
|
SUBSTRING(T_OrderHeaderLabNumber,4, 5) as noreg, T_OrderHeaderLabNumber as noregasli,
|
|
replace(concat("http://localhost/charts/qr.php?d=",
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
|
|
,"^",DATE_FORMAT(now(), "%d-%m-%Y %T"))," ","+") AS qrcode
|
|
,`fn_itf_isnumber`(T_OrderDetailResult) as kodehasil ,Nat_TestIsLongResult,Group_ResultName,
|
|
|
|
if(`fn_is_periksa_covid`(T_OrderHeaderID) = 'N' , '',
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T")) )AS qrcodecov
|
|
|
|
|
|
|
|
from t_orderheader
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
join t_orderdetaillang on T_OrderDetailID = T_OrderDetailLangT_OrderDetailID and T_OrderDetailLangT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_testlang on T_OrderDetailLangNat_TestLangID = Nat_TestLangID
|
|
left join nat_unitlang on T_OrderDetailLangNat_UnitLangID = Nat_UnitLangID and Nat_UnitLangIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
left join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID and T_SampleTypeIsActive = 'Y'
|
|
left join t_bahan on T_SampleTypeT_BahanID = T_BahanID and T_BahanIsActive = 'Y'
|
|
left join nat_subgroup on Nat_TestNat_SubGroupID = Nat_SubgroupID anD Nat_SubGroupIsActive = 'Y'
|
|
left join nat_subsubgroup on Nat_TestNat_SubSubGroupID = Nat_SubSubGroupID and Nat_SubSubGroupIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_user on T_OrderDetailValUserID = M_UserID
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
left join nat_methode on T_OrderDetailNat_MethodeID = Nat_MethodeID
|
|
left join t_orderdetailaddon on T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
left join t_orderpromise on T_OrderDetailT_OrderPromiseID = T_OrderPromiseID
|
|
left join last_statuspayment on Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join group_resultdetail on Group_ResultDetailT_TestID = T_OrderDetailT_TestID and Group_ResultDetailIsActive = 'Y'
|
|
left join group_result on Group_ResultDetailGroup_ResultID = Group_ResultID
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
left join nat_normalvaluelang on T_OrderDetailLangNat_NormalValueLangID = Nat_NormalValueLangID
|
|
left join t_orderheaderlang on T_OrderHeaderLangT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_akreditasipx on T_TestNat_TestID = M_AkreditasiPxNat_TestID and M_AkreditasiPxIsActive = 'Y'
|
|
where
|
|
T_OrderHeaderID = PID
|
|
aND T_TestIsPrintResult = 'Y' and Nat_TestNat_GroupID = '1' and Group_ResultID in ('1','13')
|
|
|
|
and
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when T_OrderSampleReceive= 'N' then 'Bahan Belum'
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
)
|
|
end) ) not like '%#%'
|
|
group by T_TestID
|
|
order by Nat_SubgroupID ,Nat_SubSubGroupID ,T_TestSasCode asc;
|
|
end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil_image` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil_image`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
|
|
select
|
|
CHAR_LENGTH(T_TestSasCode) as code,
|
|
if (M_AkreditasiPxID is null ,
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
else concat(" ",T_TestShortName) end ,
|
|
concat(
|
|
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
else concat(" ",T_TestShortName) end
|
|
, " ® " )
|
|
) as space,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PID,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) aS Barcode,
|
|
|
|
M_TitleName,
|
|
M_SexName,
|
|
M_PatientSuffix,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientPhone ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone ,
|
|
M_CompanyEmail ,
|
|
M_CompanyPIC ,M_MouName,
|
|
concat( DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",T_OrderHeaderM_PatientAge ) as T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
CONCAT(p.M_DoctorPrefix," ",p.M_DoctorName," ",p.M_DoctorSufix," ",p.M_DoctorSufix2," ",p.M_DoctorSufix3) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
T_OrderHeaderDoctorNote,
|
|
T_OrderHeaderVerificationNote ,
|
|
T_OrderHeaderFoNote ,
|
|
T_OrderHeaderSamplingNote,
|
|
|
|
T_OrderHeaderAddOnValidationNote ,
|
|
`fn_get_note_extra_demo`(T_OrderHeaderID ,T_OrderDetailT_TestID,(case
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'reaktif%' then 'Reaktif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'non reaktif%' then 'Non Reaktif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'terdeteksi%' then 'Positif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'tidak terdeteksi%' then 'negatif'
|
|
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'positif%' then 'Positif'
|
|
when fn_get_result_header_new(T_OrderHeaderID,T_OrderDetailT_TestSasCode) like 'negatif%' then 'negatif'
|
|
else T_OrderDetailResult end)) as T_OrderHeaderResultNote ,
|
|
|
|
T_OrderHeaderSubTotal,
|
|
T_OrderHeaderRounding ,
|
|
T_OrderHeaderTotal,
|
|
T_OrderDetailNormalValueNote,if(Nat_MethodeNameInResult = "UNDEFINED METHODE" , "",Nat_MethodeNameInResult) as T_OrderdetailNat_MethodeName,S_SystemsCompanyCity ,S_SystemsCompanyCityFooter,DATE_FORMAT(now(), "%d-%m-%Y %T") as hariini,
|
|
|
|
T_TestCode ,UPPER(Nat_SubSubGroupName) as Nat_SubSubGroupName,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil ,
|
|
T_OrderDetailHasResult,
|
|
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
|
|
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
|
|
)
|
|
|
|
end) )
|
|
|
|
as T_OrderDetailResult,
|
|
|
|
T_OrderDetailNote,T_TestNormalValue,ifnull(T_OrderDetailNormalValueDescription,'') as T_OrderDetailNormalValueDescription,Nat_UnitName,T_BahanName,T_OrderSampleSamplingDate,T_OrderSampleSamplingTime,
|
|
concat(DATE_FORMAT(T_OrderSampleSamplingDate, "%d-%m-%Y %T") ,",",T_OrderSampleSamplingTime ) as sampling,T_TestName as T_TestNameAA,
|
|
UPPER(Nat_SubGroupName) as Nat_SubGroupName
|
|
,S_SystemsCompanyName ,S_SystemsCompanyFax,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone ) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
concat("<p style='text-decoration: overline;'>",
|
|
IF (@lastValidasiUserID = 1500 ,CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) ,
|
|
(
|
|
case
|
|
when @lastStaffName is not null then @lastStaffName
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
))
|
|
|
|
,"</p>") as uservalidasi,
|
|
|
|
T_OrderDetailResultFlag,Nat_SubgroupID ,Nat_SubSubGroupID, T_TestID,
|
|
if(T_TestIsParent = 'Y','',DATE_FORMAT(T_OrderPromiseDateTime, "%d-%m-%Y %T")) AS T_OrderPromiseDateTime,
|
|
Last_StatusPaymentIsLunas ,IFNULL(`fn_get_delivery_patient_type`(T_OrderHeaderID),0 )as pengiriman,
|
|
SUBSTRING(T_OrderHeaderLabNumber,4, 5) as noreg, T_OrderHeaderLabNumber as noregasli,
|
|
replace(concat("http://localhost/charts/qr.php?d=",
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
|
|
,"^",DATE_FORMAT(now(), "%d-%m-%Y %T"))," ","+") AS qrcode
|
|
,`fn_itf_isnumber`(T_OrderDetailResult) as kodehasil ,Nat_TestIsLongResult,
|
|
|
|
if(`fn_is_periksa_covid`(T_OrderHeaderID) = 'N' , '',
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T")) )AS qrcodecov
|
|
|
|
from t_orderheader
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_unit on T_OrderDetailNat_UnitID = Nat_UnitID and Nat_UnitIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
left join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID and T_SampleTypeIsActive = 'Y'
|
|
left join t_bahan on T_SampleTypeT_BahanID = T_BahanID and T_BahanIsActive = 'Y'
|
|
left join nat_subgroup on Nat_TestNat_SubGroupID = Nat_SubgroupID anD Nat_SubGroupIsActive = 'Y'
|
|
left join nat_subsubgroup on Nat_TestNat_SubSubGroupID = Nat_SubSubGroupID and Nat_SubSubGroupIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_user on T_OrderDetailValUserID = M_UserID
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
left join nat_methode on T_OrderDetailNat_MethodeID = Nat_MethodeID
|
|
left join t_orderdetailaddon on T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
left join t_orderpromise on T_OrderDetailT_OrderPromiseID = T_OrderPromiseID
|
|
left join last_statuspayment on Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join group_resultdetail on Group_ResultDetailT_TestID = T_OrderDetailT_TestID and Group_ResultDetailIsActive = 'Y'
|
|
left join group_result on Group_ResultDetailGroup_ResultID = Group_ResultID
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_akreditasipx on T_TestNat_TestID = M_AkreditasiPxNat_TestID and M_AkreditasiPxIsActive = 'Y'
|
|
where
|
|
T_OrderHeaderID = PID
|
|
aND T_TestIsPrintResult = 'Y' and Nat_TestNat_GroupID = '1' and Group_ResultID in ('1','13')
|
|
|
|
and
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when T_OrderSampleReceive= 'N' then 'Bahan Belum'
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
)
|
|
end) ) not like '%#%'
|
|
group by T_TestID
|
|
order by Nat_SubgroupID ,Nat_SubSubGroupID ,T_TestSasCode asc;
|
|
end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil_rspad` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil_rspad`(IN `PID` int, IN `username` varchar(100))
|
|
select
|
|
CHAR_LENGTH(T_TestSasCode) as code,
|
|
|
|
case
|
|
when CHAR_LENGTH(T_TestSasCode) = '8' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '10' then concat(" ",T_TestShortName)
|
|
when CHAR_LENGTH(T_TestSasCode) = '12' then concat(" • " ,T_TestShortName)
|
|
else concat(" ",T_TestShortName) end
|
|
as space,
|
|
T_OrderHeaderID,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') as T_OrderHeaderLabNumber,
|
|
CONCAT( fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PID,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
M_PatientNoReg ,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) aS Barcode,
|
|
|
|
M_TitleName,
|
|
M_SexName,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
M_PatientHP ,
|
|
M_PatientEmail,
|
|
M_PatientIDNumber,
|
|
M_PatientNote,
|
|
|
|
concat(fn_get_name( T_OrderHeaderM_PatientID )," / " ,TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ," Tahun" ) as NamaPasienUmur ,
|
|
M_PatientStatusKeluarga as StatusKeluarga ,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") as TanggalLahir,
|
|
M_PatientKesatuan as Kesatuan,
|
|
M_PatientPangkat as Pangkat,
|
|
T_OrderHeaderRuangPoli as Ruang ,
|
|
concat(T_OrderHeaderLabNumber," / " , M_PatientNoReg) as NoLab ,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") as TglRegistrasi ,
|
|
CONCAT(ifnull(p.M_DoctorPrefix,"")," ",p.M_DoctorName," ",ifnull(p.M_DoctorSufix,"")," ",ifnull(p.M_DoctorSufix2,"")," ",ifnull(p.M_DoctorSufix3,"")) as PermintaanDokter ,
|
|
DATE_FORMAT(T_OrderDetailValDate , "%d-%m-%Y %T") as TglSelesai,
|
|
T_OrderHeaderDiagnose as Diagnosa ,
|
|
T_OrderHeaderStatus as Status,
|
|
M_PatientIDNumber as Identitas ,
|
|
|
|
|
|
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
concat( DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") ," / ",T_OrderHeaderM_PatientAge ) as T_OrderHeaderM_PatientAge,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
CONCAT(ifnull(p.M_DoctorPrefix,"")," ",p.M_DoctorName," ",ifnull(p.M_DoctorSufix,"")," ",ifnull(p.M_DoctorSufix2,"")," ",ifnull(p.M_DoctorSufix3,"")) AS M_DoctorName,
|
|
|
|
CONCAT(pj.M_DoctorPrefix," ",pj.M_DoctorName," ",pj.M_DoctorSufix," ",pj.M_DoctorSufix2," ",pj.M_DoctorSufix3) AS DokterPJ ,
|
|
|
|
ifnull(T_OrderDetailNormalValueNote,'') as T_OrderDetailNormalValueNote,if(Nat_MethodeNameInResult = "UNDEFINED METHODE" , "",Nat_MethodeNameInResult) as T_OrderdetailNat_MethodeName,S_SystemsCompanyCity ,S_SystemsCompanyCityFooter,DATE_FORMAT(now(), "%d-%m-%Y %T") as hariini,
|
|
|
|
T_TestCode ,UPPER(Nat_SubSubGroupName) as Nat_SubSubGroupName,
|
|
`fn_report_promise`(T_OrderHeaderID ) AS janjihasil , T_OrderDetailHasResult,
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
|
|
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
|
|
)
|
|
|
|
end) )
|
|
|
|
as T_OrderDetailResult,
|
|
|
|
|
|
T_OrderDetailNote,T_TestNormalValue,ifnull(T_OrderDetailNormalValueDescription,'') as T_OrderDetailNormalValueDescription,
|
|
ifnull(Nat_UnitName,'') as Nat_UnitName,T_BahanName,T_OrderSampleSamplingDate,T_OrderSampleSamplingTime,
|
|
concat(DATE_FORMAT(T_OrderSampleSamplingDate, "%d-%m-%Y %T") ,",",T_OrderSampleSamplingTime ) as sampling,T_TestName as T_TestNameAA,
|
|
UPPER(Nat_SubGroupName) as Nat_SubGroupName
|
|
,S_SystemsCompanyName ,S_SystemsCompanyFax,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone ) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
concat("<p style='text-decoration: overline;'>",
|
|
(
|
|
case
|
|
when (T_OrderDetailValUserID = '0' or T_TestIsParent = 'Y' ) then `fn_get_username_validation_by_parent_nol`( T_OrderHeaderID )
|
|
when T_TestIsParent = 'Y' then `fn_get_username_validation_by_parent_code`( T_TestSasCode,T_OrderHeaderID )
|
|
else M_StaffName end
|
|
)
|
|
|
|
,"</p>") as uservalidasi,
|
|
|
|
T_OrderDetailResultFlag,Nat_SubgroupID ,Nat_SubSubGroupID, T_TestID,
|
|
if(T_TestIsParent = 'Y','',DATE_FORMAT(T_OrderPromiseDateTime, "%d-%m-%Y %T")) AS T_OrderPromiseDateTime,
|
|
Last_StatusPaymentIsLunas ,IFNULL(`fn_get_delivery_patient_type`(T_OrderHeaderID),0 )as pengiriman,
|
|
SUBSTRING(T_OrderHeaderLabNumber,4, 5) as noreg, T_OrderHeaderLabNumber as noregasli,
|
|
if(`fn_is_periksa_covid`(T_OrderHeaderID) = 'N' , '',
|
|
concat("http://localhost/one-api/chart/the_qr/v3/",T_OrderHeaderID,"/",DATE_FORMAT(now(), "%d-%m-%Y%T")) ) AS qrcode
|
|
,`fn_itf_isnumber`(T_OrderDetailResult) as kodehasil ,Nat_TestIsLongResult,Group_ResultName,
|
|
T_OrderDetailMinValue ,
|
|
T_OrderDetailMaxValue,
|
|
T_OrderDetailMinValueInclusive ,
|
|
T_OrderDetailMaxValueInclusive
|
|
|
|
from t_orderheader
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
|
left join m_doctor p ON T_OrderHeaderSenderM_DoctorID = p.M_DoctorID AND p.M_DoctorIsActive = 'Y'
|
|
left join m_doctor pj ON T_OrderHeaderPjM_DoctorID = pj.M_DoctorID AND pj.M_DoctorIsActive = 'Y'
|
|
left join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
left join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
left join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
|
|
left join nat_unit on T_OrderDetailNat_UnitID = Nat_UnitID and Nat_UnitIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_TestT_SampleTypeID
|
|
left join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID and T_SampleTypeIsActive = 'Y'
|
|
left join t_bahan on T_SampleTypeT_BahanID = T_BahanID and T_BahanIsActive = 'Y'
|
|
left join nat_subgroup on Nat_TestNat_SubGroupID = Nat_SubgroupID anD Nat_SubGroupIsActive = 'Y'
|
|
left join nat_subsubgroup on Nat_TestNat_SubSubGroupID = Nat_SubSubGroupID and Nat_SubSubGroupIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_user on T_OrderDetailValUserID = M_UserID
|
|
left join m_staff on M_UserM_StaffID = M_StaffID
|
|
left join nat_methode on T_OrderDetailNat_MethodeID = Nat_MethodeID
|
|
left join t_orderdetailaddon on T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
left join t_orderpromise on T_OrderDetailT_OrderPromiseID = T_OrderPromiseID
|
|
left join last_statuspayment on Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
left join group_resultdetail on Group_ResultDetailT_TestID = T_OrderDetailT_TestID and Group_ResultDetailIsActive = 'Y'
|
|
left join group_result on Group_ResultDetailGroup_ResultID = Group_ResultID
|
|
left join t_orderheaderaddon on T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
where
|
|
T_OrderHeaderID = PID
|
|
aND T_TestIsPrintResult = 'Y' and Nat_TestNat_GroupID = '1' and Group_ResultID in ('1','13')
|
|
and
|
|
if(T_TestIsParent = 'Y','',(case
|
|
when (`fn_get_ordersample`(T_OrderDetailID) = 'N' and T_OrderDetailResult is null ) then 'Bahan Belum'
|
|
when T_OrderDetailValidation = 'X' then 'Hasil Menyusul' else
|
|
concat(
|
|
if(`fn_itf_isnumber`(T_OrderDetailResult) = '0', concat(T_OrderDetailResult," ",ifnull(T_OrderDetailResultFlag,''),"</br>",
|
|
ifnull(concat("",T_OrderDetailNote),"")),concat( `fn_rpt_format_number`(T_OrderDetailResult)," ",ifnull(T_OrderDetailResultFlag,''),"</br>",ifnull(concat("",T_OrderDetailNote),""))
|
|
)
|
|
)
|
|
end) ) not like '%#%'
|
|
|
|
group by T_TestID
|
|
order by Nat_SubgroupID ,Nat_SubSubGroupID ,T_TestSasCode asc $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_hasil_so_layanan` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_hasil_so_layanan`(IN `PID` int, IN `PLang` int, IN `username` varchar(100))
|
|
select *
|
|
from (
|
|
select T_OrderHeaderLabNumber as nolabasli,
|
|
DATE_FORMAT(NOW(), "%d-%m-%Y") AS Now,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
T_OrderHeaderM_PatientAge,
|
|
M_SexName,
|
|
DATE_FORMAT(T_OrderHeaderCreated, "%d-%m-%Y %T") AS T_OrderHeaderCreated,
|
|
CONCAT(fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PiID,
|
|
`fn_get_status_lunas`(T_OrderHeaderID) as status,
|
|
if( `fn_get_status_lunas`(T_OrderHeaderID) = 'N' , concat("<u>",fn_lookup_external(T_OrderHeaderLabNumber,'L'),"</u>"),fn_lookup_external(T_OrderHeaderLabNumber,'L')) as T_OrderHeaderLabNumber,
|
|
|
|
M_PatientNoReg,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
M_TitleName,
|
|
M_PatientHP ,M_PatientPhone, M_PatientEmail,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",T_OrderHeaderLabNumberExt) AS Barcode,
|
|
M_CompanyName,
|
|
CONCAT(mm.M_DoctorPrefix," ",mm.M_DoctorName," ",mm.M_DoctorSufix," ",mm.M_DoctorSufix2," ",mm.M_DoctorSufix3) AS M_DoctorName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
So_ResultEntryDetailSo_TemplateDetailName as So_TemplateDetailName,
|
|
So_ResultEntryDetailResult ,
|
|
T_TestCode,
|
|
T_TestName,
|
|
|
|
(case
|
|
when T_TestIsNonLab = "XRAY" then "XRAY FOTO"
|
|
when T_TestIsNonLab = "USG" then "HASIL USG"
|
|
else "HASIL ELEKTROMEDIS" END) AS judul ,
|
|
So_ResultEntryDetailSo_TemplateDetailPriority as So_TemplateDetailPriority,
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
S_SystemsCompanyName ,So_ResultEntryT_OrderDetailID,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
|
|
CONCAT(m.M_DoctorPrefix," ",m.M_DoctorName," ",m.M_DoctorSufix," ",m.M_DoctorSufix2," ",m.M_DoctorSufix3) AS M_Doctorkirim
|
|
|
|
from so_resultentry
|
|
left join so_resultentrydetail on So_ResultEntryDetailSo_ResultEntryID = So_ResultEntryID and So_ResultEntryDetailIsActive = 'y'
|
|
left join t_orderheader on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_sex ON M_PatientM_SexID = M_SexID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID and M_CompanyIsActive = 'Y'
|
|
left join t_orderdetail on So_ResultEntryT_OrderDetailID = T_OrderDetailID and T_OrderDetailIsActive = 'Y'
|
|
left join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y'
|
|
left join t_samplingso on T_SamplingSoT_OrderHeaderID = T_OrderHeaderID and T_SamplingSoT_TestID = T_TestID
|
|
left join m_doctor mm ON T_SamplingSoM_DoctorID = mm.M_DoctorID and mm.M_DoctorIsActive = 'Y'
|
|
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "FISIK"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_doctor m ON T_OrderHeaderSenderM_DoctorID = m.M_DoctorID and m.M_DoctorIsActive = 'Y'
|
|
where So_ResultEntryID =PID and So_ResultEntryM_LangID = PLang and So_ResultEntryDetailResult <> ""
|
|
and So_ResultEntryDetailFlagPrint = 'Y'
|
|
|
|
group by So_ResultEntryDetailID
|
|
|
|
union
|
|
|
|
select T_OrderHeaderLabNumber as nolabasli,
|
|
DATE_FORMAT(NOW(), "%d-%m-%Y") AS Now,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y %T") AS T_OrderHeaderDate,
|
|
T_OrderHeaderM_PatientAge,
|
|
M_SexName,
|
|
DATE_FORMAT(T_OrderHeaderCreated, "%d-%m-%Y %T") AS T_OrderHeaderCreated,
|
|
CONCAT(fn_lookup_external(T_OrderHeaderLabNumber,'L')," / ",M_PatientNoReg) AS PiID,
|
|
`fn_get_status_lunas`(T_OrderHeaderID) as status,
|
|
if( `fn_get_status_lunas`(T_OrderHeaderID) = 'N' , concat("<u>",fn_lookup_external(T_OrderHeaderLabNumber,'L'),"</u>"),fn_lookup_external(T_OrderHeaderLabNumber,'L')) as T_OrderHeaderLabNumber,
|
|
|
|
M_PatientNoReg,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
DATE_FORMAT(M_PatientDOB, "%d-%m-%Y") AS M_PatientDOB,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexName) AS Umur,
|
|
M_TitleName,
|
|
M_PatientHP ,M_PatientPhone, M_PatientEmail,
|
|
concat("http://localhost/one-api/v1/su/code128/?no=",M_PatientNoReg) AS Barcode,
|
|
(case
|
|
when M_CompanyName = 'Pasien klinisi' then 'CLINICIAN REFERENCE'
|
|
when M_CompanyName = 'Pasien mandiri' then 'PERSONAL REQUEST'
|
|
else M_CompanyName end ) as M_CompanyName,
|
|
CONCAT(mm.M_DoctorPrefix," ",mm.M_DoctorName," ",mm.M_DoctorSufix," ",mm.M_DoctorSufix2," ",mm.M_DoctorSufix3) AS M_DoctorName,
|
|
(SELECT concat(M_PatientAddressDescription, ' ' , M_DistrictName, " " ,M_CityName) from m_patientaddress AS p
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_kel on NULLIF(TRIM(p.M_PatientAddressRegionalCd), "") = reg_kel.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_kec on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, reg_kel.kec_cd, "000") = reg_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_kab on CONCAT(reg_kel.pro_cd, reg_kel.kab_cd, "000000") = reg_kab.regional_cd
|
|
left join (select regional_cd, regional_nm as M_ProvinceName from regional) reg_pro on CONCAT(reg_kel.pro_cd, "00000000") = reg_pro.regional_cd
|
|
|
|
WHERE M_PatientAddressM_PatientID = M_PatientID
|
|
ORDER BY M_PatientAddressM_PatientID
|
|
LIMIT 1) AS M_PatientAddressDescription ,
|
|
|
|
So_ResultEntryDetailOtherSo_TemplateDetailName as So_TemplateDetailName ,
|
|
So_ResultEntryDetailOtherResult as So_ResultEntryDetailResult ,
|
|
|
|
T_TestCode,
|
|
Nat_TestLangName as T_TestName,
|
|
(case
|
|
when T_TestIsNonLab = "XRAY" then "XRAY PHOTO"
|
|
when T_TestIsNonLab = "USG" then "RESULT USG"
|
|
else "RESULT ELEKTROMEDIS" END) AS judul ,
|
|
So_ResultEntryDetailOtherSo_TemplateDetailPriority as So_TemplateDetailPriority,
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
S_SystemsCompanyName ,So_ResultEntryT_OrderDetailID,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," "," Telp. ", S_SystemsCompanyPhone) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
|
|
CONCAT(m.M_DoctorPrefix," ",m.M_DoctorName," ",m.M_DoctorSufix," ",m.M_DoctorSufix2," ",m.M_DoctorSufix3) AS M_Doctorkirim
|
|
|
|
from so_resultentry
|
|
left join t_orderheader on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_sex ON M_PatientM_SexID = M_SexID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID and M_CompanyIsActive = 'Y'
|
|
left join t_orderdetail on So_ResultEntryT_OrderDetailID = T_OrderDetailID and T_OrderDetailIsActive = 'Y'
|
|
left join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y'
|
|
left join t_samplingso on T_SamplingSoT_OrderHeaderID = T_OrderHeaderID and T_SamplingSoT_TestID = T_TestID
|
|
left join m_doctor mm ON T_SamplingSoM_DoctorID = mm.M_DoctorID and mm.M_DoctorIsActive = 'Y'
|
|
|
|
left join nat_test on T_TestNat_TestID = Nat_TestID and Nat_TestIsActive = 'Y'
|
|
left join nat_testlang on Nat_TestLangNat_TestID = Nat_TestID and Nat_testLangIsActive = 'Y'
|
|
left join so_resultentrydetail_other on So_ResultEntryDetailOtherSo_ResultEntryID = So_ResultEntryID and So_ResultEntryDetailOtherIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "FISIK"
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join m_doctor m ON T_OrderHeaderSenderM_DoctorID = m.M_DoctorID and m.M_DoctorIsActive = 'Y'
|
|
where So_ResultEntryID = PID and So_ResultEntryDetailOtherM_LangID = PLang and So_ResultEntryDetailOtherResult <> ""
|
|
and So_ResultEntryDetailOtherFlagPrint = 'y'
|
|
|
|
group by So_ResultEntryDetailOtherID
|
|
) as x
|
|
order by So_TemplateDetailPriority $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_bill_issue_inv` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_bill_issue_inv`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
SELECT M_StaffName INTO @manager
|
|
FROM m_user
|
|
JOIN m_staff ON M_UserM_StaffID = M_StaffID
|
|
left join m_usergroup on M_UserGroupID = M_UserM_UserGroupID and M_UserGroupIsActive = 'Y'
|
|
WHERE
|
|
M_UserGroupName = 'Manager Keuangan' and M_UserIsActive = 'Y' LIMIT 1;
|
|
|
|
select min(T_OrderHeaderDate) into @PStartDate from t_orderheader join f_bill_detail on F_BillDetailT_OrderHeaderID = T_OrderHeaderID and F_BillDetailIsActive = 'Y'
|
|
where F_BillDetailF_BillID = PID ;
|
|
select max(T_OrderHeaderDate) into @PEndDate from t_orderheader join f_bill_detail on F_BillDetailT_OrderHeaderID = T_OrderHeaderID and F_BillDetailIsActive = 'Y'
|
|
where F_BillDetailF_BillID = PID ;
|
|
|
|
select
|
|
F_BillIssueID,
|
|
F_BillIssueNumber,
|
|
F_BillIssueRefNumber,
|
|
F_BillIssueF_BillID,
|
|
F_BillIssueDate,
|
|
F_BillIssueIsSend,
|
|
F_BillIssueSendDate,
|
|
F_BillIssueIsReceive,
|
|
F_BillIssueReceiveDate,
|
|
F_BillIssuePIC,
|
|
F_BillIssuePICHP,
|
|
F_BillIssuePICEmail,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone,
|
|
M_MouName,
|
|
F_BillIssueAgingDay,
|
|
F_BillIssueExtendDay,
|
|
F_BillIssueExtendNote,
|
|
F_BillIssueExtendDueDate,
|
|
F_BillIssueIsLunas,
|
|
F_BillIssueIsNotif ,
|
|
F_BillIssueNotifDate,
|
|
F_BillIssueImg,
|
|
F_BillIssueImgSend,
|
|
Nat_BankName,
|
|
M_BankAccountNo,
|
|
M_BranchName,
|
|
M_BranchAddress,
|
|
concat(M_CityName, ", " ,DATE_FORMAT(F_BillIssueDate, "%d-%m-%Y") ) as citydate,
|
|
M_CityName,
|
|
fn_get_staff(F_BillIssueUserID) as staffpembuat,
|
|
fn_get_staff(F_BillIssueSendUserID) as sendstaff,
|
|
fn_get_staff(F_BillIssueReceiveUserID) as receivestaff,
|
|
fn_get_staff(F_BillIssueNotifUserID) as notifuser,
|
|
fn_get_staff(F_BillIssueExtendUserID) as extendeduser,
|
|
F_BillNo,
|
|
F_BillTotal,
|
|
CONCAT(`f_terbilang`(F_BillTotal),"", "Rupiah") AS terbilang,
|
|
|
|
date(@PStartDate) as PstartDate,
|
|
date(@PEndDate) as PEndDate ,
|
|
concat(DATE_FORMAT((@PStartDate) , "%d-%m-%Y") , " s/d ", DATE_FORMAT(@PEndDate, "%d-%m-%Y") ) as tangal,
|
|
M_BankAccountName,M_No_FormRev,
|
|
F_BillNote,ConfOnHoldSenderEmail,@manager as managerkeuangan
|
|
|
|
from f_bill_issue
|
|
join m_company on F_BillIssueM_CompanyID = M_CompanyID
|
|
join m_mou on F_BillIssueM_MouID = M_MouID
|
|
join m_bank_account on F_BillIssueM_BankAccountID =M_BankAccountID
|
|
join nat_bank on M_BankAccountNat_BankID = Nat_BankID
|
|
join m_branch on M_BranchIsDefault = 'Y'
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_branch on NULLIF(TRIM(M_BranchRegionalCd), "") = reg_branch.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_branch_city on CONCAT(reg_branch.pro_cd, reg_branch.kab_cd, "000000") = reg_branch_city.regional_cd
|
|
join f_bill on F_BillIssueF_BillID = F_BillID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "INVISSUE"
|
|
left join conf_on_hold on ConfOnHoldIsActive = 'Y'
|
|
|
|
where F_BillID = PID
|
|
|
|
;end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_085` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_085`(IN `PStartDate` date, IN `PEndDate` date, IN `PPatientTypeID` int, IN `PMouID` int, IN `username` varchar(100))
|
|
begin
|
|
select count(T_OrderHeaderID) into @pasien
|
|
from t_orderheader
|
|
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
join m_mou on T_OrderHeaderM_MouID = M_MouID
|
|
|
|
where T_OrderHeaderIsActive = 'Y' and
|
|
date(T_OrderHeaderDate) between PStartDate and PEndDate
|
|
and (PPatientTypeID= 0 or (PPatientTypeID> 0 and M_CompanyID = PPatientTypeID))
|
|
and (PMouID= 0 or (PMouID > 0 and M_MouID= PMouID)) ;
|
|
|
|
select
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y") AS T_OrderHeaderDate,
|
|
concat(M_CityName,", ", DATE_FORMAT(now(), "%d-%m-%Y") ) AS Hariini,
|
|
concat(T_OrderHeaderLabNumber,"/",T_OrderHeaderLabNumberExt) as nolab,
|
|
M_CompanyName,
|
|
M_MouName,
|
|
fn_get_name( T_OrderHeaderM_PatientID ) AS M_PatientName,
|
|
M_CompanyAddress ,
|
|
M_BranchAddress,
|
|
M_BranchName,
|
|
@pasien as total,M_No_FormRev
|
|
|
|
from t_orderheader
|
|
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
|
|
join m_mou on T_OrderHeaderM_MouID = M_MouID
|
|
left join m_branch on M_BranchIsDefault = 'Y'
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_branch on NULLIF(TRIM(M_BranchRegionalCd), "") = reg_branch.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_branch_city on CONCAT(reg_branch.pro_cd, reg_branch.kab_cd, "000000") = reg_branch_city.regional_cd
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "LAB15"
|
|
|
|
where T_OrderHeaderIsActive = 'Y' and
|
|
date(T_OrderHeaderDate) between PStartDate and PEndDate
|
|
and (PPatientTypeID= 0 or (PPatientTypeID> 0 and M_CompanyID = PPatientTypeID))
|
|
and (PMouID= 0 or (PMouID > 0 and M_MouID= PMouID))
|
|
|
|
;
|
|
end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_011` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_011`(IN `PID` int, IN `PTipe` char, IN `username` varchar(100))
|
|
select
|
|
T_RefDeliveryOrderNumber ,
|
|
T_RefDeliveryOrderDate,
|
|
if(T_RefDeliveryOrderIsExternal = 'N',"Internal","External") as T_RefDeliveryOrderIsExternal ,
|
|
m.M_BranchName ,
|
|
concat(m.M_BranchAddress ," ",c.M_CityName," ",m.M_BranchPhone) as alamatpeminta,
|
|
if(T_RefDeliveryOrderIsExternal = 'N' , mm.M_BranchName ,M_LabReferenceName) as tujuan,
|
|
if(T_RefDeliveryOrderIsExternal = 'N' , concat(mm.M_BranchAddress ," ",cc.M_CityName," ",mm.M_BranchPhone) ,
|
|
concat(M_LabReferenceAddress ," ",ccc.M_CityName," ",M_LabReferencePhone)) as alamattujuan,
|
|
T_WorklistName,
|
|
T_TestName,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y") AS T_OrderHeaderDate,
|
|
|
|
DATE_FORMAT(now(), "%d-%m-%Y") AS now,
|
|
concat( fn_lookup_external(T_OrderHeaderLabNumber,'L') ," / ", T_OrderHeaderLabNumber ) as T_OrderHeaderLabNumber,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_CompanyName,
|
|
M_StaffName,
|
|
M_No_FormRev
|
|
|
|
from t_ref_deliveryorder
|
|
left join m_branch m on T_RefDeliveryOrderM_BranchID = m.M_BranchID and m.M_BranchIsActive = 'Y'
|
|
left join m_branch mm on T_RefDeliveryOrderM_DestinationID = mm.M_BranchID and mm.M_BranchIsActive = 'Y'
|
|
left join m_labreference on T_RefDeliveryOrderM_DestinationID = M_LabReferenceID and M_LabReferenceIsActive = 'Y'
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_branch_src on NULLIF(TRIM(m.M_BranchRegionalCd), "") = reg_branch_src.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) c on CONCAT(reg_branch_src.pro_cd, reg_branch_src.kab_cd, "000000") = c.regional_cd
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_branch_dest on NULLIF(TRIM(mm.M_BranchRegionalCd), "") = reg_branch_dest.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) cc on CONCAT(reg_branch_dest.pro_cd, reg_branch_dest.kab_cd, "000000") = cc.regional_cd
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_labref on NULLIF(TRIM(M_LabReferenceRegionalCd), "") = reg_labref.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) ccc on CONCAT(reg_labref.pro_cd, reg_labref.kab_cd, "000000") = ccc.regional_cd
|
|
left join t_worklist on T_RefDeliveryOrderT_WorklistID = T_WorklistID and T_WorklistIsActive = 'Y'
|
|
left join t_ref_deliveryorder_detail on T_RefDeliveryOrderDetailT_RefDeliveryOrderID = T_RefDeliveryOrderID and T_RefDeliveryOrderIsActive = 'Y'
|
|
left join t_orderheader on T_RefDeliveryOrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
left join t_test on T_RefDeliveryOrderDetailT_TestID = T_TestID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_courier on T_RefDeliveryOrderM_CourierID = M_CourierID
|
|
left join m_staff on M_CourierM_StaffID = M_StaffID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "RUJUKAN"
|
|
|
|
where T_RefDeliveryOrderID = PID and T_RefDeliveryOrderIsExternal = PTipe
|
|
order by T_OrderHeaderID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_012` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_012`(IN `PID` int, IN `PTipe` char, IN `username` varchar(100))
|
|
select
|
|
T_RefDeliveryOrderNumber ,
|
|
T_RefDeliveryOrderDate,
|
|
if(T_RefDeliveryOrderIsExternal = 'N',"Internal","External") as T_RefDeliveryOrderIsExternal ,
|
|
m.M_BranchName ,
|
|
concat(m.M_BranchAddress ," ",c.M_CityName," ",m.M_BranchPhone) as alamatpeminta,
|
|
if(T_RefDeliveryOrderIsExternal = 'N' , mm.M_BranchName ,M_LabReferenceName) as tujuan,
|
|
if(T_RefDeliveryOrderIsExternal = 'N' , concat(mm.M_BranchAddress ," ",cc.M_CityName," ",mm.M_BranchPhone) ,
|
|
concat(M_LabReferenceAddress ," ",ccc.M_CityName," ",M_LabReferencePhone)) as alamattujuan,
|
|
T_WorklistName,
|
|
T_TestName,
|
|
DATE_FORMAT(T_OrderHeaderDate, "%d-%m-%Y") AS T_OrderHeaderDate,
|
|
DATE_FORMAT(now(), "%d-%m-%Y") AS now,
|
|
concat( fn_lookup_external(T_OrderHeaderLabNumber,'L') ," / ", T_OrderHeaderLabNumber ) as T_OrderHeaderLabNumber,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
M_CompanyName,
|
|
M_StaffName,M_PatientDOB,M_SexName,T_OrderHeaderM_PatientAge
|
|
|
|
from t_ref_deliveryorder
|
|
left join m_branch m on T_RefDeliveryOrderM_BranchID = m.M_BranchID and m.M_BranchIsActive = 'Y'
|
|
left join m_branch mm on T_RefDeliveryOrderM_DestinationID = mm.M_BranchID and mm.M_BranchIsActive = 'Y'
|
|
left join m_labreference on T_RefDeliveryOrderM_DestinationID = M_LabReferenceID and M_LabReferenceIsActive = 'Y'
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_branch_src on NULLIF(TRIM(m.M_BranchRegionalCd), "") = reg_branch_src.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) c on CONCAT(reg_branch_src.pro_cd, reg_branch_src.kab_cd, "000000") = c.regional_cd
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_branch_dest on NULLIF(TRIM(mm.M_BranchRegionalCd), "") = reg_branch_dest.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) cc on CONCAT(reg_branch_dest.pro_cd, reg_branch_dest.kab_cd, "000000") = cc.regional_cd
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_labref on NULLIF(TRIM(M_LabReferenceRegionalCd), "") = reg_labref.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) ccc on CONCAT(reg_labref.pro_cd, reg_labref.kab_cd, "000000") = ccc.regional_cd
|
|
left join t_worklist on T_RefDeliveryOrderT_WorklistID = T_WorklistID and T_WorklistIsActive = 'Y'
|
|
left join t_ref_deliveryorder_detail on T_RefDeliveryOrderDetailT_RefDeliveryOrderID = T_RefDeliveryOrderID and T_RefDeliveryOrderIsActive = 'Y'
|
|
left join t_orderheader on T_RefDeliveryOrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
left join t_test on T_RefDeliveryOrderDetailT_TestID = T_TestID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
|
left join m_courier on T_RefDeliveryOrderM_CourierID = M_CourierID
|
|
left join m_staff on M_CourierM_StaffID = M_StaffID
|
|
left join m_sex on M_PatientM_SexID = M_SexID
|
|
|
|
where T_RefDeliveryOrderID = PID and T_RefDeliveryOrderIsExternal = PTipe
|
|
|
|
order by T_OrderHeaderID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_r_033` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_r_033`(IN `PStartDate` date, IN `PEndDate` date, IN `PStaffID` int, IN `username` varchar(100))
|
|
select
|
|
T_OrderHeaderDate,
|
|
M_CompanyOldID,
|
|
M_CompanyNumber,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_MouName,
|
|
M_OmzetTypeName,
|
|
sum(T_OrderHeaderTotal) as total,
|
|
count(T_OrderHeaderID ) as pasien,
|
|
M_OmzetTypeID,
|
|
M_StaffName,
|
|
M_StaffID ,M_CityName,M_CompanyPhone,M_CompanyHp
|
|
|
|
from t_orderheader
|
|
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID and M_CompanyIsActive = 'Y'
|
|
join m_mou on T_OrderHeaderM_MouID = M_MouID and M_MouIsActive = 'Y'
|
|
join m_omzettype on M_MouM_OmzetTypeID = M_OmzetTypeID and M_OmzetTypeIsActive = 'Y'
|
|
join m_staff on M_CompanyM_StaffID = M_StaffID and M_StaffIsActive = 'Y'
|
|
left join f_payment on F_PaymentT_OrderHeaderID = T_OrderHeaderID and T_OrderHeaderIsActive = 'Y'
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_company on NULLIF(TRIM(M_CompanyAddressRegionalCd), "") = reg_company.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_company_city on CONCAT(reg_company.pro_cd, reg_company.kab_cd, "000000") = reg_company_city.regional_cd
|
|
|
|
where DATE(T_OrderHeaderDate) between PStartDate and PEndDate
|
|
and (PStaffID= 0 or (PStaffID > 0 and M_StaffID = PStaffID))
|
|
and T_OrderHeaderIsActive = 'Y'
|
|
|
|
group by M_MouID
|
|
|
|
order by M_StaffID $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_005` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_005`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
select
|
|
T_OrderRefOutHeaderDate,
|
|
T_OrderRefOutHeaderNumber,
|
|
M_CompanyName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone,
|
|
M_CityName,
|
|
M_DistrictName,
|
|
M_KelurahanName,
|
|
T_OrderRefOutDate,
|
|
T_TestName,
|
|
T_SampleTypeName,
|
|
T_OrderHeaderM_PatientAge,
|
|
M_SexName,M_SexCode,T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
CONCAT(T_OrderHeaderM_PatientAge," / ",M_SexCode) AS Umur,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName ,
|
|
T_OrderSampleBarcode,
|
|
M_StaffName
|
|
from
|
|
t_orderrefoutheader
|
|
left join m_company on T_OrderRefOutHeaderM_CompanyID = M_CompanyID
|
|
left join (select regional_cd, regional_nm as M_KelurahanName, pro_cd, kab_cd, kec_cd from regional) reg_company on NULLIF(TRIM(M_CompanyAddressRegionalCd), "") = reg_company.regional_cd
|
|
left join (select regional_cd, regional_nm as M_DistrictName from regional) reg_company_kec on CONCAT(reg_company.pro_cd, reg_company.kab_cd, reg_company.kec_cd, "000") = reg_company_kec.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_company_kab on CONCAT(reg_company.pro_cd, reg_company.kab_cd, "000000") = reg_company_kab.regional_cd
|
|
left join t_orderrefout on T_OrderRefOutT_OrderRefOutHeaderID = T_OrderRefOutHeaderID and T_OrderRefOutIsActive = 'y'
|
|
left join t_test on T_OrderRefOutT_TestID = T_TestID
|
|
left join t_sampletype on T_OrderRefOutT_SampleTypeID = T_SampleTypeID
|
|
left join t_orderheader on T_OrderRefOutT_OrderHeaderID = T_OrderHeaderID
|
|
left join m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
|
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID and T_OrderSampleIsActive = 'Y' and T_OrderSampleT_SampleTypeID = T_OrderRefOutT_SampleTypeID
|
|
left join m_courier on T_OrderRefOutHeaderM_CourierID = M_CourierID AND M_CourierIsActive = 'Y'
|
|
left join m_staff on M_CourierM_StaffID = M_StaffID
|
|
where
|
|
T_OrderRefOutHeaderID = PID
|
|
|
|
; end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_007` $$
|
|
CREATE DEFINER=`rptadi`@`localhost` PROCEDURE `sp_rpt_t_007`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
select DISTINCT
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
F_BillID,
|
|
F_BillNo,
|
|
F_BillM_CompanyID,
|
|
M_CompanyName,
|
|
M_CityName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone,
|
|
M_CompanyFax,
|
|
M_CompanyEmail,
|
|
F_BillM_MouID,
|
|
fi.F_BillIssuePIC AS M_CompanyPICName,
|
|
0 as otherpayment,
|
|
if(F_BillM_MouID = '0',"Semua Agreement",m.M_MouName) as M_MouName ,
|
|
mm.M_MouName as agreement,
|
|
F_BillDueDate,
|
|
F_BillTotal,
|
|
F_BillCreated,
|
|
F_BillNote,
|
|
T_OrderHeaderDate,
|
|
T_OrderHeaderLabNumber,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
ifnull (T_OrderHeaderTotal, 0) AS T_OrderHeaderTotal,
|
|
S_SystemsCompanyName,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
`fn_get_test_detail`(T_OrderHeaderID) as pemeriksaan
|
|
|
|
from
|
|
f_bill
|
|
left join m_company on F_BillM_CompanyID = M_CompanyID
|
|
left join m_mou m on F_BillM_MouID = m.M_MouID
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_company on NULLIF(TRIM(M_CompanyAddressRegionalCd), "") = reg_company.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_company_city on CONCAT(reg_company.pro_cd, reg_company.kab_cd, "000000") = reg_company_city.regional_cd
|
|
left join f_bill_detail on F_BillDetailF_BillID = F_BillID and F_BillDetailIsActive = 'Y'
|
|
left join t_orderheader on F_BillDetailT_OrderHeaderID =T_OrderHeaderID
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_mou mm on T_OrderHeaderM_MouID = mm.M_MouID
|
|
left join conf_systems on S_SystemsID > 0
|
|
left join f_bill_issue fi on fi.F_BillIssueF_BillID = F_BillID and fi.F_BillIssueIsActive = 'Y'
|
|
|
|
where
|
|
F_BillID = PID
|
|
;
|
|
end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_007_pusat` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_007_pusat`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
select
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
F_BillID,
|
|
F_BillNo,
|
|
F_BillM_CompanyID,
|
|
M_CompanyName,
|
|
M_CityName,
|
|
M_CompanyAddress,M_CompanyPIC,
|
|
|
|
M_CompanyPhone,
|
|
M_CompanyFax,
|
|
M_CompanyEmail,
|
|
F_BillM_MouID,
|
|
if(F_BillM_MouID = '0',"Semua Agreement",m.M_MouName) as M_MouName ,
|
|
mm.M_MouName as agreement,
|
|
F_BillDueDate,
|
|
F_BillTotal,
|
|
F_BillCreated,
|
|
F_BillNote,
|
|
T_OrderHeaderDate,
|
|
T_OrderHeaderLabNumber,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
T_OrderHeaderTotal,
|
|
S_SystemsCompanyName,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity,
|
|
`fn_get_test_detail`(T_OrderHeaderID) as pemeriksaan
|
|
|
|
from
|
|
f_bill
|
|
left join m_company on F_BillM_CompanyID = M_CompanyID
|
|
left join m_mou m on F_BillM_MouID = m.M_MouID
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_company on NULLIF(TRIM(M_CompanyAddressRegionalCd), "") = reg_company.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_company_city on CONCAT(reg_company.pro_cd, reg_company.kab_cd, "000000") = reg_company_city.regional_cd
|
|
left join f_bill_detail on F_BillDetailF_BillID = F_BillID and F_BillDetailIsActive = 'Y'
|
|
left join t_orderheader on F_BillDetailT_OrderHeaderID =T_OrderHeaderID
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join m_mou mm on T_OrderHeaderM_MouID = mm.M_MouID
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
where
|
|
F_BillID = PID
|
|
;
|
|
end $$
|
|
|
|
DROP PROCEDURE IF EXISTS `sp_rpt_t_008` $$
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_rpt_t_008`(IN `PID` int, IN `username` varchar(100))
|
|
begin
|
|
select
|
|
|
|
F_BillPaymentID,
|
|
F_BillPaymentF_BillID,
|
|
F_BillPaymentDate,
|
|
F_BillPaymentNumber,
|
|
F_BillPaymentNote,
|
|
F_BillPaymentAmount,
|
|
F_BillPaymentM_PaymentTypeID,
|
|
F_BillPaymentEDCNat_BankID,
|
|
F_BillPaymentCardNat_BankID,
|
|
F_BillPaymentM_BankAccountID,
|
|
F_BillPaymentCreated,
|
|
F_BillNo,
|
|
M_CompanyName,
|
|
M_CityName,
|
|
M_CompanyAddress,
|
|
M_CompanyPhone, M_CompanyPIC,
|
|
M_CompanyFax,
|
|
M_CompanyEmail,
|
|
F_BillM_MouID,
|
|
M_MouName,
|
|
F_BillDueDate,
|
|
F_BillTotal,
|
|
F_BillCreated,
|
|
F_BillNote,
|
|
T_OrderHeaderDate,
|
|
fn_lookup_external(T_OrderHeaderLabNumber,'L') T_OrderHeaderLabNumber,
|
|
CONCAT(M_TitleName," ",ifnull(M_PatientPrefix,'')," ",M_PatientName," ",ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
|
T_OrderHeaderTotal,
|
|
M_PaymentTypeName,
|
|
F_BillPaymentDetailAmount,
|
|
F_PaymentDate,
|
|
F_PaymentNumber,
|
|
F_PaymentNote,
|
|
F_PaymentTotal,
|
|
DATE_FORMAT(now(), "%d-%m-%Y %T") AS DATENOW,
|
|
S_SystemsCompanyName,
|
|
concat(S_SystemsCompanyAddress," ",S_SystemsCompanyCity," ",S_SystemsCompanyCityFooter," Telp. ", S_SystemsCompanyPhone," Fax. ", S_SystemsCompanyFax) as alamatcabang,
|
|
S_SystemsEmailAddress,M_No_FormRev,S_SystemsCompanyCity
|
|
|
|
from
|
|
f_bill_payment
|
|
left join f_bill_payment_detail on F_BillPaymentDetailF_BillPaymentID = F_BillPaymentID
|
|
left join f_bill on F_BillPaymentF_BillID = F_BillID
|
|
join f_bill_detail on F_BillPaymentDetailF_BillDetailID = F_BillDetailID
|
|
left join m_company on F_BillM_CompanyID = M_CompanyID
|
|
left join m_mou on F_BillM_MouID =M_MouID
|
|
left join (select regional_cd, pro_cd, kab_cd from regional) reg_company on NULLIF(TRIM(M_CompanyAddressRegionalCd), "") = reg_company.regional_cd
|
|
left join (select regional_cd, regional_nm as M_CityName from regional) reg_company_city on CONCAT(reg_company.pro_cd, reg_company.kab_cd, "000000") = reg_company_city.regional_cd
|
|
left join t_orderheader on F_BillDetailT_OrderHeaderID =T_OrderHeaderID
|
|
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
left join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
left join m_paymenttype on F_BillPaymentM_PaymentTypeID = M_PaymentTypeID
|
|
left join f_payment on F_BillPaymentDetailF_PaymentID = F_PaymentID
|
|
LEFT JOIN m_no_form on M_No_FormID > 0 and M_No_FormName = "NOTA"
|
|
left join conf_systems on S_SystemsID > 0
|
|
|
|
where F_BillPaymentIsActive = 'y' and F_BillPaymentID = PID
|
|
;
|
|
end $$
|
|
|
|
DELIMITER ;
|
|
|
|
-- Auto-fixed procedures:
|
|
-- sp_fo_clinic_load
|
|
-- sp_fo_clinic_load_fx
|
|
-- sp_fo_delivery_address
|
|
-- sp_fo_delivery_address_mcu
|
|
-- sp_fo_delivery_address_v3_bandung
|
|
-- sp_fo_payment_get_delivery
|
|
-- sp_fo_register_load
|
|
-- sp_rpt_hasil_framingham
|
|
-- sp_rpt_hasil_header
|
|
-- sp_rpt_hasil_header_nonLab
|
|
-- sp_rpt_hasil_preparasi_sperma
|
|
-- sp_rpt_hasil_sk
|
|
-- sp_rpt_hasil_sk_1
|
|
-- sp_rpt_hasil_sk_2
|
|
-- sp_rpt_hasil_sk_3
|
|
-- sp_rpt_hasil_sk_4
|
|
-- sp_rpt_hasil_sk_eng
|
|
-- sp_rpt_hasil_sk_eng_4
|
|
-- sp_rpt_hasil_sk_panel
|
|
-- sp_rpt_hasil_sk_pasport
|
|
-- sp_rpt_hasil_sk_pasport_eng
|
|
-- sp_rpt_hasil_smwt
|
|
-- sp_rpt_bill_issue_inv
|
|
-- sp_rpt_klinik_001
|
|
-- sp_rpt_medis_001
|
|
-- sp_rpt_medis_002
|
|
-- sp_rpt_m_doctor
|
|
-- sp_rpt_nl_005
|
|
-- sp_rpt_pajak_001
|
|
-- sp_rpt_pm_001
|
|
-- sp_rpt_p_001
|
|
-- sp_rpt_resep_001
|
|
-- sp_rpt_r_033
|
|
-- sp_rpt_r_015
|
|
-- sp_rpt_r_046
|
|
-- sp_rpt_r_047
|
|
-- sp_rpt_r_077
|
|
-- sp_rpt_r_085
|
|
-- sp_rpt_r_086
|
|
-- sp_rpt_r_087
|
|
-- sp_rpt_r_088
|
|
-- sp_rpt_scanning_klinik
|
|
-- sp_rpt_t_001
|
|
-- sp_rpt_t_001ii
|
|
-- sp_rpt_t_001_eng
|
|
-- sp_rpt_t_002
|
|
-- sp_rpt_t_002_eng
|
|
-- sp_rpt_t_003
|
|
-- sp_rpt_t_003x
|
|
-- sp_rpt_t_003_eng
|
|
-- sp_rpt_t_003_pe
|
|
-- sp_rpt_t_005
|
|
-- sp_rpt_t_006
|
|
-- sp_rpt_t_006x
|
|
-- sp_rpt_t_007
|
|
-- sp_rpt_t_007_pusat
|
|
-- sp_rpt_t_008
|
|
-- sp_rpt_t_011
|
|
-- sp_rpt_t_012
|
|
-- sp_rpt_t_013
|
|
-- sp_rpt_t_014
|
|
-- sp_rpt_t_015
|
|
-- sp_rpt_t_hasil2
|
|
-- sp_rpt_t_hasil2_auto
|
|
-- sp_rpt_t_hasil_email
|
|
-- sp_rpt_t_hasil_email_auto
|
|
-- sp_rpt_t_hasil_eng
|
|
-- sp_rpt_t_hasil_eng_auto
|
|
-- sp_rpt_t_hasil_image
|
|
-- sp_rpt_t_hasil_rspad
|
|
-- sp_rpt_t_hasil_so_layanan
|
|
|
|
-- Manual review required:
|
|
-- sp_rpt_m_company
|
|
-- sp_rpt_md_001
|
|
-- sp_rpt_mr_008
|
|
-- sp_rpt_mr_008_surabaya
|
|
-- sp_rpt_mr_011
|
|
-- sp_satusehat_mapping_district
|
|
-- sp_satusehat_mapping_kelurahan
|
|
-- sp_satusehat_x_kelurahan_temp
|