วันจันทร์ที่ 2 กันยายน พ.ศ. 2556

การ Backup และ Restore HOSxP_PCU

ช่วงนี้เห็นมีหลายๆ รพ.สต.โทรมาแจ้งว่า Backup HOSxP_PCU มาแล้ว Restore ไม่สำเร็จ ผมเลยทำเป็น script ให้ใช้ อาจช่วยท่านได้  ดาวน์โหลดได้ที่นี่ >> MysqlCMD.rar

วันอังคารที่ 6 สิงหาคม พ.ศ. 2556

ICD-10 TM For pcu ฉบับ pdf

        เป็น Guideline ของ ศูนย์มาตรฐานรหัสและข้อมูลสุขภาพแห่งชาติ หน่วยงานในสังกัดสำนักนโยบายและยุทธศาสตร์(สนย.) กระทรวงสาธารณสุข ทั้งนี้ สปสช.ประกาศจะยึดถือแนวทางการให้รหัสตามหนังสือนี้ในระบบ 21 แฟ้ม  และ สนย.จะใช้ทั้ง 21 แฟ้มและ 43 แฟ้ม โดยจะใช้กับงานบริการผู้ป่วยนอก(OP) และงานสร้างเสริมสุขภาพ(PP) ของหน่วยงานทุกระดับทั้ง PCU , รพ.สต. และโรงพยาบาล (ระบบผู้ป่วยใน ต้องรอความชัดเจนก่อน) คู่มือนี้มีทั้งหมด 4 เล่ม ซึ่ง สนย.ได้พิมพ์แจกให้ทุกหน่วยบริการไปแล้ว แต่อาจมีตกหล่นระหว่างทาง ได้ครบบ้างไม่ครบบ้าง ตอนนี้ศูนย์มาตรฐานรหัสและข้อมูลสุขภาพแห่งชาติได้ขึ้นไฟล์ pdf ให้ดาวน์โหลด ฉบับของศูนย์มาตรฐานรหัสและข้อมูลสุขภาพแห่งชาติจัดทำเป็น pdf หน้าละ 1 ไฟล์ zip รวมกันไว้เล่มละ 1 zipfile สามารถดาวน์โหลดได้ที่ Link ด้านล่างนี้

====Link จาก ศูนย์มาตรฐานรหัสและข้อมูลสุขภาพแห่งชาติ====

          เล่ม 1 >> pcu_pdf_1.rar 
          เล่ม 2 >> pcu_pdf_2.rar
          เล่ม 3 >> pcu_pdf_3.rar
          เล่ม 4 >> pcu_pdf_4.rar

           ผมเห็นว่ามันแยกย่อยหลายไฟล์เกินไป กลัวหาย ก็เลยรวมเล่มให้เป็นเล่มละ 1 ไฟล์ ดาวน์โหลดได้ที่นี่ >> ICD10TMforPCU_GL_2555.zip  ทั้ง 4 เล่มจะเป็นไฟล์ pdf เล่มละ 1 ไฟล์


โปรแกรมตรวจสอบข้อมูล 21 แฟ้ม ปี 57 (OP/PP NHSO V1.4 )

สปสช.เปิดให้ดาวน์โหลโปรแกรม OP PP NHSO V1.4 ได้แล้ว  โปรแกรมนี้ใช้สำหรับตรวจสอบความถูกต้องของข้อมูล 21 แฟ้ม ที่จะส่งในปีข้อมูล 2557(1กค.56-30มิย.57)  สิ่งที่เปลี่ยนไปจากโปรแกรม OP PP NHSO V1.3 ก็คือ v1.3 ใช้ฐานข้อมูลเป็น MS-Access แต่ v1.4 ใช้ฐานข้อมูลเป็น MySQL ดังนั้น สิ่งที่ต้องทำในขั้นตอนการติดตั้งก็คือ
  • 1) สร้างฐานข้อมูลสำหรับโปรแกรม ชื่อ oppp_db57  
    **** โปรดระวัง อย่าลง MySQL ใหม่ในเครื่อง server  เดี๋ยวจะลงทับกับ MySQL ของ HOSxP_PCU จะทำให้ใช้งาน HOSxP_PCU ไม่ได้ หรือผิดพลาดขั้นรุนแรงอาจถึงกับข้อมูลหายได้***
  • 2) ติดตั้งโปรแกรม
  • 3) ตั้งค่าให้โปรแรมติดต่อกับฐานข้อมูลของมันให้ได้
  • 4) ตั้งค่าหน่วยบริการที่ใช้โปรแกรม
 สปสช.มีคำแนะนำวิธีการติดตั้งและใช้งาน ไปอ่านและดาวน์โหลดได้ที่นี่ >> โปรแกรม OP PP NHSO V1.4
ท่านที่อ่านแล้วเข้าใจ ทำได้ ก็โหลดมาติดตั้งได้เลย

สำหรับท่านที่ไม่เข้าใจ หรือทำตามไม่ได้ โดยเฉพาะขั้นตอนการสร้างฐานข้อมูล ผมได้ทำคำแนะนำ และเครื่องมือช่วยสร้างฐานข้อมูลโดยไม่ให้กระทบกับ HOSxP_PCU
ดาวน์โหลดได้ที่นี่ >> OP_PP_NHSO_V1.4_Install_manual.pdf



หมายเหตุ : Link ดาวน์โหลดเครื่องมือแจ้งไว้ในคู่มือแล้ว

การ grant สิทธิให้ user sa


บทความนี้ เขียนขึ้นเพื่อแก้ไขการ connect mysql ไม่ได้ เนื่องจากผลกระทบหลังจาก Upgrade MySQL 5.5.31

ปกติ หลังจาก Upgrade MySQL แล้ว hosxp_pcu ก็ใช้งานได้เลย
****แต่มีบางเครื่อง ที่ไม่สามารถ connect mysql ได้ ย้ำนะครับ เป็นบางเครื่องเท่านั้น**** 

วิธีแก้ไข

วิธีที่ 1
แก้ connection มุมซ้ายล่างหน้า login โดยใช้ user root password ปล่อยว่างไว้
User : root
Password :

วิธีที่ 2
สร้าง User sa  password sa  ขึ้นมาใหม่ โดยการ Run ไฟล์ที่ส่งมานี้
โดยการ
-ดาวน์โหลดไฟล์ grant_sa.zip มาไว้ในเครื่อง server
-แตกไฟล์ออกจะได้ 4 ไฟล์ คือ grant_sa.bat mysql.exe  grant_sa.sql และ readme.txt
-Run คำสั่ง ให้ดับเบิ้ลคลิ๊กไฟล์  grant_sa.bat จะเกิดจอดำ ให้กด enter
-แก้ connection มุมซ้ายล่างหน้า login โดยใช้ user sa password sa ()
User : sa
Password : sa
หมายเหตุ : -ถ้า Run คำสั่งในเครื่อง client ให้แก้คำสั่งใน grant_sa.bat   โดยเปลี่ยนคำว่า localhost เป็น หมายเลข IP ของเครื่อง server

===========อธิบายคำสั่งในไฟล์ grant_sa.bat===========
คำสั่งจะเป็นแบบนี้
@ECHO OFF
"mysql.exe"  -h localhost -P 3306  -u root -p  hosxp_pcu < "grant_sa.sql"


แปลว่า เรียกใช้งานไฟล์ mysql.exe ซึ่งอยู่ตำแหน่งนี้ เพื่อติดต่อกับ mysql server ซึ่งอยู่ที่เครื่องนี้  ทาง port หมายเลข 3306 โดยใช้ User ชื่อ root
    password ยังไม่ใส่  จะทำงานกับฐานข้อมูลชื่อ hosxp_pcu โดยไปเอาคำสั่งในการทำงานมาจากไฟล์ grant_sa.sql ที่อยู่ตำแหน่งนี้เช่นกัน
    ทั้งนี้ไม่ต้องแสดงผลการทำงานของคำสั่ง

อธิบายได้ว่า
@ECHO OFF  => ไม่ต้องแสดงผลการทำงานของคำสั่ง

"mysql.exe"  => เรียกใช้งานไฟล์ mysql.exe ณ ตำแหน่ง(path) เดียวกันกับไฟล์ grant_sa.bat
     (อยู่ด้วยกันไม่ต้องระบุพาธ) แต่ถ้าไฟล์ mysql.exe ไม่อยู่ตำแหน่งนี้ ต้องระบุ path ให้ทราบว่าจะไปเรียกได้ที่ไหน เช่น
    "C:\Program Files\HOSxP_PCU\MySQL\bin\mysql.exe"  หรือ
    "C:\Program Files (x86)\HOSxP_PCU\MySQL\bin\mysql.exe" หรือ
    "C:\Program Files\Chronic\Chronic DBIES System\mysql.exe" เป็นต้น

-h localhost   => -h = host หมายถึง จะติดต่อกับ mysql server ที่ host ไหน ค่า default
     คือ localhost ในที่นี้ ระบุว่า localhost หมายถึงเครื่องนี้  อีกค่าหนึ่งที่หมายถึงเครื่องนี้เช่นกัน
     คือ ค่า 127.0.0.1   หรือถ้าไม่ระบุ -h เลย ก็แสดงว่าให้เรียกใช้ค่า default ก็คือค่า localhost
     เช่นกัน

-P 3306    => -P = Port  หมายถึง จะติดต่อกับ mysql server โดยใช้ port เลขที่เท่าไหร่
     ค่า default คือ 3306  ถ้าระบุ -P xxxx ก็จะเรียกไปที่ port xxxx แต่ถ้าไม่ระบุ -P เลย ก็แสดงว่า
     ให้เรียกใช้ค่า default ก็คือค่า 3306 นั่นเอง

-u root   => -u = UserName หมายถึง จะติดต่อกับ mysql server โดยใช้ User ชื่ออะไร ชื่อนี้ต้อง
     มีการกำหนดไว้ก่อนแล้ว และคนที่ติดตั้ง mysql จะเป็นผู้กำหนดว่า  User มีสิทธิทำอะไรได้บ้าง
     ปกติ User ที่ทำได้ทุกอย่างจะชื่อ root

-p    => -p = password หมาถึง password ของ User ที่จะติดต่อกับ mysql server ถ้า -p เฉยๆ
     ไม่มีค่าอะไรต่อท้าย แสดงว่ายังไม่ส่งค่า  password ไป.. mysql server จะถามให้ใส่ค่า
      password ก่อนจะทำคำสั่ง  แต่ถ้าไม่ต้องการให้ถาม ให้ใส่ password ต่อท้าย  -p โดยไม่เว้น
      ช่องว่าง  เช่น -p123456    หรือ -psa  เป็นต้น

hosxp_pcu   => หมายถึง ชื่อ database ที่จะใช้งาน ในที่นี้จะเรียกใช้งานฐานข้อมูลที่ชื่อ
     hosxp_pcu

< "grant_sa.sql"   => หมายถึงให้ไปเอาคำสั่งมาจากไฟล์ grant_sa.sql  ที่อยู่ที่เดียวกัน
     กับไฟล์ grant_sa.bat  (อยู่ด้วยกันไม่ต้องระบุพาธ) แต่ถ้าไฟล์ grant_sa.sql ไม่อยู่ตำแหน่งนี้
     ต้องระบุ path ให้ทราบว่าจะไปเรียกได้ที่ไหน เหมือนกันกับการระบุ path เรียก mysql.exe


===========อธิบายคำสั่งในไฟล์ grant_sa.sql===========
คำสั่งจะเป็นแบบนี้
GRANT All PRIVILEGES ON *.*  to 'sa'@'localhost' IDENTIFIED BY 'sa'  WITH GRANT OPTION;
GRANT All PRIVILEGES ON *.*  to 'sa'@'127.0.0.1' IDENTIFIED BY 'sa'  WITH GRANT OPTION;
GRANT All PRIVILEGES ON *.*  to 'sa'@'::1' IDENTIFIED BY 'sa'  WITH GRANT OPTION;
GRANT All PRIVILEGES ON *.*  to 'sa'@'%' IDENTIFIED BY 'sa'  WITH GRANT OPTION;
flush privileges;


แปลว่า อนุญาตสิทธิทุกอย่าง บนฐานข้อมูลทุกฐาน ให้กับ user ที่ชื่อ sa ที่ติดต่อมาจากเครื่องนี้และเครื่องอื่นๆ โดยใช้ password ว่า sa และให้สิทธิในการ
grant สิทธิให้คนอื่นต่อไปด้วย

GRANT All PRIVILEGES  = อนุญาตสิทธิทุกอย่าง
ON *.*         = บนฐานข้อมูลทุกฐาน
 to 'sa'           = ให้กับ user ที่ชื่อ sa
@'localhost'     = ที่ติดต่อมาจากเครื่องนี้
@'127.0.0.1'    = ที่ติดต่อมาจากเครื่องนี้
@'::1'        = ที่ติดต่อมาจากเครื่องนี้
@'%'        = ที่ติดต่อมาจากเครื่องอื่นๆ
IDENTIFIED BY 'sa' = โดยใช้ password ว่า sa
WITH GRANT OPTION = ให้สิทธิในการอนุญาตสิทธิให้คนอื่นต่อไปด้วย 
flush privileges = ยัดสิทธิในเข้าไป หรือให้ใช้งานสิทธิตามที่กำหนดได้

Link : grant_sa.rar