Files
BE_IBL/sql/manual_changes/2026-05-22-update-procedures-to-regional.sql
sas.fajri 626af7342e Add Kartu Kontrol Pelayanan FPDF report endpoint
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>
2026-05-24 11:45:59 +07:00

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("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",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("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName) end ,
concat(
case
when CHAR_LENGTH(T_TestSasCode) = '8' then concat("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",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("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",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("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName) end ,
concat(
case
when CHAR_LENGTH(T_TestSasCode) = '8' then concat("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",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("&nbsp;&nbsp;&nbsp;",T_OrderDetailLangNat_TestLangName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_OrderDetailLangNat_TestLangName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_OrderDetailLangNat_TestLangName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",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("&nbsp;&nbsp;&nbsp;",T_OrderDetailLangNat_TestLangName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_OrderDetailLangNat_TestLangName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_OrderDetailLangNat_TestLangName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_OrderDetailLangNat_TestLangName) end ,
concat(
case
when CHAR_LENGTH(T_TestSasCode) = '8' then concat("&nbsp;&nbsp;&nbsp;",T_OrderDetailLangNat_TestLangName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_OrderDetailLangNat_TestLangName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_OrderDetailLangNat_TestLangName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",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("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName) end ,
concat(
case
when CHAR_LENGTH(T_TestSasCode) = '8' then concat("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",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("&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '10' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",T_TestShortName)
when CHAR_LENGTH(T_TestSasCode) = '12' then concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8226; " ,T_TestShortName)
else concat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",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