ผู้เขียน หัวข้อ: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน  (อ่าน 19311 ครั้ง)

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

ออฟไลน์ nummon

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
    • SrisangwornSukhothai Hospital
ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« เมื่อ: กรกฎาคม 13, 2009, 11:24:25 AM »
0
ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน โดยใช้โปรแกรม pdfstamp_cmd
เพื่อฝังรายละเอียด ผู้เปิดดูเอกสาร เวลา ลงในเอกสาร
เนื่องจากเวชระเบียนเป็นข้อมูลที่ต้องการความปลอดภัย และ ป้องกันการเผยแพร่ข้อมูล

โดยปรับปรุง php ที่ใช้เปิดเอกสาร (pdfstamp_cmd เป็น freeware บน window ) 

โค๊ด: PHP
  1. <?
  2. //หา ip  ของเครื่องที่ดูแสกนชาร์ท = $_SERVER["REMOTE_ADDR"]
  3. //กรณีมี Proxy = $_SERVER["REMOTE_ADDRHTTP_X_FORWARDED_FOR"];
  4. if(($_SERVER["REMOTE_ADDR"]<>"192.168.0.40") and ($_SERVER["REMOTE_ADDR"]<>"")){
  5. $req_ip=$_SERVER["REMOTE_ADDRHTTP_X_FORWARDED_FOR"];
  6. }else{
  7. $req_ip=$_SERVER[""];
  8. }
  9.  
  10. //connect HOS database
  11. $link = mysql_connect('192.168.0.50', 'username', 'passwd')
  12.     or die('Could not connect: ' . mysql_error());
  13. //echo 'Connected successfully';
  14. mysql_select_db('hos') or die('Could not select database');
  15. //หา user ที่ online
  16. $query = "SELECT kskloginname FROM onlineuser where computername='".$req_ip."' ";
  17. $result = mysql_query($query) or die('Query failed: ' . mysql_error());
  18. $line = mysql_fetch_row($result);
  19. $hosxpuser = $line[0];
  20. //ตรวจสอบสิทธิการดู ในที่นี้ คือ admin, View_EMR
  21. //ในอนาคตถ้ามีสิทธิ สำหรับดูแสกนชาร์ท ต่างหาก ก็มากำหนดตรงนี้
  22. $query1 = "SELECT accessright FROM opduser where loginname='".$hosxpuser."' ";
  23. $result1 = mysql_query($query1) or die('Query failed: ' . mysql_error());
  24. $line1 = mysql_fetch_row($result1);
  25. $accessright = $line1[0];
  26. //ถ้าสิทธิถูกต้อง
  27. if(ereg("ADMIN",$accessright) or ereg("View_EMR",$accessright)){
  28.         $an = $_REQUEST["an"];
  29.         $folder = "25".substr($an,0,2);
  30.         $chartfile= "H:\\inpatient_ipd_card/".$folder."/".$an.".pdf";
  31.         //ตรวจสอบว่า มีเอกสารที่แสกนอยู่?
  32.         if (!file_exists($chartfile)) {
  33.                 echo "ไม่พบเอกสารสแกนที่ต้องการ";
  34.         }else{
  35.                 header('Content-type: application/pdf');
  36.                 $tempscan = "H:\\temp_chart\\scan.pdf";
  37.                 $showfile = "H:\\temp_chart\\scanW.pdf";
  38.                 $chartfile= "H:\\inpatient_ipd_card\\".$folder."\\".$an.".pdf";
  39.                 //copy chart ไปยัง folder ที่จะ stamp pdf
  40.                 $cmd1 = "copy $chartfile $tempscan";
  41.                 shell_exec($cmd1);
  42.                 $time_req = date("d/m/Y H:i:s");
  43.                 //stamp pdf รายละเอียด AN user เวลาที่เรียกดู
  44.                 $cmd2 = "pdfstamp -PDF \"$tempscan\" -o \"$showfile\"   -AT \"AN $an chart \\n Request by $hosxpuser \\n At $time_req \" -p9 -R45 -Opacity30 -fn300 -FS20 -C#44cc88 ";
  45.                 shell_exec($cmd2);
  46.                 //load fileที่ stamp แล้ว ไปแสดงผ่านเวบ
  47.                 readfile ($showfile);
  48.                
  49.                 //เก็บ log เป็น text
  50.                 $myFile = "H:\\charts\\viewhx.txt";
  51.                 $fh = fopen($myFile, 'a') or die("can't open file");
  52.                 $stringData = "AN $an chart Request by $hosxpuser $req_ip At $time_req\n" ;
  53.                 fwrite($fh, $stringData);                              
  54.         }
  55. }else{
  56. //กรณีไม่พบ useronline ใน hosxp
  57. echo " ไม่มีสิทธิเปิดดูเอกสาร : no access right";
  58. }
  59. ?>
« แก้ไขครั้งสุดท้าย: กรกฎาคม 13, 2009, 11:31:54 AM โดย nummon »
<a href=http://www.srisangworn.go.th>โรงพยาบาลศรีสังวรสุโขทัย</a>
Hosxp : 3.54.2.15
SERVER :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.1   Mysql  5.1.23-rc
SLAVE-I :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.2   Mysql  5.1.45 (Mysql Replication)
เริ่ม  4 สิงหาคม 2549  ขึ้นระบบ : อ.ชัยพร และ ทีม BMS

ออฟไลน์ por

  • Hero Member
  • *****
  • กระทู้: 1,087
  • เพราะว่าเธอคือดวงใจของฉัน
  • Respect: 0
    • ดูรายละเอียด
    • Blog Adminpor
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #1 เมื่อ: กรกฎาคม 13, 2009, 15:40:39 PM »
0
ขอบคุณครับ แต่   
ทำอย่างไรครับ
adminpor
ICT @ Office of Public Health.Nakhonsi Province.
Mobile.083-1740976
Office.075-343409 to 106

ออฟไลน์ nummon

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
    • SrisangwornSukhothai Hospital
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #2 เมื่อ: กรกฎาคม 13, 2009, 16:04:22 PM »
0
ขอบคุณครับ แต่  
ทำอย่างไรครับ

กระทู้นี้ต่อมาจาก
การดูเวชระเบียนที่ scan เก็บไว้

เป็นการปรับปรุง view_chart.php
โดยเพิ่มการ stamp pdf เข้าไป โดยแตกโปรแกรมไว้ใน โฟลเดอร์เดียวกับ view_chart.php ครับ
(code php และ pdfstamp_cmd ที่กล่าวนี้ทำงานบน Xampp บน windows
เนื่องจากเก็บข้อมูลscan ไว้บน windows server)
« แก้ไขครั้งสุดท้าย: กรกฎาคม 13, 2009, 16:06:36 PM โดย nummon »
<a href=http://www.srisangworn.go.th>โรงพยาบาลศรีสังวรสุโขทัย</a>
Hosxp : 3.54.2.15
SERVER :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.1   Mysql  5.1.23-rc
SLAVE-I :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.2   Mysql  5.1.45 (Mysql Replication)
เริ่ม  4 สิงหาคม 2549  ขึ้นระบบ : อ.ชัยพร และ ทีม BMS

ออฟไลน์ anukul

  • Hero Member
  • *****
  • กระทู้: 1,363
  • Respect: +1
    • ดูรายละเอียด
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #3 เมื่อ: กรกฎาคม 13, 2009, 16:41:37 PM »
0

เป็นการปรับปรุง view_chart.php
โดยเพิ่มการ stamp pdf เข้าไป โดยแตกโปรแกรมไว้ใน โฟลเดอร์เดียวกับ view_chart.php ครับ
(code php และ pdfstamp_cmd ที่กล่าวนี้ทำงานบน Xampp บน windows
เนื่องจากเก็บข้อมูลscan ไว้บน windows server)

เยี่ยมมากเลยครับ แต่....

แสดงว่า นำไปวางใน LINUX server ไม่ได้ใช่มั๊ยครับ  พอดีไปดูหน้า download บอกเป็น shareware บน windows เลยไม่แน่ใจว่าตัวเดียวกันหรือเปล่า

Download pdfstamp_cmd.zip (1.68 MB)
Select a download mirror:
Regnow Mirror (recommended) - about?
Download Link 1
Download Link 2
or Buy the full version ($59)
 
รพ.มะการักษ์ 260 เตียง
เริ่มระบบ 1 ธค 48 (ทีม MN)
Database structure :HOSxP 3.55.9.21b
Client : 3.55.6.8-3.55.9.21b
Server : Double QuadCore XEON 3.2 G. ECC 18 G. SAS 146 G x4(Raid 5) -- CentOS 5.3 (64 bit) , MySQL 5.1.30 percana
Client : Win2000 ~ 200 clients
Module :
OPD -Register,Screening,Doctor,Dispense,Billing,Dentist,PMMR
IPD - Admit center,Ward,Nutrition,Dispense,LR,OR
LAB , X-ray
การเชื่อมต่อ : LIS             --> RAX
                    X-ray PACS --> Infinitt (ThaiGL)

doramon

  • บุคคลทั่วไป
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #4 เมื่อ: กรกฎาคม 13, 2009, 16:56:47 PM »
0
สุดยอดครับ

ออฟไลน์ yord

  • Hero Member
  • *****
  • กระทู้: 1,952
  • PATTANI HOSPITAL
  • Respect: +2
    • ดูรายละเอียด
    • http://www.pattanihos.com
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #5 เมื่อ: กรกฎาคม 13, 2009, 17:56:26 PM »
0
ขอบคุณครับ ;D
สุดยอดจริงๆ :o
Mr.Yordying Kongkachan (yord02@gmail.com)
ADMIN PATTANI HOSPITAL  http://www.pattanihos.com
เริ่มใช้ HOSxP พฤศจิกายน 2549
(Master)IBM X3650 M3 QuardCord 3.06 1 CPU 20 GBs. of Ram (up to 68 GBs 29/06/56)
Linux 64bit MySQL 5.5.21 64bit (ด้วยความช่วยเหลือของ อ.บอยครับ)
(Slave1)HP ProLiant ML350 G6 Xeon E5530 2.04 20 GBs. Ram (up to 54 GBs 27/06/56)
Linux 64bit MySQL 5.1.30 64bit Database v.3.56.4.9 (29/06/56) client v.3.56.3.19

ออฟไลน์ nummon

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
    • SrisangwornSukhothai Hospital
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #6 เมื่อ: กรกฎาคม 13, 2009, 18:01:32 PM »
0
เยี่ยมมากเลยครับ แต่....

แสดงว่า นำไปวางใน LINUX server ไม่ได้ใช่มั๊ยครับ  พอดีไปดูหน้า download บอกเป็น shareware บน windows เลยไม่แน่ใจว่าตัวเดียวกันหรือเปล่า

Download pdfstamp_cmd.zip (1.68 MB)
Select a download mirror:
Regnow Mirror (recommended) - about?
Download Link 1
Download Link 2
or Buy the full version ($59)
 

pdfstamp_cmd เป็นโปรแกรมบนwindow ตัวที่รันมี pdfstamp.exe กับ  dll อีก 3 ไฟล์
พยายามหาอะไรที่ทำอย่างนี้ได้ บนLinuxเหมือนกัน แต่ยังไม่พบ

คงเป็น shareware แต่ไม่ได้จำกัดการใช้  stamp ทุกหน้า
ยกเว้นตรงท้ายกระดาษจะมีโฆษณาโปรแกรม 2 บรรทัดถ้ายังไม่ regist

Limitations in the trial version
 Insert a watermark in the every page in the stamped PDF file, this watermark will be removed
in the purchased version.
http : //www.verypdf.com/pdfstamp/pdfstamp_cmd/pdfstamp_manual_cmd.htm
PDF Stamp Command Line software - Batch add BMP, JPEG, TIFF, PNG images
« แก้ไขครั้งสุดท้าย: กรกฎาคม 13, 2009, 19:33:49 PM โดย nummon »
<a href=http://www.srisangworn.go.th>โรงพยาบาลศรีสังวรสุโขทัย</a>
Hosxp : 3.54.2.15
SERVER :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.1   Mysql  5.1.23-rc
SLAVE-I :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.2   Mysql  5.1.45 (Mysql Replication)
เริ่ม  4 สิงหาคม 2549  ขึ้นระบบ : อ.ชัยพร และ ทีม BMS

ออฟไลน์ thannawe

  • Hero Member
  • *****
  • กระทู้: 2,904
  • Respect: +8
    • ดูรายละเอียด
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #7 เมื่อ: กรกฎาคม 13, 2009, 18:08:40 PM »
0
 ;D :D
กิจจา ชาญธัญกรรม
นักวิชาการคอมพิวเตอร์ชำนาญการ รพ.โพธาราม จ.ราชบุรี
็HOSxP XE

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,357
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #8 เมื่อ: กรกฎาคม 13, 2009, 20:06:41 PM »
0
แจ่มมาก ๆ เลย  :D :D :D :D :D
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ armds

  • Hero Member
  • *****
  • กระทู้: 1,084
  • armds
  • Respect: +10
    • ดูรายละเอียด
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #9 เมื่อ: กรกฎาคม 13, 2009, 20:21:41 PM »
0
สุดยอดครับ 

บน linux  ก็มีครับ   ใช้ตัวนี้ก็ได้ครับ  thaipdfclass_a5.php
แต่ทำลายน้ำ  ยังไม่เคยทำ  แต่จะลองทำดูนะครับ 
ลองเอาไปปรับ ใช้ดูก็ได้นะครับ  ( อันนี้บน  linux  และ window ก็ได้ ครับ)

<?
require('thaipdfclass_a5.php');
include"config_pdf.php";
$sql="select r.*,s.*,concat(t.name)as titlename,concat(ti.name)as tumbonname from rcpt_form  r left join society_cremation s on r.name=s.id_cremation left join title t on t.title=s.title left join tumbon ti on ti.tumbon=s.tumbon where r.id='$id' ";
$result=mysql_query($sql);
$row=mysql_fetch_object($result);

$pdf=new ThaiPDF($orientation='P',$unit='mm',$format='a5');
$pdf->SetThaiFont();

$pdf->AddPage();

$pdf->SetFont('AngsanaNew','B',14);
$pdf->SetTextColor(0,0,0);
$pdf->Ln(1);
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',14);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'ใบเสร็จรับเงิน',0,2,'C');
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'เล่มที่           ',0,2,'R');
$pdf->Cell(0,0,$row->code,0,2,'R');
$ex=explode("-",$row->date);
           $yy=$ex[0]+543;
           $mm=$ex[1];
           $dd=$ex[2];
if($mm<10){
$mm=substr($mm,1,1);
}
$pdf->Cell(0,0,'  วันที่   '.$dd.' '.$thaimonth[$mm].' '.$yy.' ',0,2,'C');
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'เลขที่           ',0,2,'R');
$pdf->Cell(0,0,$row->number,0,2,'R');

$pdf->Ln(1);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
if($row->fname==""){
$pdf->Write(1,'ได้รับเงินจาก   ........................................................................  เลขประจำตัว : '.$row->id_cremation.'   ต. '.$row->tumbonname.'   หมู่:'.$row->moopart.' ');
}else{
$pdf->Write(1,'ได้รับเงินจาก     '.$row->titlename.' '.$row->fname.'  '.$row->lname.'    เลขประจำตัว : '.$row->id_cremation.'   ต. '.$row->tumbonname.'   หมู่:'.$row->moopart.' ');
}
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'รายการ                                                                                             จำนวนเงิน  ',0,2,'R');
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'1. เงินค่าสมัคร',0,2,'L');
$pdf->Cell(0,0,sprintf("%.02f",$row->slip1).'      ',0,2,'R');
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'2. เงินค่าบำรุงประจำปี  '.$row->year_slip,0,2,'L');
$pdf->Cell(0,0,sprintf("%.02f",$row->slip2).'      ',0,2,'R');
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'3. เงินสงเคราะห์ล่วงหน้าศพ ละ  '.$row->bodytype.'  บาท  จำนวน '.$row->body.'  ศพ ',0,2,'L');
$pdf->Cell(0,0,sprintf("%.02f",$row->slip3).'      ',0,2,'R');
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'4. อื่น ๆ ',0,2,'L');
$pdf->Cell(0,0,sprintf("%.02f",$row->slip4).'      ',0,2,'R');
$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','BU',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'  รวมทั้งสิ้น  (  '.num2thai(sprintf("%.02f",$row->sumtotol)).'  )                                                                    '.sprintf("%.02f",$row->sumtotol).'      ',0,2,'R');
//ผู้รับเงิน
$pdf->Ln(10);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$sql_name_money="select * from name_money where name_money='$row->name_money'";
           $result_name_money=mysql_query($sql_name_money);
           $row_name_money=mysql_fetch_object($result_name_money);
//ผู้รับเงิน
 $sql_name_manager="select * from name_manager where name_manager='$row->name_manager'";
           $result_name_manager=mysql_query($sql_name_manager);
           $row_name_manager=mysql_fetch_object($result_name_manager);
         //  echo $row_name_manager->name;
$pdf->Cell(0,0,'(   '.$row_name_money->name.'   )                                                                                             (  '.$row_name_manager->name.'  )     ',0,2,'C');

$pdf->Ln(5);
$pdf->SetFont('AngsanaNew','',12);
$pdf->SetTextColor(0,0,0);
$pdf->Cell(0,0,'                     ผู้รับเงิน                                                                                            กรรมการผู้ได้รับมอบอำนาจ      ',0,2,'C');

//$pdf->Cell(0,0,'ตัวอย่างรูปภาพ',0,1,'C');
//$pdf->Image('002.png',85,252,40,30);
$pdf->Output();
echo "<script language='javascript'>    window.print();    </script>";
?> 
« แก้ไขครั้งสุดท้าย: กรกฎาคม 13, 2009, 20:44:22 PM โดย armds »
โรงพยาบาลสมเด็จพระยุพราชด่านซ้าย จ.เลย
ขนาด 60 เตียง นวก. คอมพิวเตอร์ ขึ้นระบบ ปี 2548
ขอบคุณ อ.ชัยพร อ.สุชัย อ.เดชา อ.doreamon อ.naj อ.ขวด และอ.ในเว็บ hosxp.net ทุกท่าน

ออฟไลน์ vniwat

  • Sr. Member
  • ****
  • กระทู้: 338
  • Respect: +3
    • ดูรายละเอียด
    • www.bandunghospital.com
Re: ทำลายน้ำให้เอกสารแสกนผู้ป่วยใน
« ตอบกลับ #10 เมื่อ: ตุลาคม 22, 2009, 07:55:04 AM »
0
ตามต่อครับคุณน้ำมน
นิวัฒน์ วงศ์ประทุม เจ้าพนักงานเวชสถิติ รพร.บ้านดุง จ.อุดรธานี
HOSxP ver 3.0
ขึ้นระบบ 1 เม.ย.51
HOSxP XE4.0
ขึ้น ระบบ บ.BMS 1 ตุลาคม 2558