Thursday, March 20, 2014

#Script JHCIS-MySQL ค้นหาจำนวนผู้รับบริการ ปี 2547-2557 ที่มารับบริการด้วยโรคความดันโลหิตสูง

#Script JHCIS-MySQL ค้นหาจำนวนผู้รับบริการ ปี 2547-2557 ที่มารับบริการด้วยโรคความดันโลหิตสูง
SELECT
visit.pcucode,
SUM( if(year(visit.visitdate)+543 =2547,1,0) ) AS `2547`,
SUM( if(year(visit.visitdate)+543 =2548,1,0) ) AS `2548`,
SUM( if(year(visit.visitdate)+543 =2549,1,0) ) AS `2549`,
SUM( if(year(visit.visitdate)+543 =2550,1,0) ) AS `2550`,
SUM( if(year(visit.visitdate)+543 =2551,1,0) ) AS `2551`,
SUM( if(year(visit.visitdate)+543 =2552,1,0) ) AS `2552`,
SUM( if(year(visit.visitdate)+543 =2553,1,0) ) AS `2553`,
SUM( if(year(visit.visitdate)+543 =2554,1,0) ) AS `2554`,
SUM( if(year(visit.visitdate)+543 =2555,1,0) ) AS `2555`,
SUM( if(year(visit.visitdate)+543=2556,1,0) ) AS `2556`,
SUM( if(year(visit.visitdate)+543 =2557,1,0) ) AS `2557`,
visitdiag.diagcode
FROM
visit
INNER JOIN visitdiag ON visit.visitno = visitdiag.visitno
WHERE
visitdiag.diagcode LIKE '%I%'
GROUP BY visit.pcucode

Wednesday, March 19, 2014

#Script JHCIS-Mysql หาจำนวนผู้มารับบริการ รายหมฦู่บ้าน รายปี ไม่นับรหัส U และ Z

#Script JHCIS-Mysql หาจำนวนผู้มารับบริการ รายหมฦู่บ้าน รายปี ไม่นับรหัส U และ Z
SELECT
SUM( if(year(visit.visitdate)+543 =2550,1,0) ) AS `2550`,
SUM( if(year(visit.visitdate)+543 =2551,1,0) ) AS `2551`,
SUM( if(year(visit.visitdate)+543 =2552,1,0) ) AS `2552`,
SUM( if(year(visit.visitdate)+543 =2553,1,0) ) AS `2553`,
SUM( if(year(visit.visitdate)+543 =2554,1,0) ) AS `2554`,
SUM( if(year(visit.visitdate)+543 =2555,1,0) ) AS `2555`,
SUM( if(year(visit.visitdate)+543=2556,1,0) ) AS `2556`,
SUM( if(year(visit.visitdate)+543 =2557,1,0) ) AS `2557`,
if(LENGTH(person.mumoi)=1,CONCAT("0",person.mumoi),person.mumoi) as "หมู่ที่"
FROM
visit
INNER JOIN visitdiag ON visit.visitno = visitdiag.visitno
INNER JOIN person ON visit.pid = person.pid
#WHERE
#visitdiag.diagcode not LIKE '%z%' and visitdiag.diagcode not LIKE '%u%'
WHERE
visitdiag.diagcode NOT LIKE '%u%' AND visitdiag.diagcode NOT LIKE '%z%'

GROUP BY หมู่ที่

#Script JHCIS-MySQL ค้นหาจำนวนผู้รับบริการ ปี 2547-2557 ที่มารับบริการด้วยโรคเบาหวาน

#Script JHCIS-MySQL ค้นหาจำนวนผู้รับบริการ ปี 2547-2557 ที่มารับบริการด้วยโรคเบาหวาน
SELECT
visit.pcucode,
SUM( if(year(visit.visitdate)+543 =2547,1,0) ) AS `2547`,
SUM( if(year(visit.visitdate)+543 =2548,1,0) ) AS `2548`,
SUM( if(year(visit.visitdate)+543 =2549,1,0) ) AS `2549`,
SUM( if(year(visit.visitdate)+543 =2550,1,0) ) AS `2550`,
SUM( if(year(visit.visitdate)+543 =2551,1,0) ) AS `2551`,
SUM( if(year(visit.visitdate)+543 =2552,1,0) ) AS `2552`,
SUM( if(year(visit.visitdate)+543 =2553,1,0) ) AS `2553`,
SUM( if(year(visit.visitdate)+543 =2554,1,0) ) AS `2554`,
SUM( if(year(visit.visitdate)+543 =2555,1,0) ) AS `2555`,
SUM( if(year(visit.visitdate)+543=2556,1,0) ) AS `2556`,
SUM( if(year(visit.visitdate)+543 =2557,1,0) ) AS `2557`,
visitdiag.diagcode
FROM
visit
INNER JOIN visitdiag ON visit.visitno = visitdiag.visitno
WHERE
visitdiag.diagcode LIKE '%E%'
GROUP BY visit.pcucode

Monday, March 17, 2014

#Script JHCIS-MySQL ค้นหาจำนวนผู้รับบริการ ปี 2547-2557 นับทุกรหัสการวินิจฉัย

#Script JHCIS-MySQL ค้นหาจำนวนผู้รับบริการ ปี 2547-2557 นับทุกรหัสการวินิจฉัย
SELECT
visit.pcucode,
SUM( if(year(visit.visitdate)+543 =2547,1,0) ) AS `2547`,
SUM( if(year(visit.visitdate)+543 =2548,1,0) ) AS `2548`,
SUM( if(year(visit.visitdate)+543 =2549,1,0) ) AS `2549`,
SUM( if(year(visit.visitdate)+543 =2550,1,0) ) AS `2550`,
SUM( if(year(visit.visitdate)+543 =2551,1,0) ) AS `2551`,
SUM( if(year(visit.visitdate)+543 =2552,1,0) ) AS `2552`,
SUM( if(year(visit.visitdate)+543 =2553,1,0) ) AS `2553`,
SUM( if(year(visit.visitdate)+543 =2554,1,0) ) AS `2554`,
SUM( if(year(visit.visitdate)+543 =2555,1,0) ) AS `2555`,
SUM( if(year(visit.visitdate)+543=2556,1,0) ) AS `2556`,
SUM( if(year(visit.visitdate)+543 =2557,1,0) ) AS `2557`
FROM
visit
#INNER JOIN visitdiag ON visit.visitno = visitdiag.visitno
#WHERE
#visitdiag NOT LIKE u AND
#visitdiag NOT LIKE z
GROUP BY visit.pcucode

Saturday, March 15, 2014

# JHCIS-MySQL หาจำนวนประชากรแยก ชาย-หญิง รวม แยกตามหมู่บ้าน

# JHCIS-MySQL หาจำนวนประชากรแยก ชาย-หญิง รวม แยกตามหมู่บ้าน
SELECT RIGHT(house.villcode,2) as หมู่ที่,
SUM(CASE WHEN person.sex='1' THEN 1 ELSE 0 END) AS ชาย,
SUM(CASE WHEN person.sex='2' THEN 1 ELSE 0 END) AS หญิง,
SUM(CASE WHEN person.sex='1' OR person.sex='2' THEN 1 ELSE 0 END) AS รวม
FROM
person
INNER JOIN house ON person.hcode = house.hcode
WHERE
RIGHT(house.villcode,2) <> "00" and person.typelive = ("1" or "3")
GROUP BY house.villcode

Thursday, March 13, 2014

#Script JHCIS-MySQL หาปริมาณการใช้ยาทั้งปี มูลค่ายาทั้งปี มูลค่ายาต่อเดือน และจำนวนการใช้ต่อเดือน จำนวนยาคง Stock 3 เดือนและบวกเพิ่ม 10%

#Script JHCIS-MySQL หาปริมาณการใช้ยาทั้งปี มูลค่ายาทั้งปี มูลค่ายาต่อเดือน และจำนวนการใช้ต่อเดือน จำนวนยาคง Stock 3 เดือนและบวกเพิ่ม 10%

#Script JHCIS-MySQL หาปริมาณการใช้ยาทั้งปี มูลค่ายาทั้งปี มูลค่ายาต่อเดือน และจำนวนการใช้ต่อเดือน

SELECT

cdrug.drugname as ชื่อยา,

Sum(visitdrug.unit) AS จำนวน,

Cost*Sum(visitdrug.unit) as "มูลค่ายาทั้งปี",

format(((Cost*Sum(visitdrug.unit))/12),2) as มูลค่ายาที่ใช้ต่อเดือน,

round((Sum(visitdrug.unit)/12)) AS จำนวนการใช้ต่อเดือน,
Format(((round((Sum(visitdrug.unit)/12))*3)+(0.1*(round((Sum(visitdrug.unit)/12))*3))),0) AS "จำนวนคงStock 3 เดือน+10%"

FROM

visitdrug

Script JHCIS-MySQL หาปริมาณการใช้ยาทั้งปี มูลค่ายาทั้งปี มูลค่ายาต่อเดือน และจำนวนการใช้ต่อเดือน

#Script JHCIS-MySQL หาปริมาณการใช้ยาทั้งปี มูลค่ายาทั้งปี มูลค่ายาต่อเดือน และจำนวนการใช้ต่อเดือน
SELECT
cdrug.drugname as ชื่อยา,
Sum(visitdrug.unit) AS จำนวน,
Cost*Sum(visitdrug.unit) as "มูลค่ายาทั้งปี",
format(((Cost*Sum(visitdrug.unit))/12),2) as มูลค่ายาที่ใช้ต่อเดือน,
round((Sum(visitdrug.unit)/12)) AS จำนวนการใช้ต่อเดือน
FROM
visitdrug
INNER JOIN visit ON visit.visitno = visitdrug.visitno
INNER JOIN cdrug ON visitdrug.drugcode = cdrug.drugcode
WHERE
visit.visitdate BETWEEN '2012-10-01' AND '2013-09-30' AND
cdrug.drugtype = '01'
GROUP BY
visitdrug.drugcode
ORDER BY มูลค่ายาทั้งปี DESC

Tuesday, March 11, 2014

Script JHCIS-MySQL หาปริมาณการใช้ยา,มูลค่าการใช้ยา และมูลค่าการใช้ยาต่อเดือน ในห้วงเวลาที่กำหนด

#Script JHCIS-MySQL หาปริมาณการใช้ยา,มูลค่าการใช้ยา และมูลค่าการใช้ยาต่อเดือน ในห้วงเวลาที่กำหนด
SELECT
cdrug.drugname as ชื่อยา,
Sum(visitdrug.unit) AS จำนวน,
Cost*Sum(visitdrug.unit) as "มูลค่ายาทั้งปี",
format(((Cost*Sum(visitdrug.unit))/12),2) as มูลค่ายาที่ใช้จ่อเดือน
FROM
visitdrug
INNER JOIN visit ON visit.visitno = visitdrug.visitno
INNER JOIN cdrug ON visitdrug.drugcode = cdrug.drugcode
WHERE
visit.visitdate BETWEEN '2012-10-01' AND '2013-09-30' AND
cdrug.drugtype = '01'
GROUP BY
visitdrug.drugcode
ORDER BY มูลค่ายาทั้งปี DESC

Monday, March 10, 2014

Script JHCIS-MySQL รายชื่อกลุ่มหญิงอายุ 35 ปีขึ้นไปที่ยังไม่ได้ตรวจคัดกรองมะเร็งเต้านมในปี 2557

#Script JHCIS-MySQL รายชื่อกลุ่มหญิงอายุ 35 ปีขึ้นไปที่ยังไม่ได้ตรวจคัดกรองมะเร็งเต้านมในปี 2557
SELECT
person.pid,
person.prename as คำนำ,
person.fname as ชื่อ,
person.lname as นามสกุล,
year(now()) - year(person.birth) as อายุ,
concat(day(person.birth),"/",MONTH(person.birth),"/",year(person.birth)+543) AS `วันเดือนปีเกิด`,
person.sex as เพศ,
person.hnomoi as บ้านเลขที่,
person.mumoi as หมู่ที่
FROM
person
LEFT JOIN persondeath ON person.pid = persondeath.pid
WHERE
persondeath.pid IS NULL AND
year(now()) - year(person.birth) > 35  and
person.sex = 2 and
person.mumoi <> 0 AND
NOT person.pid IN (SELECT DISTINCT visitlabcancer.pid FROM visitlabcancer WHERE visitlabcancer.datecheck BETWEEN '2013-10-01' AND now() AND visitlabcancer.typecancer = "1")
ORDER BY หมู่ที่

Script JHCIS-MySQL หาจำนวนยา มูลค่ายาที่ใช้ในห้วงเวลาที่กำหนด เรียงลำดับตามมูลค่ายา

#Script JHCIS-MySQL หาจำนวนยา มูลค่ายาที่ใช้ในห้วงเวลาที่กำหนด เรียงลำดับตามมูลค่ายา
SELECT
cdrug.drugname as ชื่อยา,
Sum(visitdrug.unit) AS จำนวน,
Cost*Sum(visitdrug.unit) as มูลค่ายา
FROM
visitdrug
INNER JOIN visit ON visit.visitno = visitdrug.visitno
INNER JOIN cdrug ON visitdrug.drugcode = cdrug.drugcode
WHERE
visit.visitdate BETWEEN '2012-10-01' AND '2013-09-30' AND
cdrug.drugtype = '01'
GROUP BY
visitdrug.drugcode
ORDER BY มูลค่ายา DESC

Sunday, March 9, 2014

Script JHCIS-MySQL หาปริมาณการใช้ยาในปีงบประมาณที่กำหนด เรียงลำดับจากมากไปน้อย

#Script JHCIS-MySQL หาปริมาณการใช้ยาในปีงบประมาณที่กำหนด เรียงลำดับจากมากไปน้อย
SELECT
cdrug.drugname as ชื่อยา,
Sum(visitdrug.unit) AS จำนวน
FROM
visitdrug
INNER JOIN visit ON visit.visitno = visitdrug.visitno
INNER JOIN cdrug ON visitdrug.drugcode = cdrug.drugcode
WHERE
visit.visitdate BETWEEN '2012-10-01' AND '2013-09-30' AND
cdrug.drugtype = '01'
GROUP BY
visitdrug.drugcode
ORDER BY จำนวน DESC

Friday, March 7, 2014

Script JHCIS-MySQL นับจำนวนผู้รับบริการ ที่มารับบริการตามวันเดือนปีที่กำหนด เรียงลำดับจากมากไปน้อย ตัดรหัส Z ออก

Script JHCIS-MySQL นับจำนวนผู้รับบริการ ที่มารับบริการตามวันเดือนปีที่กำหนด เรียงลำดับจากมากไปน้อย ตัดรหัส Z ออก
SELECT
cdisease.diseasenamethai as "ชื่อโรค",
count(visitdiag.diagcode) as "จำนวนครั้งที่รับบริการ"
FROM
visit
INNER JOIN visitdiag ON visit.visitno = visitdiag.visitno
INNER JOIN cdisease ON visitdiag.diagcode = cdisease.diseasecode
WHERE
visit.visitdate BETWEEN '2012-09-01' AND '2013-09-30' AND
visitdiag.diagcode NOT LIKE '%z%'
GROUP BY
visitdiag.diagcode
order by จำนวนครั้งที่รับบริการ desc

Wednesday, March 5, 2014

Script JHCIS-MySQL นับจำนวนผู้รับบริการ ที่มารับบริการตามวันเดือนปีที่กำหนด เรียงลำดับจากมากไปน้อย

Script JHCIS-MySQL นับจำนวนผู้รับบริการ ที่มารับบริการตามวันเดือนปีที่กำหนด เรียงลำดับจากมากไปน้อย

SELECT
cdisease.diseasenamethai as "ชื่อโรค",
count(visitdiag.diagcode) as "จำนวนครั้งที่รับบริการ"
FROM
visit
INNER JOIN visitdiag ON visit.visitno = visitdiag.visitno
INNER JOIN cdisease ON visitdiag.diagcode = cdisease.diseasecode
WHERE
visit.visitdate BETWEEN '2012-09-01' AND '2013-09-30'
GROUP BY
visitdiag.diagcode
order by จำนวนครั้งที่รับบริการ desc

Tuesday, March 4, 2014

# รายชื่อผู้ที่อายุ 15 ปีขึ้นไปยังไม่คัดกรอง NCD ปีงบประมาณ 2557

# รายชื่อผู้ที่อายุ 15 ปีขึ้นไปยังไม่คัดกรอง NCD ปีงบประมาณ 2557
SELECT
person.pid,
person.prename as คำนำ,
person.fname as ชื่อ,
person.lname as นามสกุล,
year(now()) - year(person.birth) as อายุ,
concat(day(person.birth),"/",MONTH(person.birth),"/",year(person.birth)+543) AS `วันเดือนปีเกิด`,
person.sex as เพศ,
person.hnomoi as บ้านเลขที่,
person.mumoi as หมู่ที่
FROM
person
LEFT JOIN persondeath ON person.pid = persondeath.pid
WHERE
persondeath.pid IS NULL AND
year(now()) - year(person.birth) > 14  and
#person.sex = 2 and
person.mumoi <> 0 AND
NOT person.pid IN (SELECT DISTINCT
ncd_person_ncd_screen.pid
#ncd_person_ncd_screen.screen_date
FROM
ncd_person_ncd_screen
WHERE
ncd_person_ncd_screen.screen_date BETWEEN '2013-10-01' AND now())
ORDER BY หมู่ที่

Sunday, March 2, 2014

Script JHCIS-MySQL ค้นหาชื่อนามสกุล วันเดือนปีเกิด เพศ ภายในเขต และอายุตั้งแต่ 60 ปีขึ้นไปแล้วตัดรายชื่อคนตายออกไป

 Script JHCIS-MySQL ค้นหาชื่อนามสกุล วันเดือนปีเกิด เพศ ภายในเขต และอายุตั้งแต่ 60 ปีขึ้นไปแล้วตัดรายชื่อคนตายออกไป

SELECT
concat(titlename,fname,"  ",lname) AS `ชื่อ-นามสกุล`,
concat(day(person.birth),"/",MONTH(person.birth),"/",year(person.birth)+543) AS `วันเดือนปีเกิด`,
person.mumoi AS `หมู่ที่`,
person.hnomoi AS `บ้านเลขที่`,
person.sex AS `เพศ`,
year(now())-year(person.birth) AS `อายุ`
FROM
person
LEFT JOIN persondeath ON person.pid = persondeath.pid
INNER JOIN ctitle ON person.prename = ctitle.titlecode
WHERE
persondeath.pid IS NULL AND year(now())-year(person.birth)> 59 and mumoi <> "0"
ORDER BY
อายุ ASC

# Script JHCIS-MySQL หารายชื่อหญิงตั้งครรภ์กลุ่มเป้าหมายตรวจมะเร็งปากมดลูก ปี 2553-2557 ที่ยังไม่ตรวจ

# Script JHCIS-MySQL หารายชื่อหญิงตั้งครรภ์กลุ่มเป้าหมายตรวจมะเร็งปากมดลูก ปี 2553-2557 ที่ยังไม่ตรวจ
SELECT
person.pid,
person.prename as คำนำ,
person.fname as ชื่อ,
person.lname as นามสกุล,
year(now()) - year(person.birth) as อายุ,
concat(day(person.birth),"/",MONTH(person.birth),"/",year(person.birth)+543) AS `วันเดือนปีเกิด`,
person.sex as เพศ,
person.hnomoi as บ้านเลขที่,
person.mumoi as หมู่ที่
FROM
person
LEFT JOIN persondeath ON person.pid = persondeath.pid
WHERE
persondeath.pid IS NULL AND
person.birth between '1954-01-01' and '1984-12-31' and
person.sex = 2 and
person.mumoi <> 0 AND
NOT person.pid IN (SELECT distinct visitlabcancer.pid FROM visitlabcancer WHERE visitlabcancer.typecancer = 2 AND visitlabcancer.datecheck BETWEEN '2009-10-01' and '2014-03-31')
ORDER BY หมู่ที่

Saturday, March 1, 2014

#Script JHCIS-MySQL หารายชื่อเด็ก 5 ปี ที่ยังไม่ได้รับวัคซีน DTP5 งาน QOF 57

#Script JHCIS-MySQL หารายชื่อเด็ก 5 ปี ที่ยังไม่ได้รับวัคซีน DTP5 งาน QOF 57
SELECT
person.pid,
person.prename as คำนำ,
person.fname as ชื่อ,
person.lname as นามสกุล,
concat(day(person.birth),"/",MONTH(person.birth),"/",year(person.birth)+543) AS `วันเดือนปีเกิด`,
person.sex as เพศ,
person.hnomoi as บ้านเลขที่,
person.mumoi as หมู่ที่
FROM
person
LEFT JOIN persondeath ON person.pid = persondeath.pid
WHERE
persondeath.pid IS NULL AND
person.birth Between '2008-10-01' And '2009-09-30' and
person.mumoi <> 0 AND
NOT person.pid IN (SELECT visitepi.pid FROM visitepi WHERE visitepi.vaccinecode = 'DTP5')
order by หมู่ที่ ASC