<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp1 (http://www.altova.com) by Paul Schluter (GE Healthcare) -->
<!-- file:  terms.8f.xsd -->
<!-- Schema for IEEE Std 11073-10102 aECG and IEEE Std 11073-10103 IDC Nomenclature Terms -->
<!-- Paul Schluter  2009-04-30T16 -->
<xs:schema xmlns="http://www.ieee.org/11073/nomenclature" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ieee.org/11073/nomenclature" elementFormDefault="qualified">
	<!-- -->
	<!-- Type definitions -->
	<!-- -->
	<xs:simpleType name="ListOfUnitsIEEE">
		<xs:list itemType="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="ListOfUnitsUCUM">
		<xs:list itemType="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="ListOfEnums">
		<xs:list itemType="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="ListOfEnumGroups">
		<xs:list itemType="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="ListOfUnitGroups">
		<xs:list itemType="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="ListOfEnumCard">
		<xs:restriction base="xs:string">
			<xs:pattern value="(0\.\.1|0\.\.\*|1\.\.1|1\.\.\*)(\s((token(\srefid)?)|(refid(\stoken)?)))?"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CanonicalUnitDimensions">
		<xs:restriction base="xs:string">
			<xs:pattern value="(L-?\d?)?(M-?\d?)?(T-?\d?)?(I-?\d?)?(Q-?\d?)?(N-?\d?)?(J-?\d?)?(\[arb\])?"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ListOfVendorID">
		<xs:list itemType="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="ListOfDataType">
		<xs:list itemType="xs:token"/>
	</xs:simpleType>
	<!-- -->
	<!-- Term partition definition -->
	<!-- -->
	<xs:element name="partition">
		<xs:complexType>
			<xs:sequence>
				<!-- -->
				<xs:element name="partitionDescription">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="title" type="xs:string"/>
							<xs:element name="date" type="xs:date"/>
							<xs:element name="version" type="xs:string"/>
							<xs:element name="component" type="xs:string" minOccurs="0"/>
							<xs:element name="discriminatorRef" minOccurs="0" maxOccurs="10">
								<xs:complexType>
									<xs:attribute name="idref" type="xs:token" use="required"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="basePart" type="xs:unsignedShort" minOccurs="0"/>
							<xs:element name="baseCode" type="xs:unsignedShort" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<!-- -->
				<xs:element name="Terms" minOccurs="0">
					<xs:complexType>
						<xs:sequence maxOccurs="unbounded">
							<xs:element name="term" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:sequence maxOccurs="unbounded">
											<xs:choice>
												<xs:element name="REFID" type="xs:string"/>
												<xs:element name="SysName" type="xs:string"/>
												<xs:element name="Description">
													<xs:complexType mixed="true">
														<xs:sequence minOccurs="0" maxOccurs="unbounded">
															<xs:element name="sidenote" type="xs:string" minOccurs="0"/>
															<xs:element name="bullet" type="xs:string" minOccurs="0"/>
															<xs:element name="footnote" type="xs:string" minOccurs="0"/>
														</xs:sequence>
													</xs:complexType>
												</xs:element>
												<xs:element name="DisplayName" type="xs:string" minOccurs="0"/>
												<xs:element name="CommonTerm" type="xs:string" minOccurs="0"/>
												<xs:element name="Mnemonic" minOccurs="0">
													<xs:complexType>
														<xs:simpleContent>
															<xs:extension base="xs:string">
																<xs:attribute name="indent" type="xs:unsignedShort" default="0"/>
															</xs:extension>
														</xs:simpleContent>
													</xs:complexType>
												</xs:element>
												<xs:element name="PART" type="xs:unsignedShort" minOccurs="0"/>
												<xs:element name="CODE10" type="xs:unsignedShort"/>
												<xs:element name="CF_CODE10" type="xs:unsignedInt" minOccurs="0"/>
												<xs:element name="UOM_UCUM" type="ListOfUnitsUCUM" minOccurs="0"/>
												<xs:element name="UOM_MDC" type="ListOfUnitsIEEE" minOccurs="0"/>
												<xs:element name="UPART" type="xs:unsignedShort" minOccurs="0"/>
												<xs:element name="UCODE10" type="xs:unsignedShort" minOccurs="0">
													<xs:annotation>
														<xs:documentation>(deprecated)</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="CF_UCODE10" type="xs:unsignedInt" minOccurs="0">
													<xs:annotation>
														<xs:documentation>(deprecated)</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="DIM" type="CanonicalUnitDimensions" minOccurs="0"/>
												<xs:element name="Enum_Values" type="ListOfEnums" minOccurs="0"/>
												<xs:element name="Enum_Card" type="ListOfEnumCard" minOccurs="0"/>
												<xs:element name="External_Sites" type="ListOfEnums" minOccurs="0"/>
												<xs:element name="DataType" type="ListOfDataType" minOccurs="0"/>
												<!-- the following columns/elements provide additional information about each term -->
												<xs:element name="scp" type="xs:string" minOccurs="0"/>
												<xs:element name="scp-ref" type="xs:string" minOccurs="0"/>
												<xs:element name="mit-bih" type="xs:string" minOccurs="0"/>
												<xs:element name="other" type="xs:string" minOccurs="0"/>
												<xs:element name="auxinfo" type="xs:string" minOccurs="0"/>
												<xs:element name="note" type="xs:string" minOccurs="0"/>
											</xs:choice>
										</xs:sequence>
										<xs:sequence>
											<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:sequence>
									<xs:attribute name="exclude" type="xs:string"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="termSectionTitle" minOccurs="0">
								<xs:complexType mixed="true">
									<xs:sequence minOccurs="0" maxOccurs="unbounded">
										<xs:element name="footnote" type="xs:string" minOccurs="0"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<!-- -->
				<xs:element name="note" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
				<!-- -->
				<xs:element name="Enums" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Local enums are searched first followed by common enums in an external file.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="term" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:sequence maxOccurs="unbounded">
											<xs:choice>
												<xs:element name="_ENUM_GROUPS" type="ListOfEnumGroups"/>
												<xs:element name="GroupDescription" type="xs:string"/>
												<xs:element name="TOKEN" type="xs:string"/>
												<xs:element name="REFID" type="xs:token"/>
												<xs:element name="PART" type="xs:unsignedShort" minOccurs="0"/>
												<xs:element name="CODE10" type="xs:unsignedShort" minOccurs="0"/>
												<xs:element name="CF_CODE10" type="xs:unsignedInt" minOccurs="0"/>
												<xs:element name="DisplayName" type="xs:string" minOccurs="0"/>
												<xs:element name="CommonTerm" type="xs:string" minOccurs="0"/>
												<xs:element name="Description" type="xs:string" minOccurs="0"/>
												<xs:element name="ApplicationDescription" type="xs:string" minOccurs="0"/>
												<xs:element name="VendorID" type="ListOfVendorID" minOccurs="0"/>
												<xs:element name="Discussion" type="xs:string" minOccurs="0"/>
											</xs:choice>
										</xs:sequence>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<!-- -->
				<xs:element name="Units" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Units are located in a common external file.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="term" maxOccurs="unbounded">
								<xs:complexType>
									<xs:all>
										<xs:element name="Dimension" type="xs:string" minOccurs="0"/>
										<xs:element name="Unit_of_Measure" type="xs:string" minOccurs="0"/>
										<xs:element name="Symbol" type="xs:unsignedShort" minOccurs="0"/>
										<xs:element name="UOM_UCUM" type="ListOfUnitsUCUM"/>
										<xs:element name="REFID" type="xs:token"/>
										<xs:element name="CODE10" type="xs:unsignedShort" minOccurs="0"/>
										<xs:element name="DIM" type="CanonicalUnitDimensions" minOccurs="0"/>
										<xs:element name="_UOM_GROUPS" type="ListOfUnitGroups" minOccurs="0"/>
										<xs:element name="Discussion" type="xs:string" minOccurs="0"/>
									</xs:all>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<!-- -->
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
