使用XForms和Ruby on Rails开发小型门诊管理系统,第2部分 - 编程入门网
使用XForms和Ruby on Rails开发小型门诊管理系统,第2部分时间:2011-11-29 ibm Michael Galpin实现患者信息XForm 简介 本系列文章的第 1 部分设计了一个 Web 应用程序,让患者在医生办公室中输入信息。讨论了如何使用 XForms、DB2 pureXML 和 Ruby on Rails 创建这样的应用程序,并对这些技术的用法做了一些实验。本文是第 2 部分,我们开始实现该应用程序。我们将设计第一个 XForm,并建立从表单向 DB2 插入数据的 Ruby on Rails 后端。您将看到如何通过这三种技术在整个应用程序中利用 XML。 先决条件 本文假设读者对 XML 和 Web 应用程序有一定的了解。事先对这三种核心技术,XForms、DB2 pureXML 和 Ruby on Rails 有所涉猎当然很有帮助,不过绝对不是必需的。本文使用了 Mozilla XForms 0.8.0.3 版插件。它为所有 Mozilla 浏览器,如 Firefox,提供了 XForms 运行时支持。另一种有用的 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 即可)。 患者信息 第 1 部分讨论了所用的 XForms、DB2 pureXML 以及 Ruby on Rails,它们支持在应用程序的前端和后端使用 XML。这种设计的一个好处是将 XML 数据放在了核心位置。XML 数据模型的设计决定了如何实现基于 XForms 的前端,以及如何使用后端的 Ruby on Rails 从 DB2 检索数据。因此,开发应用程序应该首先从设计 XML 数据模型开始。 XML 数据模型 应用程序允许患者输入医生和其他医务人员需要的信息。比如患者的姓名、保险公司、年龄、合作医疗支付额度等,当然还有他们的症状。了解这些之后,清单 1 显示了典型的数据模型实例。 清单 1. 典型的患者信息 XML 实例 <?xml version="1.0" encoding="UTF-8"?> <Info> <FirstName>John</FirstName> <MiddleName>David</MiddleName> <LastName>Smith</LastName> <Age>33</Age> <Insurer>HealthCo</Insurer> <Id>555-69-1212</Id> <PolicyHolder>true</PolicyHolder> <Copay>10</Copay> <Symptoms>Cough, Fever</Symptoms> </Info> 使用XForms和Ruby on Rails开发小型门诊管理系统,第2部分(2)时间:2011-11-29 ibm Michael Galpin大部分是简单的字符串,但也有少数例外。中间名应该是可选的字段。年龄是整数,并且必须是非负数。co-pay 同样如此。保单持有者是一个 Boolean 标志。Id 应该定义成固定的范式:三个数字、两个数字、四个数字。清单 2 显示了描述患者数据模型的 XML 模式。 清单 2. 患者模式 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://developerworks.ibm.com/patient" xmlns="http://developerworks.ibm.com/patient" elementFormDefault="qualified" xmlns:this="http://developerworks.ibm.com/patient"> <xs:simpleType name="policyId"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{4}"/> </xs:restriction> </ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |