MedRecSchema.xsd
001 <!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by C (BEA) -->
002 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
003   <xsd:annotation>
004     <xsd:documentation xml:lang="en">
005       Schema for MedRec
006       Copyright 2006 BEA Systems. All rights reserved.
007     </xsd:documentation>
008   </xsd:annotation>
009   <xsd:element name="medicalRecords" type="MedicalRecordType"/>
010   <xsd:complexType name="MedicalRecordType">
011     <xsd:sequence>
012       <xsd:element name="medicalVisit" type="MedicalVisitType" maxOccurs="unbounded"/>
013     </xsd:sequence>
014     <xsd:attribute name="srcId" type="xsd:string"/>
015     <xsd:attribute name="srcName" type="xsd:string"/>
016         <xsd:attribute name="date" type="xsd:date"/>
017   </xsd:complexType>
018   <xsd:complexType name="MedicalVisitType">
019     <xsd:sequence>
020       <xsd:element name="patient" type="PatientInfoType"/>
021       <xsd:element name="record" type="RecordType" minOccurs="0" maxOccurs="unbounded"/>
022     </xsd:sequence>
023   </xsd:complexType>
024   <xsd:complexType name="PatientInfoType">
025     <xsd:sequence>
026       <xsd:element name="ssn" type="xsd:string"/>
027       <xsd:element name="patientName" type="PatientNameType"/>
028       <xsd:element name="dob" type="xsd:date"/>
029       <xsd:element name="gender" type="Gender"/>
030       <xsd:element name="phone" type="xsd:string"/>
031       <xsd:element name="email" type="xsd:string"/>
032       <xsd:element name="address" type="AddressType"/>
033     </xsd:sequence>
034   </xsd:complexType>
035   <xsd:complexType name="PatientNameType">
036     <xsd:sequence>
037       <xsd:element name="firstName" type="xsd:string"/>
038       <xsd:element name="middleName" type="xsd:string" minOccurs="0"/>
039       <xsd:element name="lastName" type="xsd:string"/>
040     </xsd:sequence>
041   </xsd:complexType>
042   <xsd:simpleType name="Gender">
043     <xsd:restriction base="xsd:string">
044       <xsd:enumeration value="male"/>
045       <xsd:enumeration value="female"/>
046     </xsd:restriction>
047   </xsd:simpleType>
048   <xsd:complexType name="AddressType">
049     <xsd:sequence>
050       <xsd:element name="streetName1" type="xsd:string"/>
051       <xsd:element name="streetName2" type="xsd:string" minOccurs="0"/>
052       <xsd:element name="city" type="xsd:string"/>
053       <xsd:element name="state" type="xsd:string"/>
054       <xsd:element name="zip" type="xsd:string"/>
055       <xsd:element name="country" type="xsd:string"/>
056     </xsd:sequence>
057   </xsd:complexType>
058   <xsd:complexType name="RecordType">
059     <xsd:sequence>
060       <xsd:element name="physician" type="PhysicianInfoType"/>
061       <xsd:element name="date" type="xsd:date"/>
062       <xsd:element name="symptoms" type="xsd:string"/>
063       <xsd:element name="diagnosis" type="xsd:string"/>
064       <xsd:element name="notes" type="xsd:string"/>
065       <xsd:element name="vitalSigns" type="VitalSignsType"/>
066       <xsd:element name="prescription" type="PrescriptionType" maxOccurs="unbounded"/>
067     </xsd:sequence>
068   </xsd:complexType>
069   <xsd:complexType name="PhysicianInfoType">
070     <xsd:sequence>
071       <xsd:element name="firstName" type="xsd:string"/>
072       <xsd:element name="middleName" type="xsd:string"/>
073       <xsd:element name="lastName" type="xsd:string"/>
074       <xsd:element name="phone" type="xsd:string"/>
075       <xsd:element name="email" type="xsd:string"/>
076     </xsd:sequence>
077   </xsd:complexType>
078   <xsd:complexType name="VitalSignsType">
079     <xsd:sequence>
080       <xsd:element name="weight" type="WeightType"/>
081       <xsd:element name="height" type="HeightType"/>
082       <xsd:element name="temperature" type="TemperatureType"/>
083       <xsd:element name="bloodPressure" type="BloodPressureType"/>
084       <xsd:element name="pulse" type="xsd:positiveInteger"/>
085     </xsd:sequence>
086   </xsd:complexType>
087   <xsd:complexType name="WeightType">
088     <xsd:sequence>
089       <xsd:element name="amount" type="xsd:positiveInteger"/>
090       <xsd:element name="uom" type="WeightUOM"/>
091     </xsd:sequence>
092   </xsd:complexType>
093   <xsd:complexType name="HeightType">
094     <xsd:sequence>
095       <xsd:element name="amount" type="xsd:positiveInteger"/>
096       <xsd:element name="uom" type="HeightUOM"/>
097     </xsd:sequence>
098   </xsd:complexType>
099   <xsd:complexType name="TemperatureType">
100     <xsd:sequence>
101       <xsd:element name="amount" type="xsd:float"/>
102       <xsd:element name="uom" type="TemperatureUOM"/>
103     </xsd:sequence>
104   </xsd:complexType>
105   <xsd:complexType name="BloodPressureType">
106     <xsd:sequence>
107       <xsd:element name="systolic" type="xsd:positiveInteger"/>
108       <xsd:element name="diastolic" type="xsd:positiveInteger"/>
109     </xsd:sequence>
110   </xsd:complexType>
111   <xsd:simpleType name="WeightUOM">
112     <xsd:restriction base="xsd:string">
113       <xsd:enumeration value="pounds"/>
114       <xsd:enumeration value="kilograms"/>
115     </xsd:restriction>
116   </xsd:simpleType>
117   <xsd:simpleType name="HeightUOM">
118     <xsd:restriction base="xsd:string">
119       <xsd:enumeration value="inches"/>
120       <xsd:enumeration value="centimeters"/>
121     </xsd:restriction>
122   </xsd:simpleType>
123   <xsd:simpleType name="TemperatureUOM">
124     <xsd:restriction base="xsd:string">
125       <xsd:enumeration value="fahrenheit"/>
126       <xsd:enumeration value="centigrade"/>
127     </xsd:restriction>
128   </xsd:simpleType>
129   <xsd:complexType name="PrescriptionType">
130     <xsd:sequence>
131       <xsd:element name="date" type="xsd:date"/>
132       <xsd:element name="drug" type="xsd:string"/>
133       <xsd:element name="dosage" type="xsd:string"/>
134       <xsd:element name="frequency" type="xsd:string"/>
135       <xsd:element name="refills" type="xsd:positiveInteger"/>
136       <xsd:element name="instructions" type="xsd:string"/>
137     </xsd:sequence>
138   </xsd:complexType>
139 </xsd:schema>