2. 63-ยาน้ำเสริมธาตุเหล็ก HCT

Update Delete

ID813
Parent ID60
Table Name63_iron_syrup_hct
Title2. 63-ยาน้ำเสริมธาตุเหล็ก HCT
Description
Script#SQL_OPTIONS#
PROVIDERS=1
PROVIDER1=43STD
PROVIDER1_VALIDATE_TABLES=ncdscreen,t_person_db
SCRIPT_FLOW=SQL
#SQL_OPTIONS#

#PROVIDER1_SQL#


SET @provcode = :provcode;
SET @rep_year = :rep_year;
SET @hoscode = :hoscode;
SET @hosname = :hosname;
SET @hostype = :hostype;
SET @address = :address;
SET @subdistcode = :subdistcode;
SET @distcode = :distcode;
SET @level_service = :level_service;


#หาเด็กที่ได้รับยาน้ำเสริมธาตุเหล็ก และได้รับการเจาะ Hct
# by IT chonburi

SET @b_year :=(SELECT yearprocess FROM pk_byear LIMIT 1);
SET @prov_c := (SELECT provincecode FROM sys_config LIMIT 1);
SET @start_d :=concat(@b_year-1,'1001');
SET @end_d :=concat(@b_year,'0731');
SET @hct_d :=concat(@b_year-1,'0701');

SELECT SQL_BIG_RESULT
@b_year AS B_YEAR,
@prov_c AS PROV_C,
cchangwat.changwatname AS PROV_N, /* ชื่อจังหวัด */
chospital.distcode AS AMPUR_C , /* รหัสอำเภอ */
campur.ampurname AS AMPUR_N , /* ชื่ออำเภอ */
POP.vhid AS VHID,
CONCAT(POP.HOSPCODE,chospital.hosname) AS HOSP_N , /*ชื่อหน่วยบริการ */
POP.CID,POP.PID,POP.`NAME`,POP.LNAME,POP.BIRTH as BIRTHDAY,
POP.TYPEAREA

,TIMESTAMPDIFF(MONTH,POP.BIRTH,D.DATE_SERV) as AGE_M_LABFU /*'อายุ(เดือน) ณวันที่รับบริการ Labfu' */
,concat(D.HOSPCODE,'-',D.SEQ) as SEQ_LABFU
,D.DATE_SERV as DATE_SERV_LABFU
,D.LABTEST as LABTEST_HCT /*(0621201)*/
,D.LABRESULT as LABRESULT
,IF(D.LABRESULT IS NULL,'',IF(D.LABRESULT <=33,'ผิดปกติ','ปกติ' )) AS LABRESULT_HCT


FROM t_person_db POP
INNER JOIN chospital ON chospital.hoscode = POP.HOSPCODE
INNER JOIN cchangwat ON cchangwat.changwatcode = @prov_c
INNER JOIN campur ON campur.ampurcodefull = CONCAT(chospital.provcode,chospital.distcode)
#INNER JOIN drug_opd DR ON DR.HOSPCODE=POP.HOSPCODE AND DR.PID=POP.PID
INNER JOIN tmp_drug_opd DR ON DR.HOSPCODE=POP.HOSPCODE AND DR.PID=POP.PID
AND SUBSTR(DR.DIDSTD,1,19) IN(
'1004890000008103305'
,'1004890000009501305'
,'1004974140020403305'
,'1004974140008008305'
,'1004890000009507305'
,'2020301200871801305'
,'1004880000086342304'
,'1004880000012801308'
,'1004880000042031217'
,'1004880000012801304' )
AND DR.date_serv BETWEEN @start_d AND @end_d

LEFT JOIN (SELECT * FROM labfu WHERE labfu.DATE_SERV BETWEEN @hct_d AND @end_d GROUP BY labfu.HOSPCODE,labfu.PID ORDER BY labfu.HOSPCODE,labfu.PID,labfu.DATE_SERV ASC) D
ON D.HOSPCODE=POP.HOSPCODE AND D.PID=POP.PID
AND D.LABTEST = '0621201' #Hct
#AND D.DATE_SERV BETWEEN @hct_d AND @end_d
AND D.seq is not NULL

WHERE
(TIMESTAMPDIFF(MONTH,POP.BIRTH,D.DATE_SERV)BETWEEN 6 AND 11)
AND POP.NATION = '099' AND POP.DISCHARGE = '9'
AND POP.CID is not NULL
#AND min(D.DATE_SERV)

#GROUP BY POP.HOSPCODE,POP.CID
GROUP BY POP.CID
ORDER BY chospital.distcode ,POP.hospcode,POP.CID,D.SEQ ASC;



#PROVIDER1_SQL#
Script Cron
Force Script Cron0
Active1
Client Office Type
Create Date2020-05-14 02:36:24
Last Update2020-06-29 03:55:05