PRENATAL

prenatalf

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

/*PRENATAL Hct ไม่่่่มีข้อมูล*/

SET @date1 ='2015-10-01';

Set @x = 0;

SELECT @x :=@x+1 as no,

CONCAT(p.`fname`,SPACE(1),p.`lname`)AS mother ,p.nationality, ga , pre_labor_service1_date , pre_labor_service2_date ,

pre_labor_service3_date , pre_labor_service4_date , first_doctor_date , blood_hct_result

FROM

person_anc

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

WHERE p.nationality ='99'

and pre_labor_service1_date >=@date1

AND blood_hct_result =''

AND discharge<>'y'

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

ตัอย่าง

no mother nationality ga pre_labor_service1_date pre_labor_service2_date pre_labor_service3_date pre_labor_service4_date first_doctor_date blood_hct_result
1 TIN TIN(ตินติน) xxx 99 null 6/10/2015 20/10/2015 null null null
2 ทิพวรรณ xxx 99 null 12/1/2016 19/1/2016 19/4/2016 31/5/2016 null
3 จุฑาทิพย์ xxx 99 null 8/3/2016 3/5/2016 12/7/2016 23/8/2016 31/5/2016
4 สะกาวเดือน xxx 99 null 8/3/2016 19/4/2016 14/6/2016 26/7/2016 14/6/2016
5 นุชนภา xxx 99 null 26/4/2016 28/6/2016 19/9/2016 8/11/2016 8/11/2016

prenatalhct


 

/*GA อายุครรภ์ ผิดปกติ*/

set @x = 0;

SELECT

@x:=@x+1 as'no',

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

a.anc_register_date,timestampdiff(week,a.lmp,a.labor_date)as'Ga อายุครรภ์ ',a.labor_date,a.preg_no as 'gravida ครรภ์ที่'

FROM

person_anc AS a

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

where

timestampdiff(week,a.lmp,a.labor_date) not between 1 and 45

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

ตัวอย่าง

no pname mother_name anc_register_date Ga อายุครรภ์ labor_date gravida ครรภ์ที่
1 น.ส. สุพรรษา xxx 17/7/2012 -64 24/7/2010 2
2 น.ส. ภัททสิริ xxx 31/5/2011 -68 4/11/2009 1
3 น.ส. กรรณิการ์ xxx 17/8/2010 -86 5/1/2011 2
4 น.ส. สุภาภรณ์ xxx 21/2/2012 -95 9/10/2009 2
5 นาง วิภาวรรณ xxx 28/9/2010 48 28/1/2011 2

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

set @x = 0;

SELECT

@x:=@x+1 as'no.',

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

a.anc_register_date,

a.lmp,

a.discharge

FROM

person_anc AS a

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

WHERE

lmp IS NULL OR lmp >= a.anc_register_date

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

ตัวอย่าง

no. pname mother_name anc_register_date lmp discharge
1 น.ส. นงนุช xxx 8/12/2009 26/6/2010 Y
2 น.ส. มินตรา xxx 26/1/2010 18/3/2010 Y
3 น.ส. กรรณิการ์ xxx 17/8/2010 4/9/2012 Y
4 น.ส. นันทิดา xxx 15/11/2011 5/12/2012 Y
5 น.ส. กฤตยา xxx 15/5/2012 15/9/2012 Y

CHRONIC

chronicf

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

ลงทะเบียนผูป่วยโรคเรื้อรัง

chronicexp

/*DATE_DIAG วันที่ตรวจพบครั้งแรก*/

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

set @clinic = '002';/*โรคเบาหวาน 001 โรคความดัน 002 */

/*เปลี่ยน '2009-10-01'และ'2017-09-30' ตามที่ต้องการ*/

SELECT

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

c.clinic,c.regdate,c.discharge,c.icd10,c.begin_year

FROM

person_chronic AS c

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

WHERE

c.icd10 <> ""

AND c.icd10 IS NOT NULL

AND c.discharge <> 'Y'

AND regdate BETWEEN @date1 AND @date2

and c.clinic =@clinic

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

ตัวอย่าง

pname person_name clinic regdate discharge icd10 begin_year
นาง ประทุม XXX 002 18/06/2555 N I13 null
นาง แพ้ง XXX 002 29/06/2555 N I13 null
นาง ปณิดา XXX 002 29/06/2555 N I13 null

/*CHRONIC รหัสโรค ICD - 10 (โรคเรื้อรัง) ผิดปกติ */

SELECT

p.pname,

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

c.clinic,l.NAME,c.discharge,c.icd10

FROM

person_chronic AS c

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

INNER JOIN clinic l ON l.clinic = c.clinic

WHERE

c.icd10 IS NULL

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

ตัวอย่าง

pname person_name clinic NAME discharge icd10
นาง ทองดำ xxx 2 โรคความดัน (HT) I10-I15 null null
น.ส. อัจฉรา xxx 2 โรคความดัน (HT) I10-I15 null null
นาง ปุย xxx 1 โรคเบาหวาน (DM) E10-E14 null null
น.ส. รวิพร xxx 1 โรคเบาหวาน (DM) E10-E14 null null
นาย วิสิฐ xxx 1 โรคเบาหวาน (DM) E10-E14 null null

คนของเรา ที่ รพ.ลงทะเบียนแล้ว ยังไม่ได้ลงทะเบียน (นำเข้าตาราง person_chronic )

ตำแหน่งที่ง่ายคือ บัญชี 1 ด้านล่าง

person chronic

/*chronic member no register */

select

l.hn,l.clinic,s.name,concat(p.fname,space(1),p.lname)as 'person', p.person_id,p.house_regist_type_id as 'type_area'

from

clinicmember as l

inner join person as p on p.patient_hn = l.hn

inner join clinic s on s.clinic = l.clinic

where p.person_id not in (

select c.person_id from person_chronic as c

where c.person_id = p.person_id

and c.clinic =l.clinic

)

and p.death <>'y'

and p.house_regist_type_id in('1','3')

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

ตัวอย่าง

hn clinic name person person_id type_area
60 1 โรคเบาหวาน (DM) E10-E14 สมศักดิ์ xxx 292 1
3656 1 โรคเบาหวาน (DM) E10-E14 โสภณ xxx 9511 1
4669 1 โรคเบาหวาน (DM) E10-E14 สุระชัย xxx 5038 1
5699 1 โรคเบาหวาน (DM) E10-E14 จำลอง xxx 4625 1
7371 1 โรคเบาหวาน (DM) E10-E14 อมร xxx 3462 1

provider

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

providerf

update provider_type  2561

/*update provider_type 2561*/

drop table provider_type;

CREATE TABLE `provider_type` (

`provider_type_code` varchar(3) NOT NULL DEFAULT '',

`provider_type_name` varchar(200) NOT NULL,

`hos_guid` char(38) DEFAULT NULL,

`hos_guid_ext` varchar(64) DEFAULT NULL,

PRIMARY KEY (`provider_type_code`),

UNIQUE KEY `ix_provider_type_name` (`provider_type_name`),

KEY `ix_hos_guid` (`hos_guid`),

KEY `ix_hos_guid_ext` (`hos_guid_ext`)

) ENGINE=InnoDB DEFAULT CHARSET=tis620;

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('10', 'ผู้ดูแลผู้ป่วยที่บ้าน', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('11', 'เภสัชกร', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('01', 'แพทย์', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('02', 'ทันตแพทย์', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('03', 'พยาบาลวิชาชีพ(ที่ทำหน้าที่ตรวจรักษา)', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('04', 'เจ้าพนักงานสาธารณสุขชุมชน', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('05', 'นักวิชาการสาธารณสุข', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('06', 'เจ้าพนักงานทันตสาธารณสุข', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('07', 'อสม.(ผู้ให้บริการชุมชน)', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('08', 'บุคลากรแพทย์แผนไทย แพทย์พื้นบ้าน แพทย์ทางเลือก (ที่มีวุฒิการศึกษาหรือผ่านการอบรมตามเกณฑ์)', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('081', 'แพทย์แผนไทย/แพทย์แผนไทยประยุกต์ : (ที่มีใบประกอบวิชาชีพฯ)', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('082', 'หมอพื้นบ้าน (ที่มีใบประกอบวิชาชีพฯ หรือได้รับการรับรองตามระเบียบการแพทย์แผนไทยฯ)', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('083', 'แพทย์แผนจีน (ที่มีใบประกอบวิชาชีพฯ)', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('084', 'ผู้ช่วยแพทย์แผนไทย (ที่ผ่านการอบรมตามเกณฑ์)', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('085', 'บุคลากรแพทย์แผนไทย แพทย์พื้นบ้าน แพทย์แผนจีน แพทย์ทางเลือก (ที่มีวุฒิการศึกษาหรือผ่านการอบรมตามเกณฑ์)', NULL, NULL);

INSERT ignore INTO  provider_type ( provider_type_code ,  provider_type_name ,  hos_guid ,  hos_guid_ext ) VALUES ('09', 'อื่นๆ', NULL, NULL);

SELECT * from provider_type;

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

/*กรณี ประเภทความพิการ ไม่ครบตาม สนย.กำหนด*/

TRUNCATE person_deformed_type;

DROP table person_deformed_type;

CREATE TABLE `person_deformed_type` (

`person_deformed_type_id` INT(11) NOT NULL,

`person_deformed_type_name` VARCHAR(150) NOT NULL,

`hos_guid` VARCHAR(38) DEFAULT NULL,

PRIMARY KEY (`person_deformed_type_id`),

UNIQUE KEY `ix_person_deformed_type_name` (`person_deformed_type_name`),

KEY `ix_hos_guid` (`hos_guid`)

) ENGINE=INNODB DEFAULT CHARSET=tis620;

INSERT INTO `person_deformed_type` (`person_deformed_type_id`, `person_deformed_type_name`, `hos_guid`) VALUES (1, '1.ความพิการทางการเห็น', NULL);

INSERT INTO `person_deformed_type` (`person_deformed_type_id`, `person_deformed_type_name`, `hos_guid`) VALUES (2, '2.ความพิการทางการได้ยินหรือสื่อความหมาย', NULL);

INSERT INTO `person_deformed_type` (`person_deformed_type_id`, `person_deformed_type_name`, `hos_guid`) VALUES (3, '3.ความพิการทางการเคลื่อนไหวหรือทางร่างกาย', NULL);

INSERT INTO `person_deformed_type` (`person_deformed_type_id`, `person_deformed_type_name`, `hos_guid`) VALUES (4, '4.ความพิการทางจิตใจหรือพฤติกรรม', NULL);

INSERT INTO `person_deformed_type` (`person_deformed_type_id`, `person_deformed_type_name`, `hos_guid`) VALUES (5, '5.ความพิการทางสติปัญญา', NULL);

INSERT INTO `person_deformed_type` (`person_deformed_type_id`, `person_deformed_type_name`, `hos_guid`) VALUES (6, '6.ความพิการการเรียนรู้', NULL);

INSERT INTO `person_deformed_type` (`person_deformed_type_id`, `person_deformed_type_name`, `hos_guid`) VALUES (7, '7.ความพิการทางออทิสติก', NULL);

SELECT * FROM person_deformed_type ;

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