<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pn="http://CytometryML/ACS/person_name" xmlns:about="http://CytometryML/ACS/about" targetNamespace="http://CytometryML/ACS/person_name" elementFormDefault="qualified" attributeFormDefault="unqualified">

	<import namespace="http://CytometryML/ACS/about" schemaLocation="about.xsd"/>
	<!--*********************************************Metadata Information********************************-->
	<annotation>
		<appinfo>
			<about:about Subject="person name" Version="0.35" Latest_Location="file:///CytometryML/ACS/person_name.xsd" Regulatory_Status="Under_Development" Copyright_Holder="Newport Instruments" Release_Date="2009-05-28" Supplementary_Info="URI" Keywords="Person_Name hr-xml name given family qualification degree Generation" Verification_Value="unverified" xmlns:about="http://www.newportinstruments.com/CytometryML/ACS/person_name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.newportinstruments.com/CytometryML/ACS/person_name person_name.xsd">
				<about:Maintainer Maintainer_Is_An_Author="true" Email="rleif@rleif.com">
					<about:PreferredGivenName>Robert</about:PreferredGivenName>
					<about:MiddleName>Cary</about:MiddleName>
					<about:FamilyName>Leif</about:FamilyName>
					<about:qualification>Ph.D.</about:qualification>
				</about:Maintainer>
				<about:Source>This schema is derived from a copyrighted schema from   The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org   Name: PersonName.xsd   Status: Recommendation   Date this version: http://ns.hr-xml.org/2004-08-02   Purpose: Defines the schema for PersonName   Author(s): Paul Kiel, Kim Bartkus, CPO Workgroup   Documentation: PersonName.html   Terms of license can be found in license.txt.    From original schema:http://ns.hr-xml.org/2004-08-02</about:Source>
				<about:Description>This schema includes  the elements that are necessary to describe a person's name.</about:Description>
				<about:Status_Disclaimer>This is a DRAFT proposal that has not been formally 
				  tested to comply with the W3C XML schema version 1.0 specification. No position
				  is taken in respect to whether a particular software implementing this schema
				  works according to medical or other regulations.</about:Status_Disclaimer>
				<about:Document_Status>Draft</about:Document_Status>
				<about:Patent_Disclaimer>Attention is called to the possibility that implementation of this 
				  specification may require use of subject matter covered by patent rights. 
				  By publication of this standard, no position is taken with respect to the existence 
				  or validity of any patent rights in connection therewith.
				  Newport Instruments shall not be responsible for identifying patents 
				  or patent applications for which a license may be required to implement a standard 
				  or for conducting inquiries into the legal 
				  validity or scope of those patents that are brought to its attention.</about:Patent_Disclaimer>
				<about:Permisions>Copyright 2002-2008 Newport Instruments. One print or electronic copy may be made 
				  for personal use only. Systematic or multiple reproduction, distribution to multiple 
				  locations via electronic or other means, or duplication of any material in this document 
				  for a fee or for commercial purposes require permission of the copyright holder. 
				  For all other uses, please contact Robert C. Leif, Ph.D. at rleif@rleif.com 
				  Since this is, at present, a research project, this schema should not be used in 
				  a medical device."</about:Permisions>
				<about:Acknowledgement>
					<about:Acknowledgement_Institution>Supported by Newport Instruments internal development funds.</about:Acknowledgement_Institution>
					<about:Disclaimer>The content is solely the responsibility of the authors and
            does not necessarily represent the official views of any governmental or private organization.</about:Disclaimer>
				</about:Acknowledgement>
			</about:about>
		</appinfo>
	</annotation>
	<!--*********************************************Metadata Information********************************-->
	<annotation>
		<documentation>Revised 5 Jan 2008 to include the about.xsd information as an XML page. Revised 18 march 2005 by Robert C. Leif, Ph.D to remove all xsd:, 
		make changes proposed for next version, and to localized the schema to its 
		present directory. In an attempt to simplify the structure of Person_Name_Type, 
		the helper types which are declared in the Person_Name_Type sequence have been
		removed from and placed ahead of it.
		See about.xsd on the inclusion of id attributes.</documentation>
	</annotation>
	<annotation>
		<documentation>Definitions from Microsoft® Encarta® Reference Library 2004,
		Given Name is the name or names that somebody is given at birth or baptism
		in addition to the family name. Legal Name should be the name of the person
		at the time of the use of this schema. 
		Formatted Name presumably refers to the proper format for a name. 
		Since formating should be performed outside of the schema, I suggest that this 
		element might not be included in the restricted types based on Person_Name_Type.</documentation>
	</annotation>
	<annotation>
		<documentation>The prefix Bd is an abbreviation for bounded. 
		Bd#_Types are strings with the number of characters ranging from 
		minLength to MaxLength.</documentation>
	</annotation>
	<simpleType name="Bounded_16_Type" id="Bounded_16_Type">
		<restriction base="token">
			<minLength value="1"/>
			<maxLength value="16"/>
		</restriction>
	</simpleType>
	<!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-->
	<simpleType name="Bounded_50_Type" id="Bounded_50_Type">
		<restriction base="token">
			<minLength value="1"/>
			<maxLength value="50"/>
		</restriction>
	</simpleType>
	<!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-->
	<simpleType name="Bounded_64_Type" id="Bounded_64_Type">
		<restriction base="token">
			<minLength value="1"/>
			<maxLength value="64"/>
		</restriction>
	</simpleType>
	<!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-->
	<simpleType name="Primary_Type" id="Primary_Type">
		<restriction base="string">
			<enumeration value="true"/>
			<enumeration value="false"/>
			<enumeration value="undefined"/>
		</restriction>
	</simpleType>
	<!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-->
	<annotation>
		<documentation>This permits either European-American or Asiatic-
Hungarian order to be specified.</documentation>
	</annotation>
	<simpleType name="Name_Order_Type">
		<restriction base="token">
			<enumeration value="First_Middle_Last"/>
			<enumeration value="Last_Middle_First"/>
			<enumeration value="Last_First_Middle"/>
		</restriction>
	</simpleType>
	<!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-->
	<annotation>
		<documentation>In the case of suffixes, which often do not exist, the alternatiove of 0 characters makes sense. 
	Null is another possibility
	</documentation>
	</annotation>
	<simpleType name="Suffix_Type">
		<restriction base="token">
			<minLength value="0"/>
			<maxLength value="16"/>
		</restriction>
	</simpleType>
	<!--xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-->
	<annotation>
		<documentation>In some case, it may the attributes may be of use. Their Generation by the transformation of the schema into the XML document was stopped by prohibiting their use.</documentation>
	</annotation>
	<complexType name="Family_Name_Type" id="Family_Name_Type">
		<simpleContent>
			<extension base="pn:Bounded_50_Type">
				<attribute name="primary" type="pn:Primary_Type" use="prohibited"/>
				<attribute name="prefix" type="string" use="prohibited"/>
			</extension>
		</simpleContent>
	</complexType>
	<!--***********************************************-->
	<annotation>
		<documentation>Affix_Type has been split into Prefix_Type and both qualification 
		and Generation have been added as separate elements to Person_Name_Type. 
		Each of these types could be defined as a union of a choice and a string. 
		Since this schema is subject to subsequent restriction, the string types have not 
		been restricted. The Prefix_Species_Type has been made global in order to permit
		types that use this type as an attribute can be extended or restricted.</documentation>
	</annotation>
	<simpleType name="Form_Of_Address_Type" id="Form_Of_Address_Type">
		<restriction base="string">
			<enumeration value="DR."/>
			<enumeration value="MR."/>
			<enumeration value="MRS."/>
			<enumeration value="MS."/>
			<enumeration value="PROF."/>
		</restriction>
	</simpleType>
	<!--An enumerated type Title_Type can be created for each specific group of persons.
and the choices in Prefix_Type extended or a new version of Prefix_Type created-->
	<complexType name="Prefix_Type" id="Prefix_Type">
		<choice>
			<element name="Form_Of_Address" type="pn:Form_Of_Address_Type"/>
			<!--Title can be an aristoratic, military, religous, etc. -->
			<element name="Title" type="pn:Bounded_16_Type"/>
		</choice>
	</complexType>
	<!--***********************************************************************************-->
	<annotation>
		<documentation>This is very close to the Human Resorce definition except that affix has been
		split into 3 parts. The DICOM format for Person Name will be added in the DICOM schema. From the Wikipedia: "A given name, Christian name or forename is a personal name which specifies and differentiates between members of a group of individuals, especially in a family, all of whose members usually share the same family name (surname). A given name is a name given to a person, as opposed to an inherited one such as a family name."
		Given name is the nick name, which may be useful information for the patients. If a last name is hyphenated, the hyphen should be included with the first half. </documentation>
	</annotation>
	<complexType name="Person_Name_Long_Type" id="Person_Name_Long_Type">
		<sequence>
			<element name="Formatted_Name" type="pn:Bounded_64_Type" minOccurs="0"/>
			<element name="Legal_Name" type="pn:Bounded_64_Type" minOccurs="0"/>
			<element name="Given_Name" type="pn:Bounded_50_Type" minOccurs="0" maxOccurs="unbounded"/>
			<element name="Preferred_Given_Name" type="pn:Bounded_50_Type" minOccurs="0"/>
			<element name="Middle_Name" type="pn:Bounded_50_Type" minOccurs="0"/>
			<element name="Family_Name" type="pn:Family_Name_Type" minOccurs="0" maxOccurs="unbounded"/>
			<element name="Prefix" type="pn:Prefix_Type" minOccurs="0" maxOccurs="2"/>
			<!--was unbounded-->
			<element name="Generation" type="pn:Suffix_Type" minOccurs="0"/>
			<element name="Qualification" type="pn:Suffix_Type" minOccurs="0" maxOccurs="2"/>
		</sequence>
		<attribute name="Name_Order" type="pn:Name_Order_Type" use="optional"/>
	</complexType>
	<!--***********************************************************************************-->
	<annotation>
		<documentation>The order of the names has not been specified because it will 
	be decided by a style-sheet and/or the attribute Name_Order. Given name is the nick name, 
	which may be useful information for the patients. If a last name is hyphenated, the hyphen should be included with the first half. </documentation>
	</annotation>
	<complexType name="Person_Name_Type" id="Person_Name_Type">
		<complexContent>
			<restriction base="pn:Person_Name_Long_Type">
				<sequence>
					<element name="Given_Name" type="pn:Bounded_50_Type" minOccurs="0" maxOccurs="unbounded"/>
					<element name="Preferred_Given_Name" type="pn:Bounded_50_Type" minOccurs="0"/>
					<element name="Middle_Name" type="pn:Bounded_50_Type" minOccurs="0"/>
					<element name="Family_Name" type="pn:Family_Name_Type" minOccurs="0" maxOccurs="unbounded"/>
					<element name="Prefix" type="pn:Prefix_Type" minOccurs="0" maxOccurs="2"/>
					<element name="Generation" type="pn:Suffix_Type" minOccurs="0"/>
					<element name="Qualification" type="pn:Suffix_Type" minOccurs="0" maxOccurs="2"/>
				</sequence>
				<attribute name="Name_Order" type="pn:Name_Order_Type" use="optional"/>
			</restriction>
		</complexContent>
	</complexType>
	<!--***********************************************************************************-->
	<complexType name="Person_Name_Short_Type">
		<sequence>
			<element name="Preferred_GivenName" type="pn:Bounded_50_Type"/>
			<!--First Name-->
			<element name="MiddleName" type="pn:Bounded_50_Type" minOccurs="0" maxOccurs="3"/>
			<element name="FamilyName" type="pn:Family_Name_Type"/>
			<element name="Qualification" type="pn:Suffix_Type" minOccurs="0" maxOccurs="3"/>
			<element name="Generation" type="pn:Suffix_Type" minOccurs="0"/>
		</sequence>
		<attribute name="Name_Order" type="pn:Name_Order_Type" use="optional"/>
	</complexType>
	<!--***********************************************************************************-->
	<complexType name="Person_Name_Attributes_Type">
		<attribute name="Preferred_GivenName" type="pn:Bounded_50_Type"/>
		<attribute name="MiddleName" type="pn:Bounded_50_Type" use="optional"/>
		<attribute name="MiddleName_2" type="pn:Bounded_50_Type" use="optional"/>
		<attribute name="FamilyName" type="pn:Bounded_50_Type"/>
		<attribute name="Qualification" type="pn:Suffix_Type" use="optional"/>
		<attribute name="Generation" type="pn:Suffix_Type" use="optional"/>
		<attribute name="Name_Order" type="pn:Name_Order_Type" use="optional"/>
		<!--First Name-->
	</complexType>
	<!--***********************************************************************************-->
</schema>
