<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Simone Lemos Pringle (Sophist Solutions, Inc.) -->
<xs:schema targetNamespace="http://www.RecordsForLiving.com/Schemas/2006-04/ContentInformation" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.RecordsForLiving.com/Schemas/2006-04/ContentInformation" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:complexType name="SourceDefinition">
		<xs:annotation>
			<xs:documentation>
				The id attribute is required, and must be globally unique. If you change anything, including the version, or whatever, be sure to change the id (guid).
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="OrganizationName" type="xs:string" minOccurs="0"/>
			<xs:element name="ProductName" type="xs:string" minOccurs="0"/>
			<xs:element name="Version" type="xs:string" minOccurs="0"/>
			<xs:element name="URL" type="xs:string" minOccurs="0"/>
			<xs:element name="Copyright" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Icon-GIF-64x64" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="idref" type="xs:IDREF" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="BLOB">
		<xs:simpleContent>
			<xs:extension base="xs:base64Binary">
				<xs:attribute name="id" type="xs:ID" use="required"/>
				<xs:attribute name="mimeType" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="SourceReference">
		<xs:annotation>
			<xs:documentation>
				The idref must refer to a SourceDefinition defined in the header of this file.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:IDREF"/>
	</xs:simpleType>
	<xs:simpleType name="ConceptCategory">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Activity"/>
			<xs:enumeration value="Allergen"/>
			<xs:enumeration value="Antibiotic"/>
			<xs:enumeration value="BloodType"/>
			<xs:enumeration value="Condition"/>
			<xs:enumeration value="EmergencyContactRelationship"/>
			<xs:enumeration value="EmploymentStatus"/>
			<xs:enumeration value="EnvironmentalAllergen"/>
			<xs:enumeration value="ExpenseType"/>
			<xs:enumeration value="EyeColor"/>
			<xs:enumeration value="FamilyRelationship"/>
			<xs:enumeration value="FoodAllergen"/>
			<xs:enumeration value="Gender"/>
			<xs:enumeration value="HairColor"/>
			<xs:enumeration value="HealthStatus"/>
			<xs:enumeration value="HospitalizationVisitType"/>
			<xs:enumeration value="HumanLanguage"/>
			<xs:enumeration value="Immunization"/>
			<xs:enumeration value="MeasurementType"/>
			<xs:enumeration value="MaritalStatus"/>
			<xs:enumeration value="Medication"/>
			<xs:enumeration value="MedicationFrequency"/>
			<xs:enumeration value="MedicationRoute"/>
			<xs:enumeration value="MedicalDevice"/>
			<xs:enumeration value="ObjectRelationship"/>
			<xs:enumeration value="ObjectRelationshipCommutative"/>
			<xs:enumeration value="OrganizationProviderRole"/>
			<xs:enumeration value="PharmacologicSubstance"/>
			<xs:enumeration value="PhysicianProviderRole"/>
			<xs:enumeration value="ProviderRole"/>
			<xs:enumeration value="Race"/>
			<xs:enumeration value="Religion"/>
			<xs:enumeration value="Symptom"/>
			<xs:enumeration value="Test"/>
			<xs:enumeration value="Treatment"/>
			<xs:enumeration value="Unit"/>
			<xs:enumeration value="UnitSubset"/>
			<xs:enumeration value="VisitType"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DocumentationKind">
		<xs:restriction base="xs:string">
			<xs:enumeration value="LongText"/>
			<xs:enumeration value="ShortText"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CodeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="UMLS"/>
			<xs:enumeration value="HF"/>
			<xs:enumeration value="USER"/>
			<xs:enumeration value="ICD9"/>
			<xs:enumeration value="SNOMED_CT"/>
			<xs:enumeration value="LOINC"/>
			<xs:enumeration value="NDC"/>
			<xs:enumeration value="RXNORM"/>
			<xs:enumeration value="DRG"/>
			<xs:enumeration value="CCS_Single"/>
			<xs:enumeration value="CCS_Multi"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="StatType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="MeanChargesInDollars"/>
			<xs:enumeration value="PercentDied"/>
			<xs:enumeration value="NumberOfDischargesForYear"/>
			<xs:enumeration value="PercentOfTotalDischarges"/>
			<xs:enumeration value="MeanLengthOfStayInDays"/>
			<xs:enumeration value="PercentMales"/>
			<xs:enumeration value="MeanAge"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="Code">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="Type" type="CodeType" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="PrimaryKey">
		<xs:simpleContent>
			<xs:extension base="Code"/>
		</xs:simpleContent>
		<!--
		Add - restruction (using pattern match) that code type is correct - # with codetype=HF or UMLS
		-->
	</xs:complexType>
	<xs:complexType name="Documentation">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="Priority" type="xs:int" use="optional" default="0"/>
				<xs:attribute name="Kind" type="DocumentationKind" use="required"/>
				<xs:attribute name="Language" type="xs:language" use="optional" default="en"/>
				<xs:attribute name="SourceReference" type="SourceReference" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Name">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="Priority" type="xs:int" use="optional" default="0"/>
				<xs:attribute name="Language" type="xs:language" use="optional" default="en"/>
				<xs:attribute name="SourceReference" type="SourceReference" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Abbreviation">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="Language" type="xs:language" use="optional" default="en"/>
				<xs:attribute name="SourceReference" type="SourceReference" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Link">
		<xs:sequence>
			<xs:element name="Title" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="Language" type="xs:language" use="optional" default="en"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="URL" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="SourceReference" type="SourceReference" use="optional"/>
	</xs:complexType>
	<xs:complexType name="StatisticalDatum">
		<xs:sequence>
			<xs:element name="StatType" type="StatType"/>
			<xs:element name="StatValue" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StatisticalDataForLocation">
		<xs:sequence>
			<xs:element name="Location" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ForZipCode" type="xs:string" minOccurs="0"/>
						<xs:element name="ForState" type="xs:string" minOccurs="0"/>
						<xs:element name="ForCountry" type="xs:string" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Datum" type="StatisticalDatum" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="SourceReference" type="SourceReference" use="optional"/>
	</xs:complexType>
	<xs:simpleType name="RelationshipKind">
		<xs:annotation>
			<xs:documentation>See CommutativeRelationshipKind to find out which relationships are commutative.
				If you have a generic concept, like cancer, and have a sub-category, like breast cancer, then say 'breast cancer' SubcategoryOf 'cancer'.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="RelatedTo"/>
			<xs:enumeration value="UsedBy"/>
			<xs:enumeration value="UsedFor"/>
			<xs:enumeration value="BrandNameOf"/>
			<xs:enumeration value="InstanceOf"/>
			<xs:enumeration value="SubcategoryOf"/>
			<xs:enumeration value="MayTreat"/>
			<xs:enumeration value="MayPrevent"/>
			<xs:enumeration value="ContraindicatedFor"/>
			<xs:enumeration value="PhysiologicEffectOf"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CommutativeRelationshipKind">
		<xs:annotation>
			<xs:documentation>Declares whcih relationship kinds are commutative</xs:documentation>
		</xs:annotation>
		<xs:restriction base="RelationshipKind">
			<xs:enumeration value="RelatedTo"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="Relationship">
		<xs:sequence>
			<xs:element name="L1" type="PrimaryKey">
				<xs:annotation>
					<xs:documentation>
						A unique key to identify the first concept in the relationship
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="RelationshipKind" type="RelationshipKind"/>
			<xs:element name="L2" type="PrimaryKey">
				<xs:annotation>
					<xs:documentation>
						A unique key to identify the second concept in the relationship
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PanelItem">
		<xs:sequence>
			<xs:element name="RowNumber" type="xs:nonNegativeInteger">
				<xs:annotation>
					<xs:documentation>
						Row#s start with 1, and sequence non-decreasingly (e.g. 1,1,2,2,3,4,5)
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Name" type="PrimaryKey" minOccurs="0">
				<xs:annotation>
					<xs:documentation>
						XPLAIN
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Label" minOccurs="0">
				<xs:annotation>
					<xs:documentation>
						XPLAIN
					</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="spanWidth" type="xs:string" use="optional"/>
							<xs:attribute name="spanLeftMargin" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="UnitSet" type="PrimaryKey" minOccurs="0">
				<xs:annotation>
					<xs:documentation>
						This can be either a concept of type Unit (such as lbs) or a UnitSubset (such as LbsRangeWeightSubset).
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PanelType">
		<xs:annotation>
			<xs:documentation>
				There is zero-or one of these per 'test' concept.
				Each contains a list of items, or a single ItemRef - the conceptID to look at for the REAL PanelItem data (note - PanelRefs MUST be within this file - as they maybe processed
				at compilation time).
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice>
				<xs:element name="ItemRef" type="PrimaryKey"/>
				<xs:element name="Items">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Item" type="PanelItem" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CodedContentData">
		<xs:annotation>
			<xs:documentation/>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Header">
					<xs:annotation>
						<xs:documentation>
								For now, this is all optional (backward compatability as of 2006-02-01). We should require at least one source, and probably a defaultsource.
								The DefaultSource is what is applied implicitly to all data in the file if it has no SourceReference attribute.
							</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="SourceDefinitions" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="SourceDefinition" type="SourceDefinition" minOccurs="0" maxOccurs="unbounded"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="DefaultSource" minOccurs="0">
								<xs:complexType>
									<xs:attribute name="SourceReference" type="SourceReference" use="required"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="FileSource" minOccurs="0">
								<xs:annotation>
									<xs:documentation>
											Source used to describe/display the file itself (e.g. in picker dialogs selecting if the file is to be used).
									</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="SourceReference" type="SourceReference" use="required"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Content">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ContentElement" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PrimaryKey" type="PrimaryKey">
											<xs:annotation>
												<xs:documentation>
													A unique key to identify the concpet about which the rest of the content element applies.
												</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Codes" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Code" type="Code" minOccurs="0" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Categories" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Category" type="ConceptCategory" minOccurs="0" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Names" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Name" type="Name" minOccurs="0" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Abbreviations" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Abbreviation" type="Abbreviation" minOccurs="0" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Documentations" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Documentation" type="Documentation" minOccurs="0" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="StatisticalData" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="StatisticalDataForLocation" type="StatisticalDataForLocation" minOccurs="0" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Links" minOccurs="0">
											<xs:annotation>
												<xs:documentation>URL Web Links for additional information about the given concept</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Link" type="Link" minOccurs="0" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Panel" type="PanelType" minOccurs="0">
											<xs:annotation>
												<xs:documentation>for now, only allow a single panel - also - only valid if category = TEST</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Relationships" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
						</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Relationship" type="Relationship" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="BLOBs" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
								A list of binary-large-objects, such as images, etc. These can be referernced by IDREF above (initially just from Icon-GIF-64x64, but soon also
								from inside special documentation elements (as part of &lt;img&gt;s).
							</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="BLOB" type="BLOB" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
