HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul...

57
HOSxP Enterprise Hospital Information System Report manual Volume 4

Transcript of HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul...

Page 1: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

HOSxP

Enterprise Hospital Information System

Report manual

Volume

4

Page 2: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

H O S X P

Report manual

Chaiyaporn Suratemekul

Revision 1.0 January 2008 Revision 0.1 December 2004

Page 3: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

คานาคานาคานาคานา

หนงสอเลมน% จดทาข%นเพ.อใชประกอบการอบรมผดแลระบบ HOSxP โดยเน%อหาประกอบไปดวยหวขอท.เก.ยวของและจาเปนตองใชในการดแลระบบ HOSxP ซ. งขาพเจาหวงเปนอยางย.งวาผท.ไดรบการอบรมจะสามารถนาความรท.ไดรบ ในงานท.ตนเองรบผดชอบไดอยางมประสทธภาพ

ชยพร สรเตมยกล

Page 4: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

สารบญสารบญสารบญสารบญ การเขาใชงานระบบรายงานการเขาใชงานระบบรายงานการเขาใชงานระบบรายงานการเขาใชงานระบบรายงาน 2

การใช การใช การใช การใช VariableVariableVariableVariable 16

การใชงานระบบ การใชงานระบบ การใชงานระบบ การใชงานระบบ Sub ReportSub ReportSub ReportSub Report 29

การสราง การสราง การสราง การสราง Crosstab reportCrosstab reportCrosstab reportCrosstab report 39

การสราง การสราง การสราง การสราง Custom ReportCustom ReportCustom ReportCustom Report 45

การการการการ Downoad Downoad Downoad Downoad รายงานใหมๆ จาก รายงานใหมๆ จาก รายงานใหมๆ จาก รายงานใหมๆ จาก Web Web Web Web Report Report Report Report

CentralCentralCentralCentral 51

Page 5: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การการการการเขาใชงานระบบรายงานเขาใชงานระบบรายงานเขาใชงานระบบรายงานเขาใชงานระบบรายงาน

OSxP มระบบรายงานท.แยกออกมาโดยเฉพาะ ซ. งแบบฟอรมของรายงานตางๆ จะถกเกบไวในฐานขอมล การแกไขรายงานใดๆ จะมผลกบทกเคร.องท.ใชงาน

รายงานจะแบงออกเปน 2 กลมหลกๆ คอ รายงานท.เปน System Report และรายงานท.เปน Custom Report ซ. งผดแลสามารถเขาไปแกไขรายงานในกลมใดๆ กได

การเขาใชงานระบบรายงาน มข%นตอนดงน%

Chapter

1

H

เลอก Report Designer จาก Start Menu -> Programs -> HOSxP

Page 6: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

ใส รหส Login และ Password (ของ Administrator)

เลอกคาส.ง ออกแบบรายงาน จากเมน ระบบรายงาน

กดปม Next เพ.อไปยงหนาถดไป

Page 7: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

Tab เลอกระหวาง System Report กบ Custom Report

เลอกช.อรายงานท.ตองการแกไข

ช.อรายงานท.กาลงเลอก

ชดคาส.งท.ใชในการดงขอมลมาทารายงาน

กด Next เพ.อไปยงหนาถดไป

หนาจอชดคาส.ง SQL สามารถแกไขได

Parameter ท.ต%งไว จะเปนตวสน% าเงน

Parameter list แสดงชวงของ Parameter ท.ไดต%งไว

Tab ยอยไดแก SQL, Script และ Reference

Page 8: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

ท.ชอง SQL ผออกแบบสามารถแกไขชดคาส.งเดมได โดยทกคร% งท.แกไข Parameter จะถก Clear ออกเสมอ ดงน%นกอนจะแกไข จะตองจาไดวา ชดคาส.งเดมไดต%งคา Parameter ไวตรงใหนบาง (ตวท.ต%งไว เปน Parameter จะแสดงเปนตวสน%าเงน) โดยเม.อแกไขชดคาส.ง SQL แลวสามารถสราง Parameter ไดตามข%นตอนดงน%

ใชเมาสทาการ Drag ตรงตวอกษรท.ตองการสราง Parameter ซ.งเม.อทาแลวจะปรากฎเปนแถบสดา

กดปม + ท.ดานบน เพ.อเปนการต%งคา Parameter จากการเลอกตวอกษร

Page 9: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

Parameter ท.ต%งไวจะปรากฎใน List View ดานลาง

กด Next เพ.อไปยงหนาจอถดไป

แสดงขอมลท.ไดจากคาส.ง SQL หนาท.แลว กดปม Design เพ.อทาการออกแบบรายงาน

Page 10: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

จะปรากฎหนาจอออกแบบรายงานดงรปดานลาง

Tool Bar ท.ใชในการเลอก Tool ทารายงาน

หนาจอแสดง ตวอกษรตางๆท.ไดจดตาแหนงไว สามารถปรบตาแหนงได

Tab เลอกแสดงรายงาน

การกด Tab Preview จะแสดงตวอยางรายงานท.จะถกพมพออกมา

Page 11: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

เม.อใช Mouse คลกท. Object ใดๆ ตรง Tool Bar กจะแสดงตวอกษรท. Object น%นๆ แสดงอย และสามารถแกไขได ท%งตวอกษร และ แบบตวอกษรรวมท%งขนาด

ในกรณท.เลอก Object ท.เปน Data Control ขอมลท.แสดงบน Tool Bar กจะเปล.ยนไป โดยจะปรากฎใหเลอก Field ของขอมลท.ตองการแสดงเพ.มข%นมา

Page 12: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

ผออกแบบสามารถเปล.ยนขอมล (field) ท.จะแสดงออกตรง Object ท.เลอกได

กด close เม.อ ออกแบบเสรจแลว

กด Save Report เพ.อทาการบนทกรายงานท.ไดออกแบบไวแลว ใหจดเกบไวในฐานขอมล

Page 13: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

ตวอยางคาส�ง SQL ท�ใชในการทารายงาน

จงแสดงรายช.อผปวยท.มช.อแรกวา สมชาย

SELECT * FROM patient WHERE fname = ' สมชาย'

จงแสดงรายช.อผปวยท.มนามสกลวา แขงขน แสดงเฉพาะ HN,ช.อ,นามสกล SELECT hn,pname,fname,lname FROM patient WHERE lname = ' แขงขน'

จงแสดงรายช.อผปวย ท.อยท.จงหวด กรงเทพมหานคร แสดงเฉพาะ HN, ช.อ, นามสกล (เปดตาราง thaiaddress ดรหสจงหวด) SELECT hn,fname,lname FROM patient WHERE chwpart='??'

แสดงรายช.อผปวยท.มช.อ เหมอน สม

SELECT * FROM patient WHERE fname LIKE ' สม%' SELECT COUNT(*) FROM patient WHERE fname LIKE ' สม%' SELECT sex,pname,count(*) FROM patient WHERE fname LIKE ' สม%' GROUP BY sex,pname SELECT * FROM patient

การรวม Character ใช function CONCAT SELECT hn,CONCAT(pname,fname,' ',lname) FROM patient WHERE fname LIKE ' สม%'

การ ต%งช.อ column ใช AS SELECT CONCAT(pname,fname,' ',lname) as NAME FROM patient WHERE fname LIKE ' สม%'

Page 14: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

การระบ Field ท.เปน วนท. ใชรปแบบ yyyy-mm-dd (ป ค.ศ.) เชน '2004-01-11' จงแสดงผท.เกดวนท. 10 กมภาพนธ 2510 SELECT * from patient where birthday = '1967-02-10'

จงแสดงผมารบบรการในวนท. 10 สงหาคม 2547 แสดงเฉพาะ HN, ช.อ, เวลาท.มารบบรการ,ประเภทโรค, วนเกด, ช.อประเภทโรค ในชวงเวลา 08.00 - 10.00 น. เฉพาะ ประเภท อายรกรรม, จกษ , สตกรรม SELECT ovst.hn,ovst.vsttime,ovst.spclty, concat(patient.fname,' ',patient.lname) as patient_ name, patient.birthday , spclty.name FROM ovst LEFT OUTER JOIN patient on patient.hn=ovst.hn LEFT OUTER JOIN spclty on spclty.spclty=ovst.spclty WHERE ovst.vstdate = '2004-08-10' AND ovst.vsttime >= '08:00:00' AND ovst.vsttime <= '10:00:00' AND ovst. spclty IN ( '01' , '07' , '03' ) ORDER BY spclty.name

จงหาวาในวนท. 20 กรกฎาคม 2547 มผมารบบรการในประเภทโรคตางๆ ก.คร% ง การตดขอมลซ% ากนออกใช DISTINCT เชน count(distinct hn) จงหาวา ในเดอน สงหาคม มผปวยมารบบรการ ก.คน จงหาวา ในเดอน สงหาคม มผปวยมารบบรการ ก.คร% ง SELECT count(distinct hn) from ovst where vstdate between '2004-08-01' and '2004-08-31' SELECT count(hn) from ovst where vstdate between '2004-08-01' and '2004-08-31'

จงหาวา ในเดอน สงหาคม มผปวยมารบบรการใหมในป ก.คน

จงหาวา ในเดอน สงหาคม มผปวยมารบบรการใหมในเดอน ก.คน SELECT count(distinct hn) from vn_stat where vstdate between '2004-08-01' and '2004-08-31' AND count_in_year = 0

จงหาวา ในเดอน สงหาคม มผปวย Admit ก.คน (ipt) จงหาวา ในเดอน สงหาคม มผปวย Admit ก.คร% ง (ipt)

จงหาวาในเดอนสงหาคม 2547 มผปวยเปนโรคตางๆ อะไรบาง ก.คร% ง (แสดง pdx,จานวน) เรยงลาดบ แสดง 20 รายการแรก (จากมากไปนอย) (vn_stat) ORDER BY ... DESC

Page 15: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

SELECT pdx,count(*) as pdx_count FROM vn_stat WHERE vstdate between '2004-08-01' and '2004-08-31' GROUP BY pdx ORDER BY pdx_count DESC LIMIT 20

แสดงช.อโรคดวย (icd101) SELECT v.pdx,i.name,count(v.pdx) as pdx_count FROM vn_stat v LEFT OUTER JOIN icd101 i on i.code=v.pdx WHERE v.vstdate between '2004-08-01' and '2004-08-3 1' GROUP BY v.pdx,i.name ORDER BY pdx_count DESC LIMIT 20

การแสดงท.อย โดยการทา multiple join SELECT p.hn,p.fname,p.lname, t1.name as chw_name, t2.name as amp_name, t3.name as tmb_name FROM patient p LEFT OUTER JOIN thaiaddress t1 on t1.chwpart=p.chwp art and t1.codetype='1' LEFT OUTER JOIN thaiaddress t2 on t2.chwpart=p.chwp art and t2.amppart=p.amppart and t2.codetype='2' LEFT OUTER JOIN thaiaddress t3 on t3.chwpart=p.chwp art and t3.amppart=p.amppart and t3.tmbpart=p.tmbpart and t3.codetype='3' WHERE p.fname LIKE ' สมช%'

จงหาจานวนของผปวยท.อยในตาบลตางๆ ใน อ.โพธาราม แยกเปน รหสตาบล,ช.อตาบล , จานวนผปวยในตาบล SELECT p.tmbpart,count(p.hn) as patient_count, t.name as tmb_name FROM patient p LEFT OUTER JOIN thaiaddress t on t.chwpart=p.chwpar t AND t.amppart=p.amppart AND t.tmbpart=p.tmbpart AND t.codetype='3' WHERE p.chwpart='70' AND p.amppart='07' GROUP BY p.tmbpart,t.name

จงหาคาใชจายท%งหมดของผปวยนอกท.มาใชบรการในเดอน สงหาคม (vn_stat.income) select sum(income) from vn_stat where vstdate betwe en '2004-08-01' and '2004-08-31'

Page 16: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

จงหาวาโรคอะไรท.มคาใชจายรวมแลวมากท.สด ของเดอนสงหาคม (vn_stat.main_pdx, vn_stat.income) SELECT main_pdx,sum(income) as sum_income FROM vn_stat WHERE vstdate between '2004-08-01' and '2004-08-31' GROUP BY main_pdx ORDER BY sum_income DESC LIMIT 20

จงหาวาแพทยทานใดตรวจคนไขมากท.สดในเดอน สงหาคม (vn_stat.dx_doctor) SELECT dx_doctor,count(dx_doctor) as count_dx FROM vn_stat WHERE vstdate between '2004-08-01' and '2004-08-31' GROUP BY dx_doctor ORDER BY count_dx DESC LIMIT 20

และแพทยทานน% ส.งจายยา/เวชภณฑ ในเดอนสงหาคม มมลคาเทาไร select sum(inc12) from vn_stat where dx_doctor='19' and vstdate between '2004-08-01' and '2004-08-31'

จงหาวาโรคใดท.ผปวยกลบมารกษาภายใน 7 วน มากท.สดในเดอนสงหาคม (vn_stat.lastvisit) SELECT main_pdx,count(pdx) as pdx_count FROM vn_stat WHERE lastvisit <= 7 AND vstdate between '2004-08-0 1' and '2004-08-31' GROUP BY main_pdx ORDER BY pdx_count DESC LIMIT 20

ตาราง opitemrece รหสเวชภณฑ icode รายละเอยดอยในตาราง s_drugitems หรอ drugitems จงหาวายาตวใดถกส.งจายมากท.สดในเดอนสงหาคม (opitemrece.icode) select o.icode,s.name,sum(o.qty) as sum_qty from opitemrece o left outer join s_drugitems s on s.icode=o.icode where o.vstdate between '2004-08-01' and '2004-08-3 1' group by o.icode ,s.name order by sum_qty desc

Page 17: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

จงหาวายาตวใดมมลคาการใชมากท.สดในเดอนสงหาคม (opitemrece.icode)

select o.icode,s.name,sum(o.qty*o.unitprice) as sum _price from opitemrece o left outer join s_drugitems s on s.icode=o.icode where o.vstdate between '2004-08-01' and '2004-08-3 1' and o.icode like '1%' group by o.icode ,s.name order by sum_price desc

จงแสดงรายการยาและจานวน ท.มการใชในผปวยท.เปนโรคเบาหวาน ในเดอนสงหาคม select o.icode,d.name,sum(o.qty) as pay_qty from vn_stat v, opitemrece o, drugitems d where v.vstdate between '2004-08-01' and '2004-08-3 1' and v.main_pdx like 'E1%' and v.vn = o.vn and o.icode=d.icode group by o.icode,d.name order by pay_qty desc

ระยะเวลา service_time เวลาท.ลงทะเบยน = service3 เวลาพมพใบเสรจ = service7 total time = service7 - service3 ตรวจสอบขอมล แสดง select count(*),(sum((service7-service3))/count(*)) as total_time from service_time where vstdate between '2004-09-01' and '2004-09-30' and service3 is not null and service6 is not null and service6>service3 and (service7 - service3) < 18000 and service3 > '09:30:00' order by vn desc

จงหาจานวนรายการเวชภณฑยา ท.ถกจายใหผปวยใน ในเดอนสงหาคม 2547 select an,rxdate, count(icode) as icode_count from opitemrece where vstdate between '2004-09-01' and '2004-09-30' and an is not null and an <>'' and icode like '1%' group by an,rxdate

Page 18: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การตดตงโปรแกรม

Page 19: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช การใช การใช การใช VariableVariableVariableVariable

ในการออกแบบรายงาน ผออกแบบสามารถใช Variable component ใน Report designer เพ.อชวยดงขอมลมาใสในรายงานไดโดยไมตองแกไขคาส.งหลกของรายงาน และในบางกรณ Variable จะชวยแกปญหาท.วธการปกตทาไมไดหรอทาไดแตใชเวลานาน

ยกตวอยางเชน หากตองทารายงานสรปยอดการใชยาทกตวในป แยกจานวนใบส.ง และ มลคา โดยตองการแสดงผลลพทดงน% ----------------------------------------- รหส | ช.อ | จานวนใบส.ง | มลคา ----------------------------------------- คาส.งเร.มตนอาจจะเปนดงน%

SELECT i.icode,i.name,i.strength,i.units, count ( DISTINCT o.vn ) AS prescribe_count, count ( o.icode ) AS item_count, sum ( o.qty ) AS sum_qty,sum ( o.sum_price ) AS tot_price

FROM drugitems i

LEFT OUTER JOIN opitemrece o ON o.icode = i.icode

WHERE o.rxdate BETWEEN '2005-01-01' AND '2005-12-31'

GROUP BY i.icode,i.name,i.strength,i.units

Chapter

2

Page 20: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

แตปญหากคอหากขอมลท.นามาใชทารายงานมจานวนเยอะมาก ระยะเวลาท.ใชทารายงานกจะนานมากเชนเดยวกน

คราวน%มาดวา Variable จะชวยแกปญหาน%ไดอยางไร เร.มตนจากเปล.ยนคาส.งใหแสดงแคขอมลยาทกตวกอน แลวคอยไปคานวนจานวนในระบบรายงานครบ โดยการเปล.ยนคาส.งท.ใชทารายงานเปนแบบ simple แบบน%

SELECT icode,name,strength,units FROM drugitems ORDER BY name

จากน%นเอาไปเปนคาส.งสาหรบทารายงาน ดงรป

Page 21: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

ออกแบบหนาจอใหเรยบรอยดงรป แตปญหาอยท.การเอาจานวน และ มลคาของยาแตละตวมาใสในรายงาน เน.องจากคาส.ง SQL ท.ใช ไมไดดงขอมลน%มาเลย

เราจะใช Variable เขามาชวยครบ อนดบแรก วาง Variable ลงไปใน Detail Band ดงรป จากน%นคลกขวา เลอก Calculations

Page 22: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

จะปรากฎหนาตาง Calculations ดงรป

1 คอชองสาหรบเขยน Pascal cod

2 คอชองสาหรบเลอกขอมลจะเปล.ยนตาม tab ของ 3

3 คอชนดของขอมลท.จะเลอกมาใช ม 3 แบบคอ Data , Objects และ Language

Page 23: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

เลอก tab Language แลวท.ชอง 2 เลอก Math จากน%นลากแถวท.เขยนวา GetSQLIntegerData จากชอง 3 มาไวในชอง 1

Page 24: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

จากน<นแกไข pascal code ใหมใหเปนดงน<

Value := GetSQLIntegerData ( 'select count(*) as cc from opitemrece where icode="' + DBPipeline [ 'icode' ] + '" and rxdate between "2005-01-01" and "2005-12-31" ' ) ;

Page 25: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

จากน%นกดปม Ok กจะกลบมาท. Designer ใหลองคลกท. Tab preview เพ.อดตวอยาง กจะไดผลดงรป

ปกต Variable จะนาคาท.ไดจากตวแปรท.ช.อ Value ไปแสดงผล Value จะเปนตวแปรชนด Variant หมายความวาจะกาหนด datatype ใหเปนชนดไหน กได สวน Function GetSQLIntegerData เปน function ท.นาคาส.ง sql สงไปให database server ประมวลผล และสงผลท.ได field แรก จาก record แรกมา (จากคาส.งจะไดผลลพท 1 record และ 1 field)

สวน DBPipeLine['icode'] ใน function GetSQLintegerData หากระบ DBPipeLine['icode'] หมายความวา นาขอมลใน field icode ท.อยใน dataset มาใช (dataset ท.ได มาจากคาส.ง select * from drugitems ) ซ. งกข%นอยกบวา cursor ปจจบนอยตรงตาแหนงไหน ปกตตว report engine จะทาการวนจาก record แรก ไปยง record สดทาย ดงน%นคาของ DBPipeline['icode'] กจะเปล.ยนไปเร.อยๆ (จาก record แรก ไปยง record สดทาย) และควรวาง Variable ใหถกตาแหนงดวย จากตวอยางวางไวใน Detail Band

Page 26: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

ในระบบรายงานนอกจากจะเขยน variable ใหดงขอมลจากฐานขอมลมาใชงานไดแลว เรายงสามารถกาหนดใหระบบรายงานทาการสอบถามผใชใหใสวนท.และนาขอมลวนท.ๆ ผใชใสนาไปชวยประมวลผลในการทารายงานไดดวย

อนดบแรก คลกท.แทบ Calc แลวเลอกเมน View -> Module

Page 27: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

จากน%นคลกขวาท. Variables แลวเลอก New

เขยน Code ท.ชองดานลาง ดงน

var

ds1,ds2 : String ;

เพ.อประกาศตวแปรข%นมา 2 ตว ช.อ ds1 กบ ds2 เปนประเภท String (ตวอกษร) เพ.อท.จะนามาใชเกบวนท.ๆ จะใหผใชเลอกชวงวนท.ของรายงาน

Page 28: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

จากน%นในชอง Module View ใหคลกท. Events แลวคลกขวา ตรง onCreate แลวเลอก New

Page 29: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

จากน%นเขยน Code ในชองดานลาง ดงน

Procedure GlobalOnCreate;

var date1,date2 : TDateTime ;

begin

GetDateRangeDialog ( date1, date2 ) ;

ds1 := Formatdatetime ( 'yyyy-mm-dd' ,date1 ) ;

ds2 := Formatdatetime ( 'yyyy-mm-dd' ,date2 ) ;

end ;

Page 30: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

จากน%นกลบมาท. Tab Design แลวคลกขวาตรง Variable เพ.อแกไขคาส.งท.ดงขอมลมาแสดง โดยแกไขคาส.งใหเปน

Value := GetSQLIntegerData ( 'select count(*) as cc from opitemrece where icode="' + DBPipeline [ 'icode' ] + '" and rxdate between "' +ds1+ '" and "' +ds2+ '" ' ) ;

Page 31: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

สรจแลวกลองคลกท. tab Preview เพ.อทดสอบรายงาน จะปรากฎหนาตางแสดงใหผใชเลอกวนท. และเม.อผใชกดปมตกลง ระบบกจะนาขอมลตามชวงวนท.ๆ เลอกเอาไวมาทารายงาน

Page 32: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใชงานระบบ การใชงานระบบ การใชงานระบบ การใชงานระบบ Sub ReportSub ReportSub ReportSub Report

ระบบ Sub report ถกออกแบบมาเพ.อชวยในการสรางรายงานท.มลกษณะเปน Master – detail โดยตวอยางรายงานจะมลกษณะดงรป

วธการสรางรายงานแบบ sub report สามารถทาไดดงน%

เร.มตนคาส.งดวยการ Select เฉพาะขอมลท.วไปของผปวยดวยคาส.ง

select * from patient order by hn desc limit 1000

ดงรป

Chapter

3

Master / detail Report

Sub report ผปวย

รายการยา

Page 33: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

ออกแบบหนาจอรายงานดงรป

Page 34: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

เม.อลอง Preview ดตวอยางพมพ

จากน%นกลบมาท.หนาจออกแบบ ข%นตอนตอไปคอการนาขอมลรายการยาท.ผปวยใชมาใสในรายงาน โดยการนาขอมลรายการยามาใสจะนามาใสใน sub report ในBand detail ดงรป

Page 35: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

Sub report แตละตวจะมหนาตางออกแบบยอยเปนของตวเอง โดยจะแสดงเปนอก 1 tab ดานลางดงรป

และในแตละ Sub report สามารถเลอก associate กบ datapipeline ท.ไมซ% ากนได (โปรแกรมม Datapipeline ใหเลอกใช 5 ตว) การกาหนด Datapipeline ใหกบ Sub report สามารถทาไดโดยการเลอกจาก Properties ดานซายมอดงรป (ในตวอยางเลอก DatapipelineLink1)

Page 36: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

การนาขอมลมาใสใน DatapipelineLink1 ในข%นตอนการออกแบบน%นจาเปนจะตองเขยนเปนชดคาส.งใน Report โดยเขยนใน Event OnCreate ของ Report ตามข%นตอนดงรป

เลอกเมน View -> Module

Page 37: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

คลกขวาท. OnCreate แลวเลอก New จากน%นเขยน คาส.งลงในชองดานลางดงน%

procedure GlobalOnCreate;

begin

ChangeDBPipeLineLink1SQL('select icode,sum(qty ) as ‘+

‘ sum_qty,sum(sum_price) as sum_price '+

' from opitemrece where hn = "xxx" group by ic ode');

end;

Page 38: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

จากน%นเลอกเมน View – Event

แลวเลอก Band Detail คลกขวาตรง BeforePrint แลว เขยนชดคาส.งดงน%

procedure DetailBeforePrint;

begin

ChangeDBPipeLineLink1SQL('select icode,sum(qty) a s ‘+

‘ sum_qty,sum(sum_price) as sum_price '+

' from opitemrece where hn = "'+dbpipeline['hn']+' " ‘+

‘ group by icode');

end;

Page 39: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

คลกท. Tab Preview กอน 1 คร% ง

จากน%นกลบมาท. Tab design แลวเลอก Sub report 1

Page 40: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

ลบ Band title และ summary ออก

วาง DBText ลงไปแลวเลอก Field icode sum_price และ sum_qty มาแสดงดงรป

Page 41: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การใช VARIABLE

ลอง Preview Report ดอกคร% ง จะเหนวามขอมลรายการ (รหส) ยาท.ผปวยเคยใชท%งหมดแสดงข%นมาดวย

Page 42: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การสราง การสราง การสราง การสราง Crosstab reportCrosstab reportCrosstab reportCrosstab report

Crosstab report เปนรายงานท.นาขอมลมาแสดงผลในแบบหลายมต ข%นอยกบผออกแบบวาตองการนาเสนอขอมลในแตละมตใหสมพนธกนอยางไร สวนใหญจะใชสาหรบทารายงานสรปขอมลตางๆ

ตวอยางการทารายงาน Crosstab สรปคาใชจายท.แพทยตรวจรกษาผปวยแยกตามสทธการรกษา

คาส.งหลกของรายงานเปนดงน% (ขอมลท%งหมดของป 2547)

select * from vn_stat where vn like ' 47%'

Chapter

4

Page 43: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การสราง CROSSTAB REPORT

ท.หนาจอออกแบบรายงาน คลกท. Crosstab component จากน%นนามาวางไวใน Band detail

คลกขวาท. CrossTab component แลวเลอก Configure จาก Popup menu

Page 44: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การสราง CROSSTAB REPORT

หนาตางออกแบบ Crosstab report

ทาการลาก field pttype จาก field list ทางชองดานซายมอมาไวในชอง new row ดงรป

Page 45: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การสราง CROSSTAB REPORT

หลงจากลาก field pttype มาวางแลว

จากน%นลาก field dx_doctor มาไวในชอง new column ดงรป

Page 46: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การสราง CROSSTAB REPORT

หลงจากลาก dx_doctor มาวางแลว

จากน%นลาก field income มาไวใน ชอง new value ดงรป

Page 47: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การสราง CROSSTAB REPORT

ตวอยางหลงจากวาง field income แลว

จากน%นกดปม ok แลวคลกท. tab preview จะไดผลดงรป

รายงานท.ไดจะแสดงรหสสทธการรกษาไวทางดานซาย และ รหสแพทยดานบน ขอมลในแตละแถวจะเปนผลรวมของคาใชจายท.แพทยแตละทานส.งใชแยกตามสทธการรกษา

Page 48: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การการการการสราง สราง สราง สราง Custom ReportCustom ReportCustom ReportCustom Report

Custom Report คอรายงานท.ผใชงาน หรอ ผดแลระบบไดทาการสรางข%นมาใชงานเอง เน.องจากรายงานบางอยาง ทางผพฒนาอาจจะยงไมไดสรางไวให ซ. งการสราง Custom Report ตองมความรพ%นฐาน ไดแก

• ความรความเขาใจในขอมลท.ถกจดเกบโดยศกษาจาก Data Dictionary และ ER Diagram ของระบบ

• ความรความเขาใจในการใชงานชดคาส.ง SQL เพ.อใชในการดงขอมลท.ถกเกบไวในฐานขอมล

• ความรความเขาใจในการใชงานระบบ Report Designer สวนข<นตอนในการสราง Custom Report จะมดงน<

1. สรางชดคาส.งท.ใชในการดงขอมล 2. นาชดคาส.งท.ไดสรางไว ไปออกแบบ Report ในระบบ Report Designer 3. กาหนดชวงของขอมลท.ตองการใหแกไขไดในขณะทารายงาน เชน วนท.,

HN, อ.นๆ 4. ออกแบบรายงาน 5. ต%งช.อรายงานท.ตองการบนทก โดยใหใสคาวา CUSTOM- ไวหนาช.อ

รายงาน 6. บนทกรายงาน

Chapter

5

Page 49: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การ DOWNLOAD รายงาน

ตวอยางแสดงการนาขอมลท�ไดจากคาส�ง SQL มาออกแบบเปน Custom Report

สรางและทดสอบชดคาส.ง ท.จะทารายงานในหนาจอ SQL Query จากน%น copy คาส.งท.ใชไว ใน clipboard (Ctrl+C)

เขาระบบรายงาน และเลอกรายงานใดๆ กไดท.ตองการใชเปนแมแบบ

Page 50: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การ DOWNLOAD รายงาน

ลบคาส.ง SQL เดมออก และนาคาส.งใหมมาวางไวทบของเดม และสราง Parameter ไว (จากตวอยาง ใช วนท.เปนคา Parameter)

ออกแบบรายงานใหเรยบรอย

Page 51: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การ DOWNLOAD รายงาน

เม.อไดทาการสราง Custom Report ไวแลว สามารถเรยกมาใชงานไดจาก โปรแกรม HOSxP โดยเลอกจากคาส.ง Custom Report ดงรปดานลาง

ต%งช.อรายงานใหม

บนทกรายงาน

Page 52: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การ DOWNLOAD รายงาน

รายงานท.ไดสรางไวจะปรากฎใหเลอก กดปม Print เพ.อเลอกรายงานมาแสดง

ขอมลท.ต%งไวใน Parameter สามารถแกไขได

กด Print เพ.อทาการแสดงตวอยางรายงาน

Page 53: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การ DOWNLOAD รายงาน

ตวอยางพมพ

กดปม พมพ เพ.อส.งพมพออกเคร.องพมพจรงๆ

Page 54: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การการการการ Downoad Downoad Downoad Downoad รายงานใหมๆ จาก รายงานใหมๆ จาก รายงานใหมๆ จาก รายงานใหมๆ จาก Web Report CentralWeb Report CentralWeb Report CentralWeb Report Central

HOSxP มรายงานใหมๆ ออกมาอยเสมอ ผดแลระบบสามารถทาการ Download รายงานใหมๆ มาตดต%งและใชงานไดเลย ผานระบบ Report Browser โดยสามารถทาไดตามข%นตอนดงน%

Chapter

6

เลอกคาส.ง Report Browser จากเมน Tools -> Miscellaneous

เลอกคาส.ง download จาก Sidebar

Page 55: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การ DOWNLOAD รายงาน

กด New Report เพ.อเลอกแสดงเฉพาะรายงานใหม

1.เลอกรายงานท.ตองการ Download มาใช 2.กดปม Download

Page 56: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

การ DOWNLOAD รายงาน

Download ไดสาเรจ

Page 57: HOSxP Enterprise Hospital Information System · H O S X P Report manual Chaiyaporn Suratemekul Revision 1.0 January 2008 Revision 0.1 December 2004

5 4

54