สารบัญ

/*ห้ามใช้รหัส  T31.0-T31.9

ซึ่งเป็นรหัสบอกเปอร์เซ็นต์การเกิดแผลไหม้เป็นรหัสโรคหลัก*/

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

SELECT

  o.vstdate,

  pt.pname,

  CONCAT(PT.fname, SPACE(1), PT.lname) AS 'PATIENT_NAME',

  o.icd10,

  I.name AS 'diag_name',

  o.diagtype

  

FROM

  ovstdiag o

  INNER JOIN patient pt

    ON pt.hn = o.hn

  INNER JOIN ICD101 AS I

    ON I.code = O.icd10

WHERE o.icd10 BETWEEN 'T310'

  AND 'T319'

  AND O.diagtype = '1'

  AND vstdate BETWEEN @date1

  AND @date2

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

ต้วอย่าง

vstdate pname PATIENT_NAME icd10 diag_name diagtype
25/8/2016 นาง พัชรา xxx T310 Burns involving less than 10% of body surface 1
20/7/2016 นาง อัมพา xxx T311 Burns involving 10-19% of body surface 1

/* การให้รหัส  V00-Y34  ต้องให้รหัสรวม 5  ตัวอักษรเสมอ*/

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

SELECT

  V.vstdate,

  pt.pname,

  CONCAT(PT.fname, SPACE(1), PT.lname) AS 'PATIENT_NAME',

  V.pdx,i.name AS 'Diag',

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

FROM

  vn_stat AS V

  INNER JOIN ICD101 AS I ON I.code = v.pdx

  INNER JOIN patient AS pt ON pt.hn = v.hn

WHERE LEFT(V.pdx,1) BETWEEN 'V00' AND 'Y349'

  AND (LENGTH(V.dx0) < 5

  OR LENGTH(V.dx1) < 5

  OR LENGTH(V.dx2) < 5

  OR LENGTH(V.dx3) < 5

  OR LENGTH(V.dx4) < 5

  OR LENGTH(V.dx5) < 5)

AND V.vstdate BETWEEN @date1 AND @date2

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

ตัวอย่าง

/* รหัส  ICD  ที่เป็นรหัสแสดงความด้อยคุณภาพของสถานพยาบาล*/

/*J06.9, D22.9, L02.9, L03.9, T07, T14.0-T14.9, Z34.9*/

SET @date1 ='2013-10-01',@date2 ='2013-10-01';

SELECT o.vstdate,pt.pname,

CONCAT(pt.fname,SPACE(1),pt.lname)AS patient_name,o.icd10,

(SELECT NAME FROM icd101 WHERE `code` = o.icd10 )AS 'diag_name',

o.diagtype

FROM ovstdiag  o

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

WHERE

o.icd10 IN ('T140','T141','T142'

,'T1420','T1421','T143','T144'

,'T145','T146','T147','T148','T149'

,'J069','D229','L029','L039','T07','Z349')

AND vstdate BETWEEN @date1 AND @date2;

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

ตัวอย่าง

vstdate pname patient_name icd10 diag_name diagtype
1/10/2013 นาย สมนึก xxx T140 Superficial injury of unspecified body region 2
1/10/2013 นาง เกษร xxx L029 Cutaneous abscess, furuncle and carbuncle, unspecified 1
1/10/2013 นาง เล็ก xxx L039 Cellulitis, unspecified 1
1/10/2013 นาย สวัสดิ์ xxx J069 Acute upper respiratory incfection, unspecified 2

/*CLINIC  แผนกที่รับบริการ */

SET     @x = 0 ,

        @date1 ='2014-10-01',

        @date2 ='2015-09-01';

SELECT @x :=@x+1 AS NO, ovst.vstdate,patient.pname,

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

ovst.spclty,

spclty.name

FROM ovst

INNER JOIN spclty ON spclty.spclty = ovst.spclty

INNER JOIN patient ON patient.hn = ovst.hn

WHERE  ovst.vstdate BETWEEN  @date1 AND @date2 ;

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

ตัวอย่าง

NO vstdate pname patient_name spclty name
1 29/10/2014 นาย สำเภา xxx 1 อายุรกรรม
2 18/5/2015 น.ส. วรรณิสา xxx 2 ศัลยกรรม
3 1/12/2014 น.ส. ทัศนะ xxx 1 อายุรกรรม
4 24/6/2015 ด.ช. ศุภโชค xxx 5 กุมารเวชกรรม