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';

/*ตรวจสอบว่ามีวัคซีน MR ผู้ใหญหรือไม'*/

SELECT person_vaccine_id,vaccine_name

FROM person_vaccine

WHERE export_vaccine_code = '074'

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

test mr

หากไม่มี นำคำสั่งเพิ่มไป RUN

delete FROM person_vaccine WHERE export_vaccine_code = '074';

delete FROM vaccine_combination WHERE vaccine_code = '074';

delete FROM provis_vcctype WHERE CODE = '074');

SET @MRC = (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 (@MRC, '074 : MRR หัด หัดเยอรมัน รณรงค์ (Z244,Z245)', 'MRC', 'MMC\r\n', '074', NULL, 'N', NULL);

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

SET @cmrc =(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 (@cmrc, 'MRC', 'MRC', NULL);

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

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

VALUES ('074', 'MRC', NULL);

SELECT person_vaccine_id,vaccine_name

FROM person_vaccine

WHERE export_vaccine_code = '074';

/*DTP_HB_Hib1,2,3*/

delete FROM person_vaccine WHERE export_vaccine_code IN ('d21','d22','d23');

DELETE FROM wbc_vaccine WHERE export_vaccine_code IN ('d21','d22','d23');

delete FROM vaccine_combination

WHERE vaccine_code IN ('DTP-HB-Hib 1','DTP-HB-Hib 2','DTP-HB-Hib 3',@vaccine_code1,@vaccine_code2,@vaccine_code3);

delete FROM provis_vcctype WHERE CODE IN ('d21','d22','d23');

delete FROM provis_aptype WHERE CODE IN ('d21','d22','d23');

DELETE FROM baby_items WHERE export_code IN ('d21','d22','d23');

DELETE FROM person_vaccine_group_lot

WHERE vaccine_group IN('DTP-HB-Hib 1','DTP-HB-Hib 2','DTP-HB-Hib 3',@vaccine_code1,@vaccine_code2,@vaccine_code3);

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

SET @Hib2 = (select max(person_vaccine_id)+2 from person_vaccine) ;

SET @Hib3 = (select max(person_vaccine_id)+3 from person_vaccine) ;

set @vaccine_code1 = 'DTP-HB-Hib 1' ;

set @vaccine_code2 = 'DTP-HB-Hib 2' ;

set @vaccine_code3 = 'DTP-HB-Hib 3' ;

REPLACE INTO person_vaccine (person_vaccine_id, vaccine_name, vaccine_code, vaccine_group, export_vaccine_code, hos_guid, combine_vaccine, icode)

VALUES (@Hib1, 'ดีทีพีตับอักเสบบีฮิบ 1', @vaccine_code1, 'DTPHB', 'D21', NULL, NULL, NULL);

REPLACE INTO person_vaccine (person_vaccine_id, vaccine_name, vaccine_code, vaccine_group, export_vaccine_code, hos_guid, combine_vaccine, icode)

VALUES (@Hib2, 'ดีทีพีตับอักเสบบีฮิบ 2',@vaccine_code2, 'DTPHB', 'D22', NULL, NULL, NULL);

REPLACE INTO person_vaccine (person_vaccine_id, vaccine_name, vaccine_code, vaccine_group, export_vaccine_code, hos_guid, combine_vaccine, icode)

VALUES (@Hib3, 'ดีทีพีตับอักเสบบีฮิบ 3',@vaccine_code3, 'DTPHB', 'D23', NULL, NULL, NULL);

/*

SELECT * FROM person_vaccine

WHERE export_vaccine_code IN ('d21','d22','d23');*/

#----------------------wbc_vaccine

SET @hib_w1 =(select max(wbc_vaccine_id)+1 from wbc_vaccine);

SET @hib_w2 =(select max(wbc_vaccine_id)+2 from wbc_vaccine);

SET @hib_w3 =(select max(wbc_vaccine_id)+3 from wbc_vaccine);

INSERT 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 (@hib_w1, 'ดีทีพีตับอักเสบบีฮิบ 1',@vaccine_code1, 2, 4, 'D21','DTP_HBHib1', NULL, NULL, NULL, NULL, 'N');

INSERT 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 (@hib_w2, 'ดีทีพีตับอักเสบบีฮิบ 2',@vaccine_code2, 2, 4, 'D22','DTP_HBHib2', NULL, NULL, NULL, NULL, 'N');

INSERT 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 (@hib_w3, 'ดีทีพีตับอักเสบบีฮิบ 3',@vaccine_code3, 2, 4, 'D23','DTP_HBHib3', NULL, NULL, NULL, NULL, 'N');

#SELECT * FROM wbc_vaccine WHERE export_vaccine_code IN ('d21','d22','d23');

#----------------------vaccine_combination

SET @hib_c1 =(select max(vaccine_combination_id)+1 from vaccine_combination);

SET @hib_c2 =(select max(vaccine_combination_id)+2 from vaccine_combination);

SET @hib_c3 =(select max(vaccine_combination_id)+3 from vaccine_combination);

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

VALUES (@hib_c1,@vaccine_code1, 'DTP-HB-Hib 1', NULL);

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

VALUES (@hib_c2,@vaccine_code2, 'DTP-HB-Hib 2', NULL);

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

VALUES (@hib_c3,@vaccine_code3, 'DTP-HB-Hib 3', NULL);

/*SELECT * FROM vaccine_combination

WHERE vaccine_code IN ('DTP-HB-Hib 1','DTP-HB-Hib 2','DTP-HB-Hib 3');*/

UPDATE serial AS s

SET s.serial_no = @hib_c3

WHERE NAME LIKE 'vaccine_combination_id%';

#----------------------provis_vcctype

INSERT INTO provis_vcctype (code, name, hos_guid)

VALUES ('D21',@vaccine_code1, NULL);

INSERT INTO provis_vcctype (code, name, hos_guid)

VALUES ('D22',@vaccine_code2, NULL);

INSERT INTO provis_vcctype (code, name, hos_guid)

VALUES ('D23',@vaccine_code3, NULL);

/*SELECT * FROM provis_vcctype

WHERE CODE IN ('d21','d22','d23');*/

#----------------------provis_aptype

INSERT INTO provis_aptype (code, name, hos_guid, hos_guid_ext)

VALUES ('D21',@vaccine_code1, NULL, NULL);

INSERT INTO provis_aptype (code, name, hos_guid, hos_guid_ext)

VALUES ('D22',@vaccine_code2, NULL, NULL);

INSERT INTO provis_aptype (code, name, hos_guid, hos_guid_ext)

VALUES ('D23',@vaccine_code3, NULL, NULL);

/*SELECT * FROM provis_aptype

WHERE CODE IN ('d21','d22','d23');*/

#----------------------baby_items

SET @baby_code = (SELECT MAX(baby_code)+1 FROM baby_items);

SET @baby_code2 = (SELECT MAX(baby_code)+2 FROM baby_items);

SET @baby_code3 = (SELECT MAX(baby_code)+3 FROM baby_items);

INSERT INTO baby_items (baby_code, baby_group, service_code, baby_name, vaccine_code, display_order, export_code, hos_guid)

VALUES (@baby_code, 2, NULL, 'ดีทีพีตับอักเสบบีฮิบ 1',@vaccine_code1, NULL, 'D21', NULL);

INSERT INTO baby_items (baby_code, baby_group, service_code, baby_name, vaccine_code, display_order, export_code, hos_guid)

VALUES (@baby_code2, 2, NULL, 'ดีทีพีตับอักเสบบีฮิบ 2',@vaccine_code2, NULL, 'D22', NULL);

INSERT INTO baby_items (baby_code, baby_group, service_code, baby_name, vaccine_code, display_order, export_code, hos_guid)

VALUES (@baby_code3, 2, NULL, 'ดีทีพีตับอักเสบบีฮิบ 3',@vaccine_code3, NULL, 'D23', NULL);

/*SELECT * FROM baby_items

WHERE export_code IN ('d21','d22','d23');*/

#-----------------------person_vaccine_group_lot

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

SET @Hibg2 = (select max(person_vaccine_group_lot_id)+2 from person_vaccine_group_lot) ;

SET @Hibg3 = (select max(person_vaccine_group_lot_id)+3 from person_vaccine_group_lot) ;

INSERT 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 (@Hibg1,@vaccine_code1, NULL, NULL, NULL, NULL, NULL, 'Y', NULL);

INSERT 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 (@Hibg2,@vaccine_code2, NULL, NULL, NULL, NULL, NULL, 'Y', NULL);

INSERT 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 (@Hibg3,@vaccine_code3, NULL, NULL, NULL, NULL, NULL, 'Y', NULL);

UPDATE serial

SET serial_no = @Hibg3

WHERE NAME LIKE 'person_vaccine_group_lot_id%';

SELECT *

FROM person_vaccine_group_lot AS g

WHERE g.vaccine_group IN(@vaccine_code1,@vaccine_code2,@vaccine_code3);

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

EPI

EPI

EPI ให้บริการวัคซีน

หมายถึง ข้อมูลการให้บริการวัคซีนกับผู้ที่มารับบริการ และประชาชนกลุ่มเป้าหมายของการฉีด วัคซีนในเขตรับผิดชอบ ประกอบด้วย

           1) เด็กอายุ ต่ำกว่า 7 ปี และหญิงตั้งครรภ์ ที่มาใช้บริการวัคซีน ในโรงพยาบาลและสถานบริการระดับปฐมภูมิ

           2) เด็กอายุ ต่ำกว่า 7 ปี และหญิงตั้งครรภ์ ในเขตรับผิดชอบ ที่ได้รับบริการวัคซีนจากสถานพยาบาลอื่น

           3) เด็กนักเรียนชั้นประถมศึกษาที่ 1 ทุกคนในโรงเรียนที่รับผิดชอบที่ได้รับวัคซีน

           4) เด็กนักเรียนชั้นประถมศึกษาที่ 2 ทุกคนในโรงเรียนที่รับผิดชอบที่ได้รับวัคซีน

           5) เด็กนักเรียนชั้นประถมศึกษาที่ 6 ทุกคนในโรงเรียนที่รับผิดชอบที่ได้รับวัคซีน

           6) ประชาชนกลุ่มเป้าหมายอื่นๆที่มารับบริการวัคซีน

หมายเหตุ

         - ผู้มารับบริการวัคซีน หมายถึง ทั้งที่อาศัยในเขตรับผิดชอบ และนอกเขตรับผิดชอบ

         - การให้บริการวัคซีน รวมทั้งที่ให้ในสถานพยาบาล และนอกสถานพยาบาล (เช่น กรณีนักเรียนในโรงเรียน)

         - ข้อมูลการให้บริการที่สถานพยาบาล อื่นให้กับประชาชนกลุ่มเป้าหมายที่อาศัยในเขตรับผิดชอบ เป็นการเก็บข้อมูลเพื่อประเมินความครอบคลุมของบริการ

         - การให้บริการวัคซีน 1 ชนิด ในแต่ละครั้ง จะมี 1 record หากในการให้บริการครั้งหนึ่งมีการให้วัคซีนมากกว่า 1 ชนิด ก็จะมีมากกว่า 1 record

แฟ้มบริการกึ่งสำรวจ

1. การให้บริการ จัดเก็บ/บันทึกข้อมูลทุกครั้งที่มารับบริการ และส่งข้อมูลให้ส่วนกลางภายในรอบของเดือนนั้น ๆ

2. การสำรวจ จัดเก็บ/บันทึกข้อมูลทุกครั้งที่ท าการส ารวจข้อมูลประชากรที่อาศัยในเขตรับผิดชอบ ที่ไปใช้รับบริการที่สถานบริการอื่น และส่งข้อมูลให้ส่วนกลาง

ภายในรอบของเดือนนั้น ๆ

epi

load โครงสร้าง EPI

การเพิ่มวัคซนีในโปรแกรม HOSxP และ HOSxP PCU


/*VACCINETYPE รหัสวัคซีน*/

SET @date1= '2015-04-01',@date2='2016-04-30'; /*DATE_SERV  วันที่ให้บริการ */

drop table if EXISTS table2;

CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS

select *  from

(SELECT DISTINCT

p.cid,

p.pname,

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

a.vaccine_date,

GROUP_CONCAT(b.vaccine_code)vaccine,

'list' AS 'table'

FROM

person_vaccine_list a

INNER JOIN

person AS p ON p.person_id = a.person_id

INNER JOIN

person_vaccine AS b ON b.person_vaccine_id = a.person_vaccine_id

WHERE

a.vaccine_date BETWEEN @date1 AND @date2

GROUP BY p.person_id , a.vaccine_date

UNION

SELECT  DISTINCT

pp.cid,

pp.pname,

concat(pp.fname,space(1), pp.lname) as person_name,

e.vaccine_date,

GROUP_CONCAT(bb.vaccine_code)vaccine,

'elsewhere' AS 'table'

FROM

person_vaccine_elsewhere e

INNER JOIN

person AS pp ON pp.person_id = e.person_id

INNER JOIN

person_vaccine AS bb ON bb.person_vaccine_id = e.person_vaccine_id

WHERE

e.vaccine_date BETWEEN @date1 AND @date2

GROUP BY pp.person_id , e.vaccine_date ) bn;

select * from table2 order by cid;

drop table if EXISTS table2;

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

ตัวอย่าง  ตรง table ข้อมูลที่ได้ list หมายถึงได้จากตาราง person_vaccine_list ได้จากการที่เราบันทึกบริการเอง

                                               elsewhere ได้จาก person_vaccine_elsewhere หรือวัคซีน จากที่อื่น ได้จากการ บันทึกและ synchronise

cid pname person_name vaccine_date vaccine table
8888888888888 ด.ช. ศิรภัทร xxx 17/9/2015 OPV1,DTPHB1 list
8888888888888 ด.ช. ศิรภัทร xxx 19/11/2015 OPV2,DTPHB2 list
8888888888888 ด.ช. ศิรภัทร xxx 21/1/2016 OPV3,DTPHB3 list
8888888888888 ด.ช. ศิรภัทร xxx 21/4/2016 MEASLES/MMR list
8888888888888 ด.ช. ศิรภัทร xxx 12/7/2015 HBV1 elsewhere
8888888888888 ด.ช. ศิรภัทร xxx 13/7/2015 BCG elsewhere
8888888888888 ด.ช. ธนภัทร yyy 19/11/2015 OPV1,DTPHB1 list
8888888888888 ด.ช. ธนภัทร yyy 21/1/2016 OPV2,DTPHB2,IPV-P list
8888888888888 ด.ช. ธนภัทร yyy 24/3/2016 OPV3,DTPHB3 list
8888888888888 ด.ช. ธนภัทร yyy 16/8/2015 BCG,HBV1 elsewhere


/*วัคซีนรับจากที่อื่น VACCINEPLACE  สถานที่รับวัคซีน ผิดปกติ*/

set @date1 = '2015-10-01',@date2='2016-09-30';/*เปลี่ยนวันที่ตามต้องการ*/

SELECT

'elsewhere' AS `table`,

person_vaccine_elsewhere.vaccine_date,

person_vaccine_elsewhere.vaccine_hospcode,

person.pname,

concat(person.fname,space(1),person.lname)person_name

,TIMESTAMPDIFF(MONTH,

person.birthdate,

person_vaccine_elsewhere.vaccine_date) AS 'age_month',

person_wbc.discharge,

GROUP_CONCAT(person_vaccine.vaccine_code) AS vaccine,

person_vaccine_elsewhere.vaccine_note

FROM

person_vaccine_elsewhere

INNER JOIN

person ON person.person_id = person_vaccine_elsewhere.person_id

INNER JOIN

person_vaccine ON person_vaccine.person_vaccine_id = person_vaccine_elsewhere.person_vaccine_id

INNER JOIN

person_wbc ON person_wbc.person_id = person.person_id

WHERE

person_vaccine_elsewhere.vaccine_date between @date1 and @date2

and vaccine_hospcode IS NULL

GROUP BY person.cid , person_vaccine_elsewhere.vaccine_date

order by person.cid,person_vaccine_elsewhere.vaccine_date;

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

ต้วอย่าง

table vaccine_date vaccine_hospcode pname person_name age_month discharge vaccine vaccine_note
10/11/2015 ด.ญ. อาทิตยา xxx 6 N DTPHB3,OPV3 Sync from bms-datacenter
14/12/2015 ด.ญ. ธัญญรัตน์ yyy 7 N DTPHB3,OPV3 Sync from bms-datacenter
10/11/2015 ด.ช. ภรัญญู ccc 6 N OPV3,DTPHB3 Sync from bms-datacenter
11/12/2015 ด.ช. ปุณณวัฒน์ sss 7 N DTPHB3,OPV3 Sync from bms-datacenter
16/11/2015 ด.ญ. ณัฏฐนิชา ddd 6 N DTPHB3,OPV3 Sync from bms-datacenter
10/11/2015 ด.ช. กมลภพ aaa 6 N IPV-P,DTPHB3,OPV3 Sync from bms-datacenter
10/5/2016 ด.ช. กมลภพ aaa 12 N JE1 Sync from bms-datacenter

/*แก้ไข เมื่อถูกส่งเข้า Datacenter ข้อมูลจะยังคงมีสถานบริการที่ให้บริการ*/

/*update vaccine_hospcode */

set @date1 = '2015-10-01',@date2='2016-09-30';/*เปลี่ยนวันที่ตามต้องการ*/

#--

UPDATE person_vaccine_elsewhere

set vaccine_hospcode = hospcode

WHERE left(hospcode ,1) BETWEEN '0' and '9' ;

#--

SELECT

'elsewhere' AS `table`,

person_vaccine_elsewhere.vaccine_date,

person_vaccine_elsewhere.vaccine_hospcode,

person.pname,

concat(person.fname,space(1),person.lname)person_name

,TIMESTAMPDIFF(MONTH,

person.birthdate,

person_vaccine_elsewhere.vaccine_date) AS 'age_month',

person_wbc.discharge,

GROUP_CONCAT(person_vaccine.vaccine_code) AS vaccine,

person_vaccine_elsewhere.vaccine_note

FROM

person_vaccine_elsewhere

INNER JOIN

person ON person.person_id = person_vaccine_elsewhere.person_id

INNER JOIN

person_vaccine ON person_vaccine.person_vaccine_id = person_vaccine_elsewhere.person_vaccine_id

INNER JOIN

person_wbc ON person_wbc.person_id = person.person_id

WHERE

person_vaccine_elsewhere.vaccine_date between @date1 and @date2

-- and vaccine_hospcode IS NULL

GROUP BY person.cid , person_vaccine_elsewhere.vaccine_date

order by person.cid,person_vaccine_elsewhere.vaccine_date;

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

ตัอย่าง

vaccine_date vaccine_hospcode pname person_name age_month discharge vaccine vaccine_note
16/1/2016 10662 ด.ญ. ศศิพร xxx 0 N HBV1,BCG
11/4/2016 10662 ด.ญ. ศศิพร xxx 2 N OPV1,DTPHB1
10/6/2016 10662 ด.ญ. ศศิพร xxx 4 N OPV2,DTPHB2
29/12/2015 13756 ด.ญ. ณัฏฐ์ชญา xxx 0 N BCG,HBV1 คลอด รพ.จุฬาลงกรณ์
7/3/2016 11537 ด.ช. ณัฏฐ์ชญา xxx 0 N BCG,HBV1


epi notinelsewhere 

/*ค้นรายชื่อ ให้บริการวัคซีน ในฝังบริการ เลือกที่ให้บริการจริงเป็นที่อื่น แต่ไม่บันทึกในฝั่ง บริการที่อื่น*/

set @date1 ='2013-10-01' ,@date2 = '2017-09-30';/*เปลี่ยน วันที่*/

SELECT

person.cid,

person.pname,

CONCAT(person.fname, SPACE(1), person.lname) AS person_name,

person_wbc_service.service_date,

#person_wbc_service.wbc_location_type_id,

wbc_location_type.wbc_location_type_name,

GROUP_CONCAT(person_vaccine.vaccine_code) AS vaccine_name,

person_vaccine_elsewhere.person_vaccine_id

FROM

person_wbc

INNER JOIN person_wbc_service ON person_wbc.person_wbc_id = person_wbc_service.person_wbc_id

INNER JOIN person ON person.person_id = person_wbc.person_id

INNER JOIN person_vaccine_list ON person_wbc.person_id = person_vaccine_list.person_id

INNER JOIN person_vaccine ON person_vaccine.person_vaccine_id = person_vaccine_list.person_vaccine_id

LEFT JOIN person_vaccine_elsewhere ON person.person_id = person_vaccine_elsewhere.person_id

INNER JOIN wbc_location_type ON wbc_location_type.wbc_location_type_id = person_wbc_service.wbc_location_type_id

WHERE

person_wbc_service.service_date BETWEEN @date1 AND @date2

AND person_wbc_service.wbc_location_type_id = 2

AND person_vaccine_elsewhere.person_vaccine_id IS NULL

GROUP BY person.cid , person_wbc_service.service_date

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

ตัวอย่าง

cid pname person_name service_date wbc_location vaccine_name person_vaccine_id
8888888888888 ด.ญ. ณัฐณิชา xxx 23/9/2015 ที่อื่น HBV1,BCG null
8888888888888 ด.ญ. วริษา xxx 31/1/2014 ที่อื่น BCG,MMR2,MMR2,MMR2,DTPHB3,DTPHB2,DTPHB1,JE1,HBV1,OPV1,OPV2,OPV3,MEASLES/MMR,DTP4,OPV4 null
8888888888888 ด.ช. จิรันธร xxx 20/2/2015 ที่อื่น LAJE1,DTPHB3,DTPHB2,DTPHB1,OPV4,DTP4,MEASLES/MMR,OPV3,OPV2,OPV1,BCG,HBV1 null
8888888888888 ด.ช. จิรันธร xxx 24/4/2015 ที่อื่น DTPHB1,DTPHB2,DTPHB3,LAJE1,OPV4,DTP4,MEASLES/MMR,OPV3,OPV1,HBV1,BCG,OPV2 null


/*IPV-P นำเข้าบัญชี 3 เด็ก 0-1 ปี ตาราง   person_vaccine*/

DELETE from person_vaccine WHERE export_vaccine_code = '401';

SET @person_vaccine_id = (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 (@person_vaccine_id, '401 : IPV-P ฉีดโปลิโอ 4 เดือน (Z240)', 'IPV-P', 'IPV-P', '401', NULL, 'N', NULL);

/*ตาราง WBC_vaccine*/

DELETE from WBC_vaccine WHERE export_vaccine_code = '401';

SET @wbc_vaccine_id = (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`, `combine_vaccine`)

VALUES (@wbc_vaccine_id, 'ไอพีวี-พี', 'IPV-P', '0', '6', '401', 'IPV-P', 'N');

/*ตาราง   vaccine_combination*/

DELETE FROM vaccine_combination WHERE vaccine_code = 'IPV-P';

SET @vaccine_combination_id = (select max(vaccine_combination_id)+1 from vaccine_combination) ;

INSERT INTO `vaccine_combination` (`vaccine_combination_id`, `vaccine_code`, `vaccine_combine_code`, `hos_guid`) VALUES ('86', 'IPV-P', 'IPV-P', null);

/*ตาราง baby_items นำเข้า one STOP service*/

DELETE FROM baby_items WHERE vaccine_code = 'IPV-P';

SET @baby_code = (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 (@baby_code , '4', NULL, 'ไอพีวี-พี', 'IPV-P', NULL, '401', NULL) ;

/*provis_aptype ข้อมูลการนัดหมาย*/

DELETE FROM provis_aptype WHERE NAME ='IPV-P';

INSERT IGNORE INTO `provis_aptype` (`code`, `name`, `hos_guid`, `hos_guid_ext`)

VALUES ('401', 'IPV-P', NULL, NULL);

/*Provis_vcctype ตารางมาตรฐานส่ง EPI */

DELETE FROM provis_vcctype WHERE CODE ='401';

INSERT IGNORE INTO provis_vcctype (CODE,NAME,hos_guid)

VALUES ('401','IPV-P',NULL);

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

/*หา เด็ก รหัสสถานพยาบาล ว่าง ในวัคซีนที่รับบริการที่อื่น*/

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

SELECT

person_vaccine_elsewhere.vaccine_date,

person.pname,

CONCAT(person.fname,SPACE(1),person.lname ) AS person_name,

person_vaccine_elsewhere.hospcode,

person_vaccine_elsewhere.vaccine_hospcode,

GROUP_CONCAT(person_vaccine.vaccine_code) vaccine

FROM

person_vaccine_elsewhere

INNER JOIN person ON person.person_id = person_vaccine_elsewhere.person_id

INNER JOIN person_vaccine ON person_vaccine.person_vaccine_id

= person_vaccine_elsewhere.person_vaccine_id

WHERE

person_vaccine_elsewhere.vaccine_date between @date1 and @date2

and hospcode IS NULL

AND person.`house_regist_type_id` IN ('1', '3')

GROUP BY person.cid,person_vaccine_elsewhere.vaccine_date

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

ตัวอย่าง

vaccine_date pname person_name hospcode vaccine_hospcode vaccine
10/06/2559 ด.ญ. อลิสา xxx DTPHB1,OPV1
10/08/2559 ด.ญ. อลิสา xxx OPV2,DTPHB2
4/05/2559 ด.ช. พรพิพัฒน์ xxx HBV1,BCG
31/05/2559 ด.ญ. ศุภิสรา xxx HBV1
2/06/2559 ด.ญ. ศุภิสรา xxx BCG


กรณีบันทึกความครอบคลุมวัคซีน BCG ซึ่งปกติรับจากโรงพยาบาล ที่เด็กคลอด โดย ได้รับบริการก่อนกลับบ้าน

บางแห่งไม่ได้บันทึกสถานบริการวัคซีน BCG ดังกล่าว

epi bcghospcodenull

/*หา เด็ก รหัสสถานพยาบาล ว่าง ในวัคซีนที่รับบริการที่อื่น*/

SELECT

person.cid,

person.pname,

CONCAT(person.fname, SPACE(1), person.lname) AS person_name,

group_concat(vaccine_code)as vaccine,

person_vaccine_elsewhere.hospcode,

person_vaccine_elsewhere.vaccine_date,

person_vaccine_elsewhere.vaccine_hospcode

FROM person_vaccine_elsewhere

INNER JOIN person ON person.`person_id` = person_vaccine_elsewhere.`person_id`

inner join person_vaccine on person_vaccine.person_vaccine_id = person_vaccine_elsewhere.person_vaccine_id

WHERE hospcode IS NULL

AND person.`house_regist_type_id` IN ('1','3')

and (person_vaccine.vaccine_code = 'BCG'

or person_vaccine.vaccine_code = 'HBV1' )

group by person.cid,person_vaccine_elsewhere.vaccine_date

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

ตัวอย่าง

cid pname person_name vaccine hospcode vaccine_date vaccine_hospcode
88888888888888 ด.ช. ชินนาอาชว์ xxx BCG 12/3/2012
88888888888888 ด.ช. ชัชวรรษ์ xxx HBV1,BCG 18/7/2010
88888888888888 ด.ญ. เมธากานต์ xxx HBV1,BCG 13/4/2011
88888888888888 ด.ช. วราวุธ xxx HBV1,BCG 7/1/2012
88888888888888 ด.ช. ณัฐนนท์ xxx BCG,HBV1 21/10/2012

/*labour no relate BCG */

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

SELECT

p.pname,

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

v.vaccine_date ,group_concat(vaccine_code) as 'vaccine'

FROM

person_labour AS pl

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

left join person_vaccine_list as v on v.person_id = pl.person_id

inner join person_vaccine as pv on pv.person_vaccine_id = v.person_vaccine_id

where pv.vaccine_code <> 'bcg'

and p.birthdate between @date1 and @date2

group by p.cid

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

ตัวอย่าง

pname child_name birthdate vaccine_date vaccine
ด.ช. อานุชา xxx 2016-10-11 2016-10-11 HBV1
ด.ญ. ปัณฑารีย์ xxx 2016-10-12 2016-10-12 HBV1,OPV2,DTPHB2
ด.ช. ปิยะพล xxx 2016-10-13 2016-10-13 HBV1
ด.ญ. สุนิศา xxx 2016-10-12 2016-10-12 HBV1,DTPHB2,OPV2

การเพิ่ม รหัสวัคซีน โรคมะเร็งปากมดลูกจากเชื้อไวรัส ฮิวแมนแปบพิลโลมา HPVs

กรณีที่มีการนำข้อมูลมาบันทึกความครอบคลุม หรือแก้ไขข้อมูลเก่า

เมื่อมีการส่งออก 43 แฟ้มใหม่อีครั้ง ต้องเลือกส่งแฟ้มอะไรบ้าง

จากการดูการประมวลผล รายงาน EPI  ความครอบคลุมของเด็กอายุครบ 1 ปีที่ได้รับวัคซีน BCG ,HBV1,DTP-HBV3,โปลิโอ3, MMR1,IPV รายไตรมาส

พบว่าใช้แฟ้มข้อมูลดังต่อไปนี้

EPI
PERSON
HOME
ADDRESS
NEWBORN
NEWBORNCARE
NUTRITION

ปัญหาที่พบได้บ่อยๆ คือส่งข้อมูลแล้วข้อมูลที่มีการแก้ไขบางส่วน  ทำให้มีข้อมูลเดียวกัน 2 reccord คืออาจถูก 1 ผิด 1 หรือ ถูก ทั้งคู่  หรือ ผิดทั้งคู่

ซึ่งเรามักแจ้ง admin ลบให้ แต่เนื่องจาก  admin ไม่ได้ดูคำสั่งในแต่ละรายงาน อาจมีข้อมูลจากแฟ้มที่เกียวข้องผิดพลาดซ้ำซ้อนด้วย

ดังนั้นจึงเป็นหน้าที่ผู้แจ้งลบข้อมูลต้องแจ้งให้ตรวจสอบแฟ้มที่ถูกส่งมาในชุดเดียวกันด้วย

เพิ่มวัคซีนผู้ใหญ่ 074 : MRR หัด หัดเยอรมัน รณรงค์

เพิ่มวัคซีนผู้ใหญ่ 106 DT 

เพิ่มวัคซีนผู้ใหญ่ 815 FLU

ในบัญชี 4 มีวัคซีนที่เกิดใหม่คือ JE1 Lived และ JE2 Lived หาก ตั้งค่าผิดพลาด ผลการฉีดวัคซีนจะไม่แสดงที่หน้่าจอ

แก้ไขโดยในทุกตารางที่ set up ตรง Vaccine_code ให้ใช็ตัวพิมพ์ใหญ่ JE1 Lived ใช้ LAJE1
JE2 Lived ใช้ LAJE2

laje

หรือแก้ไขโดยนำคำสั่ง Update_J11_J12

run โดยใช้โปรแกรม เช่น SQL_Yog,navicat,HeidiSQL

เมื่อ run เสร็จแล้ว ให้ กดปุ่ม recalc ในบัญชี 4

recalc

lajecmp

คำสั่งนำเข้ารหัสวัคซีน ดีทีพีตับอักเสบบีฮิบ