พิมพ์
หมวด: ระบบอื่นๆ
ฮิต: 3363

รายงานแผนไทย(สุพรรณบุรี)

รายงาน จากกรม

thaimed

แพทย์แผนไทย

การตั้งค่ามาตรฐานระบบงานแพทย์แผนไทย

เข้าสู่เมนู การตั้งค่า (Tools system setting)

thaimed setting

บริการที่เปิด
เลือกบริการที่เปิดให้บริการในสถานบริการ ควรเลือกให้ครอบคลุมบริการที่ให้

ประเภทของบริการที่เปิด
1 การรักษาด้วยยาสมุนไพร
2 การนวดเพื่อรักษา/ฟื้นฟูสภาพ
3 การอบไอน้ำสมุนไพรเพื่อรักษา/ฟื้นฟูสภาพ
4 การประคบสมุนไพรเพื่อรักษา/ฟื้นฟูสภาพ
5 การให้คำแนะนำการสอน สาธิต ด้านการแพทย์แผนไทย
6 การฝึกสมาธิบำบัด
7 การนวดเพื่อส่งเสริมสุขภาพ
8 การอบไอน้ำสมุนไพรเพื่อส่งเสริมสุขภาพ
9 การประคบสมุนไพรเพื่อส่งเสริมสุขภาพ
10 การฝึกกายบริหารด้วยท่าฤๅษีดัดตน
11 อื่นๆ

Set PROVIDER หรือผู้ให้บริการ
จะปรากฏในเมนูผู้ให้บริการในหน้าจอ บันทึกหัตถการแผนไทย
ส่วนผู้วินิจฉัยก็เช่นกัน

tm provider

Set PROVIDER หรือผู้ให้บริการส่งออก ๕๐ แฟ้ม  ต้อง set ในหน้าจอ Tools systemsetting

แพทย์ / พยาบาล


ben provider


Set ยาสมุนไพร
สมุนไพรที่ Mapping เรียบร้อยพร้อมใช้ ตรงรหัสค่าบริการ ต้องไม่ว่าง และต้องนำเข้าในรายการยาแผนปัจจุบัน

การนำรายชื่อสมุนไพรเข้ารายการยาแผนปัจจุบัน

tm meditem

ที่สำคัญมากคือ ในตาราง Drugitem ต้องใส่รหัส income ให้ค่า

๐๓  ค่ายาในบัญชียาหลักแห่งชาติ      
๑๗  ค่ายานอกบัญชียาหลักแห่งชาติ

/*ตรวจสอบ ยา ไม่มีค่าใช้จ่าย*/

select * from drugitems

where istatus <>'N'

and (income not in ('03','17')

or income is null)

ตัวอย่าง

name income istatus did
ชาชงสมุนไพรดอกคำฝอย[10 ซอง/pack] Y
Ampicillin INJ Y 100145000002620000000000
มะแว้ง ชนิดอม Y 420000005349103000000000
ขมิ้นชันแคปซูล Y 410000000109135000000000
ฟ้าทะลายโจรเม็ด Y 410000000479135000000000
NSS น้ำเกลือล้างแผล Y 100942000000780000000000

/*สมุนไพรที่ยังไม่ Mapping 24 หลัก */

SELECT

thd.icode,

thd.health_med_medication_name,

d.`name`,

d.strength,

d.istatus,

d.did

from health_med_medication as thd

right JOIN drugitems as d on d.icode =thd.icode

where thd.icode is null and left(d.did,1)='4'

and d.istatus <>'N'

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

ตัวอย่าง

icode health_med_medication_name name strength istatus did
null null หญ้าดอกขาวชาชง 2 g. Y '410000000610000034111256'
null null ยาแก้ไอมะขามป้อม 60 ml. Y '420000001549506094782748'
null null ฟ้าทะลายโจร 350 mg. Y '410000000479135020182755'
null null ธรณีสัณฑฆาต แคปซูล 400 mg. Y '420000002869140020111295'
null null ประสะไพล แคปซูล 400 mg. Y '420000003959135020111295'
null null มะระขี้นก แคปซูล 350 mg. Y '410000000519135020111295'

วิธีการตามภาพ

mapping drug

Set หัตถการ
       หัตถการใดพร้อมใช้สังเกต เมื่อเรียงคอลัมน์ จะเห็นว่าช่องค่าบริการ จะไม่ว่างเปล่า
ค่าบริการก็ต้องผ่านการ Mapping รหัส มาตรฐาน

tm procedu


Set ค่าบริการของหัตถการ โดยเลือก รหัส ๑๕ ค่าบริการฝังเข็ม และค่าบริการการให้การบำบัดของผู้ประกอบโรคศิลปะอื่น

income name
1 ค่าห้องและค่าอาหาร
2 ค่าอวัยวะเทียมและอุปกรณ์ในการบำบัดรักษาโรค
3 ค่ายาในบัญชียาหลักแห่งชาติ
4 ค่ายากลับบ้าน
5 ค่าเวชภัณฑ์ที่มิใช่ยา
6 ค่าบริการโลหิตและส่วนประกอบของโลหิต
7 ค่าตรวจวินิจฉัยทางเทคนิคการแพทย์และพยาธิวิทยา
8 ค่าตรวจวินิจฉัยและรักษาทางรังสีวิทยา
9 ค่าตรวจวินิจฉัยโดยวิธีพิเศษอื่นๆ
10 ค่าอุปกรณ์ของใช้และเครื่องมือทางการแพทย์
11 ค่าทำหัตถการ และวิสัญญี
12 ค่าบริการทางแพทย์
13 ค่าบริการทางทันตกรรม
14 ค่าบริการทางกายภาพบำบัดและทางเวชกรรมฟื้นฟู
15 ค่าบริการฝังเข็ม และค่าบริการการให้การบำบัดของผู้ประกอบโรคศิลปะอื่น
16 ค่าบริการอื่น ๆ ที่ไม่เกี่ยวกับการรักษาพยาบาลโดยตรง
17 ค่ายานอกบัญชียาหลักแห่งชาติ

tm hpm

บัญชีเลขรหัสสามหลักแรกของรหัสหัตถการ แสดงตำแหน่งอวัยวะซึ่งแพทย์ได้ทำหัตถการนั้นปะอื่น
100 ศีรษะ 721 ไหล่ บ่า
154 ใบหน้า 722 ต้นแขน
185 จมูก 724 แขน
233 ปาก 725 ข้อมือ
235 ลิ้น 726 มือ
236 เหงือก 871 สะโพก เอว
302 เต้านม 872 ต้นขา
306 รักแร้ 873 หัวเข่า
400 หน้าท้อง 874 ขา
402 สะดือ 875 ข้อเท้า
411 ขาหนีบ 876 เท้า
455 ทวารหนัก 880 ขาทั้งหมด(รวมเทและนิ้วเท้า)
527 อวัยวะสืบพันธุ์หญิง 900 ทั่วร่างกาย
590 หลัง 999 ไม่ระบุตำแหน่ง


ตรวจสอบ กรณี บันทึกหัตถการแผนไทย ไม่่สามารถส่งออกได้

ตรวจสอบ ว่าระบบมีรายการหัตถการแผนไทย ยังไม่ครบ

( health_med_operation_itemในหน้าจอ systemsetting หัตถการแผนไทย)

health_med_operation_item_code ให้ใช้ เลข 2 หลักท้าย จาก

health_med_operation_code.icd10tm จึงจะถูกต้อง

เช่น icd10tm  = 1007701

health_med_operation_item_code ต้อง = 01

/*ตรวจสอบ กรณี บันทึกหัตถการแผนไทย ไม่่สามารถส่งออกได้*/

SELECT i,v,icd10tm,o.health_med_operation_item_code
,o.health_med_operation_item_name
FROM

(SELECT

SUBSTR(icd10tm FROM 6 FOR 2) AS i ,health_med_operation_code.name AS 'v'

FROM

health_med_operation_code

WHERE NAME LIKE '%ทั่วร่างกาย%'

GROUP BY

SUBSTR(icd10tm FROM 6 FOR 2))AS c

LEFT JOIN health_med_operation_item AS o ON o.health_med_operation_item_code =c.i;

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

i v icd10tm health_med_operation_item_code health_med_operation_item_name
09 การบริบาลหญิงตั้งครรภ์ ไม่ระบุวิธีที่ทั่วร่างกาย 1007709 09 การบริบาลหญิงตั้งครรภ์ ไม่ระบุวิธี - 09
10 การบริบาลหญิงหลังคลอดด้วยการใช้ยาสมุนไพรที่ทั่วร่างกาย 1007710 10 การบริบาลหญิงหลังคลอดด้วยการใช้ยาสมุนไพร - 10
11 การนวดด้วยวิธีการแพทย์แผนไทยแบบราชสำนักที่ทั่วร่างกาย 4007711 11 การบริบาลหญิงหลังคลอดด้วยการรัดหน้าท้อง - 11
12 การบริบาลหญิงหลังคลอดด้วยการทับหม้อเกลือที่ทั่วร่างกาย 9007712 12 การบริบาลหญิงหลังคลอดด้วยการทับหม้อเกลือ - 12
13 การบริบาลหญิงหลังคลอดด้วยการนวดที่ทั่วร่างกาย ไม่มีรหัสให้update 13 การบริบาลหญิงหลังคลอดด้วยการนวด - 13
14 การบริบาลหญิงหลังคลอดด้วยการประคบสมุนไพรที่ทั่วร่างกาย ไม่มีรหัสให้update 14 การบริบาลหญิงหลังคลอดด้วยการประคบสมุนไพร - 14

itemcode


/*การส่งเสริมสุขภาพและการป้องกันโรคด้วยการนวด*/

SELECT

*

FROM

health_med_operation_code

WHERE

`name` LIKE '%นวด%'

AND SUBSTR(CODE, 5, 2) = 79

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

/*หัตถการ เรียงตามประเภทกิจกรรม*/

SELECT

c.code,c.name

, SUBSTR(c.icd10tm, 1, 3)as 'อวัยวะ'

,SUBSTR(c.icd10tm, 4, 2)as'ประเภท'

, SUBSTR(c.icd10tm, 6, 2)as 'กิจกรรม'

FROM

health_med_operation_code c

ORDER BY SUBSTR(c.icd10tm, 4, 2)

, SUBSTR(c.icd10tm, 6, 2)

,SUBSTR(c.icd10tm, 1, 3)

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

ตัวอย่าง

code name อวัยวะ ประเภท กิจกรรม
900-77-01 การบริบาลหญิงตั้งครรภ์ด้วยการประคบที่ทั่วร่างกาย 900 77 01
999-77-01 การบริบาลหญิงตั้งครรภ์ด้วยการประคบที่ไม่ระบุตำแหน่ง 999 77 01
100-77-08 การบริบาลหญิงตั้งครรภ์ด้วยวิธีอื่นที่ศีรษะ 100 77 08
154-77-08 การบริบาลหญิงตั้งครรภ์ด้วยวิธีอื่นที่ใบหน้า 154 77 08
185-77-08 การบริบาลหญิงตั้งครรภ์ด้วยวิธีอื่น ที่จมูก 185 77 08


/*การบริการการแพทย์แผนไทยแม่หลังคลอด*/

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

select f.service_date,

TIMESTAMPDIFF(day,pa.labor_date,f.service_date)
as
"หลังคลอดไม่เกิน 45 วัน",

(select timestampdiff(day,min(x.service_date),f.service_date)

from health_med_service x

where x.hn =f.hn)as 'ห่างจากครั้งแรกไม่เกิน 90 วัน',

p.pname,

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

e.icd10tm ,

e.`name`,

concat_ws("-",d.health_med_organ_code,b.health_med_operation_type_code,c.health_med_operation_item_code) as gencode

from health_med_service_operation a

left outer join   health_med_operation_type b on a.health_med_operation_type_id=b.health_med_operation_type_id

left outer join   health_med_operation_item c on a.health_med_operation_item_id=c.health_med_operation_item_id

left outer join   health_med_organ d on a.health_med_organ_id=d.health_med_organ_id

left outer join   health_med_operation_code e on e.code = concat_ws("-",d.health_med_organ_code,b.health_med_operation_type_code,c.health_med_operation_item_code)

left outer join health_med_service f on f.health_med_service_id = a.health_med_service_id

left JOIN person as p on p.patient_hn = f.hn

LEFT JOIN person_anc as pa on pa.person_id = p.person_id

where f.service_date BETWEEN @date1 and @date2

and e.icd10tm in('9007712','9007713','9007714','9007715','9007716','9007730')

and TIMESTAMPDIFF(day,pa.labor_date,f.service_date)<=45   /*หลังคลอดไม่เกิน 45 วัน*/

#group by p.cid /*ถ้านับคนให้เอาเครื่องหมาย # ข้างหน้าออกใส่ตรง group by f.service_date แทน */

group by f.service_date

ORDER BY f.service_date

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

ตัวอย่าง

service_date หลังคลอดไม่เกิน 45 วัน ห่างจากครั้งแรกไม่เกิน 90 วัน pname mother_name icd10tm name
1/3/2017 38 0 น.ส. ตรีรัก xxx 9007712 การบริบาลหญิงหลังคลอดด้วยการทับหม้อเกลือที่ทั่วร่างกาย
2/3/2017 39 1 น.ส. ตรีรัก xxx 9007713 การบริบาลหญิงหลังคลอดด้วยการนวดที่ทั่วร่างกาย
3/3/2017 40 2 น.ส. ตรีรัก xxx 9007713 การบริบาลหญิงหลังคลอดด้วยการนวดที่ทั่วร่างกาย


/*การจ่ายยาสมุนไพร นับ service */

set @row= 0;

set @date1='2016-10-01',@date2='2016-10-31';

select @row:=@row+1 as "NO.",o.vstdate ,p.pname ,concat(p.fname,space(1),p.lname)as 'person_name' ,d.`name`,d.strength

from opitemrece as o

inner join drugitems as d on d.icode = o.icode

LEFT JOIN person as p on p.patient_hn = o.hn

where

substring(d.did,1,2)in('41','42')

and o.vstdate between @date1 and @date2

ORDER BY o.vstdate,o.vn

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

ตัวอย่าง

NO. vstdate pname person_name name strength
106 6/10/2016 นาง มาลี xxx
มะขามแขกแคปซูล 450 mg.
107 6/10/2016 นาง ประคอง xxx มะขามแขกแคปซูล 450 mg.
108 6/10/2016 นาง เย็น xxx ยาน้ำแก้ไอมะขามป้อม 200 ml.
109 6/10/2016 นาย นิตย์ xxx ขมิ้นชันแคปซูล 500 mg.
110 6/10/2016 นาย สุมล xxx ยาน้ำแก้ไอมะขามป้อม 200 ml.


/*เพิ่ม รหัส คลินิก แผนไทย ในหน้า one stop service*/

INSERT IGNORE INTO spclty (spclty, NAME, depcode, ovstostlink, spname, shortname, ill_visit, spclty_guid, no_service_charge, no_service_charge_doctor, oldcode, nhso_code, operation, provis_code, hos_guid) VALUES ('14', 'แพทย์แผนไทย', NULL, '14', 'OPD', NULL, 'N', '{B4C67052-F61D-11DE-BFF4-00215E472B30}', NULL, NULL, NULL, '12', NULL, '01400', NULL);

UPDATE spclty SET provis_code ='01400'

WHERE spclty. NAME LIKE '%ไทย%';

select * from spclty;

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

clinicthai

/*thaimed serviceตอนเช้าคีย์ข้อมูลตอนเย็น "service_date"       "service_time""vstdate""vsttime"

"2017-01-04" "18:25:43"   "2017-01-04" "12:38:53" พอส่งออก seq ไม่เท่ากัน

*/

SET @date1 := '2017-03-01' ,@date2 := '2017-03-01';

/*เปลี่ยนวันเอาเอง*/

SELECT

o.vstdate AS 'service_date',

o.vsttime AS 'service_time',

s.service_date AS 'Thaimed_sdate',

s.service_time AS 'Thaimed_stime',

p.pname,

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

t. NAME as 'สิทธิ'

FROM

health_med_service AS s

INNER JOIN ovst AS o ON o.hn = s.hn

AND o.vn = s.vn

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

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

WHERE

s.service_date BETWEEN @date1

AND @date2

AND (s.service_date <> o.vstdate

OR s.service_time <> o.vsttime

)

ORDER BY s.vn

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

ตัวอย่าง

service_date service_time Thaimed_sdate Thaimed_stime pname pt_name สิทธิ
1/3/2017 6:01:03 1/3/2017 14:35:19 นาง ดาวัลย์ xxx สิทธิข้าราชการ(จ่ายตรง)
1/3/2017 6:01:04 1/3/2017 14:31:13 ร.ต.ต. สำเริง xxx สิทธิข้าราชการ(จ่ายตรง)
1/3/2017 6:01:05 1/3/2017 14:14:27 นาย บุญชู xxx สิทธิข้าราชการ(จ่ายตรง)
1/3/2017 6:01:06 1/3/2017 13:37:59 แม่ชี บรรจง xxx ผู้มีอายุเกิน 60 ปีบริบูรณ์
1/3/2017 6:01:07 1/3/2017 14:50:19 นาย นพ xxx สิทธิข้าราชการ(จ่ายตรง)

stime


กรณีต้องการคีย์ข้อมูลกิจกรรมการส่งเสริมสุขภาพและการป้องกันโรคแผนไทย หน่วยงานใดยังไม่มีรหัส Diagnosis หรือ การวินิจฉัยขึ้นต้นด้วย U77

code description
U77 การส่งเสริมสุขภาพและการป้องกันโรค
U770 การบริบาลหญิงตั้งครรภ์ปกติ
U771 การบริบาลฟื้นฟูสภาพในหญิงหลังคลอดปกติ
U772 การบริบาลทารกปกติ
U773 การดูแลบุคคลกลุ่มอื่นๆปกติ
U778 การส่งเสริมสุขภาพและการป้องกันโรค ที่ระบุรายละเอียด
U779 การส่งเสริมสุขภาพและการป้องกันโรค ไม่ระบุรายละเอียด

จำเป้นต้องเพิ่ม ใน 3 ตาราง icd101,icd10_nhso,icd10_health_med อนึ่ง หากมีรหัสอยู่แล้วก็สามารถ RUN คำสั่งได้เพราะจะเพิ่มเฉพาะที่ยังไม่มี หากมีแล้วจะผ่านไป

โดยคงของเก่าไว้

คำสั่งใข้ในการเพิ่ม รหัสโรค ดังกล่าวใน ระบบ

แต่สำหรับรายงานใน HDC จำเป็นต้องใช้ เฉพาะ  U77  การส่งเสริมสุขภาพและการป้องกันโรค เท่านั้น  จะเห็นว่าหากจะให้ผลงานขึ้นด้วยก็ต้องมี U77 หากเลือกตัวอื่น เช่น U773 + U77

ตรวจสอบได้ด้วยคำสั่ง 3 คำสั่งนี้

/*ตรวจสอบ รหัส U77 ในตาราง icd101 */

SELECT *

FROM icd101

WHERE CODE LIKE 'u77%';

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

/*ตรวจสอบ รหัส U77 ในตาราง icd10_nhso */

SELECT *

FROM icd10_nhso

WHERE CODE LIKE 'u77%';

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

/*ตรวจสอบ รหัส U77 ในตาราง icd10_health_med */

SELECT *

FROM icd10_health_med

WHERE icd10 LIKE 'u77%';

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

นอกจาก  Diagnosis หรือ การวินิจฉัยขึ้นต้นด้วย U77 แล้ว ยังต้อง ประกอบด้วยการคีย์หัตถการ นับบริการแผนไทย และ นับบริการทางเลือก ใน visit เดียวกันนี้ด้วย

/*บริการแผนไทย*/

SELECT p.code,p.name,p.icd10tm

FROM health_med_operation_code p

where p.icd10tm in ('9007900','9007901','9007902' ,'9007904')

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

code name icd10tm
900-79-00 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการนวดตัวเพื่อสุขภาพ ที่ทั่วร่างกาย 9007900
900-79-01 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการอบไอน้ำสมุนไพรเพื่อสุขภาพ ที่ทั่วร่างกาย 9007901
900-79-02 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการบริหารร่างกายด้วยท่าฤๅษีดัดตน ที่ทั่วร่างกาย 9007902
900-79-04 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการรับประทานอาหารสุขภาพที่ทั่วร่างกาย 9007904

/*บริการทางเลือก*/

SELECT p.code,p.name,p.icd10tm

FROM health_med_operation_code p

where p.icd10tm in ('9007998','9007999','9007903')

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

code name icd10tm
900-79-03 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการนั่งสมาธิ ที่ทั่วร่างกาย 9007903
900-79-98 การส่งเสริมสุขภาพและการป้องกันโรคด้วยวิธีอื่นที่ทั่วร่างกาย 9007998
900-79-99 การส่งเสริมสุขภาพและการป้องกันโรค ไม่ระบุวิธีที่ทั่วร่างกาย 9007999

นับข้อมูล เชื่อมโยงแฟ้มประชากร(person) หมายถึง แฟ้ม person complete รวมถีง แฟ้ม Home กรณี Type area 1,2  และ แฟ้ม  Address กรณี Type area 3,4 โดยต้องบันทึกที่อยู่นอกเขต

u77

ภาพจากคู่มือ ของศูนย์เทคโนโลยีสารสนเทศและการสื่อสาร กระทรวงสาธารณสุข

/*กิจกรรมการส่งเสริมสุขภาพและการป้องกันโรคแผนไทย*/

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

SELECT f.service_date,p.pname,concat(p.fname,space(1),p.lname)as 'person_name',e.icd10tm,e.name,r.icd10

FROM health_med_service_operation a

LEFT OUTER JOIN   health_med_operation_type b ON a.health_med_operation_type_id=b.health_med_operation_type_id

LEFT OUTER JOIN   health_med_operation_item c ON a.health_med_operation_item_id=c.health_med_operation_item_id

LEFT OUTER JOIN   health_med_organ d ON a.health_med_organ_id=d.health_med_organ_id

LEFT OUTER JOIN   health_med_operation_code e ON e.code = CONCAT_WS("-",d.health_med_organ_code,b.health_med_operation_type_code,c.health_med_operation_item_code)

LEFT OUTER JOIN health_med_service f ON f.health_med_service_id = a.health_med_service_id

INNER JOIN health_med_service_diagnosis r ON r.health_med_service_id = f.health_med_service_id

LEFT JOIN person AS p ON p.patient_hn = f.hn

WHERE f.service_date BETWEEN @date1 AND @date2

AND r.icd10 = 'u77'

AND e.icd10tm IN ('9007998','9007999','9007903','9007900','9007901','9007902' ,'9007904')

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

ตัวอย่าง

service_date pname person_name icd10tm name icd10
3/10/2016 นาง ประทีป xxx 9007903 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการนั่งสมาธิ ที่ทั่วร่างกาย U77
3/10/2016 นาง มัจฉา xxx 9007902 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการบริหารร่างกายด้วยท่าฤๅษีดัดตน ที่ทั่วร่างกาย U77
3/10/2016 นาง สมศรี xxx 9007902 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการบริหารร่างกายด้วยท่าฤๅษีดัดตน ที่ทั่วร่างกาย U77
3/10/2016 น.ส. จินตนา xxx 9007902 การส่งเสริมสุขภาพและการป้องกันโรคด้วยการบริหารร่างกายด้วยท่าฤๅษีดัดตน ที่ทั่วร่างกาย U77

web report แผนไทย

web planthai

update health_med_operation_code (หัตถการแผนไทย) 2561