<?xml version="1.0" encoding="UTF-8"?>
<s:schema 
		xmlns:s="http://www.w3.org/2001/XMLSchema" 
		elementFormDefault="qualified" 
		attributeFormDefault="unqualified"

		targetNamespace="http://www.RecordsForLiving.com/Schemas/2009-04/HealthFrameWorks/" 
		xmlns:hfw="http://www.RecordsForLiving.com/Schemas/2009-04/HealthFrameWorks/"
	>
	<s:annotation>
		<s:documentation>Common definitions used throughout HealthFrameWorks.</s:documentation>
	</s:annotation>

  <s:simpleType name="ID">
    <s:annotation>
      <s:documentation>
        ID is a GUID (need to refine this 'restriction' to be a GUID).
      </s:documentation>
    </s:annotation>
    <s:restriction base="s:string"/>
  </s:simpleType>

  <s:simpleType name="HRID">
    <s:annotation>
      <s:documentation>
        And HRID is an ID, used to refer to a health record 'file'. By file - this could be a snapshot record, or a full longitudinal record. This term 'record' does not refer to an element (row) of a larger file.
      </s:documentation>
    </s:annotation>
    <s:restriction base="s:string"/>
	</s:simpleType>

  <s:simpleType name="MIMEContentType">
		<s:restriction base="s:string"/>
	</s:simpleType>

  <s:complexType name="ImageType">
		<s:simpleContent>
			<s:extension base="s:base64Binary">
				<s:attribute name="ImageFormat" type="hfw:MIMEContentType" use="required"/>
			</s:extension>
		</s:simpleContent>
	</s:complexType>

  <s:complexType name="PersonNameType">
		<s:sequence>
			<s:element name="FirstName" type="s:string" minOccurs="0"/>
			<s:element name="MiddleNames" type="s:string" minOccurs="0"/>
			<s:element name="LastName" type="s:string" minOccurs="0"/>
			<s:element name="NamePrefix" type="s:string" minOccurs="0"/>
			<s:element name="NameSuffix" type="s:string" minOccurs="0"/>
		</s:sequence>
	</s:complexType>


  <s:complexType name="ArrayOfString">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
    </s:sequence>
  </s:complexType>

  <s:complexType name="ArrayOfID">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="id" nillable="true" type="hfw:ID" />
    </s:sequence>
  </s:complexType>

  <s:complexType name="ArrayOfBoolean">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="boolean" type="s:boolean" />
    </s:sequence>
  </s:complexType>

  <s:complexType name="ArrayOfDateTime">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="dateTime" type="s:dateTime" />
    </s:sequence>
  </s:complexType>


</s:schema>

