ผู้เขียน หัวข้อ: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ  (อ่าน 16801 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

treera1

  • บุคคลทั่วไป
สวัสดีครับอาจารย์
ถามเรื่องการใช้งานกับเครื่องอ่าน barcode หน่อยครับ พอดีไม่เคยใช้แต่มีเครื่องจะนำมาใช้กับโปรแกรม hosxp จะต้องทำยังไงบ้างครับช่วนแนะนำผมหน่อยครับ และสอบถามเกี่ยวกับ การนำเข้าข้อมูลดังต่อไปนี้ ซึ่งเป็น txt file จะนำเข้าโปรแกรมในงานประกันสุขภาพของ hosxp เพื่อใช้ตรวจสอบสิทธิต้องทำการนำเข้ายังไงครับขอคำแนะนำหน่อยครับ
 โดยข้อมูลแต่ละ field ขั้นด้วย เซมิโคลอน (;) และมีรายละเอียดของ field ดังต่อไปนี้
1.  pid         เลขที่บัตรประชาชน
2.  title         รหัสคำนำหน้าชื่อ
3.  fname           ชื่อ
4.  lname         นามสกุล
5.  birthdate      วันเกิด
6.  sex         เพศ
7.  chat         รหัสที่อยู่
8.  maininscl      รหัสสิทธิ์
9.  startdate         วันที่เริ่มใช้บัตร
10. expdate         วันที่หมดอายุ
11. hmain         รหัสโรงพยาบาลหลัก
12. hsub         รหัสโรงพยาบาลรอง
13. subinscl         สิทธิ์ย่อย
14. purchaseprovince      รหัสจังหวัดตามที่ขึ้นทะเบียนรักษา
15. cardid         เลขที่บัตร
16. age         อายุ

ออฟไลน์ กรรมกรไอที

  • Hero Member
  • *****
  • กระทู้: 584
  • เมื่อเทคโนโลยีคือลมหายใจของเรา
  • Respect: +6
    • ดูรายละเอียด
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #1 เมื่อ: ตุลาคม 29, 2006, 11:55:29 AM »
0
ไม่ใช่อาจารย์นะครับ แต่ช่วยตอบ :D โอเค ตอบเลยให้มองว่าเครื่องอ่านบาร์โคดคือคีย์บอร์ดตัวหนึ่ง ที่ผมบอกอย่างนั่นหมายความว่าหน้าที่ของเครื่องอ่านบาร์โคดคือแปลงรหัสแท่งบาร์โคดเป็นตัวเลข แล้วกด Enter ไปในตัวครับ เพื่อให้โปรแกรมนำรหัสตัวเลขนั่นไปใช้เรียกข้อมูลต่าง ๆ เช่น อ่าน HN คนไข้เพื่อไปเรียกประวัติคนไข้ พอเข้าใจนะครับ ดังนั้นหากคุณจะใช้เครื่องอ่านบาร์โคด คุณไม่จำเป็นต้องเสร็จอะไรมากครับ เอาตัวอ่านบาร์โคดมาเสียบใช้ได้เลย แต่ที่สำคัญโปรแกรมต้องพร้อมจะรับค่าตัวเลขเป็นชุด แล้วกด Enter เพื่อไปเรียกข้อมูลอื่น ๆ มานะครับ สิ่งที่ผมอยากจะฝากแนะนำคุณหากต้องใช้ซื้อเครื่องอ่านบาร์โคดมาใช้
1. เลือกแบบตั้งจะสะดวกกว่าแบบมือถือ
2. เลือกแบบอ่านหลายแนวจะดีกว่าแบบแนวเดียว แม้จะแพงกว่าก็ตาม แต่จากประสบการณ์ที่ได้ใช้ แบบอ่านหลายแนวจะสะดวกรวดเร็วมากกว่าแบบแนวเดียว เพราะคุณไม่ต้องพะวงกับทิศทางการวางของแท่งบาร์โคดให้ตรงระนาบกับตัวอ่าน
3. เลือกยี่ห้อหน่อยนะครับ ที่เคยได้ใช้ของ symbol ดีครับ อ่านได้ไว้และแม่นยำ
4. การพิมพ์บาร์โคดเป็นสิ่งสำคัญมากครับ ที่โรงพยาบาลประสบปัญหาที่ให้การใช้บาร์โคดไม่ประสบความสำเร็จ เพราะบริษัทที่เขียนโปรแกรมให้ไม่รุ้ไปใช้ control ตัวไหนสร้างแท่งรหัสบาร์โคดให้ ทำให้แท่งบาร์โคดที่ได้ไม่ถูกต้องตามมาตรฐาน เวลาเครื่องอ่านอ่านออกมาแล้วมีอาการเพี้ยน ซึ่งมาตรฐานบาร์โคดก็มีหลายมาตรฐาน แต่ที่เห็นนิยมใช้มากที่คือ EAN - 13 (ไม่ขอพูดต่อนะครับ เดี่ยวเรื่องยาว) คือตัวเลขไม่ตรงกับรหัสจริง โดยเฉพาะถ้ามีรหัส 0 อยู่ตรงการ จะทำให้เครื่องไม่สามารถอ่านรหัสที่เหลือได้เลย เช่นถ้ารหัสที่ควรอ่านได้เป็น 123405678 โปรแกรมจะแสดงแค่ 12340 เท่านั่น ปัญหาต่อมาที่ผมแน่ใจว่าบริษัทที่เขียนโปรแกรมให้โรงพยาบาลของผมฉุย โดยเขาอาจใช้ฟอนต์ตัวอักษรรหัสบาร์โคดเป็นตัวทำรหัส คือ เครื่องลูกข่ายบางเครื่องมีปัญหาพิมพ์ใบสั่งยา ซึ่งปกติจะมี HN ของคนไข้เป็นแท่งบาร์โคดอยู่บนใบสั่งยา แต่พิมพ์ออกมากลายเป็นตัวอักษรประหลาด  และอีกสิ่งหนึ่งที่เป็นปัญหาที่คุณต้องระวัง เช่น หากคุณจะพิมพ์ใบสั่งยาให้มีบาร์โคดอยู่บนใบสั่งยา สิ่งที่คุณต้องใส่ใจคือเครื่องพิมพ์ โดยเฉพาะถ้าคุณจะใช้ Dot Matrix เพราะถ้าพิมพ์ไม่ชัด พิมพ์ขาด ๆ จาง ๆ จะทำให้ไม่เวิร์คเหมือนกัน เหตุการณ์นี้ผมเจอสมัยตอนไปฝึกงานที่ รพ.สงขลา ตอนนั่นเขาพิมพ์รหัสบาร์โคดบนใบสั่งยา แต่ด้วยความที่ใบสั่งยาใช้เครื่องพิมพ์หัวเข็มพิมพ์ เวลาผ้าหมึกจาง หรือหัวเข็มหักสักแท่ง ทำให้แท่งบาร์โคดที่ได้ไม่สมบูรณ์ จะทำให้เครื่องอ่านบาร์โคดไม่ยอมอ่าน
ก็ให้คำแนะนำเท่านี้ครับ ไม่ทราบว่าตรงประเด็นที่ต้องการหรือเปล่า ถ้ายังไม่เข้าประเด็น หรือสงสัยในสิ่งใดเกี่ยวกับรหัสบาร์โคดก็ถามมาต่อแล้วกันครับ ถ้าอยากรู้หลายละเอียดของบาร์โคดผมมีหนังสือเกี่ยวกับมาตรฐานบาร์โคดให้อ่านครับ (ภาษาอังกฤษนะ  ;) )
 

ออฟไลน์ treera

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #2 เมื่อ: ตุลาคม 30, 2006, 00:42:14 AM »
0
ขอบคุณมากครับในความกระจ่างเรื่อง barcode ขอถามเรื่อง การนำเข้าข้อมูลดังต่อไปนี้ ซึ่งเป็น txt file จะนำเข้าโปรแกรมในงานประกันสุขภาพของ hosxp เพื่อใช้ตรวจสอบสิทธิต้องทำการนำเข้ายังไงครับขอคำแนะนำหน่อยครับ
 โดยข้อมูลแต่ละ field ขั้นด้วย เซมิโคลอน ( และมีรายละเอียดของ field ดังต่อไปนี้
1.  pid         เลขที่บัตรประชาชน
2.  title         รหัสคำนำหน้าชื่อ
3.  fname           ชื่อ
4.  lname         นามสกุล
5.  birthdate      วันเกิด
6.  sex         เพศ
7.  chat         รหัสที่อยู่
8.  maininscl      รหัสสิทธิ์
9.  startdate         วันที่เริ่มใช้บัตร
10. expdate         วันที่หมดอายุ
11. hmain         รหัสโรงพยาบาลหลัก
12. hsub         รหัสโรงพยาบาลรอง
13. subinscl         สิทธิ์ย่อย
14. purchaseprovince      รหัสจังหวัดตามที่ขึ้นทะเบียนรักษา
15. cardid         เลขที่บัตร
16. age         อายุ
จะใช้คำสั่ง sql อะไรในการเพิ่มข้อมูลเข้าไปครับ
treerasak
SERVER : IBM  HD 60Gb
Os:Freebsd
database:MySQL  5.1.X 
RAM   512 mb 
Client: celeron 3.4G ram 512 mb

ขึ้นระบบเอง 01/12/2549

ออฟไลน์ nillada

  • Full Member
  • ***
  • กระทู้: 147
  • Respect: 0
    • ดูรายละเอียด
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #3 เมื่อ: ตุลาคม 30, 2006, 04:46:05 AM »
0
ใช้ Import MOI csv ครับ
รพ.กุดชุม(30 เตียง) Run ระบบ 1 ก.พ 49(เต็มระบบ)
.....................................
Linux:Oracle Linux5.6 ;Databases:MySQL 5.5.9 XtraDB; Client: WinXP SP2(70 เครื่อง);
HOSxP Ver ใหม่เสมอ
Inventory 3.54.2.2

ออฟไลน์ navyNP

  • Hero Member
  • *****
  • กระทู้: 933
  • Respect: +3
    • ดูรายละเอียด
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #4 เมื่อ: ตุลาคม 31, 2006, 03:07:29 AM »
0
พอดีกำลังจะนำเอาระบบ barcode มาใช้ มีปัญหานิดหน่อย
1.เครื่อง SYMBOL ที่ใช้พอจะบอกรุ่นได้ไหมครับ ปัจจุบันผมใช้ Metrologic MS9540 มีปัญหาบางเครื่องมักจะอ่านเป็นภาษาไทยก่อน ตั้งเปลี่ยนคีย์ก่อนยิงทุกครั้ง(แต่เป็นบางเครื่องครับ)
2.บาร์โค๊ท 1D กับ 2D ต่างกันอย่างไรครับ
3.เลข CID ในโปรแกรมมีขีดคั่นกลางกลุ่มตัวเลข ทำให้การนำไปสร้างบาร์โค๊ทบนฟอร์มมีขีดคั่นกลางด้วยจึงทำให้การอ่านและการนำไปค้นหาผู้ป่วยด้วย CID เพี้ยนไป ทำอย่างไรจึงจะไม่ให้มีขีดคั่นกลางในเลข CID เมื่อนำไปสร้างฟอร์มครับ
เคยเป็น Admin รพ.อาภากรเกียรติวงศ์ สัตหีบ ชลบุรี(250 เตียง)
Implement by อ.MN & อ.suchai  ขึ้นระบบ 29 ก.ค.48
Server : RH Enterprise Linux AS release 3(taroon)
Client : winXP , Slave : winXP , MySQL 4.1
LIS : CST
version ปัจจุบัน 3.54.1.22

ออฟไลน์ navyNP

  • Hero Member
  • *****
  • กระทู้: 933
  • Respect: +3
    • ดูรายละเอียด
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #5 เมื่อ: ตุลาคม 31, 2006, 04:18:43 AM »
0
อธิบายรูปเพิ่มเติม
รูปบน(b1)
1.ลองยิงจาก HN ใช้ได้ปกติ
2.ลองยิงจาก CID ปรากฏว่ามีขีดคั่นกลาง
3.ลองมายิงในช่องกรอกเลข CID รหัสไม่ตรง(เพราะอ่านตัวขีดคั่นกลางด้วย) สำหรับการนำมาใช้ในช่องนี้คือ ผู้ป่วยจะมีบัตรสิทธิการรักษา บางบัตรมีบาร์โค๊ทด้วย ทำให้ง่ายในการพิมพ์ช่องนี้ด้วยบาร์โค้ท(จริงๆ แล้วก็ไม่จำเป็นนัก แต่ก็ป้องกัน จนท.พิมพ์เลขผิดได้ดี)
รูปล่าง(b2)เมื่อลองออกแบบบัตรประจำตัวผู้ป่วยให้มีบาร์โค้ทเลข CID(ซึ่งต่อไปจะเกี่ยวข้องกับการตรวจสอบสิทธิกับ กบก.เป็นอย่างยิ่ง) หรือนำไปค้นหาผู้ป่วยด้วยเลข CID ปรากฏว่าใช้ไม่ได้ เนื่องจากมีขีดคั่นกลาง ตามที่กล่าวมาข้างต้น
เคยเป็น Admin รพ.อาภากรเกียรติวงศ์ สัตหีบ ชลบุรี(250 เตียง)
Implement by อ.MN & อ.suchai  ขึ้นระบบ 29 ก.ค.48
Server : RH Enterprise Linux AS release 3(taroon)
Client : winXP , Slave : winXP , MySQL 4.1
LIS : CST
version ปัจจุบัน 3.54.1.22

ออฟไลน์ navyNP

  • Hero Member
  • *****
  • กระทู้: 933
  • Respect: +3
    • ดูรายละเอียด
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #6 เมื่อ: ตุลาคม 31, 2006, 21:22:09 PM »
0
ทำอย่างไรถึงจะเอาคอลัมน์ cid(ซึ่งไม่มีขีดคั่นกลางตัวเลข จึงน่าจะเอาไปสร้างบาร์โค้ทในฟอร์มได้) ในตาราง patient  มาใส่ในฟอร์ม RB1T02 ได้ครับ

select r1.name as HN,r1.name1 as Pt_Name,r1.name2 as Pt_Age,r1.name3 as FullAddress,r1.name4 as Sex,r1.date1 as BirthDay,
r2.name as Occupation,r2.name1 as MarryStatus,r2.name2 as Nationality,r2.name3 as Citizenship,r2.name4 as Religion,
r3.name as BloodGroup,r3.name1 as DrugAllergy,r3.name2 as HomeTel,r3.name3 as InformName,r3.name4 as InformAddr,
r4.name as InformRelation,r4.name1 as Father,r4.name2 as Mother,r4.name3 as SPSName,r4.name4 as CardName,
r5.name as CardCODE,r5.name1 as PtRight,r5.name2 as PtRightCode,r5.date1 as RightExpire,
pr.officer_id,pr.main_regiment,p.informtel,pr.sub_regiment,concat(p.fathername," ",p.fatherlname) as full_fathername,
concat(p.mathername," ",p.motherlname) as full_mothername,concat(p.spsname," ",p.spslname) as full_spsname

from tempreport r1
left outer join tempreport r2 on r2.reportname=r1.reportname and r2.id=r1.id and r2.num=2
left outer join tempreport r3 on r3.reportname=r1.reportname and r3.id=r1.id and r3.num=3
left outer join tempreport r4 on r4.reportname=r1.reportname and r4.id=r1.id and r4.num=4
left outer join tempreport r5 on r5.reportname=r1.reportname and r5.id=r1.id and r5.num=5
left outer join patient p on p.hn=r1.name
left outer join patient_regiment pr on pr.hn=r1.name
where
r1.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r2.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r3.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r4.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r5.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r1.reportname="RB1T02" and r1.num=1

limit 1
« แก้ไขครั้งสุดท้าย: ตุลาคม 31, 2006, 21:47:21 PM โดย navyNP »
เคยเป็น Admin รพ.อาภากรเกียรติวงศ์ สัตหีบ ชลบุรี(250 เตียง)
Implement by อ.MN & อ.suchai  ขึ้นระบบ 29 ก.ค.48
Server : RH Enterprise Linux AS release 3(taroon)
Client : winXP , Slave : winXP , MySQL 4.1
LIS : CST
version ปัจจุบัน 3.54.1.22

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #7 เมื่อ: ตุลาคม 31, 2006, 21:34:08 PM »
0
ใช้ function replace ของ Mysql ครับ

เช่น replace(cid,'-','')  ก็จะได้  cid ที่ไม่มี -
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ navyNP

  • Hero Member
  • *****
  • กระทู้: 933
  • Respect: +3
    • ดูรายละเอียด
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #8 เมื่อ: ตุลาคม 31, 2006, 22:11:38 PM »
0
ขอคำอธิบายเพิ่มเติมหน่อยครับ  ไม่รู้จริงๆ  ครับว่าไปทำในไหน ในตาราง หรือในฟอร์ม ถ้าเป็นในฟอร์ม รบกวนเพิ่มลงในคำสั่งที่สำเนามาเป็นตัวอย่างเลยได้ไหมครับ ทำไม่เป็นครับ ;D ;D ;D
เคยเป็น Admin รพ.อาภากรเกียรติวงศ์ สัตหีบ ชลบุรี(250 เตียง)
Implement by อ.MN & อ.suchai  ขึ้นระบบ 29 ก.ค.48
Server : RH Enterprise Linux AS release 3(taroon)
Client : winXP , Slave : winXP , MySQL 4.1
LIS : CST
version ปัจจุบัน 3.54.1.22

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #9 เมื่อ: ตุลาคม 31, 2006, 22:24:22 PM »
0
แก้ไขที่คำสั่ง sql ที่ดึงข้อมูลมาทำรายงานครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ navyNP

  • Hero Member
  • *****
  • กระทู้: 933
  • Respect: +3
    • ดูรายละเอียด
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #10 เมื่อ: ตุลาคม 31, 2006, 22:51:26 PM »
0
ในคำสั่งด้านบน เลข cid คือ CardCODE ลองเอาคำสั่งไปใส่แล้วไม่ได้ครับ ไม่รู้ใส่อย่างไร ใส่ตรงไหนครับ รบกวนลองแก้ไขคำสั่งด้านบนให้ดูหน่อยครับ (ผมจะได้ copy ไปวางเลย แฮะๆ  ;D ;D)
เคยเป็น Admin รพ.อาภากรเกียรติวงศ์ สัตหีบ ชลบุรี(250 เตียง)
Implement by อ.MN & อ.suchai  ขึ้นระบบ 29 ก.ค.48
Server : RH Enterprise Linux AS release 3(taroon)
Client : winXP , Slave : winXP , MySQL 4.1
LIS : CST
version ปัจจุบัน 3.54.1.22

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: ถามเรื่องการใช้งานกับเครื่องอ่าน barcode ครับ
« ตอบกลับ #11 เมื่อ: ตุลาคม 31, 2006, 23:30:35 PM »
+1
น่าจะตามนี้ครับ

select r1.name as HN,r1.name1 as Pt_Name,r1.name2 as Pt_Age,r1.name3 as FullAddress,r1.name4 as Sex,r1.date1 as BirthDay,
r2.name as Occupation,r2.name1 as MarryStatus,r2.name2 as Nationality,r2.name3 as Citizenship,r2.name4 as Religion,
r3.name as BloodGroup,r3.name1 as DrugAllergy,r3.name2 as HomeTel,r3.name3 as InformName,r3.name4 as InformAddr,
r4.name as InformRelation,r4.name1 as Father,r4.name2 as Mother,r4.name3 as SPSName,r4.name4 as CardName,
replace(r5.name,'-','') as CardCODE
,r5.name1 as PtRight,r5.name2 as PtRightCode,r5.date1 as RightExpire,
pr.officer_id,pr.main_regiment,p.informtel,pr.sub_regiment,concat(p.fathername," ",p.fatherlname) as full_fathername,
concat(p.mathername," ",p.motherlname) as full_mothername,concat(p.spsname," ",p.spslname) as full_spsname

from tempreport r1
left outer join tempreport r2 on r2.reportname=r1.reportname and r2.id=r1.id and r2.num=2
left outer join tempreport r3 on r3.reportname=r1.reportname and r3.id=r1.id and r3.num=3
left outer join tempreport r4 on r4.reportname=r1.reportname and r4.id=r1.id and r4.num=4
left outer join tempreport r5 on r5.reportname=r1.reportname and r5.id=r1.id and r5.num=5
left outer join patient p on p.hn=r1.name
left outer join patient_regiment pr on pr.hn=r1.name
where
r1.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r2.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r3.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r4.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r5.id="ID-{F81717A4-E4CA-458C-A536-8DE5E61998F1}"  and
r1.reportname="RB1T02" and r1.num=1

limit 1
HOSxP Project Manager / Cheif Developer / BMS MD