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>
|