วันเสาร์, กันยายน 17, 2548
เวบรีพอร์ต Update แล้ว (patch level 1)
พึ่งได้รับการ Feed Back จากยูสเซอร์อย่างเป็นเรื่องเป็นราว เมื่อวันศุกร์ที่ผ่านมานี้เองว่า รายงานแสดงสถานะของผู้ป่วยในทั้งหมด นั้นหน่ะยังไม่ถูกใจ ว่างั้น ก็ถามว่าเป็นอย่างไร ต้องการอะไรเพิ่มเติม ก็อายุแสดงไม่ครบอ่ะเด่ มีแต่ ปี ขาด เดือน กะวันไป เพิ่มให้หน่อยแล้วเธอ ก็จากปายยยย
อ๋อได้ จัดให้ จะไปยากอะไร ก็เพียงแต่เปลี่ยนฟังก์ชั่นที่ใช้ในการคำนวณอายุ จาก calage3 เป็น calage2 ซะก็สิ้นเรื่อง เจ้า calage2 นี้ก็ได้รับความอนุเคราะห์จากสุรชัย ต่อวงศ์อีกแล้วเขียนให้ ต้องขอขอบใจในความเอื้ออาทรอีกครั้ง เป็นฟังก์ชั่นที่รับค่าพารามิเตอร์มาสองค่าคือ t_visit.visit_begin_visit_time กับ t_patient.patient_birthday แล้วก็เอาไปคำนวณรีเทอร์นค่าออกมาเป็นเทกซ์ (ปี เดือน วัน) หน้าตาเป็นอย่างนี้ครับ
ส่วนวิธีการอัพเดทคือ
เห็นว่าเป็นจุดที่ค่อนข้างสำคัญก็เลยรีบมาบอกกล่าวกันตั้งแต่เนิ่นๆ เพื่อความสะดวกในการเลือกดู เลือกใช้กันน่ะครับ
แสดงความคิดเห็น
Powered for อ๋อได้ จัดให้ จะไปยากอะไร ก็เพียงแต่เปลี่ยนฟังก์ชั่นที่ใช้ในการคำนวณอายุ จาก calage3 เป็น calage2 ซะก็สิ้นเรื่อง เจ้า calage2 นี้ก็ได้รับความอนุเคราะห์จากสุรชัย ต่อวงศ์อีกแล้วเขียนให้ ต้องขอขอบใจในความเอื้ออาทรอีกครั้ง เป็นฟังก์ชั่นที่รับค่าพารามิเตอร์มาสองค่าคือ t_visit.visit_begin_visit_time กับ t_patient.patient_birthday แล้วก็เอาไปคำนวณรีเทอร์นค่าออกมาเป็นเทกซ์ (ปี เดือน วัน) หน้าตาเป็นอย่างนี้ครับ
CREATE OR REPLACE FUNCTION calage2(date, date)
RETURNS text AS
'
DECLARE
mm INTEGER := 0;
dd INTEGER := 0;
y INTEGER := 0;
m INTEGER := 0;
d INTEGER := 0;
age TEXT := \'\';
BEGIN
dd := $1-$2;
IF ( dd>365 OR dd=365 )
THEN
y := dd/365;
ELSE
y := 0;
END IF;
mm := dd-y*365;
IF ( mm>30 OR mm=30 )
THEN
m := mm/30;
ELSE
m := 0;
END IF;
d := mm-m*30;
IF y > 0
THEN
age := y|| \' ปี \';
END IF;
IF m > 0
THEN
age := age||(m|| \' เดือน \');
END IF;
IF d > 0
THEN
age := age||(d|| \' วัน \');
END IF;
IF d = 0
THEN
age := age||(d|| \' วัน \');
END IF;
RETURN age;
END;
'
LANGUAGE 'plpgsql' VOLATILE;
ส่วนวิธีการอัพเดทคือ
- ดาวน์โหลดฟังก์ชั่น calage2 ได้ ที่นี่
- upload function ขึ้นไปบนเซอร์เวอร์ โดยวิธีไหนก็ได้
- ยัดฟังก์ชั่นเข้าไปในฐานข้อมูล โดย
postgres@host:/home/postgres $ psql your_database < calage2.fnc.sql
- สำหรับท่านที่นึกไม่ออกว่ามีฟังก์ชั่นนี้อยู่แล้วหรือไม่ก็ไม่ต้องเป็นห่วงอะไรนะครับ เพราะว่าถ้ามีแล้วก็จะทำการอัพเดทให้ แต่ถ้าไม่มีก็จะสร้างใหม่ให้เลย แต่แนะนำให้ทำการอัพเดทซะเนื่องจากว่ามีการแก้ไขเพิ่มเติมอีกเล็กน้อยตามตัวแดง ที่เพิ่มเข้าไป เนื่องจากว่าทดสอบแล้วพบว่าทารกแรกคลอดที่บันทึกวันเดือนปีเกิดเป็นวันเดียวก็บที่ admit เข้าไป ถ้าเป็น calage2 ตัวเดิมอายุจะไม่แสดงออกมา (Bug) จึงต้องเพิ่มเงื่อนไขเข้าไปอีก 3-4 บรรทัดเพื่อให้การคำนวณอายุมีความเที่ยงตรงยิ่งขึ้น
- แก้ไขไฟล์ HospitalOSReport/inc/showReport_showIPD_2.inc.php อีกสี่บรรทัดดังนี้
จุดแรกคือบรรทัดที่ 52 เปลี่ยนจาก calage3 เป็น calage2
จุดที่สองอยู่ทีบรรทัด 168 มีข้อความดังนี้
bgcolor="90AEE5" style="text-align: center;width: 50px;">อายุ
แก้ให้เป็น
bgcolor="90AEE5" style="text-align: center;width: 150px;">อายุ
อีกสองที่คือบรรทัดที่ 234 กับ 288 แก้ตัวเลข 50 ให้เป็น 150 เหมือนกัน แต่สำหรับท่านที่ต้องการใช้อายุแบบสั้นก็ไม่จำเป็นต้องแก้ไขอะไรอีกนะครับ การแก้ไขนี้เฉพาะผู้ที่ต้องการให้การแสดงอายุเป็นแบบยาวเท่านั้น ก็เลือกกันเอาตามสะดวกนะครับ ว่าต้องการแสดงอายุเป็นแบบสั้น (calage3) หรือแบบยาว (calage2)
เห็นว่าเป็นจุดที่ค่อนข้างสำคัญก็เลยรีบมาบอกกล่าวกันตั้งแต่เนิ่นๆ เพื่อความสะดวกในการเลือกดู เลือกใช้กันน่ะครับ
แสดงความคิดเห็น


Copyright ? 2008-2009 Uthai Lueadnakrop. All Rights reserved