วันพฤหัสบดีที่ 14 กรกฎาคม พ.ศ. 2559

S-M-R-A____2015

สวัสดีครับ วันนี้ผมขอนำเสนอโปรแกรมเล็กๆที่ช่วยงาน พี่ๆน้องๆ ชาว IT ที่อยู่ โรงพยาบาลกันนะครับ

                             โดยโปรแกรมนี้มีชื่อว่า "SMRA2015"  ที่ย่อมาจาก
                                    S = System
                                   M-R-A = Medical Record Audit


 !!!!!!!!!!   โปรแกรมนี้จะช่วยในการคืนข้อมูลที่ไม่ค่อยจะสมบูรณ์ในการให้บริการให้แก่ผู้ใช้งาน  ที่อาจจะทำงานด้วยความรีบดูแลผู้มารับบริการจนทำให้ลงข้อมูลไม่สมบูรณ์กันนะครับ
ว่าแล้วก็ เริ่มกันเลยดีกว่า

>>>>>>>><<<<<<<<<<<<
ความต้องการระบบคร่าวๆ
   1. PHP  version  5.5 ขึ้นไป
   2. Mysql Version 5.5 ขึ้นไป
   3. Web Browser ควรเป็น Google Chrome ส่วน IE (น่าจะรันได้นะ ไม่ได้ลอง!)

>>>>>>><<<<<<<<<<<<<<

มาลงขั้นตอนติดตั้งกันดีกว่านะครับ

1.โหลดโปรแกรม Xampp มาเลยครับไว้ที่เครื่องที่ต้องการให้เป็น WEB SERVER  โหลดเลย ที่นี่
    ::ผมใช้  ( xampp-win32-5.6.21-0-VC11-installer )   ครับ
    1.1  ติดตั้ง Xampp เลยครับขั้นตอนติดตั้งก็ดูที่นี่นะครับ ขั้นตอนตามนี้เลย  ดู
       ::  หากเครื่องที่มี web server อยู่แล้วควรระวังชนกันกับของเดิมนะครับ(ไม่จำเป็นต้องลง Mysql )

2.  จากนั้นก็โหลดโปรแกรม SMRA2015 มาเลยครับ  โหลด   คลิ๊กเบานะครับ

     แตกไฟล์ไปเก้็บไว้ที่ C:\xampp\htdocs

3. เปลี่ยน config ในโปรแกรมให้สามารถติดต่อกับระบบ HIS ของท่านเองโดยไปที่ไฟล์
     .../SMRA2015/conn/conn.php
 


4. เปิด Web Browser  เพื่อเข้าใช้งาน ตามปกติ   http://xxxx/smra2015/
      :: xxxx  คือ IP ของเครื่องที่เป็น web server 





   ------  _/\_  ----------

ขอบคุณครับโชคดีทุกท่านนะครับ

 
           

วันพฤหัสบดีที่ 30 เมษายน พ.ศ. 2558

TYPE AREA ของแฟ้ม PATIENT และ PERSON

คำสั่งที่ 1   ปรับข้อมูลของ type area ของตาราง PATIENT = PERSON
1>  update  patient,person set patient.type_area = person.house_regist_type_id where patient.cid = person.cid ;


คำสั่งที่ 2  ปรับข้อมูลบุคคลในตาราง patient ที่ไม่มีรายชื่อในตาราง person ให้มี type_area เป็น 4 ทุกราย
2>  update  patient set type_area = 4 where  cid not in(select cid  from person) ;

วันพุธที่ 26 มีนาคม พ.ศ. 2557

ข้อมูลในบัญชี 1 เพิ่มเองโดยไม่ทราบสาเหตุ

ก่อนอื่นต้องขสวัสดีอย่างเป็นทางการกับผู้รักการอ่านนะครับ    _/\_  "สวัสดีครับ" ^.^
 
        วันนี้ผมได้รับแจ้งจากเจ้าหน้าที่ฝ่าย PCU ครับว่า "ข้อมูลในบัญชี 1 เพิ่มขึ้น และประชากรใน บ้านเลขที่ 1 ของแต่ละหมู่ มันมีจำนวนมากกว่าปกติ !"?.  เป็นคำถามที่ผมเองก็ไม่รู้เหมือนกัน  ฮ่าๆๆ.....


      ผมได้พยายามจำลองเหตุการที่อาจจะเกิดขึ้นโดยพอจะสรุปออกมาดังนี้นะครับ
          1. มีคนมาเพิ่มข้อมูลของแต่ละหมู่เองโดยไม่ได้แจ้งให้เจ้าหน้าที่ทราบ(เจ้าหน้าที่ของ PCU เอง)
         2. เกิดจากโปรแกรมเพิ่มเองโดยอัตโนมัติ ...... (ในข้อนี้ผมคิดเล่นๆครับ)
        3. เกิดจากการเพิ่มโดยตั้งใจที่จะแกล้งกันเฉยๆ ..... (อันนี้ก็ขำๆ)
       เฮ้อ.....คิดไม่ออกจริงๆครับ ..........   แต่ก็ไม่ได้เกินความพยายามของเราจริงๆครับ .. ผมก็เจอจนได้ครับ


    สาเหตุจริงๆก็คือ  .......  การเพิ่มบุคคลใหม่ในส่วนของห้องบัตร(งานเวชระเบียน) ครับ เป็นการเข้าใจไม่ถูกของเจ้าหน้าที่ห้องบัตร ครับ

      จากภาพจะเห็นว่า มีสองปุ่มให้เลือกนะครับ  เรามาทำความเข้าใจกันนะครับว่าเขาคืออะไร!!!
                                 
         อยู่ในเขตรับผิดชอบ    หมายถึง เป็นคนที่มี type_area เป็น 1     เมื่อเทียบกับข้อมูลแฟ้ม person (เมื่อเพิ่มคนที่มีที่อยู่ในเขตรับผิดชอบของ PCU   ผู้ที่เพิ่มคนใหม่ในระบบต้องติ๊กเป็น อยู่ในเขตรับผิดชอบเท่านั้น  ห้ามลืม  ถ้าลืมคนที่ถูกเพิ่มจะไปอยู่ที่บ้านเลขที่ 1 และหมู่คือไปตามที่ลงข้อมูลครับ)

          อยู่ในเขต CUPS   หมายถึง เป็นคนที่มี type_area เป็น 4  เมื่อเทียบกับข้อมูลแฟ้ม person แต่ว่าผู้ที่ถูกเพิ่มอยู่ใน cup ของแต่ละอำเถอนะครับ
   
          กรณีที่ผู้ถูกเพิ่มไม่อยู่ในเกณฑ์ของทั้งสองข้อนี้ก็ไม่ต้องติ๊กอะไร เพราะนั่นคือผู้ป่วยนอกเขตจริงๆ  

   

                 ขอจบการแก้การปวดหัวเพียงเท่านี้ก่อนนะครับ มีอะไรใหม่ๆคงได้มาแลกเปลี่ยนเรียนรู้กันนะครับผม 
                       %%%%%%%%%%%%%   ขอให้โชคดีครับ   _/\_  %%%%%%%%%%%%%%%


วันศุกร์ที่ 21 มีนาคม พ.ศ. 2557

ChronicFU กับการส่งออก Foot+Ratina

             หลังจากที่ใช้ความพยายามมาหลายครั้งกับการแก้ไขเรื่องของตาราง ChronicFu ทีได้ทำการคีย์ข้อมูลการตรวจ ตา(Ratina) และ ตรวจ เท้า(Foot) ทำให้เกิดข้อสังเกตุที่ว่า " ทำไมข้อมูลไม่ออกอย่างที่ควรเป็น "        
      
 เริ่มมีงานเข้าแล้ว!!  
 สิ่งแรกที่ต้องคิดคือ  ใครเป็นคนลงข้อมูล และลงข้อมูลยังไง สุดท้ายจะรู้ได้อย่างไรว่าลงข้อมูลแล้ว ?
      
 >  ผมได้เริ่มจากลองส่งออก 21 แฟ้มไฟล์  และลองเปิดไฟล์ Chronicfu.txt ดู 

                           ก๊าก !  ข้อมูลออกครับ แต่ช่อง Foot + Ratina เป็น 2 และ 8 (ซึ่งแปลว่า ไม่ได้ตรวจ)  งานเข้าแน่ๆ

> ในที่สุดก็เจอ ตอ ...    จากการสันนิฐาน ว่าการลงข้อมูลคงเข้าใจอะไรกันผิดแน่ๆเลยทำให้ส่งข้อมูลไม่ออกทั้งๆที่คีย์หมดแล้ว  
         พระเอก ของงานนี้คือตาราง clinic_visit ครับ

วิธีการคือ
     1. ต้องดูว่าผู้ป่วยชื่ออะไรบ้างที่ได้รับการคีย์ตรวจ เท้า+ตา บ้าง (โดยดูจากข้อมูลจริงๆที่เจ้าหน้าที่ลงข้อมูลนะครับ.."one stop service ")  หรือใช้ sql ตัวนี้รันดูครับ
  SELECT   clvit.vn as 'VN_CHECK',  ov.pdx AS pdx1,  ov.vn AS vn1,  ovst.vstdate AS vstdate1,  pt.hn AS hn1,
  pt.pname AS pname1,  pt.fname AS fname1,  pt.lname AS lname1
FROM vn_stat ov
  LEFT JOIN patient pt ON pt.hn = ov.hn
  LEFT JOIN ovst ovst ON ov.vn = ovst.vn
  LEFT JOIN clinic_visit clvit ON ov.vn = clvit.vn
  LEFT JOIN clinicmember clm ON ov.hn = clm.hn
WHERE ((ov.pdx = "Z131") OR (ov.dx0 = "Z131") OR (ov.dx1 = "Z131") OR
    (ov.dx2 = "Z131") OR (ov.dx3 = "Z131") OR (ov.dx4 = "Z131") OR
    (ov.dx5 = "Z131")) AND ov.vstdate BETWEEN "2014-02-01" AND "2014-02-28"

"จาก script ด้านบน ให้เน้นที่  VN_CHECK ดูนะครับว่ามี อะไรขึ้นรึเปล่า ถ้ามีแสดงว่าคีย์ถูกต้องตามที่ สสจ.แจ้งไป ชี้ชัดๆนะครับ ถ้ามี ข้อมูลไม่ต้องทำต่อข้อ 2.  ถ้าไม่มี มาดูกันนะครับว่าจะทำไงต่อ อิอิ   ^.^"

   2.  จากนั้นก็มารัน script อันที่ 2 กันเลยดีกว่านะครับ 
ก่อนอื่นต้องทำความเข้าใขก่อนนะครับว่า script นี้ต้องรันแบบระมัดระวังครับเพราะต้องทำครั้งเดียว โดยหลักการคือว่า ผมต้องเอา VN ของคนที่มาตรวจคัดกรอง foot+Ratina ไปเพิ่มที่ตาราง clinic_visit เพราะฉนั้นต้องทำ sql ให้แน่ใจก่อนนะครับว่าถูกต้องจริงๆไม่อย่างนั้น.......  ตัวใครตัวเนานะครับ  +_+ !    รันเลยแล้วกันไม่เสียเวลาแล้วนะครับ 
     INSERT into clinic_visit (hn,vn,clinic,visit_type)
        SELECT  ov.hn  ,ovst.vn  ,  if(clm.clinic is null, '001' ,clm.clinic  )  ,1
        FROM vn_stat ov
        left join patient pt on pt.hn = ov.hn
        left join ovst ovst on ov.vn = ovst.vn
        left join clinic_visit clvit on  ov.vn = clvit.vn
        left join clinicmember clm on ov.hn = clm.hn  and clm.clinic in('001')
WHERE   (((ov.pdx = "Z131") OR (ov.dx0 = "Z131") OR (ov.dx1 = "Z131") OR
    (ov.dx2 = "Z131") OR (ov.dx3 = "Z131") OR (ov.dx4 = "Z131") OR
    (ov.dx5 = "Z131")) AND ov.vstdate BETWEEN "2014-02-01" AND "2014-02-28" )
" ** กดปุ่ม Exec ครั้งเดียวนะครับ เบาๆ เพราะไม่อย่างนั้น จะเพิ่มมากกว่าปกติครับ อิอิ"

3. ทดลองส่งออก 21 แฟ้มไฟล์อีกรอบนะครับ   
 
                                               %%%%  ขอให้โชคดีครับ  _/\_ %%%%
   


วันพุธที่ 27 กุมภาพันธ์ พ.ศ. 2556

Windows 7 กับการจัดเรียงข้อมูลบน HDD

 Windows 7 กับการจัดเรียงข้อมูลบน  HDD   (Defragmenter) 

   ก่อนอื่นต้องขอกล่าวคำว่าสวัสดีก่อนนะครับ ^.^ เรื่องต่อไปนี้ผมจะขอกล่าวในส่วนของการใช้งานเครื่องมือที่สำเร็จรูปที่มาในระบบปฏิบัติการ วินโดว์ เซเว่น ครับ .. มาเริ่มกันเลยดีกว่านะครับ

 เข้าไปที่เมนู สตาร์ท  >> All program >> Accessories  >> System Tool >> Disk Defragmenter 


                   สามารถตั้งเวลาได้ด้วยครับ วาว!  เจ๋งจริงๆ ครับพี่น้อง


หมายเหตุ : การ Defragmenter เป็นการจัดเรียงข้อมูลที่อยู่บน ฮาร์ดดิสท์เราให้สามารถเรียกใช้งานได้เร็ว




                %%%%%%  ขอบคุณครับที่เข้ามาแวะชมครับ ผม %%%%%%