พิมพ์
หมวด: แฟ้มบริการกึ่งสำรวจ
ฮิต: 1270

NUTRITION

nutritionf

โครงสร้างแฟ้ม NUTRITION

update bmi_chart แสดงข้อมูลถึง 15 ปี

bmichart

/*WEIGHT น้ำหนัก(กก.) */

set @date1 ='2016-10-01',@date2='2017-09-30',@x = 0;

SELECT @x :=@x+1 as no,person.pname,concat(person.fname,space(2),person.lname)as 'person_name',

person_wbc_nutrition.person_wbc_id,person_wbc_nutrition.nutrition_date,person_wbc_nutrition.body_weight as WEIGHT

from person_wbc_nutrition

INNER JOIN person_wbc on person_wbc.person_wbc_id = person_wbc_nutrition.person_wbc_id

INNER JOIN person on person.person_id = person_wbc.person_id

where person_wbc_nutrition.nutrition_date BETWEEN @date1 and @date2

and person_wbc_nutrition.body_weight is null

ORDER BY  person_wbc_nutrition.person_wbc_id,person_wbc_nutrition.nutrition_date

#---------------------------------

ตัวอย่าง

no pname person_name nutrition_date WEIGHT
1 ด.ญ. ฉันทพิชญา  xxx 9/2/2017 null
2 ด.ญ. ชญาภา  xxx 5/1/2017 null
3 ด.ช. นาราชา  xxx 6/10/2016 null
4 ด.ญ. เกตุขนิฐ  xxx 27/1/2017 null
5 ด.ช. ชญานนท์  xxx 5/1/2017 null

/*HEIGHT ส่วนสูง (ซม.)*/

set @date1 ='2016-10-01',@date2='2017-09-30',@x = 0;

SELECT @x :=@x+1 as no,person.pname,concat(person.fname,space(2),person.lname)as 'person_name',

person_wbc_nutrition.nutrition_date,person_wbc_nutrition.height as height

from person_wbc_nutrition

INNER JOIN person_wbc on person_wbc.person_wbc_id = person_wbc_nutrition.person_wbc_id

INNER JOIN person on person.person_id = person_wbc.person_id

where person_wbc_nutrition.nutrition_date BETWEEN @date1 and @date2

and person_wbc_nutrition.height is null

ORDER BY  person_wbc_nutrition.person_wbc_id,person_wbc_nutrition.nutrition_date

#-------------------------------

ตัวอย่าง

no pname person_name nutrition_date height
1 ด.ญ. ชญาภา  XXX 5/1/2017 null
2 ด.ช. นาราชา  XXX 6/10/2016 null
3 ด.ญ. เกตุขนิฐ  XXX 27/1/2017 null
4 ด.ช. ชญานนท์  XXX 5/1/2017 null
5 ด.ญ. สิทธิดา  XXX 7/10/2016 null

/*HEADCIRCUM เส้นรอบศีรษะ (ซม.) */

set @date1 ='2016-10-01',@date2='2017-09-30',@x = 0,@age = 1;

SELECT @x :=@x+1 as no,person.pname,concat(person.fname,space(2),person.lname)as 'person_name',

timestampdiff(year,person.birthdate,person_wbc_nutrition.nutrition_date)as 'child_age',

person_wbc_nutrition.nutrition_date,person_wbc_nutrition.head_circum_cm

from person_wbc_nutrition

INNER JOIN person_wbc on person_wbc.person_wbc_id = person_wbc_nutrition.person_wbc_id

INNER JOIN person on person.person_id = person_wbc.person_id

where person_wbc_nutrition.nutrition_date BETWEEN @date1 and @date2

and person_wbc_nutrition.head_circum_cm is null

and timestampdiff(year,person.birthdate,person_wbc_nutrition.nutrition_date)=@age

ORDER BY  person_wbc_nutrition.person_wbc_id,person_wbc_nutrition.nutrition_date

#-------------------

ตัวอย่าง

no pname person_name child_age nutrition_date head_circum_cm
1 ด.ญ. กวินทิพย์  XXX 1 20/10/2016 null
2 ด.ช. ปุญญพัฒน์  XXX 1 20/10/2016 null
3 ด.ช. โรจน์ศักดิ์  XXX 1 20/10/2016 null
4 ด.ช. ณัฐพงศ์  XXX 1 20/10/2016 null
5 ด.ญ. กมลนิตย์  XXX 1 20/10/2016 null


update อาหารที่รับประทานปัจจุบัน person_nutrition_food_type  2061

/*เด็ก 1 ปีFOOD อาหารที่รับประทานปัจจุบัน ที่ผิดปกติ*/

set @month = 12;

set @x=0;

SELECT

@x:=@x+1 as 'No.',p.pname,concat(p.fname,space(1),p.lname)as'person_name',a.age_m,a.birth_weight,a.breast_feed_status_id

FROM

person_wbc a

LEFT OUTER JOIN person p ON p.person_id = a.person_id

LEFT OUTER JOIN breast_feed_status bf ON bf.breast_feed_status_id = a.breast_feed_status_id

WHERE a.age_m < @month

and a.breast_feed_status_id is null

and a.discharge <> 'Y'

#----------------------

ตัวอย่าง

No. pname person_name age_m birth_weight breast_feed_status_id
1 ด.ญ. ปุณยนุช XXX 11 null null
2 ด.ช. ณัฐดนัย XXX 10 null null
3 ด.ช. ธนธรณ์ XXX 10 null null
4 ด.ญ. ณัฐริณีย์ XXX 10 null null
5 ด.ช. ธนชัย XXX 10 null null

breastfeeding

/*เด็ก 1 ปี BOTTLE การใช้ขวดนม*/

set @month = 12;

set @x=0;

SELECT

@x:=@x+1 as 'No.',p.pname,concat(p.fname,space(1),p.lname)as'person_name',a.age_m,a.nutrition_date,

a.person_nutrition_bottle_type_id

FROM

person_wbc_nutrition AS a

LEFT OUTER JOIN person_wbc AS b ON b.person_wbc_id = a.person_wbc_id

LEFT OUTER JOIN person_nutrition_bottle_type AS bottle ON bottle.person_nutrition_bottle_type_id = a.person_nutrition_bottle_type_id

INNER JOIN person AS p ON p.person_id = b.person_id

WHERE

a.age_m < @month

and a.person_nutrition_bottle_type_id IS null

#-------------------------

ตัวอย่าง

No. pname person_name age_m nutrition_date person_nutrition_bottle_type_id
1 ด.ญ. สุภาพร XXX 0 5/11/2008 null
2 ด.ญ. สุภาพร XXX 2 8/1/2009 null
3 ด.ญ. สุภาพร XXX 4 12/3/2009 null
4 ด.ญ. สุภาพร XXX 6 14/5/2009 null
5 ด.ช. ณัฐภูมิ XXX 0 21/10/2009 null


/*ของทารกแรกเกิดน้ำหนักน้อยกว่า 2,500 กรัม*/

SET @x=0;

set @date1 ='2015-10-01',@date2='2017-09-30';

SELECT

@x:=@x+1 AS 'No.',p.pname, CONCAT(p.fname, SPACE(1),p.lname) AS'person_name',p.sex,pw.birth_weight,pw.age_m

FROM person_wbc AS pw

INNER JOIN person AS p ON p.person_id = pw.person_id

WHERE pw.birth_weight <='2500'

AND pw.out_region <>'Y'

AND pw.discharge <>'y'

and pw.person_wbc_regdate between @date1 and @date2

group by p.cid

#---------------------

ตัวอย่าง

No. pname person_name sex birth_weight age_m
1 ด.ช. กฤษดา XXX 1 2500.00 21
2 ด.ช. ภาคิน XXX 1 2410.00 19
3 ด.ญ. เกตุขนิฐ XXX 2 1845.00 11
4 ด.ญ. กนกวรรณ XXX 2 1920.00 11
5 ด.ช. อานุชา XXX 1 2165.00 6

/*ภาวะโภชนาการเด็ก 0-6 เดือน ปีงบประมาณ ทุกคนรวมนอกเขต*/

#+++++++++++++++++++++++++++++

set @age_m =6;/*   6เดือน*/

set @date='2015-10-01';/*ปีงบประมาณ*/

#+++++++++++++++++++++++++++++

SELECT

p.pname,concat(p.fname,space(1),p.lname) AS Child_name,

p.sex,TIMESTAMPDIFF(month,p.birthdate,@date) AS age_month,

p.house_regist_type_id AS Typearea,

(SELECT bl. name from person_wbc_nutrition as pn INNER JOIN bmi_level as bl on bl.bmi_level =pn.bmi_level WHERE person_wbc_id =pw.person_wbc_id ORDER BY nutrition_date desc LIMIT 1) as 'BMI'

from person_wbc as pw

INNER JOIN person as p on pw.person_id = p.person_id

WHERE TIMESTAMPDIFF(month,p.birthdate,@date)<= @age_m

#and p.house_regist_type_id in('1','3') /*หากเลือก type 1,3 เอาเครื่องหมาย # หน้า and p.house_regist_type_id in('1','3' ออก*/

GROUP BY pw.person_id;

#-------------------------

ตัวอย่าง

pname Child_name sex age_month Typearea BMI
ด.ญ. พรณิชา XXX 2 6 3 สมส่วน
ด.ญ. กัญญพัชร XXX 2 6 4 ผอม
ด.ญ. มาริษา XXX 2 6 4 สมส่วน
ด.ช. อกัณห์ XXX 1 6 4 สมส่วน
ด.ช. พงศ์วิชญ์ XXX 1 6 4 ผอม

คำนวน  BMI ตามมาตรฐาน ASIAN

/*ASIAN_bmi(College of Sports Science and Technology (CSST)

, MAHIDOL UNIVERSITY)*/

select n.vn,n.nutrition_date,p.person_id,

concat(p.fname,space(1),p.lname)as'person_name',

timestampdiff(month,p.birthdate,n.nutrition_date)as'age_m',n.body_weight,n.height,

round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100))) as 'l_bmi'

,if(round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100)))<18.5,'thin',

if(round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100)))between 18.5 and 22.9,'normal',

if(round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100)))between 23 and 24.9 ,'fat_1level',

if(round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100)))between 25 and 29.9 ,'fat_2level','fat_3level')))) as 'ASIAN_bmi'

from person_wbc_nutrition as n

inner join person_wbc as pw on pw.person_wbc_id = n.person_wbc_id

inner join person as p on p.person_id = pw.person_id

where n.nutrition_date >='2015-06-01'

and (n.body_weight is not null

or n.height is not null)

order by n.vn

#--------------

ตัวอย่าง

vn nutrition_date person_id person_name age_m body_weight height l_bmi ASIAN_bmi
21/7/2016 64292 อภิวัฒน์ xxx 24 12 84 17 thin
20/10/2016 64292 อภิวัฒน์ xxx 27 13.6 86 18 thin
20/10/2016 65948 อนุกูล xxx 11 9.8 76 17 thin
30/6/2015 64356 ธนัชชา xxx 9 8 68 17 thin
161004161558 4/10/2016 67491 วิภาพร xxx 0 2.84 53 10 thin
161012092109 11/10/2016 67517 อานุชา xxx 0 2.16 47 10 thin

ยาน้ำเสริมธาตุเหล็กตามสำนักโภชนาการแจ้ง

/*! set names utf8*/;

/*ยาน้ำเสริมธาตุเหล็กตามสำนักโภชนาการแจ้ง

--จากร้อยละของเด็กอายุ 6 เดือน – 5 ปี ได้รับยาน้ำเสริมธาตุเหล็ก

*/

select

icode,name,strength,dosageform,istatus,did,substr(did,1,19)as'19digit'

from

drugitems

where

substr(did, 1, 19) in ('1004974140020403305' ,

'1004974140008008305',

'2020301200871801305',

'1004890000008103305',

'1004890000009501305',

'1004890000009507305',

'1004880000086342304',

'2020301200871801305');

#--------------

ตัวอย่าง

icode name strength dosageform istatus did 19digit
1570025 Eurofer-Iron Syrup 1 g. SYRUPS Y 100497414002040330581606 1004974140020403305