6. 63-ผลการเจาะตรวจวัดค่าปริมาตรเม็ดเลือดแดงอัดแน่น (Hematocrit : Hct) ครั้งแรก <=33 ในเด็กอายุ 6 - 11 เดือน ที่ได้รับยาน้ำเสริมธาตุเหล็ก

Update Delete

ID817
Parent ID60
Table Name63_iron_syrup_hct2
Title6. 63-ผลการเจาะตรวจวัดค่าปริมาตรเม็ดเลือดแดงอัดแน่น (Hematocrit : Hct) ครั้งแรก <=33 ในเด็กอายุ 6 - 11 เดือน ที่ได้รับยาน้ำเสริมธาตุเหล็ก
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
#หาเด็กที่ได้รับยาน้ำเสริมธาตุเหล็ก และได้รับการเจาะ Hct <=33 และเจาะซ้ำครั้งที่ 2
# by IT chonburi

SET @b_year :=2021;
SET @prov_c := @provcode;
SET @start_d :=concat(@b_year-1,'1101');
SET @end_d :=concat(@b_year,'0731');
SET @hct_d :=concat(@b_year-1,'0801');

SELECT SQL_BIG_RESULT
z.B_YEAR AS B_YEAR,
z.PROV_C AS PROV_C,
z.PROV_N AS PROV_N, /* ชื่อจังหวัด */
z.AMPUR_C AS AMPUR_C , /* รหัสอำเภอ */
z.AMPUR_N AS AMPUR_N , /* ชื่ออำเภอ */
z.VHID AS VHID,
z.HOSP_N AS HOSP_N , /*ชื่อหน่วยบริการ */
z.CID,z.PID,z.`NAME`,z.LNAME,z.BIRTHDAY as BIRTHDAY,
z.TYPEAREA

,z.AGE_M_LABFU as AGE_M_LABFU /*'อายุ(เดือน) ณวันที่รับบริการ Labfu' */
,CASE WHEN D2.date_serv > z.DATE_SERV_LABFU then TIMESTAMPDIFF(MONTH,z.BIRTHDAY,(D2.DATE_SERV)) ELSE null END as AGE_M_LABFU2 /*'อายุ(เดือน) ณวันที่รับบริการ Labfu' */

,z.DATE_SERV_LABFU as DATE_SERV_LABFU
,CASE WHEN D2.date_serv > z.DATE_SERV_LABFU then (D2.DATE_SERV) ELSE null END as DATE_SERV_LABFU2

,z.LABRESULT as LABRESULT
,CASE WHEN D2.date_serv > z.DATE_SERV_LABFU then D2.LABRESULT ELSE null END as LABRESULT2

,GROUP_CONCAT(D2.DATE_SERV,'(',D2.labresult,')') as History

FROM (
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,
POP.HOSPCODE,
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

GROUP BY POP.CID
ORDER BY chospital.distcode ,POP.hospcode,POP.CID,D.SEQ ASC
) z

LEFT JOIN (SELECT * FROM labfu WHERE (labfu.DATE_SERV BETWEEN @hct_d AND @end_d)
AND labfu.LABTEST = '0621201' AND labfu.seq is not NULL
ORDER BY labfu.DATE_SERV DESC) D2
ON D2.HOSPCODE=z.HOSPCODE AND D2.PID=z.PID
#AND MIN(D2.DATE_SERV) <> MAX(D2.DATE_SERV)

WHERE z.LABRESULT <=33
GROUP BY z.CID


#PROVIDER1_SQL#

Script Cron
Force Script Cron0
Active1
Client Office Type
Create Date2020-06-16 11:28:40
Last Update2021-03-24 04:36:12