HOSxP
Enterprise Hospital Information System
Report manual
Volume
4
H O S X P
Report manual
Chaiyaporn Suratemekul
Revision 1.0 January 2008 Revision 0.1 December 2004
คานาคานาคานาคานา
หนงสอเลมน% จดทาข%นเพ.อใชประกอบการอบรมผดแลระบบ HOSxP โดยเน%อหาประกอบไปดวยหวขอท.เก.ยวของและจาเปนตองใชในการดแลระบบ HOSxP ซ. งขาพเจาหวงเปนอยางย.งวาผท.ไดรบการอบรมจะสามารถนาความรท.ไดรบ ในงานท.ตนเองรบผดชอบไดอยางมประสทธภาพ
ชยพร สรเตมยกล
สารบญสารบญสารบญสารบญ การเขาใชงานระบบรายงานการเขาใชงานระบบรายงานการเขาใชงานระบบรายงานการเขาใชงานระบบรายงาน 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
การการการการเขาใชงานระบบรายงานเขาใชงานระบบรายงานเขาใชงานระบบรายงานเขาใชงานระบบรายงาน
OSxP มระบบรายงานท.แยกออกมาโดยเฉพาะ ซ. งแบบฟอรมของรายงานตางๆ จะถกเกบไวในฐานขอมล การแกไขรายงานใดๆ จะมผลกบทกเคร.องท.ใชงาน
รายงานจะแบงออกเปน 2 กลมหลกๆ คอ รายงานท.เปน System Report และรายงานท.เปน Custom Report ซ. งผดแลสามารถเขาไปแกไขรายงานในกลมใดๆ กได
การเขาใชงานระบบรายงาน มข%นตอนดงน%
Chapter
1
H
เลอก Report Designer จาก Start Menu -> Programs -> HOSxP
การตดตงโปรแกรม
ใส รหส Login และ Password (ของ Administrator)
เลอกคาส.ง ออกแบบรายงาน จากเมน ระบบรายงาน
กดปม Next เพ.อไปยงหนาถดไป
การตดตงโปรแกรม
Tab เลอกระหวาง System Report กบ Custom Report
เลอกช.อรายงานท.ตองการแกไข
ช.อรายงานท.กาลงเลอก
ชดคาส.งท.ใชในการดงขอมลมาทารายงาน
กด Next เพ.อไปยงหนาถดไป
หนาจอชดคาส.ง SQL สามารถแกไขได
Parameter ท.ต%งไว จะเปนตวสน% าเงน
Parameter list แสดงชวงของ Parameter ท.ไดต%งไว
Tab ยอยไดแก SQL, Script และ Reference
การตดตงโปรแกรม
ท.ชอง SQL ผออกแบบสามารถแกไขชดคาส.งเดมได โดยทกคร% งท.แกไข Parameter จะถก Clear ออกเสมอ ดงน%นกอนจะแกไข จะตองจาไดวา ชดคาส.งเดมไดต%งคา Parameter ไวตรงใหนบาง (ตวท.ต%งไว เปน Parameter จะแสดงเปนตวสน%าเงน) โดยเม.อแกไขชดคาส.ง SQL แลวสามารถสราง Parameter ไดตามข%นตอนดงน%
ใชเมาสทาการ Drag ตรงตวอกษรท.ตองการสราง Parameter ซ.งเม.อทาแลวจะปรากฎเปนแถบสดา
กดปม + ท.ดานบน เพ.อเปนการต%งคา Parameter จากการเลอกตวอกษร
การตดตงโปรแกรม
Parameter ท.ต%งไวจะปรากฎใน List View ดานลาง
กด Next เพ.อไปยงหนาจอถดไป
แสดงขอมลท.ไดจากคาส.ง SQL หนาท.แลว กดปม Design เพ.อทาการออกแบบรายงาน
การตดตงโปรแกรม
จะปรากฎหนาจอออกแบบรายงานดงรปดานลาง
Tool Bar ท.ใชในการเลอก Tool ทารายงาน
หนาจอแสดง ตวอกษรตางๆท.ไดจดตาแหนงไว สามารถปรบตาแหนงได
Tab เลอกแสดงรายงาน
การกด Tab Preview จะแสดงตวอยางรายงานท.จะถกพมพออกมา
การตดตงโปรแกรม
เม.อใช Mouse คลกท. Object ใดๆ ตรง Tool Bar กจะแสดงตวอกษรท. Object น%นๆ แสดงอย และสามารถแกไขได ท%งตวอกษร และ แบบตวอกษรรวมท%งขนาด
ในกรณท.เลอก Object ท.เปน Data Control ขอมลท.แสดงบน Tool Bar กจะเปล.ยนไป โดยจะปรากฎใหเลอก Field ของขอมลท.ตองการแสดงเพ.มข%นมา
การตดตงโปรแกรม
ผออกแบบสามารถเปล.ยนขอมล (field) ท.จะแสดงออกตรง Object ท.เลอกได
กด close เม.อ ออกแบบเสรจแลว
กด Save Report เพ.อทาการบนทกรายงานท.ไดออกแบบไวแลว ใหจดเกบไวในฐานขอมล
การตดตงโปรแกรม
ตวอยางคาส�ง 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 ' สม%'
การตดตงโปรแกรม
การระบ 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
การตดตงโปรแกรม
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'
การตดตงโปรแกรม
จงหาวาโรคอะไรท.มคาใชจายรวมแลวมากท.สด ของเดอนสงหาคม (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
การตดตงโปรแกรม
จงหาวายาตวใดมมลคาการใชมากท.สดในเดอนสงหาคม (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
การตดตงโปรแกรม
การใช การใช การใช การใช 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
การใช VARIABLE
แตปญหากคอหากขอมลท.นามาใชทารายงานมจานวนเยอะมาก ระยะเวลาท.ใชทารายงานกจะนานมากเชนเดยวกน
คราวน%มาดวา Variable จะชวยแกปญหาน%ไดอยางไร เร.มตนจากเปล.ยนคาส.งใหแสดงแคขอมลยาทกตวกอน แลวคอยไปคานวนจานวนในระบบรายงานครบ โดยการเปล.ยนคาส.งท.ใชทารายงานเปนแบบ simple แบบน%
SELECT icode,name,strength,units FROM drugitems ORDER BY name
จากน%นเอาไปเปนคาส.งสาหรบทารายงาน ดงรป
การใช VARIABLE
ออกแบบหนาจอใหเรยบรอยดงรป แตปญหาอยท.การเอาจานวน และ มลคาของยาแตละตวมาใสในรายงาน เน.องจากคาส.ง SQL ท.ใช ไมไดดงขอมลน%มาเลย
เราจะใช Variable เขามาชวยครบ อนดบแรก วาง Variable ลงไปใน Detail Band ดงรป จากน%นคลกขวา เลอก Calculations
การใช VARIABLE
จะปรากฎหนาตาง Calculations ดงรป
1 คอชองสาหรบเขยน Pascal cod
2 คอชองสาหรบเลอกขอมลจะเปล.ยนตาม tab ของ 3
3 คอชนดของขอมลท.จะเลอกมาใช ม 3 แบบคอ Data , Objects และ Language
การใช VARIABLE
เลอก tab Language แลวท.ชอง 2 เลอก Math จากน%นลากแถวท.เขยนวา GetSQLIntegerData จากชอง 3 มาไวในชอง 1
การใช 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" ' ) ;
การใช 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
การใช VARIABLE
ในระบบรายงานนอกจากจะเขยน variable ใหดงขอมลจากฐานขอมลมาใชงานไดแลว เรายงสามารถกาหนดใหระบบรายงานทาการสอบถามผใชใหใสวนท.และนาขอมลวนท.ๆ ผใชใสนาไปชวยประมวลผลในการทารายงานไดดวย
อนดบแรก คลกท.แทบ Calc แลวเลอกเมน View -> Module
การใช VARIABLE
จากน%นคลกขวาท. Variables แลวเลอก New
เขยน Code ท.ชองดานลาง ดงน
var
ds1,ds2 : String ;
เพ.อประกาศตวแปรข%นมา 2 ตว ช.อ ds1 กบ ds2 เปนประเภท String (ตวอกษร) เพ.อท.จะนามาใชเกบวนท.ๆ จะใหผใชเลอกชวงวนท.ของรายงาน
การใช VARIABLE
จากน%นในชอง Module View ใหคลกท. Events แลวคลกขวา ตรง onCreate แลวเลอก New
การใช 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 ;
การใช VARIABLE
จากน%นกลบมาท. Tab Design แลวคลกขวาตรง Variable เพ.อแกไขคาส.งท.ดงขอมลมาแสดง โดยแกไขคาส.งใหเปน
Value := GetSQLIntegerData ( 'select count(*) as cc from opitemrece where icode="' + DBPipeline [ 'icode' ] + '" and rxdate between "' +ds1+ '" and "' +ds2+ '" ' ) ;
การใช VARIABLE
สรจแลวกลองคลกท. tab Preview เพ.อทดสอบรายงาน จะปรากฎหนาตางแสดงใหผใชเลอกวนท. และเม.อผใชกดปมตกลง ระบบกจะนาขอมลตามชวงวนท.ๆ เลอกเอาไวมาทารายงาน
การใชงานระบบ การใชงานระบบ การใชงานระบบ การใชงานระบบ 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 ผปวย
รายการยา
การใช VARIABLE
ออกแบบหนาจอรายงานดงรป
การใช VARIABLE
เม.อลอง Preview ดตวอยางพมพ
จากน%นกลบมาท.หนาจออกแบบ ข%นตอนตอไปคอการนาขอมลรายการยาท.ผปวยใชมาใสในรายงาน โดยการนาขอมลรายการยามาใสจะนามาใสใน sub report ในBand detail ดงรป
การใช VARIABLE
Sub report แตละตวจะมหนาตางออกแบบยอยเปนของตวเอง โดยจะแสดงเปนอก 1 tab ดานลางดงรป
และในแตละ Sub report สามารถเลอก associate กบ datapipeline ท.ไมซ% ากนได (โปรแกรมม Datapipeline ใหเลอกใช 5 ตว) การกาหนด Datapipeline ใหกบ Sub report สามารถทาไดโดยการเลอกจาก Properties ดานซายมอดงรป (ในตวอยางเลอก DatapipelineLink1)
การใช VARIABLE
การนาขอมลมาใสใน DatapipelineLink1 ในข%นตอนการออกแบบน%นจาเปนจะตองเขยนเปนชดคาส.งใน Report โดยเขยนใน Event OnCreate ของ Report ตามข%นตอนดงรป
เลอกเมน View -> Module
การใช 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;
การใช 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;
การใช VARIABLE
คลกท. Tab Preview กอน 1 คร% ง
จากน%นกลบมาท. Tab design แลวเลอก Sub report 1
การใช VARIABLE
ลบ Band title และ summary ออก
วาง DBText ลงไปแลวเลอก Field icode sum_price และ sum_qty มาแสดงดงรป
การใช VARIABLE
ลอง Preview Report ดอกคร% ง จะเหนวามขอมลรายการ (รหส) ยาท.ผปวยเคยใชท%งหมดแสดงข%นมาดวย
การสราง การสราง การสราง การสราง Crosstab reportCrosstab reportCrosstab reportCrosstab report
Crosstab report เปนรายงานท.นาขอมลมาแสดงผลในแบบหลายมต ข%นอยกบผออกแบบวาตองการนาเสนอขอมลในแตละมตใหสมพนธกนอยางไร สวนใหญจะใชสาหรบทารายงานสรปขอมลตางๆ
ตวอยางการทารายงาน Crosstab สรปคาใชจายท.แพทยตรวจรกษาผปวยแยกตามสทธการรกษา
คาส.งหลกของรายงานเปนดงน% (ขอมลท%งหมดของป 2547)
select * from vn_stat where vn like ' 47%'
Chapter
4
การสราง CROSSTAB REPORT
ท.หนาจอออกแบบรายงาน คลกท. Crosstab component จากน%นนามาวางไวใน Band detail
คลกขวาท. CrossTab component แลวเลอก Configure จาก Popup menu
การสราง CROSSTAB REPORT
หนาตางออกแบบ Crosstab report
ทาการลาก field pttype จาก field list ทางชองดานซายมอมาไวในชอง new row ดงรป
การสราง CROSSTAB REPORT
หลงจากลาก field pttype มาวางแลว
จากน%นลาก field dx_doctor มาไวในชอง new column ดงรป
การสราง CROSSTAB REPORT
หลงจากลาก dx_doctor มาวางแลว
จากน%นลาก field income มาไวใน ชอง new value ดงรป
การสราง CROSSTAB REPORT
ตวอยางหลงจากวาง field income แลว
จากน%นกดปม ok แลวคลกท. tab preview จะไดผลดงรป
รายงานท.ไดจะแสดงรหสสทธการรกษาไวทางดานซาย และ รหสแพทยดานบน ขอมลในแตละแถวจะเปนผลรวมของคาใชจายท.แพทยแตละทานส.งใชแยกตามสทธการรกษา
การการการการสราง สราง สราง สราง 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
การ DOWNLOAD รายงาน
ตวอยางแสดงการนาขอมลท�ไดจากคาส�ง SQL มาออกแบบเปน Custom Report
สรางและทดสอบชดคาส.ง ท.จะทารายงานในหนาจอ SQL Query จากน%น copy คาส.งท.ใชไว ใน clipboard (Ctrl+C)
เขาระบบรายงาน และเลอกรายงานใดๆ กไดท.ตองการใชเปนแมแบบ
การ DOWNLOAD รายงาน
ลบคาส.ง SQL เดมออก และนาคาส.งใหมมาวางไวทบของเดม และสราง Parameter ไว (จากตวอยาง ใช วนท.เปนคา Parameter)
ออกแบบรายงานใหเรยบรอย
การ DOWNLOAD รายงาน
เม.อไดทาการสราง Custom Report ไวแลว สามารถเรยกมาใชงานไดจาก โปรแกรม HOSxP โดยเลอกจากคาส.ง Custom Report ดงรปดานลาง
ต%งช.อรายงานใหม
บนทกรายงาน
การ DOWNLOAD รายงาน
รายงานท.ไดสรางไวจะปรากฎใหเลอก กดปม Print เพ.อเลอกรายงานมาแสดง
ขอมลท.ต%งไวใน Parameter สามารถแกไขได
กด Print เพ.อทาการแสดงตวอยางรายงาน
การ DOWNLOAD รายงาน
ตวอยางพมพ
กดปม พมพ เพ.อส.งพมพออกเคร.องพมพจรงๆ
การการการการ 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
การ DOWNLOAD รายงาน
กด New Report เพ.อเลอกแสดงเฉพาะรายงานใหม
1.เลอกรายงานท.ตองการ Download มาใช 2.กดปม Download
การ DOWNLOAD รายงาน
Download ไดสาเรจ
5 4
54