使用 XForms 和 Ruby on Rails 开发小型门诊管理系统,第 4 部分

来源:互联网 发布:软件编程员 编辑:程序博客网 时间:2024/05/01 17:23

到目前为止,我们已经创建了帮助患者和护士管理患者数据的 DB2 数据库和三个 XForms。通过使用 Ruby on Rails 作为处理接口,患者可以向数据库添加新的记录,并在以后更新信息。因此护士可以查看并适当地修改这些信息,当患者可以诊治的时候批准输入的数据。

本系列中的其他文章
  • 第 1 部分:设置 IBM DB2 9 pureXML
  • 第 2 部分:实现患者信息 XForm
  • 第 3 部分:实现护士和医生 XForm

这是本系列的最后一部分,将为医生创建新的视图和控制器以及该视图的两个新表单。医生通过第一个表单可以查看由患者输入并经过护士批准的患者记录,并增加诊治过程中的新信息。然后开发一个表单让医生和护士按照姓氏查找患者信息。





回页首

先决条件

Ruby and Rails 技术资源中心

欢迎访问 Ruby and Rails 技术资源中心,这里整理了和 Ruby 动态语言以及十分流行的开源 Web 开发框架 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

常用的缩写词
  • XML:可扩展标记语言

医生 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中国

        请点击此处查看全文