สารบัญ

/*ห้ามใช้รหัส V,W,X,Y เป็นรหัสโรคหลัก*/

set @date1 = '2015-05-01',@date2 = '2015-10-01';

SELECT

o.vstdate,

pt.pname,

concat(pt.fname,space(1),pt.lname) as 'patient_name',

o.vsttime,

o.icd10,

o.diagtype

FROM

ovstdiag o

INNER JOIN patient pt ON pt.hn = o.hn

WHERE LEFT (o.icd10, 1) IN ('V', 'W', 'X', 'Y')

AND o.diagtype = '1'

AND vstdate between @date1 and @date2

ตัวอย่าง

vstdate pname patient_name vsttime icd10 diagtype
2015-06-06 ด.ช. ณรงค์เดช xxx 10:37:06 V0211 1
2015-08-20 นาย บุญราช xxx 21:54:01 X5813 1
2015-06-03 นาย สมศักดิ์ xxx 10:41:24 X2099 1
2015-05-08 น.ส. ปัทมา xxx 18:35:40 W5499

1

/*การให้รหัส  S และ  T ในผู้ป่วยรายใด ต้องให้รหัสสาเหตุภายนอกร่วมด้วยเสมอ */

/*V,W,X,Y ร่วมด้วยอย่างน้อยหนึ่งรหัสเสมอ*/

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

SELECT

V.vstdate ,p.pname,concat(p.fname,space(1),p.lname)as 'patient_name',V.pdx,V.dx0,V.dx1,V.dx2,V.dx3,V.dx4,V.dx5

FROM

vn_stat AS V

INNER JOIN patient p  on p.hn = v.hn

WHERE

SUBSTR(V.pdx,1,1) IN('S','T')

AND SUBSTR(V.dx0,1,1)NOT IN('V','W','X','Y')

AND SUBSTR(V.dx1,1,1)NOT IN ('V','W','X','Y')

AND SUBSTR(V.dx2,1,1)NOT IN('V','W','X','Y')

AND SUBSTR(V.dx3,1,1)NOT IN('V','W','X','Y')

AND SUBSTR(V.dx4,1,1)NOT IN('V','W','X','Y')

AND SUBSTR(V.dx5,1,1)NOT IN('V','W','X','Y')

and vstdate BETWEEN @date1 and @date2

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

คัวอย่าง

vstdate pname patient_name pdx dx0 dx1 dx2 dx3 dx4 dx5
1/10/2014 นาง พยุง xxx S4301
1/10/2014 น.ส. รวงทอง xxx S059 H609 Z027
1/10/2014 นาย จตุรงค์ xxx S7219
1/10/2014 น.ส. บุญมา xxx T143
1/10/2014 นาย สมพร xxx S711

/*การให้รหัส  O80.0-O84.9 เป็นโรคหลัก ต้องไม่มีรหัส 
Oตัวอื่นร่วมอยู่ในการ รักษาครั้งนี้*/

set @date1 = '2013-10-01',@date2 = '2014-10-01';

SELECT

    V.vstdate,p.pname,

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

    V.pdx,V.dx0,V.dx1,V.dx2,V.dx3,V.dx4,V.dx5

FROM

    vn_stat AS V

INNER JOIN patient p  on p.hn = v.hn

WHERE

    SUBSTR(V.pdx, 1, 1) BETWEEN 'O800'

AND 'O849'

AND SUBSTR(V.dx0, 1, 1) = 'O'

AND SUBSTR(V.dx1, 1, 1) = 'O'

AND SUBSTR(V.dx2, 1, 1) = 'O'

AND SUBSTR(V.dx3, 1, 1) = 'O'

AND SUBSTR(V.dx4, 1, 1) = 'O'

AND SUBSTR(V.dx5, 1, 1) = 'O'

AND V.vstdate between @date1 and @date2

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

ตัวอย่าง