| 
				 在图1中显示的<Patient>下面还有子元素,详情见图2,其中<PersonalInfo>与<PhysicalExam>下的子元素,由于篇幅有限这里不再显示。 
 
 
  
图2  <Patient>的子元素 
在图1中显示的<Record>元素可能多于一个,但至少有一个,<Record>下面属性与子元素的定义见图3: 
 
 
  
图3  <Record>的属性与子元素 
2.病历的XML文档描述 
通过上述的Schema描述,可以很容易的写出电子病历的XML文档描述,下面是一份“入院检查”的病历的XML文档: 
<? xml version="1.0" encoding="UTF-8"?> 
<EMRxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="EMR.xsd" EMRID="300365" Type="入院检查" Date="2005-05-07"> 
    <Patient> 
        <PersonalInfo> 
            <Name>LiMing</Name> 
            <Sex>male</Sex> 
            <Birthday>1981-03-05</Birthday> 
            <Nationality>HanZu</Nationality> 
            <IsMarried>No</IsMarried> 
            <Address>ChongQing</Address> 
            <InhospitalTime>2006-05-07</InhospitalTime> 
        </PersonalInfo> 
        <PhysicalExam> 
            <Temperature>39℃</Temperature> 
            <Sphygmus>82/min</Sphygmus> 
            <BloodPressure>699Kpa</BloodPressure> 
            <Stature>183cm</Stature> 
            <Avoirdupois>70kg</Avoirdupois> 
        </PhysicalExam> 
    </Patient> 
    <Symptom>腹痛、痉挛</Symptom> 
    <History>4小时前食用野菇</History> 
    <Record DoctorID="27149" Date="2006-05-08" Cinic="消化科"> 
        <Advice>住院治疗</Advice> 
        <Diagnosis>毒伞肽中毒</Diagnosis> 
        <Medicine>阿托品</Medicine> 
        <Treatment>0.5~1毫克阿托品每15~30分钟肌内注射一次</Treatment> 
    </Record> 
    <Record DoctorID="27176" Date="2006-05-09" Clinic="胃肠科"> 
        <Picture PictureID="597841" Name="胃镜" Type="放射" Format="bmp"> 
            <Description>胃部不适</Description> 
            <Data>2006-05-08</Data> 
        </Picture> 
    </Record> 
</EMR> 
清单3-1 初始病历XML文档 
四、XML加密 
XML加密为加密结构化数据与以标准XML格式表示加密结果提供了一种标准的方法。XML加密允许您加密任何数据,这些数据既可以是一个完整的XML文档或者XML文档中的特定元素,也可以是从外部引用的任意非XML格式数据。加密结果最后被表示为一个XML加密元素<EncryptedDada>。 
电子病历的加密意义在于将一些敏感的数据保护起来,而将不敏感的数据开放,而不是将整个文件加密,发送方使用接受访的公钥加密数据,只有接受方才能使用自己的私钥解密出数据,提高了数据的安全性。 
W3C关于XML加密有详细的描述,可见正式出版的《XML Encryption Syntax and Processing》规范2,规范中规定了多达11种的加密算法,本文采用其中的3DES对称加密算法与RSA非对称算法。针对具体的应用,就是采用3DES算法来加密XML的数据,采用RSA算法来加密3DES算法的密钥,以达到速度与安全性两方面的优化组合。 			
				 |