DT วัคซีนผู้ใหญ่

ตรวจสอบก่อนว่ามีวัคซีน DT คอตีบ บาดทะยัก หรือไม่

SELECT * FROM provis_vcctype

where CODE = '106';

code name hos_guid
106 DT

หาก มี code 106 แต่ name ไม่ตรง ต้องแก้ไขคำสั่ง ตรง 


set @dtp = 'DT';/*แก้ 'DT' เป็น name ที่ต้องการ */


delete FROM person_vaccine WHERE export_vaccine_code ='106';

delete FROM vaccine_combination WHERE export_vaccine_code ='106';

delete FROM anc_service WHERE export_vaccine_code ='106';

set @dtp = 'DT';/*แก้ 'DT' เป็น name ที่ต้องการ */

INSERT IGNORE INTO `provis_vcctype` (`code`, `name`, `hos_guid`)

VALUES ('106',@dtp, NULL);

#-------

SET @DT = (SELECT MAX(person_vaccine_id)+1 FROM person_vaccine) ;

INSERT IGNORE INTO `person_vaccine`(`person_vaccine_id`, `vaccine_name`, `vaccine_code`, `vaccine_group`, `export_vaccine_code`, `hos_guid`, `combine_vaccine`, `icode`)

VALUES (@DT, 'คอตีบ บาดทะยัก Z23.5, Z23.6 ', @dtp, 'dT', '106', '{482CFB70-D662-11DF-BC2C-00215E472B30}', NULL, NULL);

#-------

SET @dt =(SELECT MAX(vaccine_combination_id)+1 FROM vaccine_combination);

INSERT IGNORE INTO `vaccine_combination` (`vaccine_combination_id`, `vaccine_code`, `vaccine_combine_code`, `hos_guid`)

VALUES (@dt,@dtp,'DT', NULL);

#--------

set @dtn = 'DT';/*แก้ 'DT' เป็นชื่อที่ต้องการ */

SET @DT = (SELECT MAX(anc_service_id)+1 FROM anc_service) ;

INSERT IGNORE INTO `anc_service`(`anc_service_id`, `anc_service_name`, `anc_service_code`, `export_vaccine_code`, `icode`, `price`, `hos_guid`) VALUES (@DT, @dtn, @dtn, '106', '', NULL, NULL);

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

SELECT * FROM person_vaccine WHERE export_vaccine_code = '106';

labor1

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

หมายถึง ข้อมูลประวัติการคลอด ของหญิงคลอดในเขตรับผิดชอบ และหญิงคลอดผู้มารับบริการ ประกอบด้วย
             1) หญิงตั้งครรภ์ที่คลอดทุกคนที่อาศัยอยู่ในเขตรับผิดชอบ
             2) หญิงตั้งครรภ์ที่คลอดที่อาศัยอยู่นอกเขตรับผิดชอบ ที่มาใช้บริการคลอด
หมายเหตุ
              - เขตรับผิดชอบ ในส่วนของโรงพยาบาล หมายถึง ต าบลที่ตั้งของโรงพยาบาล หรือพื้นที่รับผิดชอบในส่วนของบริการระดับปฐมภูมิ
              - ข้อมูลประวัติการคลอด และตรวจหลังคลอด ที่สถานพยาบาลอื่นให้บริการกับหญิงคลอดที่อาศัยในเขตรับผิดชอบ เป็นการเก็บข้อมูล
เพื่อประเมินความครอบคลุมของบริการ
              - การคลอด 1 ครั้ง จะมี 1 record หากมีการเพิ่มเติมหรือเปลี่ยนแปลงข้อมูลของการคลอดครั้งเดียวกัน จะต้องเปลี่ยนแปลงใน record เดิม
ของการคลอดครั้งนั้น

การจัดส่งข้อมูลให้ส่วนกลาง ให้ส่งครั้งเดียวเมื่อมีการจัดเก็บข้อมูลครบทุกกิจกรรมในแฟ้ม

/*LMP วันแรกของการมีประจ าเดือน ครั้งสุดท้าย ผิดพลาด*/

SET @date1 = '2012-10-01',@date2 = '2017-09-30';

SELECT

p.pname,

CONCAT(p.fname, SPACE(1), p.lname) AS 'patient_name',

pa.anc_register_date, pa.lmp AS LMP,

pa.pre_labor_service1_date 'วันที่ anc1',

pa.labor_date

FROM

person_anc AS pa

LEFT JOIN person AS p   ON p.person_id = pa.person_id

WHERE pa.lmp > pa.pre_labor_service1_date

AND pa.labor_date BETWEEN @date1   AND @date2

#==================

ตัวอย่าง

pname patient_name anc_register_date LMP วันที่ anc1 labor_date
น.ส. นุจรี ศรีเมือง 4/5/2016 12/8/2015 10/1/2014 4/5/2016

/*EDC  วันที่กำหนดคลอด ผิดปกติ */

set @date1 = '2009-11-01',@date2 = '2017-09-30';

SELECT

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

pa.anc_register_date,

pa.edc,pa.post_labor_service1_date,pa.post_labor_service2_date,

pa.post_labor_service3_date

FROM

person_anc AS pa

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

INNER JOIN house AS h ON h.house_id = p.house_id

INNER JOIN village AS v ON v.village_id = h.village_id

WHERE

pa.anc_register_date BETWEEN @date1 and @date2

and (pa.edc >pa.post_labor_service1_date OR

pa.edc >pa.post_labor_service2_date OR

pa.edc >pa.post_labor_service3_date)

#======================

ตัวอย่าง

pname mother anc_register_date edc post_labor_service1_date post_labor_service2_date post_labor_service3_date
น.ส. มลุลี xxx 25/11/2009 6/4/2010 5/4/2010 12/4/2010
น.ส. เดือน xxx 1/12/2009 10/12/2009 2/12/2009 11/12/2009 4/1/2010
นาง ลาวัลย์ xxx 1/12/2009 17/3/2010 11/2/2010 25/3/2010 25/3/2010
น.ส. ปราณี xxx 1/12/2009 16/12/2009 8/12/2009 16/12/2009 18/1/2010

/*BDATE วันคลอด / วันสิ้นสุดการตั้งครรภ์ ผิดปกติ*/

SELECT

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

pa.anc_register_date,

pa.labor_date,pa.edc,pa.labor_status_id,

s.labor_status_name

FROM

person_anc AS pa

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

INNER JOIN house AS h ON h.house_id = p.house_id

INNER JOIN village AS v ON v.village_id = h.village_id

INNER JOIN labor_status s on s.labor_status_id =pa.labor_status_id

WHERE pa.labor_date is null and pa.labor_status_id in('2','3')

#==============

ตัวอย่าง

pname mother anc_register_date labor_date edc labor_status_id labor_status_name
MRS. MI CHO AYE(ชูเอ)) xxx 2011-10-25 2012-05-22 2 คลอดแล้ว
น.ส. ลูกน้ำ xxx 2012-10-02 2013-04-13 2 คลอดแล้ว
น.ส. แค็ทรียา xxx 2012-10-16 2013-05-09 3 แท้ง
น.ส. สมพิศ xxx 2012-11-06 2013-06-24 3 แท้ง


 

/*BRESULT ผลสิ้นสุดการตั้งครรภ์ ผิดปกติ รหัสโรค (ICD - 10 TM )*/

SELECT

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

pa.anc_register_date,s.labor_status_name,

pa.labor_icd10,i.name

FROM

person_anc AS pa

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

left JOIN labor_status s on s.labor_status_id =pa.labor_status_id

left join icd101 as i on i.code = pa.labor_icd10

WHERE pa.labor_status_id in('2','3')

and pa.labor_icd10 is null or pa.labor_icd10 not in ('O000', 'O001', 'O002', 'O008', 'O009', 'O010', 'O011', 'O019', 'O020', 'O021', 'O028', 'O029', 'O030', 'O031', 'O032', 'O033', 'O034', 'O035', 'O036', 'O037', 'O038', 'O039', 'O040', 'O041', 'O042', 'O043', 'O044', 'O045', 'O046', 'O047', 'O048', 'O049', 'O050', 'O051', 'O052', 'O053', 'O054', 'O055', 'O056', 'O057', 'O058', 'O059', 'O060', 'O061', 'O062', 'O063', 'O064', 'O065', 'O066', 'O067', 'O068', 'O069', 'O070', 'O071', 'O072', 'O073', 'O074', 'O075', 'O076', 'O077', 'O078', 'O079', 'O080', 'O081', 'O082', 'O083', 'O084', 'O085', 'O086', 'O087', 'O088', 'O089', 'O800', 'O801', 'O808', 'O809', 'O810', 'O811', 'O812', 'O813', 'O814', 'O815', 'O820', 'O821', 'O822', 'O828', 'O829', 'O830', 'O831', 'O832', 'O833', 'O834', 'O838', 'O839', 'O840', 'O841', 'O842', 'O848', 'O849')

#==================

ตัวอย่าง

pname mother anc_register_date labor_status_name labor_icd10 name
น.ส. อารีย์ xxx 2013-07-16 คลอดแล้ว O713 Obstertric laceration of cervix
นาง อรพรรณ xxx 2013-08-06 คลอดแล้ว O60 Preterm delivery
น.ส. นริศรา xxx 2013-09-03 แท้ง
น.ส. จันทรา xxx 2013-09-17 คลอดแล้ว O441 Placenta praevia with haemorrhage
น.ส. ช่อทิพย์ xxx 15/10/13 คลอดแล้ว O300 Twin pregnancy

labor bplace

/*BPLACE สถานที่คลอด */

/*สถานที่คลอด ไม่ระบุ จากการไม่พบในบัญชี 3*/

SELECT DISTINCT CONCAT(p.fname , SPACE(1) , p.lname)AS'person_name',

TIMESTAMPDIFF(YEAR,p.birthdate,pv.vaccine_date)AS'age_year',

GROUP_CONCAT(v.vaccine_code) AS 'vaccine',p.house_regist_type_id AS type_area,p.nationality ,pl.labour_hospcode,p.death

FROM person_vaccine_list AS pv

INNER JOIN person_vaccine AS v ON v.person_vaccine_id = pv.person_vaccine_id

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

LEFT JOIN person_labour AS pl ON pl.person_id = pv.person_id

WHERE pl.person_id IS NULL

AND TIMESTAMPDIFF(YEAR,p.birthdate,pv.vaccine_date)<12

AND p.house_regist_type_id IN(1,3)

AND p.nationality = 99

AND p.discharge_date IS NULL

GROUP BY p.person_id

#======================

ตัวอย่าง

person_name age_year vaccine type_area nationality labour_hospcode death
คุณากร xxx 0 OPV1,DTPHB1 1 99 N
พิยดา xxx 0 OPV1,DTPHB1 3 99 N
วรรณประภัสส์ xxx 0 OPV1,OPV2,DTPHB1,DTPHB2 1 99 N
ทรรศมาภรณ์ xxx 2 LAJE1 1 99 N


labor btype

/*BTYPE วิธีการคลอด / สิ้นสุดการตั้งครรภ์   1 = NORMAL, 2 = CESAREAN, 3 = VACUUM, 4 = FORCEPS, 5 = ท่าก้น, 6 = ABORTION */

/*BTYPE วิธีการคลอด / สิ้นสุดการตั้งครรภ์ ผิดปกติ*/

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

SELECT

pa.labor_date,

p.pname,

CONCAT(p.fname, SPACE(1),p.lname) AS 'mother',

pa.labor_status_id,

ls.labor_status_name,

pa.labour_type_id

FROM

person_anc AS pa

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

LEFT JOIN person_labour AS pl ON pl.person_id = pa.person_id

#LEFT JOIN person_labour_type AS plt ON plt.person_labour_type_id = pa.labour_type_id

INNER join labor_status AS ls ON ls.labor_status_id = pa.labor_status_id

WHERE

pa.labor_status_id IN ('2', '3')

AND pa.labour_type_id IS NULL

and pa.labor_date between @date1 and @date2

ตัวอย่าง

labor_date pname mother labor_status_id labor_status_name labour_type_id
น.ส. แมรีโอ xxx 3 แท้ง
น.ส. นุสรา xxx 2 คลอดแล้ว
20/9/2016 น.ส. นภาพร xxx 2 คลอดแล้ว
น.ส. พิมพา xxx 3 แท้ง


labor bdoctor

BDOCTOR   ประเภทของผู้ทำคลอด

1 = แพทย์, 2 = พยาบาล,
3 = จนท.สาธารณสุข(ที่ไม่ใช่แพทย์ พยาบาล),
4 = ผดุงครรภ์โบราณ,
5 = คลอดเอง,
6 = อื่นๆ

/*BDOCTOR   ประเภทของผู้ทำคลอด ว่างเปล่า */

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

SELECT

p.pname,

CONCAT(p.fname, SPACE(1),p.lname) AS 'mother',

person_anc.labor_doctor_type_id,

person_anc.preg_no,person_anc.labor_date

from person_anc

LEFT JOIN person_labour_doctor_type as pd on pd.person_labour_doctor_type_id = person_anc.labor_doctor_type_id

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

WHERE labor_date BETWEEN @date1 and @date2

and person_anc.labor_doctor_type_id is null

ตัวอย่าง

pname mother labor_doctor_type_id preg_no labor_date
น.ส. จันทร์เพ็ญ xxx 1 25/10/2012
นาง วิยะดา xxx 1 16/11/2012
น.ส. รุ้งทิพย์ xxx 3 31/1/2012
น.ส. เกษร xxx 3 14/3/2011


labor sborn

/*LBORN จำนวนเกิดมีชีพ ที่ผิดปกติ */

/*SBORN จำนวนเกิดมีชีพ ที่ผิดปกติ */

set @date1 = '2009-11-01',@date2 = '2017-09-30';

SELECT

v.labor_date ,

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

l.labor_status_name,

v.alive_child_count,

v.dead_child_count

FROM

person_anc as v

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

left join labor_status as l on l.labor_status_id = v.labor_status_id

WHERE v.labor_date BETWEEN @date1 and @date2

and (v.alive_child_count not between 0 and 4

or (v.dead_child_count not between 0 and 4))

ตัวอย่าง

labor_date pname mother labor_status_name alive_child_count dead_child_count
14/5/2015 MISS YIN SEIN(ดา) xxx คลอดแล้ว 8 8
12/7/2015 น.ส. นุชจรินทร์ xxx คลอดแล้ว -1 7
3/7/2015 น.ส. วณัฐญา xxx คลอดแล้ว 1 -1
14/5/2015 น.ส. สุนทรา xxx คลอดแล้ว -1 -3

คลอดแล้วหรือนำมาบันทึกแล้ว อย่าลืม บังคับส่งออก LABOR , PRENATAL

sndPRENATAL

/*

R21:โรต้า3-1 2 เดือนอายุไม่เกิน 15 สัปดาห์

*/

# person_vaccine

DELETE FROM person_vaccine WHERE export_vaccine_code ='R21';

SET @R21 = (select max(person_vaccine_id)+1 from person_vaccine) ;

INSERT IGNORE INTO person_vaccine ( person_vaccine_id , vaccine_name , vaccine_code , vaccine_group , export_vaccine_code , hos_guid , combine_vaccine , icode ) VALUES (@R21, 'R21: โรต้า 3-1 2 เดือน (อายุไม่เกิน 15 สัปดาห์)', 'RV3-1', 'RV', 'R21', NULL, 'N', NULL);

-- SELECT * FROM person_vaccine wHERE export_vaccine_code = 'R21';

# vaccine_combination

SET @c21 = ( SELECT MAX(vaccine_combination_id)+1 FROM vaccine_combination) ;

DELETE FROM vaccine_combination WHERE vaccine_code= 'RV3-1';

INSERT IGNORE INTO vaccine_combination (vaccine_combination_id, vaccine_code, vaccine_combine_code, hos_guid) VALUES (@c21, 'RV3-1', 'RV3-1', NULL);

UPDATE serial

SET serial_no = (SELECT MAX(vaccine_combination_id) FROM vaccine_combination)

WHERE serial.name = 'vaccine_combination_id';

-- select * FROM vaccine_combination WHERE vaccine_code= 'RV3-1';

# wbc_vaccine

DELETE FROM wbc_vaccine WHERE export_vaccine_code='R21';

SET @w21 = (

SELECT MAX(wbc_vaccine_id)+1

FROM wbc_vaccine) ;

INSERT IGNORE INTO wbc_vaccine (wbc_vaccine_id, wbc_vaccine_name, wbc_vaccine_code, age_min, age_max, export_vaccine_code, check_code, vaccine_in_use, hos_guid, icode, price, combine_vaccine) VALUES (@w21, 'R21: โรต้า 3-1 2 เดือน (อายุไม่เกิน 15 สัปดาห์)', 'RV3-1', 8, 15, 'R21', 'R21', NULL, NULL, NULL, NULL, 'N');

-- select * FROM wbc_vaccine WHERE export_vaccine_code='R21';

# provis_vcctype

DELETE FROM provis_vcctype WHERE code='R21';

INSERT IGNORE INTO provis_vcctype (code, name, hos_guid) VALUES ('R21', 'RV3-1', NULL);

-- SELECT * FROM provis_vcctype v WHERE v.code ='R21';

# provis_aptype

delete FROM provis_aptype where code = 'R21';

INSERT IGNORE INTO provis_aptype (code,name,hos_guid,hos_guid_ext) VALUES ('R21','RV3-1',NULL,NULL);

-- SELECT * FROM provis_aptype as v where v.code = 'R21';

# baby_items

delete FROM baby_items where export_code = 'R21';

set @b21 = (SELECT max(baby_code)+1 FROM baby_items);

INSERT IGNORE INTO baby_items (baby_code, baby_group, service_code, baby_name, vaccine_code, display_order, export_code, hos_guid) VALUES (@b21, 4, NULL, 'โรต้า 3-1 2 เดือน (อายุไม่เกิน 15 สัปดาห์)', 'RV3-1', NULL, 'R21', NULL);

-- SELECT * FROM baby_items where export_code = 'R21';

# person_vaccine_group_lot

delete FROM person_vaccine_group_lot where vaccine_group = 'RV3-1';

SET @G21 = (select max(person_vaccine_group_lot_id)+1 from person_vaccine_group_lot) ;

INSERT IGNORE INTO person_vaccine_group_lot (person_vaccine_group_lot_id, vaccine_group, vaccine_lot, receive_date, expire_date, receive_qty, left_qty, vaccine_lot_active, hos_guid) VALUES (@G21, 'RV3-1', NULL, NULL, NULL, NULL, NULL, 'Y', NULL);

UPDATE  serial

SET serial_no = (

select person_vaccine_group_lot_id

from person_vaccine_group_lot

where vaccine_group = 'RV3-1')

WHERE serial.name = 'person_vaccine_group_lot_id';

SELECT * FROM person_vaccine_group_lot o where o.vaccine_group = 'RV3-1';

/*

R23 :โรต้า3-6 6 เดือน (อายุไม่เกิน 32 สัปดาห์)

*/

# person_vaccine

DELETE FROM person_vaccine WHERE export_vaccine_code ='R23';

SET @R23 = (select max(person_vaccine_id)+1 from person_vaccine) ;

INSERT IGNORE INTO person_vaccine ( person_vaccine_id , vaccine_name , vaccine_code , vaccine_group , export_vaccine_code , hos_guid , combine_vaccine , icode ) VALUES (@R23, 'R23:โรต้า3-2 6 เดือนอายุไม่เกิน 32 สัปดาห์', 'RV3-3', 'RV', 'R23', NULL, 'N', NULL);

-- SELECT * FROM person_vaccine wHERE export_vaccine_code = 'R23';

# vaccine_combination

SET @c23 = ( SELECT MAX(vaccine_combination_id)+1 FROM vaccine_combination) ;

DELETE FROM vaccine_combination WHERE vaccine_code= 'RV3-3';

INSERT IGNORE INTO vaccine_combination (vaccine_combination_id, vaccine_code, vaccine_combine_code, hos_guid) VALUES (@c23, 'RV3-3', 'RV3-3', NULL);

UPDATE serial

SET serial_no = (SELECT MAX(vaccine_combination_id) FROM vaccine_combination)

WHERE serial.name = 'vaccine_combination_id';

-- select * FROM vaccine_combination WHERE vaccine_code= 'RV3-3';

# wbc_vaccine

DELETE FROM wbc_vaccine WHERE export_vaccine_code='R23';

SET @w23 = (

SELECT MAX(wbc_vaccine_id)+1

FROM wbc_vaccine) ;

INSERT IGNORE INTO wbc_vaccine (wbc_vaccine_id, wbc_vaccine_name, wbc_vaccine_code, age_min, age_max, export_vaccine_code, check_code, vaccine_in_use, hos_guid, icode, price, combine_vaccine) VALUES (@w23, 'R23:โรต้า3-2 6 เดือนอายุไม่เกิน 32 สัปดาห์', 'RV3-3', 24, 32, 'R23', 'R23', NULL, NULL, NULL, NULL, 'N');

-- select * FROM wbc_vaccine WHERE export_vaccine_code='R23';

# provis_vcctype

DELETE FROM provis_vcctype WHERE code='R23';

INSERT IGNORE INTO provis_vcctype (code, name, hos_guid) VALUES ('R23', 'RV3-3', NULL);

-- SELECT * FROM provis_vcctype v WHERE v.code ='R23';

# provis_aptype

delete FROM provis_aptype where code = 'R23';

INSERT IGNORE INTO provis_aptype (code,name,hos_guid,hos_guid_ext) VALUES ('R23','RV3-3',NULL,NULL);

-- SELECT * FROM provis_aptype as v where v.code = 'R23';

# baby_items

delete FROM baby_items where export_code = 'R23';

set @b23 = (SELECT max(baby_code)+1 FROM baby_items);

INSERT IGNORE INTO baby_items (baby_code, baby_group, service_code, baby_name, vaccine_code, display_order, export_code, hos_guid) VALUES (@b23, 4, NULL, 'R23:โรต้า3-2 6 เดือนอายุไม่เกิน 32 สัปดาห์', 'RV3-3', NULL, 'R23', NULL);

-- SELECT * FROM baby_items where export_code = 'R23';

# person_vaccine_group_lot

delete FROM person_vaccine_group_lot where vaccine_group = 'RV3-3';

SET @G23 = (select max(person_vaccine_group_lot_id)+1 from person_vaccine_group_lot) ;

INSERT IGNORE INTO person_vaccine_group_lot (person_vaccine_group_lot_id, vaccine_group, vaccine_lot, receive_date, expire_date, receive_qty, left_qty, vaccine_lot_active, hos_guid) VALUES (@G23, 'RV3-3', NULL, NULL, NULL, NULL, NULL, 'Y', NULL);

UPDATE serial

SET serial_no = (

select person_vaccine_group_lot_id

from person_vaccine_group_lot

where vaccine_group = 'RV3-3')

WHERE serial.name = 'person_vaccine_group_lot_id';

SELECT * FROM person_vaccine_group_lot o where o.vaccine_group = 'RV3-3';