Showing:

Annotations
Asserts
Diagrams
Facets
Identity Constraints
Instances
Model
Properties
Source
Used by
Element source / SourceID
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
Reference to the Source's unique ID. If SourceType = 1, this field may not be null and must identify the HUD CoC Code of the HMIS implementation from which data are being exported in the format of two letters, a dash, and 3 numbers.  ^[a-zA-Z]{2}-[0-9]{3}$ . If SourceType !=1, this field may be null or used to specify other characteristics, as agreed upon by sender and receiver.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_string32.tmp#string32
Type string32
Properties
content simple
minOccurs 0
Facets
maxLength 32
Source
<xs:element name="SourceID" type="hmis:string32" minOccurs="0">
  <xs:annotation>
    <xs:documentation xml:lang="en">Reference to the Source's unique ID. If SourceType = 1, this field may not be null and must identify the HUD CoC Code of the HMIS implementation from which data are being exported in the format of two letters, a dash, and 3 numbers. ^[a-zA-Z]{2}-[0-9]{3}$ . If SourceType !=1, this field may be null or used to specify other characteristics, as agreed upon by sender and receiver.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SourceType
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
Identifies whether the source database is a continuum-operated HMIS (1), an agency-specific database (2), a data warehouse (3), or other (4).  An HMIS implementation operated jointly by more than one continuum should be identified as a data warehouse.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_sourceType.tmp#sourceType
Type sourceType
Properties
content simple
Facets
enumeration 1
continuum-operated HMIS
enumeration 2
agency-specific database
enumeration 3
data warehouse
enumeration 4
other
Source
<xs:element name="SourceType" type="hmis:sourceType">
  <xs:annotation>
    <xs:documentation xml:lang="en">Identifies whether the source database is a continuum-operated HMIS (1), an agency-specific database (2), a data warehouse (3), or other (4). An HMIS implementation operated jointly by more than one continuum should be identified as a data warehouse.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SourceName
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
If the source database is not an HMIS implementation (if SourceType != 1), this field may not be null and must identify the organization responsible for the database.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_string50.tmp#string50
Type string50
Properties
content simple
minOccurs 0
Facets
maxLength 50
Source
<xs:element name="SourceName" type="hmis:string50" minOccurs="0">
  <xs:annotation>
    <xs:documentation xml:lang="en">If the source database is not an HMIS implementation (if SourceType != 1), this field may not be null and must identify the organization responsible for the database.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SoftwareName
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
The name of the software provider generating this XML.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_string50.tmp#string50
Type string50
Properties
content simple
Facets
maxLength 50
Source
<xs:element name="SoftwareName" type="hmis:string50">
  <xs:annotation>
    <xs:documentation xml:lang="en">The name of the software provider generating this XML.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SoftwareVersion
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
Version number of the software being used by the software provider.
Diagram
Diagram
Type xs:string
Properties
content simple
Source
<xs:element name="SoftwareVersion" type="xs:string">
  <xs:annotation>
    <xs:documentation xml:lang="en">Version number of the software being used by the software provider.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SourceContactEmail
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
Email address of the person to contact about this XML data.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_email.tmp#email
Type email
Properties
content simple
minOccurs 0
Facets
pattern (([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}
Source
<xs:element name="SourceContactEmail" type="hmis:email" minOccurs="0">
  <xs:annotation>
    <xs:documentation xml:lang="en">Email address of the person to contact about this XML data.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SourceContactExtension
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
Used with SourceContactPhone to contact the person who can answer questions about this XML.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_extension.tmp#extension
Type extension
Properties
content simple
minOccurs 0
Facets
pattern [0-9]{1,5}
Source
<xs:element name="SourceContactExtension" type="hmis:extension" minOccurs="0">
  <xs:annotation>
    <xs:documentation xml:lang="en">Used with SourceContactPhone to contact the person who can answer questions about this XML.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SourceContactFirst
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
First name of the person to contact about this XML data.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_string50.tmp#string50
Type string50
Properties
content simple
minOccurs 0
Facets
maxLength 50
Source
<xs:element name="SourceContactFirst" type="hmis:string50" minOccurs="0">
  <xs:annotation>
    <xs:documentation xml:lang="en">First name of the person to contact about this XML data.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SourceContactLast
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
Last name of the person to contact about this XML data.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_string50.tmp#string50
Type string50
Properties
content simple
minOccurs 0
Facets
maxLength 50
Source
<xs:element name="SourceContactLast" type="hmis:string50" minOccurs="0">
  <xs:annotation>
    <xs:documentation xml:lang="en">Last name of the person to contact about this XML data.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / SourceContactPhone
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
Phone number of the person to contact about this XML data; used with SourceContactExtension.
Diagram
Diagram HUD_HMIS_xsd_Simple_Type_phoneNumber.tmp#phoneNumber
Type phoneNumber
Properties
content simple
minOccurs 0
Facets
pattern [2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}
Source
<xs:element name="SourceContactPhone" type="hmis:phoneNumber" minOccurs="0">
  <xs:annotation>
    <xs:documentation xml:lang="en">Phone number of the person to contact about this XML data; used with SourceContactExtension.</xs:documentation>
  </xs:annotation>
</xs:element>
Element source / Export
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Annotations
An export is a set of data being transmitted for a specific purpose (see ExportType).  A single XML file can have many different Exports of different types and date ranges.
Diagram
Diagram HUD_HMIS_xsd_Complex_Type_export.tmp#export_ExportID HUD_HMIS_xsd_Complex_Type_export.tmp#export_ExportDate HUD_HMIS_xsd_Complex_Type_export.tmp#export_ExportPeriod HUD_HMIS_xsd_Complex_Type_export.tmp#export_ExportPeriodType HUD_HMIS_xsd_Complex_Type_export.tmp#export_ExportDirective HUD_HMIS_xsd_Complex_Type_export.tmp#export_Affiliation HUD_HMIS_xsd_Complex_Type_export.tmp#export_Client HUD_HMIS_xsd_Complex_Type_export.tmp#export_ClientVeteranInfo HUD_HMIS_xsd_Complex_Type_export.tmp#export_ConnectionWithSOAR HUD_HMIS_xsd_Complex_Type_export.tmp#export_CoC HUD_HMIS_xsd_Complex_Type_export.tmp#export_DateOfEngagement HUD_HMIS_xsd_Complex_Type_export.tmp#export_Disabilities HUD_HMIS_xsd_Complex_Type_export.tmp#export_DomesticViolence HUD_HMIS_xsd_Complex_Type_export.tmp#export_Education HUD_HMIS_xsd_Complex_Type_export.tmp#export_Employment HUD_HMIS_xsd_Complex_Type_export.tmp#export_Enrollment HUD_HMIS_xsd_Complex_Type_export.tmp#export_EnrollmentCoC HUD_HMIS_xsd_Complex_Type_export.tmp#export_EntryRHSP HUD_HMIS_xsd_Complex_Type_export.tmp#export_EntryRHY HUD_HMIS_xsd_Complex_Type_export.tmp#export_EntrySSVF HUD_HMIS_xsd_Complex_Type_export.tmp#export_Exit HUD_HMIS_xsd_Complex_Type_export.tmp#export_ExitHousingAssessment HUD_HMIS_xsd_Complex_Type_export.tmp#export_ExitRHY HUD_HMIS_xsd_Complex_Type_export.tmp#export_Funder HUD_HMIS_xsd_Complex_Type_export.tmp#export_Geography HUD_HMIS_xsd_Complex_Type_export.tmp#export_HealthInsurance HUD_HMIS_xsd_Complex_Type_export.tmp#export_HealthStatus HUD_HMIS_xsd_Complex_Type_export.tmp#export_HousingAssessmentDisposition HUD_HMIS_xsd_Complex_Type_export.tmp#export_IncomeAndSources HUD_HMIS_xsd_Complex_Type_export.tmp#export_Inventory HUD_HMIS_xsd_Complex_Type_export.tmp#export_MedicalAssistance HUD_HMIS_xsd_Complex_Type_export.tmp#export_MoveInDate HUD_HMIS_xsd_Complex_Type_export.tmp#export_NonCashBenefits HUD_HMIS_xsd_Complex_Type_export.tmp#export_Organization HUD_HMIS_xsd_Complex_Type_export.tmp#export_PATHStatus HUD_HMIS_xsd_Complex_Type_export.tmp#export_Project HUD_HMIS_xsd_Complex_Type_export.tmp#export_RHYAftercare HUD_HMIS_xsd_Complex_Type_export.tmp#export_RHYBCPStatus HUD_HMIS_xsd_Complex_Type_export.tmp#export_ServiceFAReferral HUD_HMIS_xsd_Complex_Type_export.tmp#export_VASHExitReason HUD_HMIS_xsd_Complex_Type_export.tmp#export
Type export
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Affiliation, Client, ClientVeteranInfo, CoC, ConnectionWithSOAR, DateOfEngagement, Disabilities, DomesticViolence, Education, Employment, Enrollment, EnrollmentCoC, EntryRHSP, EntryRHY, EntrySSVF, Exit, ExitHousingAssessment, ExitRHY, ExportDate, ExportDirective, ExportID, ExportPeriod, ExportPeriodType, Funder, Geography, HealthInsurance, HealthStatus, HousingAssessmentDisposition, IncomeAndSources, Inventory, MedicalAssistance, MoveInDate, NonCashBenefits, Organization, PATHStatus, Project, RHYAftercare, RHYBCPStatus, ServiceFAReferral, VASHExitReason
Instance
<Export xmlns="http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd">
  <ExportID>{1,1}</ExportID>
  <ExportDate>{1,1}</ExportDate>
  <ExportPeriod>{1,1}</ExportPeriod>
  <ExportPeriodType>{1,1}</ExportPeriodType>
  <ExportDirective>{1,1}</ExportDirective>
  <Affiliation dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</Affiliation>
  <Client dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</Client>
  <ClientVeteranInfo dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</ClientVeteranInfo>
  <ConnectionWithSOAR dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</ConnectionWithSOAR>
  <CoC dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</CoC>
  <DateOfEngagement dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</DateOfEngagement>
  <Disabilities dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</Disabilities>
  <DomesticViolence dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</DomesticViolence>
  <Education dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</Education>
  <Employment dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</Employment>
  <Enrollment dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</Enrollment>
  <EnrollmentCoC dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</EnrollmentCoC>
  <EntryRHSP dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</EntryRHSP>
  <EntryRHY dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</EntryRHY>
  <EntrySSVF dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</EntrySSVF>
  <Exit dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</Exit>
  <ExitHousingAssessment dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</ExitHousingAssessment>
  <ExitRHY dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</ExitRHY>
  <Funder dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</Funder>
  <Geography dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</Geography>
  <HealthInsurance dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</HealthInsurance>
  <HealthStatus dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</HealthStatus>
  <HousingAssessmentDisposition dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</HousingAssessmentDisposition>
  <IncomeAndSources dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</IncomeAndSources>
  <Inventory dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</Inventory>
  <MedicalAssistance dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</MedicalAssistance>
  <MoveInDate dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</MoveInDate>
  <NonCashBenefits dataCollectionStage="" dateCreated="" dateDeleted="" dateUpdated="" informationDate="" userID="">{1,1}</NonCashBenefits>
  <Organization dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</Organization>
  <PATHStatus dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</PATHStatus>
  <Project dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</Project>
  <RHYAftercare dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</RHYAftercare>
  <RHYBCPStatus dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</RHYBCPStatus>
  <ServiceFAReferral dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</ServiceFAReferral>
  <VASHExitReason dateCreated="" dateDeleted="" dateUpdated="" userID="">{1,1}</VASHExitReason>
</Export>
Asserts
Test XPath default namespace Annotation
every $id in hmis:Client/hmis:PersonalID satisfies (fn:count(hmis:ClientVeteranInfo[hmis:PersonalID = $id]) le 1)
every $id in hmis:Client/hmis:PersonalID satisfies (fn:count(hmis:Enrollment[hmis:PersonalID = $id]) ge 1)
every $id in hmis:CoC/hmis:CoCCode satisfies (fn:count(hmis:EnrollmentCoC[hmis:CoCCode = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:ConnectionWithSOAR[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:Contact[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:DateOfEngagement[hmis:EnrollmentID = $id]) le 1)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:Disabilities[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:DomesticViolence[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:Employment[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:EnrollmentCoC[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:EntryRHY[hmis:EnrollmentID = $id]) le 1)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:EntrySSVF[hmis:EnrollmentID = $id]) le 1)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:Exit[hmis:EnrollmentID = $id]) le 1)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:HealthInsurance[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:HealthStatus[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:IncomeAndSources[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:MedicalAssistance[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:NonCashBenefits[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:PathStatus[hmis:EnrollmentID = $id]) le 1)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:EntryRHSP[hmis:EnrollmentID = $id]) le 1)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:MoveInDate[hmis:EnrollmentID = $id]) le 1)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:RHYBCPStatus[hmis:EnrollmentID = $id]) le 1)
every $id in hmis:Enrollment/hmis:EnrollmentID satisfies (fn:count(hmis:ServiceFAReferral[hmis:EnrollmentID = $id]) ge 0)
every $id in hmis:Exit/hmis:ExitID satisfies (fn:count(hmis:ExitHousingAssessment[hmis:ExitID = $id]) le 1)
every $id in hmis:Exit/hmis:ExitID satisfies (fn:count(hmis:ExitRHY[hmis:ExitID = $id]) le 1)
every $id in hmis:Exit/hmis:ExitID satisfies (fn:count(hmis:HousingAssessmentDisposition[hmis:ExitID = $id]) le 1)
every $id in hmis:Organization/hmis:OrganizationID satisfies (fn:count(hmis:Project[hmis:OrganizationID = $id]) ge 0)
every $id in hmis:Project/hmis:ProjectID satisfies (fn:count(hmis:Affiliation[hmis:ProjectID = $id]) ge 0)
every $id in hmis:Project/hmis:ProjectID satisfies (fn:count(hmis:CoC[hmis:ProjectID = $id]) ge 1)
every $id in hmis:Project/hmis:ProjectID satisfies (fn:count(hmis:Funder[hmis:ProjectID = $id]) ge 1)
every $id in hmis:Exit/hmis:ExitID satisfies (fn:count(hmis:RHYAftercare[hmis:ExitID = $id]) le 1)
every $inventory in hmis:Inventory satisfies (if (boolean($inventory/hmis:Availability) or boolean($inventory/hmis:BedType)) then (if (every $id in $inventory/hmis:ProjectID satisfies (hmis:Project[hmis:ProjectID = $id]/hmis:ProjectType/text()='1')) then (true()) else false()) else (true()))
every $inventory in hmis:Inventory satisfies (if (boolean($inventory/hmis:CHBedInventory)) then (if (every $id in $inventory/hmis:ProjectID satisfies (hmis:Project[hmis:ProjectID = $id]/hmis:ProjectType/text()='3')) then (true()) else false()) else (true()))
every $id in hmis:Enrollment/hmis:HouseholdID satisfies (fn:count(hmis:Enrollment/hmis:RelationshipToHoH[text()= '1'][../hmis:HouseholdID = $id] ) eq 1)
Source
<xs:element name="Export" type="hmis:export" minOccurs="0" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation xml:lang="en">An export is a set of data being transmitted for a specific purpose (see ExportType). A single XML file can have many different Exports of different types and date ranges.</xs:documentation>
  </xs:annotation>
  <xs:key name="clientKey">
    <xs:selector xpath="hmis:Client"/>
    <xs:field xpath="hmis:PersonalID"/>
  </xs:key>
  <xs:key name="cocKey">
    <xs:selector xpath="hmis:CoC"/>
    <xs:field xpath="hmis:CoCCode"/>
  </xs:key>
  <xs:key name="enrollmentKey">
    <xs:selector xpath="hmis:Enrollment"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:key>
  <xs:key name="exitKey">
    <xs:selector xpath="hmis:Exit"/>
    <xs:field xpath="hmis:ExitID"/>
  </xs:key>
  <xs:key name="organizationKey">
    <xs:selector xpath="hmis:Organization"/>
    <xs:field xpath="hmis:OrganizationID"/>
  </xs:key>
  <xs:key name="projectKey">
    <xs:selector xpath="hmis:Project"/>
    <xs:field xpath="hmis:ProjectID"/>
  </xs:key>
  <xs:keyref name="affiliationProjectKeyRef" refer="projectKey">
    <xs:selector xpath="hmis:Affiliation"/>
    <xs:field xpath="hmis:ProjectID"/>
  </xs:keyref>
  <xs:keyref name="affiliationResProjectKeyRef" refer="projectKey">
    <xs:selector xpath="hmis:Affiliation"/>
    <xs:field xpath="hmis:ResProjectID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentClientKeyRef" refer="clientKey">
    <xs:selector xpath="hmis:Enrollment"/>
    <xs:field xpath="hmis:PersonalID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentCoCCoCKeyRef" refer="cocKey">
    <xs:selector xpath="hmis:EnrollmentCoC"/>
    <xs:field xpath="hmis:CoCCode"/>
  </xs:keyref>
  <xs:keyref name="enrollmentCoCEnrollmentKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:EnrollmentCoC"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentContactKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:Contact"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentDateOfEngagementKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:DateOfEngagement"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentDisabilitiesKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:Disabilities"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentDomesticViolenceKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:DomesticViolence"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentEducationKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:Education"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentEmploymentKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:Employment"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentEnrollmentCoCKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:EnrollmentCoC"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentExitKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:Exit"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentFormerWardChildWelfareKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:FormerWardChildWelfare"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentFormerWardJuvenileJusticeKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:FormerWardJuvenileJustice"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentHealthInsuranceKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:HealthInsurance"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentHealthStatusKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:HealthStatus"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentIncomeAndSourcesKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:IncomeAndSources"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentMedicalAssistanceKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:MedicalAssistance"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentNonCashBenefitsKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:NonCashBenefits"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentPATHStatusKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:PATHStatus"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentEntrySSVFKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:EntrySSVF"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentReferralSourceKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:ReferralSource"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentMoveInDateKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:MoveInDate"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentRHYBCPStatusKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:NonCashBenefits"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentServiceFAReferralKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:ServiceFAReferral"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentSexualOrientationKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:SexualOrientation"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentEntryRHSPKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:EntryRHSP"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="enrollmentEntryRHYKeyRef" refer="enrollmentKey">
    <xs:selector xpath="hmis:EntryRHY"/>
    <xs:field xpath="hmis:EnrollmentID"/>
  </xs:keyref>
  <xs:keyref name="exitExitHousingAssessmentKeyRef" refer="exitKey">
    <xs:selector xpath="hmis:ExitHousingAssessment"/>
    <xs:field xpath="hmis:ExitID"/>
  </xs:keyref>
  <xs:keyref name="exitExitRHYKeyRef" refer="exitKey">
    <xs:selector xpath="hmis:ExitRHY"/>
    <xs:field xpath="hmis:ExitID"/>
  </xs:keyref>
  <xs:keyref name="exitHousingAssessmentDispositionKeyRef" refer="exitKey">
    <xs:selector xpath="hmis:HousingAssessmentDisposition"/>
    <xs:field xpath="hmis:ExitID"/>
  </xs:keyref>
  <xs:keyref name="exitRHYAftercareKeyRef" refer="exitKey">
    <xs:selector xpath="hmis:RHYAftercare"/>
    <xs:field xpath="hmis:ExitID"/>
  </xs:keyref>
  <xs:keyref name="inventoryCoCKeyRef" refer="cocKey">
    <xs:selector xpath="hmis:Inventory"/>
    <xs:field xpath="hmis:CoCCode"/>
  </xs:keyref>
  <xs:keyref name="projectOrganizationKeyRef" refer="organizationKey">
    <xs:selector xpath="hmis:Project"/>
    <xs:field xpath="hmis:OrganizationID"/>
  </xs:keyref>
  <xs:keyref name="cocProjectKeyRef" refer="projectKey">
    <xs:selector xpath="hmis:CoC"/>
    <xs:field xpath="hmis:ProjectID"/>
  </xs:keyref>
  <xs:keyref name="projectEnrollmentKeyRef" refer="projectKey">
    <xs:selector xpath="hmis:Enrollment"/>
    <xs:field xpath="hmis:ProjectID"/>
  </xs:keyref>
  <xs:keyref name="projectFunderKeyRef" refer="projectKey">
    <xs:selector xpath="hmis:Funder"/>
    <xs:field xpath="hmis:ProjectID"/>
  </xs:keyref>
  <xs:keyref name="geographyCoCKeyRef" refer="cocKey">
    <xs:selector xpath="hmis:Geography"/>
    <xs:field xpath="hmis:CoCCode"/>
  </xs:keyref>
  <xs:keyref name="clientVeteranInfoClientKeyRef" refer="clientKey">
    <xs:selector xpath="hmis:ClientVeteranInfo"/>
    <xs:field xpath="hmis:PersonalID"/>
  </xs:keyref>
</xs:element>
Complex Type source
Namespace http://www.hudhdx.info/Resources/Vendors/6_1_1/HUD_HMIS.xsd
Diagram
Diagram HUD_HMIS_xsd_Complex_Type_source.tmp#source_SourceID HUD_HMIS_xsd_Complex_Type_source.tmp#source_SourceType HUD_HMIS_xsd_Complex_Type_source.tmp#source_SourceName HUD_HMIS_xsd_Complex_Type_source.tmp#source_SoftwareName HUD_HMIS_xsd_Complex_Type_source.tmp#source_SoftwareVersion HUD_HMIS_xsd_Complex_Type_source.tmp#source_SourceContactEmail HUD_HMIS_xsd_Complex_Type_source.tmp#source_SourceContactExtension HUD_HMIS_xsd_Complex_Type_source.tmp#source_SourceContactFirst HUD_HMIS_xsd_Complex_Type_source.tmp#source_SourceContactLast HUD_HMIS_xsd_Complex_Type_source.tmp#source_SourceContactPhone HUD_HMIS_xsd_Complex_Type_source.tmp#source_Export
Used by
Element sources/Source
Model
Children Export, SoftwareName, SoftwareVersion, SourceContactEmail, SourceContactExtension, SourceContactFirst, SourceContactLast, SourceContactPhone, SourceID, SourceName, SourceType
Asserts
Test XPath default namespace Annotation
if (hmis:SourceType/text()!='1') then boolean(hmis:SourceName) else true()
if (hmis:SourceType/text()='1') then boolean(hmis:SourceID) else true()
Source
<xs:complexType name="source">
  <xs:sequence>
    <xs:element name="SourceID" type="hmis:string32" minOccurs="0">
      <xs:annotation>
        <xs:documentation xml:lang="en">Reference to the Source's unique ID. If SourceType = 1, this field may not be null and must identify the HUD CoC Code of the HMIS implementation from which data are being exported in the format of two letters, a dash, and 3 numbers. ^[a-zA-Z]{2}-[0-9]{3}$ . If SourceType !=1, this field may be null or used to specify other characteristics, as agreed upon by sender and receiver.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SourceType" type="hmis:sourceType">
      <xs:annotation>
        <xs:documentation xml:lang="en">Identifies whether the source database is a continuum-operated HMIS (1), an agency-specific database (2), a data warehouse (3), or other (4). An HMIS implementation operated jointly by more than one continuum should be identified as a data warehouse.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SourceName" type="hmis:string50" minOccurs="0">
      <xs:annotation>
        <xs:documentation xml:lang="en">If the source database is not an HMIS implementation (if SourceType != 1), this field may not be null and must identify the organization responsible for the database.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SoftwareName" type="hmis:string50">
      <xs:annotation>
        <xs:documentation xml:lang="en">The name of the software provider generating this XML.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SoftwareVersion" type="xs:string">
      <xs:annotation>
        <xs:documentation xml:lang="en">Version number of the software being used by the software provider.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SourceContactEmail" type="hmis:email" minOccurs="0">
      <xs:annotation>
        <xs:documentation xml:lang="en">Email address of the person to contact about this XML data.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SourceContactExtension" type="hmis:extension" minOccurs="0">
      <xs:annotation>
        <xs:documentation xml:lang="en">Used with SourceContactPhone to contact the person who can answer questions about this XML.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SourceContactFirst" type="hmis:string50" minOccurs="0">
      <xs:annotation>
        <xs:documentation xml:lang="en">First name of the person to contact about this XML data.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SourceContactLast" type="hmis:string50" minOccurs="0">
      <xs:annotation>
        <xs:documentation xml:lang="en">Last name of the person to contact about this XML data.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SourceContactPhone" type="hmis:phoneNumber" minOccurs="0">
      <xs:annotation>
        <xs:documentation xml:lang="en">Phone number of the person to contact about this XML data; used with SourceContactExtension.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="Export" type="hmis:export" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation xml:lang="en">An export is a set of data being transmitted for a specific purpose (see ExportType). A single XML file can have many different Exports of different types and date ranges.</xs:documentation>
      </xs:annotation>
      <xs:key name="clientKey">
        <xs:selector xpath="hmis:Client"/>
        <xs:field xpath="hmis:PersonalID"/>
      </xs:key>
      <xs:key name="cocKey">
        <xs:selector xpath="hmis:CoC"/>
        <xs:field xpath="hmis:CoCCode"/>
      </xs:key>
      <xs:key name="enrollmentKey">
        <xs:selector xpath="hmis:Enrollment"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:key>
      <xs:key name="exitKey">
        <xs:selector xpath="hmis:Exit"/>
        <xs:field xpath="hmis:ExitID"/>
      </xs:key>
      <xs:key name="organizationKey">
        <xs:selector xpath="hmis:Organization"/>
        <xs:field xpath="hmis:OrganizationID"/>
      </xs:key>
      <xs:key name="projectKey">
        <xs:selector xpath="hmis:Project"/>
        <xs:field xpath="hmis:ProjectID"/>
      </xs:key>
      <xs:keyref name="affiliationProjectKeyRef" refer="projectKey">
        <xs:selector xpath="hmis:Affiliation"/>
        <xs:field xpath="hmis:ProjectID"/>
      </xs:keyref>
      <xs:keyref name="affiliationResProjectKeyRef" refer="projectKey">
        <xs:selector xpath="hmis:Affiliation"/>
        <xs:field xpath="hmis:ResProjectID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentClientKeyRef" refer="clientKey">
        <xs:selector xpath="hmis:Enrollment"/>
        <xs:field xpath="hmis:PersonalID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentCoCCoCKeyRef" refer="cocKey">
        <xs:selector xpath="hmis:EnrollmentCoC"/>
        <xs:field xpath="hmis:CoCCode"/>
      </xs:keyref>
      <xs:keyref name="enrollmentCoCEnrollmentKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:EnrollmentCoC"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentContactKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:Contact"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentDateOfEngagementKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:DateOfEngagement"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentDisabilitiesKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:Disabilities"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentDomesticViolenceKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:DomesticViolence"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentEducationKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:Education"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentEmploymentKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:Employment"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentEnrollmentCoCKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:EnrollmentCoC"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentExitKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:Exit"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentFormerWardChildWelfareKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:FormerWardChildWelfare"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentFormerWardJuvenileJusticeKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:FormerWardJuvenileJustice"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentHealthInsuranceKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:HealthInsurance"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentHealthStatusKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:HealthStatus"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentIncomeAndSourcesKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:IncomeAndSources"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentMedicalAssistanceKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:MedicalAssistance"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentNonCashBenefitsKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:NonCashBenefits"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentPATHStatusKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:PATHStatus"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentEntrySSVFKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:EntrySSVF"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentReferralSourceKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:ReferralSource"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentMoveInDateKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:MoveInDate"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentRHYBCPStatusKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:NonCashBenefits"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentServiceFAReferralKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:ServiceFAReferral"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentSexualOrientationKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:SexualOrientation"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentEntryRHSPKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:EntryRHSP"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="enrollmentEntryRHYKeyRef" refer="enrollmentKey">
        <xs:selector xpath="hmis:EntryRHY"/>
        <xs:field xpath="hmis:EnrollmentID"/>
      </xs:keyref>
      <xs:keyref name="exitExitHousingAssessmentKeyRef" refer="exitKey">
        <xs:selector xpath="hmis:ExitHousingAssessment"/>
        <xs:field xpath="hmis:ExitID"/>
      </xs:keyref>
      <xs:keyref name="exitExitRHYKeyRef" refer="exitKey">
        <xs:selector xpath="hmis:ExitRHY"/>
        <xs:field xpath="hmis:ExitID"/>
      </xs:keyref>
      <xs:keyref name="exitHousingAssessmentDispositionKeyRef" refer="exitKey">
        <xs:selector xpath="hmis:HousingAssessmentDisposition"/>
        <xs:field xpath="hmis:ExitID"/>
      </xs:keyref>
      <xs:keyref name="exitRHYAftercareKeyRef" refer="exitKey">
        <xs:selector xpath="hmis:RHYAftercare"/>
        <xs:field xpath="hmis:ExitID"/>
      </xs:keyref>
      <xs:keyref name="inventoryCoCKeyRef" refer="cocKey">
        <xs:selector xpath="hmis:Inventory"/>
        <xs:field xpath="hmis:CoCCode"/>
      </xs:keyref>
      <xs:keyref name="projectOrganizationKeyRef" refer="organizationKey">
        <xs:selector xpath="hmis:Project"/>
        <xs:field xpath="hmis:OrganizationID"/>
      </xs:keyref>
      <xs:keyref name="cocProjectKeyRef" refer="projectKey">
        <xs:selector xpath="hmis:CoC"/>
        <xs:field xpath="hmis:ProjectID"/>
      </xs:keyref>
      <xs:keyref name="projectEnrollmentKeyRef" refer="projectKey">
        <xs:selector xpath="hmis:Enrollment"/>
        <xs:field xpath="hmis:ProjectID"/>
      </xs:keyref>
      <xs:keyref name="projectFunderKeyRef" refer="projectKey">
        <xs:selector xpath="hmis:Funder"/>
        <xs:field xpath="hmis:ProjectID"/>
      </xs:keyref>
      <xs:keyref name="geographyCoCKeyRef" refer="cocKey">
        <xs:selector xpath="hmis:Geography"/>
        <xs:field xpath="hmis:CoCCode"/>
      </xs:keyref>
      <xs:keyref name="clientVeteranInfoClientKeyRef" refer="clientKey">
        <xs:selector xpath="hmis:ClientVeteranInfo"/>
        <xs:field xpath="hmis:PersonalID"/>
      </xs:keyref>
    </xs:element>
  </xs:sequence>
  <!--Testing if the source database is not an HMIS implementation (if SourceType <> 1), then SourceName may not be null.-->
  <xs:assert test="if (hmis:SourceType/text()!='1') then boolean(hmis:SourceName) else true()"/>
  <!--Testing if sourceType = 1, then SourceID may not be null -->
  <xs:assert test="if (hmis:SourceType/text()='1') then boolean(hmis:SourceID) else true()"/>
</xs:complexType>