Monday, February 11, 2013

Tip รายการนัดผู้ป่วยในคลินิค DM & HT

แบบร่างข้อมูลคร่าวก่อนลงมือปฏิบัติจริง  

เมื่อเราได้แบบร่างข้อมูลในหัวแล้ว
อันดับแรกเลือกตารางที่จำเป็นต้องใช้  ผมเลือก vn_stat  เพราะมันเก็บข้อมูลการมารับบริการ  patient เพราะจะดึงรายชื่อผู้รับบริการ clinicmember เพื่อใส่เงื่อนไขในการดึงข้อมูล

คำสัง SQL Clinic HT "003"
SELECT CONCAT(p.pname,p.fname,"  ",p.lname) as ptname,v.vstdate,v.hn,v.pdx,c.clinic from vn_stat v
LEFT OUTER JOIN clinicmember c on c.hn=v.hn
LEFT OUTER JOIN patient p on p.hn=v.hn
LEFT OUTER JOIN person pp on pp.patient_hn=v.hn
WHERE v.vstdate BETWEEN "2013-02-01" and "2013-02-11" and c.clinic in ("003") and v.hn not in (SELECT hn FROM clinicmember WHERE clinic = "001") and pp.village_id <> "1" and c.clinic_member_status_id in ("1","2")
GROUP BY v.hn
ORDER BY v.vstdate

อธิบายเงื่อนไข
 - เลือกผู้ป่วยในช่วงวันที่   v.vstdate BETWEEN "2013-02-01" and "2013-02-11" 
 - เลือกผู้ป่วยที่อยู่ใน Clinic 003 อย่างเดียว 001 ไม่เอา   c.clinic in ("003") and v.hn not in (SELECT hn FROM clinicmember
 - ผู้ป่วยต้องอยู่ในเขต  pp.village_id <> "1"
 - และสถานะต้องติดตามการรักษา  c.clinic_member_status_id in ("1","2")

คำสั่ง SQL Clinic DM "001"
SELECT CONCAT(p.pname,p.fname,"  ",p.lname) as ptname,v.vstdate,v.hn,v.pdx,c.clinic from vn_stat v
LEFT OUTER JOIN clinicmember c on c.hn=v.hn
LEFT OUTER JOIN patient p on p.hn=v.hn
LEFT OUTER JOIN person pp on pp.patient_hn=v.hn
WHERE v.vstdate BETWEEN "2013-02-01" and "2013-02-08" and c.clinic = "001" and pp.village_id <> "1" and c.clinic_member_status_id in ("1","2")
GROUP BY v.hn
ORDER BY v.vstdate


ส่งข้อมูลออก Excell แล้วก็จัดการตามใจชอบ ^___^
#keepper

บรรยากาศการอบรมการดูแลระบบ ครั้งที่ 3/2556

ภาพบนไทม์ไลน์อบรมadmin ระบบinternet point to point cupจักราช


สายตาไม่ค่อยดี ต้องพึ่งน้องๆ ล่ะมั้งพี่โก้ 

คิดย้ำหัว Link เขาดีจริงๆๆ


ติดภาพกับเขาด้วย... ช่วยน้องตัดสาย Lan

มือใหม่ หัดเข้าสาย Lan กับหัว RJ45

ติดตามประเมินผลการสอน แบบตัวต่อตัว

สายตาไม่ค่อยดี ต้องก็ต้องหวังพึ่งน้องๆ ^^

Admin รพ.สต. ต้องรู้ทุกเรื่องในการจัดการระบบ IT มีเรียนปูพื้นฐานกันใหม่ ตั้งแต่ ป.6 เลย
หลักการส่งกระแส และแลกเปลี่ยนอิเล็คตรอน

กำลังเข้มเรื่องการเข้าหัว RJ45

พี่โก้ เข้มครับเหมาคนเดียว 3 สาย ....

บรรยากาศแบบเป็นกันเอง ^____^

Sunday, February 10, 2013

อบรมครั้งที่ 3 /2556

11 ก.พ. 2555  ห้องประชุม

บทที่ 1 การเข้าสาย RJ45
การเลือกสาย
- สาย UTP Cat 5 ราคา 2000 - 3000 ต่อกล่อง
- ขนาดมาตรฐาน 0.5 sm
- มาตรฐานสาย 568B
- การพันเกรียวต้องแน่นมาก
 - การโค้งของสายไม่น้อยกว่า 8 Cms Link หัว RJ 45

มาตรฐาน POE
สาย 7,8  น้ำตาลขาว ,น้ำตาล

การเข้าสาย
1. การปลอกสาย 1 1/2 นิ้ว
2. รีดสายให้ตรง
3. ตัดห่าง 1.5 cms

ข้อควรระวัง 
1. การเรียงสีมาตรฐาน 568B
2. ห้ามปล่อยมือขณะรีดสาย


ตอนที่ 2 การ Config wireless

รู้จักระบบ
TP link สามารถ scan ได้ว่าใครใช้อะไร

1. IP
    เชื่อมระบบ Lan  รู้ IP อุปกรณ์ จากข้างกล่อง  
    - เชื่อมผ่าน web
2. LAN

     30.6.x.x
     1-10  server

3. WAN
     wireless n
    - กระจกรบกวน การส่งสัญญาณมากกว่ากำแพง
4. Chanal
    - การรบกวนสัญาณ ของช่องสัญญาณชนกัน
    - ย่านความถี่  2.4 GHz  ต้องห่างกัน 5 ช่องสัญญาณ
    - ช่องสัญญาณ 1 - 11 มาตรฐานฝั่ง ยูโรป
    - 1-13 ญี่ปุ่น
    - มุมของอากาศ  
       1 เสา
       2 เสา ตรงกลางอัพสัญญาณ
    -  จาน ดูมุมในการติด
    - กำลังส่ง Db   กำลัง W

5. password การเข้ารหัส
    - mode
        WEP  64/128 bit  ต่ำสุด
        WPA  ก่อนปี 2008 ใช้ได้อยู่
            TKIP   เข้ารหัส 3DES  64*3
            AES   ปี 2006  เข้ารหัส 128,192,256 bit
            TKIP+AES
        PWA-PSK  64 bit
        WPA2  เครื่องต่ำกว่า 2008 จะเข้าไม่ได้

WDM  คือ ระบบเชื่อมต่อทางอากาศ
ข้อควรทำ  ไม่เกิน 3 ตัว
ข้อเสีย กินความสามารถของอุปกรณ์
       






น้ำใจ ทำให้โลกนี้น่าอยู่ขึ้นเยอะเลย ^___^


Monday, February 4, 2013

แนะนำโปรแกรมที่ใช้ประกอบการเขียนรายงาน

1. BMS report builder    เป็นโปรแกรมที่แถมมาพร้อมการติดตั้งโปรแกรม HOSxP และ HOSxP_PCU ใช้สำหรับออกแบบรายงาน




2. Hosxp Query  เป็นโปรแกรมที่อยู่ใน HOSxP และ HOSxP_PCU ใช้สำหรับเขียนคำสั่ง SQL เพื่อดึงข้อมูลจากฐานข้อมูล



3. Navicat MySQL  เป็นโปรแกรมบริหารจัดการฐานข้อมูล MySQL ที่แนะนำสำหรับมือใหม่ควรศึกษา เพราะโปรแกรมจะมีชุดคำสั่งมาให้ ทำให้เราไม่ต้องจำคำสั่ง SQL ทั้งหมด และตัวโปรแกรมเองตรวจสอบ Error ของการเขียนคำสั่งได้ง่าย ไปหาโหลดมาใช้งานนะครับ โปรแกรมมีค่าใช้จ่าย ลองหาใน google ดู



เล่าเรื่องการใช้เงื่อนไขรหัส ICD10 ที่ใช้ดึงกลุ่มเป้าหมายตามต้องการ

เล่าเรื่องการใช้เงื่อนไขรหัส ICD10 ที่ใช้ดึงกลุ่มเป้าหมายตามต้องการ

1. เบาหวาน                    icd10 like ("E11%")
2. ความดันโลหิตสูง      icd10 LIKE ("i10%")
3. ไตวาย                       icd10   BETWEEN "N180" and "N189"
4. CVA                         icd10   BETWEEN "I60" and "I69"
5. โรคหัวใจ                   icd10 in ("I05","I050","I051","I052","I058","I059","I06","I060","I061","I062","I068","I069","I07","I070","I071","I072","I078","I079","I08","I080","I081","I082","I083",
              '"I088","I089","I09","I090","I091","I092","I098","I099","I20","I200","I201","I208","I209","I21","I210","I211","I212","I213","I214","I219","I22","I220","I221","I228",          
              '"I229","I23","I230","I231","I232","I233","I234","I235","I236","I238","I24","I240","I241","I248","I249","I25","I250","I251","I252","I253","I254","I255","I256",                  
              '"I258","I259","I30","I300","I301","I308","I309","I31","I310","I311","I312","I313","I318","I319","I32","I320","I321","I328","I33","I330","I339","I34","I340","I341",              
              '"I342","I348","I349","I35","I350","I351","I352","I358","I359","I36","I360","I361","I362","I368","I369","I37","I370","I371","I372","I378","I379","I38","I39","I390",                
              '"I391","I392","I393","I394","I398","I40","I400","I401","I408","I409","I41","I410","I411","I412","I418","I42","I420","I421","I422","I423","I424","I425","I426","I427",                
              '"I428","I429","I43","I430","I431","I432","I438","I44","I440","I441","I442","I443","I444","I445","I446","I447","I45","I450","I451","I452","I453","I454","I455","I456",                  
              '"I458","I459","I46","I460","I461","I469","I47","I470","I471","I472","I479","I48","I49","I490","I4900","I4901","I4908","I4909","I491","I492","I493","I494","I495",                        
              '"I498","I499","I50","I500","I501","I509","I51","I510","I511","I512","I513","I514","I515","I516","I517","I518","I519","I52")

6. โรคมะเร็ง             icd10 BETWEEN "C00" and "D48"

อธิบายคำสั่ง 
1. คำสั่ง like คือมีส่วนใดส่วนหนึ่งเหมือนก็เลือกมา
2. คำสั่ง between คือเลือกข้อมูลที่อยู่ในช่วงนั้นออกมา
3. คำสั่ง in คือเลือกข้อมูลในชุดข้อมูลที่เรากำหนด

*** ขอบคุณข้อมูลจาก A เวชสถิติ Chakkarat Hos
#keepper

คำสั่ง Query ที่ใช้ดึงกลุ่มเป้าหมายคัดกรอง 2Q /พี่บอย


สวัสดีเช้าวันจันทร์ เดือนแห่งความรัก "กุมภาพันธ์" 2556
วันนี้ประเดิมด้วยคำสั่ง SQL ตามนี้


SELECT CONCAT(p.pname,p.fname,"  ",p.lname) as ptname,p.cid,p.informaddr,p.tmbpart,d.hn,d.icd10,i.`name`,d.vstdate from ovstdiag d
LEFT OUTER JOIN patient p on p.hn=d.hn
LEFT OUTER JOIN icd101 i on i.`code`=d.icd10
WHERE vstdate BETWEEN "2012-10-01" and "2013-01-31" 
and (icd10 like ("E11%") or icd10 LIKE ("i10%") or  icd10   BETWEEN "N180" and "N189" or icd10   BETWEEN "I60" and "I69" or 
icd10 in ("I05","I050","I051","I052","I058","I059","I06","I060","I061","I062","I068","I069","I07","I070","I071","I072","I078","I079","I08","I080","I081","I082","I083", 
              '"I088","I089","I09","I090","I091","I092","I098","I099","I20","I200","I201","I208","I209","I21","I210","I211","I212","I213","I214","I219","I22","I220","I221","I228",            
              '"I229","I23","I230","I231","I232","I233","I234","I235","I236","I238","I24","I240","I241","I248","I249","I25","I250","I251","I252","I253","I254","I255","I256",                    
              '"I258","I259","I30","I300","I301","I308","I309","I31","I310","I311","I312","I313","I318","I319","I32","I320","I321","I328","I33","I330","I339","I34","I340","I341",                
              '"I342","I348","I349","I35","I350","I351","I352","I358","I359","I36","I360","I361","I362","I368","I369","I37","I370","I371","I372","I378","I379","I38","I39","I390",                  
              '"I391","I392","I393","I394","I398","I40","I400","I401","I408","I409","I41","I410","I411","I412","I418","I42","I420","I421","I422","I423","I424","I425","I426","I427",                  
              '"I428","I429","I43","I430","I431","I432","I438","I44","I440","I441","I442","I443","I444","I445","I446","I447","I45","I450","I451","I452","I453","I454","I455","I456",                    
              '"I458","I459","I46","I460","I461","I469","I47","I470","I471","I472","I479","I48","I49","I490","I4900","I4901","I4908","I4909","I491","I492","I493","I494","I495",                          
              '"I498","I499","I50","I500","I501","I509","I51","I510","I511","I512","I513","I514","I515","I516","I517","I518","I519","I52")  )
GROUP BY d.hn
ORDER BY d.icd10

โดยมีเงื่อนไข
1. ช่วงวันที่ vstdate BETWEEN "2012-10-01" and "2013-01-31" 
2. icd10 ตามเงื้นไขที่กำหนด เยอะไปหน่อย
3. GROUP By d.hn  รวม hn ที่ซ้ำกัน
4. ORDER By icd10 ให้เรียงลำดับตามรหัส icd10

ตารางที่เกี่ยวข้อง
1. ovstdiag  เก็บรหัสวินิจฉัยการพยาบาลทั้งหมด
2. patient เก็บข้อมูลผู้รับบริการ
3. icd101 เก็บรายละเอียดของรหัส ICD10 TM


จบบทความ  เอาไปคัดกรองภาวะซึมเศร้าในเดือนแห่งความรัก T____T นะครับ
#keepper

Thursday, January 31, 2013

ความร่ำรวย การมีชื่อเสียง หรือการช่วยเหลือคนอื่น

เก็บข่าวยามเช้ามาฝากครับ  จากไทยรัฐ
#keepper

แก้ไขระบบหน้าจอห้องคลอด ไม่แสดงผู้รับบริการไม่ครบ By พี่แตง


      ความเดิมจาก รายงานเมื่อวานพบว่าข้อมูลผู้รับบริการยังมีค่าว่าง... แก้ไข้ปัญหาเบื้องต้นไม่ได้ 555+ งานนี้ต้องพึ่ง บ. BMS  Call center
   
       ยามบ่ายเคลียรายงานส่งเรียบร้อย หมดแล้ว พี่แตงก็มาหา เรื่องรายงานเมื่อวานที่เขียนให้ ข้อมูลบางตารางไม่ครบ และจากการตรวจสอบเบื้องต้นก็มีข้อมูลแต่ไม่แสดงผล พร้อมขนมปังหอมๆ 1 ชิ้น
   

      เบอร์นี้ล่ะครับ

1. แจ้งชื่อผม แจ้งรพ. แจ้งอาการที่เจอ และรหัส โปรแกรม teamviwer   กำลังติดแก้ไขปัญหาอีกรพ.
2. รอสักพัก....
3. เจ้าหน้าที่ก็ team viewer มาดูให้

พบว่า 
1. การบันทึกข้อมูลวันคลอดยังเป็นค่าว่าง
2. ข้อมูล Laber_number เป็นค่าว่าง

การแก้ไข้ปัญหา 
แก้ไข้ข้อมูลในส่วนการลงทะเบียน Admited
และอัพเดทคำสั่ง SQL

UPDATE  ipt_labour_infant    set  infant_number="1"   where birth_date between "2013-01-01"      and "2013-01-31"              and (infant_number is null   or infant_number ="")

และคำสั่ง เบื้องต้น

select i.hn,i.refer_out_number,i.an,i.regdate,i.regtime,i.ward,ia.bedno  ,  concat(p.pname,p.fname,"  ",p.lname) as ptname  ,
 a.age_y,i.pttype ,pty.name as pttype_name,pg.labor_date,it.name as deliver_type_name   ,w.name as ward_name  ,
   (to_days(i.regdate)-to_days(il.lmp)) div 7 as ga,pg.child_count,pg.anc_complete ,l.infant_apgarscore1,l.infant_apgarscore5,l.infant_apgarscore10 ,
     d.name as labor_doctor_name ,ilf.birth_weight as infant_weight,ilf.body_length as infant_length  ,
  concat(il.g,"-",il.t,"-",   il.p,"-",il.a,"-",il.l) as gpal ,l.mother_hct ,
 i.prediag, a.pdx  ,ic.name as main_pdx_name ,l.labour_finishtime ,
concat(p.addrpart," ?.",p.moopart," ",t.full_name) as address_name  ,
ro.docno as refer_out_docno from ipt i
left outer join iptadm ia on ia.an=i.an
left outer join patient p on p.hn=i.hn
left outer join an_stat a on a.an=i.an
left outer join pttype pty on pty.pttype=i.pttype
left outer join ward w on w.ward = i.ward
left outer join ipt_pregnancy pg on pg.an = i.an
 left outer join ipt_pregnancy_deliver_type it on it.id = pg.deliver_type
 left outer join labor l on l.an = i.an
 left outer join ipt_labour il on il.an = i.an
 left outer join ipt_labour_infant ilf on ilf.ipt_labour_id = il.ipt_labour_id and ilf.infant_number = "1"
 left outer join doctor d on d.code = l.labor_who
 left outer join icd101 ic on ic.code = a.pdx
  left outer join thaiaddress t on t.addressid = a.aid
   left outer join referout ro on ro.vn = i.an
   where i.ipt_type=4  and i.an  in (select an from labor )
    and i.regdate between "2013-01-01" and "2013-01-31"  order by i.regdate desc,i.regtime desc

จบแล้วไปคุยกับห้องคลอดก่อนน่ะครับ ^_____^!  ขอบคุณขนมอร่อยน่ะครับพี่แตง, ขอบคุณน้องเล็ก BMS
#keepper
 

Sample Text

111

Sample Text