<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://indivo.org/xml/phr/contact"
xmlns:con="http://indivo.org/xml/phr/contact"
xmlns:type="http://indivo.org/xml/phr/types"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="unqualified">
<import namespace="http://indivo.org/xml/phr/types"
schemaLocation="http://indivo.org/xml/phr/types.xsd"/>
<element name="ConciseContactInformation" type="con:ConciseContactInformationType"/>
<complexType name="ConciseContactInformationType">
<sequence>
<choice>
<sequence>
<element name="PersonName" type="con:NameType" minOccurs="1" maxOccurs="unbounded"/>
<element name="JobTitle" type="string" minOccurs="0"/>
<element name="Affiliation" type="string" minOccurs="0"/>
</sequence>
<element name="OrganizationName" type="string" minOccurs="1"/>
<element name="SystemName" type="string" minOccurs="1"/>
</choice>
<element name="Address" type="con:AddressType" minOccurs="0" maxOccurs="unbounded"/>
<element name="ContactMethod" type="con:CommunicationType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="NameType">
<sequence>
<element name="Salutation" type="string" minOccurs="0"/>
<element name="FirstName" type="string" minOccurs="0"/>
<element name="MiddleName" type="string" minOccurs="0"/>
<element name="LastName" type="string" minOccurs="0"/>
<element name="Suffix" type="string" minOccurs="0" maxOccurs="unbounded"/>
<!--birth name, alias, etc-->
<element name="Type" type="string" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="AddressType">
<sequence>
<element name="Type" type="string" minOccurs="1"/>
<element name="Priority" type="integer" minOccurs="1"/>
<element name="StreetAddress1" type="string" minOccurs="0"/>
<element name="StreetAddress2" type="string" minOccurs="0"/>
<element name="County" type="string" minOccurs="0"/>
<element name="City" type="string" minOccurs="0"/>
<element name="State" type="string" minOccurs="0"/>
<element name="PostalCode" type="string" minOccurs="0"/>
<element name="Country" type="string" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="CommunicationType">
<sequence>
<!--phone, email, pager, etc-->
<element name="Medium" type="string" minOccurs="1"/>
<element name="Priority" type="integer" minOccurs="1"/>
<!--home, mobile, office, etc-->
<element name="Class" type="string" minOccurs="1"/>
<element name="Value" type="string" minOccurs="1"/>
</sequence>
</complexType>
<element name="ContactInformation" type="con:ContactInformationType"/>
<complexType name="ContactInformationType">
<complexContent>
<extension base="con:ConciseContactInformationType">
<sequence>
<element name="Ssn" type="string" minOccurs="0"/>
<element name="Contacts" type="con:RelationInformationType" minOccurs="0" maxOccurs="unbounded"/>
<element name="Photo" type="type:ImageType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="RelationInformationType">
<complexContent>
<extension base="con:ContactInformationType">
<sequence>
<element name="Emergency" type="boolean"/>
<element name="Relationship" type="type:CodedValueType"/>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>