พิมพ์
หมวด: แฟ้มสะสม
ฮิต: 858

CARD

card

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

/*CARD*/

/*ดู Mapping สิทธิ การรักษา มาตรฐานส่งออก */

SELECT

    IF(t.pttype IS NULL,'ไม่ได้map',t.pttype)AS pttype,

    t.`name`,

    t.isuse,

    t.nhso_code,

    p1.`code` AS 'instype',

    p1.pttype_std_code,

    p1.`name` AS 'provis_instype',

    t.pcode

FROM

    pttype AS t

RIGHT JOIN provis_instype AS p1 ON p1.`code` = t.nhso_code

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

ตัวอย่าง

pttype name isuse nhso_code instype pttype_std_code provis_instype pcode
95 บุคคลในครอบครัวทหารผ่านศึกชั้น 4 รวมถึงผู้ได้รับพระราชทานเหรียญสมรภูมิ Y 95 95 100 บุคคลในครอบครัวทหารผ่านศึกชั้น 4 รวมถึงผู้ได้รับพระราชทานเหรียญสมรภูมิ AE
96 ทหารพราน N 96 96 100 ทหารพราน UB
97 บุคคลในครอบครัวทหารของกรมสวัสดิการ 3 เหล่าทัพ N 94 94 100 ทหารผ่นศึกชั้น 4 ที่มีบัตรทหารผ่านศึก รวมถึงผู้ได้รับพระราชทาน UB
98 บุคคลในครอบครัวทหารผ่านศึกนอกประจำการบัตรชั้นที่ 1 Y 98 98 100 บุคคลในครอบครัวทหารผ่านศึกนอกประจำการบัตรชั้นที่ 1 AE
99 บุคคลที่มีปัญหาสถานะและสิทธิ Y 72 72 100 ผู้มีรายได้น้อย AB
ไม่ได้map 37 8408 บุคคลที่มีสิทธิต่างด้าว ที่มีสิทธิ์อื่นๆ
ไม่ได้map 79 8100 ว่างงาน
ไม่ได้map 97 100 บุคคลในครอบครัวทหารของกรมสวัสดิการ 3 เหล่าทัพ

วิธีการ mapping รหัสสิทธิ (pttype.Nhso_code)

pttype

/*ค้นหา ผู้ที่ ไม่ได้บันทึก สิทธิ pttype ว่าง*/

SELECT

person.cid,person.pname,

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

person.nationality,person.house_regist_type_id,person.pttype

FROM

person

WHERE

nationality = '99'

AND house_regist_type_id IN ('1', '3')

AND pttype = ''

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

ตัวอย่าง

cid pname person_name nationality house_regist_type_id pttype
8888888888888 นาย จงรักษ์ xxx 99 1
8888888888888 นาย นคร xxx 99 1
8888888888888 นาง สาลี่ xxx 99 1
8888888888888 น.ส. พาขวัญ xxx 99 1


/*ค้นหารหัสสิทธิ 00 ที่ไม่มีในมาตรฐาน*/

SELECT

p.cid,p.pname,concat(p.fname,space(1),p.lname)as 'person_name',p.house_regist_type_id as 'type_area',p.pttype,pit.`name`,pit.pttype_std_code

from person as p

left JOIN pttype as t on t.pttype = p.pttype

LEFT OUTER JOIN provis_instype as pit on pit.`code` = t.nhso_code

WHERE

pit.pttype_std_code is null

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

ตัวอย่าง

cid pname person_name type_area pttype pttype_std_code
8888888888888 นาย สมัย xxx 4
8888888888888 น.ส. พาขวัญ xxx 1
8888888888888 นาย สุรศักดิ์ xxx 1
8888888888888 นาง อลิศรา xxx 1

/*service error provis_instype

-- สิทธิ รักษาไม่่ตรงมาตรฐาน

*/

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

SELECT o.vstdate,o.vn,

p.pname,

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

p.pttype ,pit.pttype_std_code,t.name

FROM

ovst AS o

INNER JOIN patient AS p ON p.hn = o.hn

inner JOIN pttype AS t ON t.pttype = o.pttype

LEFT OUTER JOIN provis_instype AS pit ON pit.`code` = t.nhso_code

WHERE o.vstdate between @date1 and @date2

and pit.pttype_std_code IS NULL

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

vstdate vn pname person_name pttype pttype_std_code name
1 ตุลาคม 2559 591001215027 นาย สิทธิศักดิ์ xxx 1 สิทธิประกันสังคม(ยมราช)
1 ตุลาคม 2559 591001090239 น.ส. ฐิติพร xxx 0 ชำระเงินเอง
1 ตุลาคม 2559 591001214228 นาง สมพร xxx 0 ชำระเงินเอง
1 ตุลาคม 2559 591001194127 นาย สวัสดิ์ xxx 77 ชำระเงินเอง
1 ตุลาคม 2559 591001213041 นาย นคร xxx 0 ชำระเงินเอง