到目前为止,我们已经创建了帮助患者和护士管理患者数据的 DB2 数据库和三个 XForms。通过使用 Ruby on Rails 作为处理接口,患者可以向数据库添加新的记录,并在以后更新信息。因此护士可以查看并适当地修改这些信息,当患者可以诊治的时候批准输入的数据。
这是本系列的最后一部分,将为医生创建新的视图和控制器以及该视图的两个新表单。医生通过第一个表单可以查看由患者输入并经过护士批准的患者记录,并增加诊治过程中的新信息。然后开发一个表单让医生和护士按照姓氏查找患者信息。
先决条件
本文假设读者基本熟悉 XML 和 Web 应用程序。当然,事先涉猎过 XForms、DB2 pureXML 和 Ruby on Rails 这三种核心技术很有帮助,但不是必需的。本文使用了 Mozilla XForms 插件 0.8.0.3。它为所有的 Mozilla 浏览器提供了 XForms 运行时支持,如 Firefox。另一种有用的 Mozilla 插件是 XForms Buddy,提供了一种 XForms 调试器。本文使用的是 0.5.6 版。还需要 IBM 的 DB2 数据库服务器。本文采用 DB2 Express-C 9.5。支持 Windows®、Linux® 和 UNIX® 系统。此外还需要 Ruby on Rails。本文使用的是 Ruby 1.8.6 和 Rails 1.2.5。本文在使用 Rails 的同时还使用了 Mongrel Web 服务器。可通过 Ruby Gems 安装(只要在命令行中输入 gem install
mongrel 即可)。参见 参考资料 部分获得下载链接。
医生访问 XForm
医生 XForm(doctorPatient.xhtml)的目的是让医生看到和护士在 kiosk 以及 approved 视图中所看到的相同的患者信息。在此基础上,这个 XForm 还需要让医生输入诊治病人的信息。因此除了少数区别外,doctorPatient 表单和 triagePatient 表单非常类似,如清单 1 所示。将该文件命名为 doctorPatient.xhtml 并保存到 public 文件夹。
清单 1. doctorPatient 表单
... <xf:instance xmlns="" id="patient" > <p:Info> <FirstName></FirstName> <MiddleName></MiddleName> <LastName></LastName> <Age></Age> <Insurer></Insurer> <Id></Id> <PolicyHolder></PolicyHolder> <Copay></Copay> <Symptoms></Symptoms> <BPressure></BPressure> <Notes></Notes> </p:Info> </xf:instance>
<xf:submission action="http://localhost:3000/doctor/update/0" method="post" id="submit-info"/>
<xf:submission id="load_data" action="http://localhost:3000/doctor/grab/0" method="post" replace="instance" /> <xf:action ev:event="xforms-ready"> <xf:dispatch name="xforms-submit" target="load_data"/> </xf:action> ... <xf:label>Please describe your symptoms:<br/></xf:label> </xf:textarea> </div> <div id="bloodpressure"> <xf:input ref="BPressure"> <xf:label>Blood Pressure: </xf:label> </xf:input> </div> <div id="notes"> <xf:textarea ref="Notes"> <xf:label>Notes regarding<br/>visit with patient:<br/></xf:label> </xf:textarea> </div> <div id="submit"> <xf:submit submission="submit-info"> <xf:label>Submit Information</xf:label> </xf:submit> </div> </p>
<a href="doctor/list">Back to List</a> </body> </html>
|
首先要注意实例数据中新增加了两个元素 BPressure 和 Notes。这两个字段保存医生所测得的患者血压,并告诉医生可以输入文本字段。这里的 submit-info 和 load_data 提交元素的 action 属性指向医生控制器。最后,还可以看到 XForm 体中声明了两个新的 XForms 元素。
下面生成医生视图和控制器的 scaffolding。
医生视图和控制器
Rails scaffolding 为 Ruby 应用程序的开发提供了非常好的起点。生成的医生视图和控制器 scaffolding 如清单 2 所示。
本文转自IBM Developerworks中国
请点击此处查看全文