Monday, January 4, 2016

รวมน้ำใจสร้างอาคารโรงพยาบาลจักราช.com

เชิญชวนชื้อเสื้อเป็นที่ระลึก

โรงพยาบาลจักราช เชิญชวนชื้อเสื้อยืด เสื้อโบโล สมทบทุนสร้างอาคารผู้ป่วย 2 ชั้น
   เสื้อมี 2 แบบ คือ เสื้อโปโล ชาย/หญิง และเสื้อยืด ปักโลโก มีความหมาย ....... โดยจำหน่ายเสือโปโลในราคา 249 บาท เสื้อยืด 199 บาท นากจากท่านจะได้อิมบุญแล้ว ยังได้เสื้อเป็นทีระลึกในการสร้างอาคารผู้ป่วย
   ติดต่อสอบถามได้ที่ โทร.044-399641-2 ต่อ 171 โทร 095-9198860 (มือถือ) ฝ่ายทันตสาธารณสุข







Wednesday, November 25, 2015

คู่มือการใช้งาน Web Application ศูนย์สุขภาพชุมชนตำบลจักราช Admited Monitor ระบบเฝ้าระวังข้อมูลการนอนโรงพยาบาล


คู่มือการใช้งาน Web Application
ศูนย์สุขภาพชุมชนตำบลจักราช
ระบบงาน Admited Monitor
ระบบเฝ้าระวังข้อมูลการนอนโรงพยาบาล
URL: www.ckrcup.org/pcu
Download คู่มือ https://goo.gl/8A21Pn
Web Develops: นายประเสริฐศักดิ์ ขอห้องกลาง พยาบาลวิชาชีพ ปฏิบัติการ
Project Manager: นายธีระวุฒิ อยู่หลง จพ.สาธารณสุข

คู่มือการใช้งาน Web Application Chakkarat Health Data Center (CHDC) ระบบงาน คลินิกไร้พุง (DPAC)


คู่มือการใช้งาน Web Application
Chakkarat Health Data Center (CHDC)
ระบบงาน คลินิกไร้พุง (DPAC)
URL: www.ckrcup.org/chdc
Download คู่มือ https://goo.gl/ujLvrk

Sunday, September 21, 2014

FYI ก่อนเริ่มปีงบ 2558 มาเช็ค person ที่มีทะเบียนและอาศัยอยู่ มากกว่า 1 ทีกัน

ก่อนอื่นมาเรียนรู้คำว่า FYI แรกผมก็งง แต่ตอนนี้เข้าใจแหละก็คือ for your information 

เริ่มต้นคือ อยากรู้ว่า ข้อมูลประชากร ที่อยู่ในฐานข้อมูลเรา ไปซ้ำกับข้อมูลคนอื่นบ้างหรือป่าว ง่ายๆๆ แบบว่า ก็เอามารวมกัน ตาราง person แต่ละรพ.สต. รวมถึง รพ.ด้วย โดบผมเติม ฟิว Hoscode เข้าไป 
ผมไม่เอาหมู่ 0 มาเพราะกว่าจะเยอะไป 
ได้ 79000 คน หารลงตัวด้วย  ใส่ hoscode ไว้ท้ายสุด จะได้รู้ว่า person ขอใคร

พอนำเข้าฐานข้อมูลเสร็จ ก็ RUN SQL  หาใน Google มา 2 วันแหละ ก็จะได้ ข้อมูลตามภาพ

SQL

SELECT cid,birthdate,age_y,COUNT(cid) as cc,
MAX(IF(hoscode = 10875, hoscode, NULL)) h10875,
MAX(IF(hoscode = 02600, hoscode, NULL)) h02600,
MAX(IF(hoscode = 02601, hoscode, NULL)) h02601,
MAX(IF(hoscode = 02602, hoscode, NULL)) h02602,
MAX(IF(hoscode = 02603, hoscode, NULL)) h02603,
MAX(IF(hoscode = 02604, hoscode, NULL)) h02604,
MAX(IF(hoscode = 02605, hoscode, NULL)) h02605,
MAX(IF(hoscode = 02606, hoscode, NULL)) h02606, 
MAX(IF(hoscode = 02607, hoscode, NULL)) h02607
from person
WHERE house_regist_type_id = "1"
GROUP BY cid
HAVING cc > 1


ต่อไปก็นำ SQL ไปให้ Yii ทำงาน 

กำหนดสิทธิ การเข้าใช้งาน
จบ
-----------------------------------------------
เหมาะสำหรับการจัดการข้อมูลเริ่มต้นปีงบประมาณ  ครับ เป้าจะได้ไม่เยอะ ไม่หลอกกัน ^_____^
ราตรีสวัส
#keepper

Monday, July 21, 2014

กรณีศึกษา Spam mail Window XP + NOD32 หมดอายุ/คปสอ.จักราช

 จากการ monitor Firewall  วันที่ 21 ก.ค. 2557 เพราะประสบปัญหา firewall ค้างหลายครั้ง พบว่า
มีการใช้งานรับ-ส่งข้อมูล Session IP x.x.x.17 5.2K


ตรวจสอบข้อมูลว่าข้อมูลถูกส่งไปไหน น่าจะเป็น Server Yahoo ที่ USA


 เมื่อตรวจสอบ Application พบว่า เป็นประเภท email

จากการ Remote ผ่าน Team view พบว่า โปรแกรม NOD 32 หมดอายุ ทำการอัพเดท ระบบก็สามารถตรวจจับผู้ร้ายได้มา 3 วัน จบข่าวครับ
a variant of Win32/SpamTool.Agent.NFO trojan
a variant of Win32/Kryptik.VLZ trojan
Win32/Oderoor.A trojan

สรุป:
1. หน่วยงานยังใช้ระบบ ปฏิบัติการ Window XP ซึ่งทาง MS ไม่ได้สนับสนุนเรื่องความปลอดภัยแล้ว
2. โปรแกรมไว้รัส ไม่อัพเดท ทำให้ไม่สามารถ ตรวจจับ ไวรัสได้
3.  เสนอแนะให้มีการอัพเดทโปรแกรมให้เป็นปัจจุบันครับ

@keepper

Tuesday, July 8, 2014

เก็บ รหัสตำบล ไว้ก่อนกันลืม ^_______^

02600 รพ.สต.หนองบัวตะแบง tmbpart = "03" and amppart = "06" and chwpart = "30"
02601 รพ.สต.สีสุก tmbpart = "04" and amppart = "06" and chwpart = "30"
02602 รพ.สต.หนองขาม tmbpart = "05" and amppart = "06" and chwpart = "30"
02603 รพ.สต.บ้านบุ tmbpart = "07" and amppart = "06" and chwpart = "30" and moopart in (1,2,3,6,7,8,10,12,14,15,16)
02604 รพ.สต.โคกพระ tmbpart = "07" and amppart = "06" and chwpart = "30" and moopart in (4,5,9,11,13)
02605 รพ.สต.ละกอ  tmbpart = "10" and amppart = "06" and chwpart = "30"
02606 รพ.สต.คลองเมือง tmbpart = "11" and amppart = "06" and chwpart = "30"

02607 รพ.สต.หินโคน tmbpart = "13" and amppart = "06" and chwpart = "30"

Thursday, May 1, 2014

ทดสอบคำสั่ง update table แบบ Multi row record ใน MySql

ยกตัวอย่าง ผมต้องการเอาข้อมูล HN จากตารางที่ 2 มาใส่ในตารางที่ 1 โดยผมเชื่อมด้วย vn
ตอนแรกผมเชื่อมกับตาราง vn_stat โดยตรงซึ่งข้อมูล ใหญ่มาก     ผมเลยสร้างตารางขึ้นมาใหม่ l_clinic_hn ซึ่งเก็บข้อมูล vn and hn ไว้

[SQL] UPDATE clinicmember_cormobidity_screen t1 ,(SELECT * from l_clinic_hn) as t2
SET t1.hn=t2.hn
WHERE t1.vn = t2.vn

Affected rows: 214
Time: 3.777ms

OK  ผ่านครับ
เรียนรู้มาจากเว็บนี้ครับ http://www.ict.buu.ac.th/Blog/Lists/Posts/Post.aspx?ID=1009

Thursday, April 10, 2014

ข้อมูล Service บัญชี 3 หาย /น้องจะโอ

วันนี้รับแจ้งจากน้องที่ทำงาน บอกว่าข้อมูลการให้บริการวันซีนหายไป Key กันอยู่เมื่อวาน วันนี้หายไปเฉยเลย
เอาแล้วไง ยืนยัน 2 เสี่ยงว่า Key ไปเมื่อวานนี้
จากการตรวจสอบข้อมูล จากฐานข้อมูล พบว่าหน้าบัญชี 3 หายไปจริง เอาแล้วไง งานเข้าของจริง

OK ครับกลับมาตั้งสติ อีกครั้ง
สิ่งที่คิดคำถามอยู่ในใจคือ

1. มีอาการลบข้อมูล ออกจากบัญชีใช่ป่าว
2. ไม่รู้อ่ะ คงเกิดขึ้นเองมั้งไฟฟ้าตก ฐานข้อมูลเลยหายไป 5555+



มาดูเฉลยดีกว่า พบว่า ข้อมูล มีการลงทะเบียนซ้ำ 2 ชื่อ จาก person_id
อันบนข้อมูลไม่สมบูรณ์ และยังไม่มีข้อมูล Service ด้วย
ผมได้ทำการลบข้อมูล อันแรกออก

ผล คือ  คืือ ...... ข้อมูลบัญชี 3 ก็ กลับมาแสดงผล ตามเดิมครับ

จบ ครับ
keepper

Thursday, March 27, 2014

กลุ่มเป้าหมายคัดกรองต้อกระจก ผู้สูงอายุ 60 ปีขึ้นไป /น้องจะโอ

SELECT p.person_id,p.cid,p.patient_hn,CONCAT(p.pname,p.fname,"  ",p.lname) as ptname,p.age_y,h.address,v.village_moo,
v.village_name,p.house_id,CONCAT(pp.pname,pp.fname,"  ",pp.lname,"(",m.village_organization_mid,")") as SSM from person p  
LEFT OUTER JOIN village v on v.village_id=p.village_id
LEFT OUTER JOIN house h on h.house_id=p.house_id    
LEFT OUTER JOIN village_organization_member_service s on s.house_id=p.house_id  
LEFT OUTER JOIN village_organization_member m on m.village_organization_mid=s.village_organization_mid    
LEFT OUTER JOIN person pp on pp.person_id=m.person_id  
WHERE p.age_y BETWEEN "60" and "110" and p.person_discharge_id = "9" and p.house_regist_type_id in ("1","3")
and p.village_id <> "1"  
ORDER BY v.village_id,m.village_organization_mid

KPI หากลุ่มเป้าหมายที่จะมาคัดกรอง ดึงจากตาราง Person และดึงชื่อ อสม.ที่รับผิดชอบ ออกมาด้วยเพื่อความสะดวกในการจัดเตรียม กลุ่มเป้าหมายเข้ารับการคัดกรอง ในหมู่บ้าน

Wednesday, March 19, 2014

คลินิคไตเรื้อรัง ค้นหาผู้ป่วยที่ admit pdx N184 and N185 /พี่ไก่

ก่อนอื่นให้หา "N184" and "N185" ขึ้นมาก่อน

SELECT * from an_stat
WHERE pdx BETWEEN "N184" and "N185" and regdate BETWEEN "2009-10-01" and "2010-09-30"

บอกด้วยเงื่อนไขมีภาวะแทรกซ้อน ซีด K สูง และมีภาวะ น้ำเกิน

SELECT * from an_stat
WHERE pdx BETWEEN "N184" and "N185" and regdate BETWEEN "2012-10-01" and "2013-09-30"
and hn in (SELECT hn from an_stat WHERE dx0 BETWEEN "D460" and "D649" or dx0 in ("E875","E877")
or dx1 BETWEEN "D460" and "D649" or dx2 BETWEEN "D460" and "D649" or dx3 BETWEEN "D460" and "D649" or
dx4 BETWEEN "D460" and "D649" or dx5 BETWEEN "D460" and "D649" AND regdate BETWEEN "2011-10-01" and "2012-09-30" )
and hn in (SELECT hn from an_stat WHERE dx0 = "E875" or dx1 = "E875" or dx2 = "E875" or dx3 = "E875" or dx4 = "E875" or dx5 = "E875"
AND regdate BETWEEN "2011-10-01" and "2012-09-30" )
and hn in (SELECT hn from an_stat WHERE dx0 = "E877" or dx1 = "E877" or
dx2 = "E877" or dx3 = "E877" or dx4 = "E877" or dx5 = "E877"
and regdate BETWEEN "2011-10-01" and "2012-09-30" )

By keepper

คำสั้่งเดิม 0 ให้ครบหลัก hn hosxp กรณีพิมพ์จาก Excell

คำสั้่งเดิม 0 ให้ครบหลัก hn hosxp

select lpad(hn,7,'0000') as hn2 from  l_clinic_eye_hn


Friday, August 23, 2013

ลบข้อมูล clinic ANC ที่ไม่อยู่ในเงื่อนไข โรคเรื้อรัง



บันทึก ลบข้อมูล  clinic ANC ที่ไม่อยู่ในเงื่อนไข โรคเรื้อรัง
สำรอง Clinicmember.cds
คำสั่ง ลบ
delete from clinicmember
where clinic = "004"
2493  record

หายวับ.... ไปกับตา ^______^
By prasertsak Keepper

Wednesday, August 21, 2013

ชุดคำสั่ง Bat file เปลี่ยนเลข IP

กับประเด็นเน็ทหลัก และเน็ทสำรอง กรณีที่ Net หลังมีปัญหา แล้วต้องการใช่ Net สำรอง หลังจากทำ Load balance แล้ว ไม่ work

รพ.มี Net 2 ค่าย  คือ CAT  และ TOT   ให้ CAT เป็นหลัก และ TOT เป็นพระรองไป เอิ๊กๆๆ

ทบทวนข้อมูล ชุดคำสั่งในการเขียน bat file มีดังนี้
เปิด notepad พิมพ์ netsh interface ip set address local static 192.168.0.10 255.255.255.0 192.168.0.254 1netsh interface ip set dns local static 192.168.0.254 primary
เสร็จแล้วบันทึก เป็นชื่อ อะไรก็ได้ แต่ต้องนามสกุล .BATเสร้จแล้ว ก็ ดับเบิ้ลคลิกเวลาเรียกใช้งาน สะดวกดี 

 ข้อมูลจาก http://itsasuk.in.th/forums/index.php?topic=168.0

เสร็จแล้วได้ ชุด Bat file 2 ชุด  วิธีใช้ก็แค่คลิก ครับ

By Prasertsak Keepper

Tuesday, August 20, 2013

คำสั่ง Update SQL สถานะบ้านให้อยู่เขต อบต.

UPDATE house SET location_area_id =  "1"
WHERE village_id in ("17","18","19","20","21","22")

คำสั่งสั้นๆ  location_area_id  1 เขตเทศบาล  2 เขตอบต.
โดยให้เงื่อนไข ตามชุมชนที่เราเพิ่มเข้าไป

By Prasertsak Keepper

Monday, August 19, 2013

Review ระบบวัคซีนแห่งชาติ NHSO By keepper


จากข้อมูลว่า เด็กคนนี้เคยรับวัคซีนอะไรมาบ้าง สมุดสีชมพูก็หาย จมน้ำ ไฟใหม้.... อาจเป็นจริงก็ได้ น่าจะมีระบบวัคซีนแห่งชาติ....

แต่วันนี้ได้นั่นอ่าน Group Facebook HOSxP  มีคนมาแชร์เรื่องการเช็คข้อมูลผ่านเว็บ สปสช. เลยมานั้ง Review กันครับ

1. เริ่มจากเช็คสิทธิปกติครับ ทำการ login ด้วยรหัสสถานบริการที่ขึ้นทะเบียนกับ สปสช. จะมีเมนูประวัติการเข้ารับวัคซีน

2. ข้อมูลวัคซีน


3. ประวิติการรับวัคซีน

ลองทดสอบกันน่ะครับ
Test By Mr.Prasertsak Keepper

ปล. หญิงตั้งครรภ์ ก็มีน่ะครับ ^________^

Sunday, June 30, 2013

หน่วยบริการ คบสอ.จักราช ที่ยังไม่ดำเนินการของ Username ในระบบ OP/PP Individual Data สปสช.เขต 9 นครราชสีมา/01-07-2556

ระบบบริหารจัดการ Username ในระบบ OP/PP Individual Data สำนักงานหลักประกันสุขภาพแห่งชาติ เขต 9 นครราชสีมา œ

01 /07/2556  หน่วยบริการในเครือข่ายบริการสุขภาพ ยังไม่ดำเนินการของ Username  ดั่งรายต่อไปนี้

สามารถสมัครตาม Link ข้างล่างนี้ได้เลยครับ
มีคนบอกผมว่าเป็นคน "ย้ำคิดย้ำทำ"
ไหนๆ ก็ได้รับคำชมเชยแล้ว
อีกครั้งคงไม่เป็นไรนะครับ
--
- การบริหารจัดการ Username ในระบบ OP/PP Individual Data
http://korat.nhso.go.th/ora/dc/
- สมัคร
http://korat.nhso.go.th/ora/groupmail/
- หน่วยงานที่ยังไม่มี username
http://korat.nhso.go.th/ora/dc/list_0.php

Monday, June 24, 2013

รหัส ICD10 ที่ใช้บ่อย เอามากแจกต่อ /Chaichana A Traisilanan



สำหรับหลายที่ ที่ต้องลงรหัสวินิจฉัยโรค เป็นรหัส ICD10  วันนี้จากการอบรมการใช้งาน HOSxP ที่โรงพยาบาลจักราช คุณ Chaichana A Traisilanan ได้แจกไว้ใน FB Group Data center  เพื่อใครๆ ไม่ได้เข้าเลยโหลดเข้า Drop Box ไว้  โหลดใช้กันตามสบายน่ะครับ

>>> ดาวโหลด <<<

#keepper

CUSTOM- รายงานจำนวนผู้ป่วยที่มารับการรักษาที่ห้องฉุกเฉินแล้ว Admit – By keepper/ตั๊ก ER

ด้วยงานฉุกเฉิน รพ.จักราช ต้องการทราบว่า ผู้ป่วยที่มารับบริการห้องฉุกเฉิน แล้วได้รับการ Admit เข้าไปเป็นผู้ป่วยในจำนวนเท่าไร  โดยแบ่งตามรายงาน และระดับความรุนแรง  

ได้ SQL หลัก  ดังนี้ 


GetDateRangeDialog(d1, d2);
       ds1 :=  FormatThaiDate('YYYY-MM-DD', d1);
       ds2 :=  FormatThaiDate('YYYY-MM-DD', d2);
    ChangeReportSQL('select y.`name`,COUNT(v.hn) as cc,e.er_pt_type from er_regist   e '+
                      'left outer join ovst v on v.vn= e.vn    '+
                      'LEFT OUTER JOIN  er_pt_type y on y.er_pt_type=e.er_pt_type   '+
                      'where e.vstdate BETWEEN "'+ds1+'" and "'+ds2+'"   and v.an <> ""  '+
                      'GROUP BY y.`name`     '+
                      'ORDER BY y.`name`');

รูปแบบรายงาน บันทัดรวม เขียนใน Summary

ดาวโหลด รายงาน  >>> ดาวโหลด <<<
#keepper

Wednesday, June 12, 2013

รายงานตามคำขอ ผู้มารับบริการที่ ER คลินิค COPD และ Asthma /พี่อ็อด


ตัวอย่างรายงานผู้มารับบริการที่ ER คลินิค COPD และ Asthma /พี่อ็อด
SQL Code

begin

      GetDateRangeDialog(d1, d2);
       ds1 :=  FormatThaiDate('YYYY-MM-DD', d1);
       ds2 :=  FormatThaiDate('YYYY-MM-DD', d2);
    ChangeReportSQL('select e.vstdate,e.enter_er_time,e.vn,o.hn,CONCAT(p.pname,p.fname,"  ",p.lname) as ptname,o.icd10,i.`name` as ICD,d.`name`,t.name as erd from er_regist e    '+
                      'left outer join ovstdiag o on o.vn=e.vn   '+
                      'LEFT OUTER JOIN doctor d on d.`code`=e.er_doctor '+
                      'LEFT OUTER JOIN patient p on p.hn=o.hn  '+
                      'LEFT OUTER JOIN icd101 i on i.`code`=o.icd10   '+
                      'LEFT OUTER JOIN er_dch_type t on t.er_dch_type=e.er_dch_type   '+
                      'where e.vstdate between "'+ds1+'" and "'+ds2+'" and i.`name` LIKE "%chronic obstructive pulmonary disease%"   '+
                      'GROUP BY e.vn');


end;
ตารางหลัก er_regist  เก็บข้อมูลคนไข้ที่มาลงทะเบียนรับบริการที่ ห้องฉุกเฉิน
ตารางอื่นๆ ovstdiag  เชื่อมเพื่อดึง ข้อมูลการวินิจฉัย
doctor  ชื่อแพทย์
 patient ข้อมูลผู้รับบริการ
icd101 ข้อมูลชื่อโรค
er_dch_type  สถานะการจำหน่าย

เงื่อนไข
กำหนดเงื่อนไข ช่วงเวลาที่มารับบริการ และชื่อโรค

จบ 
@keepper

ดาวโหลดตัวอย่างรายงาน  >>> คลิก <<<
QR

Monday, June 10, 2013

SQL นับจำนวน ผู้รับบริการ WBC และ EPI Clinic /พี่น้ำ

ภาพประกอบจาก Internet
     เมื่อเราต้องการทราบว่า มีเด็กมารับบริการ ฉีดวัคซีนไปแล้วกี่คน ในระยะเวลาที่กำหนด แต่ติดปัญหาอยู่ตรงว่า HOSxP มีการเก็บข้อมูลอยู่ 2 ตาราง คือ  person_wbc_service  เก็บการมารับบริการ 0-1 ปี  person_epi_vaccine เก็บการมารับบริการ 1-6 ปี  แต่ยังมีการเชื่อด้วย VN 555+ ค่อยยังดีหน่อย เลยเขียน SQL แบบ Sup Query ได้ดังนี้ เสนอแนะอย่างไรแสเงความคิดเห็นได้เต็มที่น่ะครับ

Code SQL

SELECT COUNT(DISTINCT v.hn) from vn_stat v
LEFT OUTER JOIN person p on p.patient_hn=v.hn
WHERE v.age_m in ("9","10","11","12")and v.vstdate BETWEEN "2012-10-01" and "2013-09-30" and p.village_id = "1"
and (v.vn in (SELECT w.vn from person_wbc_service w WHERE w.service_date BETWEEN "2012-10-01" and "2013-09-30" ) 
or v.vn in (SELECT e.vn FROM person_epi_vaccine  e WHERE e.vaccine_date BETWEEN "2012-10-01" and "2013-09-30")) 

Keepper 
 

Sample Text

111

Sample Text