<xsd:schema xmlns="http://ns.hr-xml.org/2007-04-15" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ns.hr-xml.org/2007-04-15" elementFormDefault="qualified" version="2007-04-15">
<xsd:annotation>
<xsd:documentation>
"Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
Name: Enrollment.xsd
Status: Recommendation
Date this version: 2007-04-15
Purpose: Defines the Benefits Enrollment Schema
Author(s): Dan Diman, eBenX, Paul Kiel, HR-XML, Benefits Enrollment Workgroup
Documentation: Enrollment.html
Terms of license can be found in license.txt.
2004-07-06: An optional attribute xml:lang was added to the root element.
2005-04-05: This specification has been updated from the 2004-08-02 release. All changes are backwards compatible:
Schema
Changed reusable structures to complex data types. Moved to EnrollmentTypes schema, where appropriate.
Moved generic coverage types to Localizations schema.
Moved US based coverage types to US folder.
Changed ContributionData to repeatable within SpendingAccountCoverage (bug fix).
Added LateEntrantIndicator to USRateBased and USTier Coverage types.
Documentation
Corrected Split Family Enrollment inconsistency in section 4.11.
Corrected Coverage Level for Dependents inconsistency in section 4.5
Corrected typo in Reference doc.
Clarified Simple Termination Example in Reference doc.
Corrected dates and coverage level in sections 3.14, 3.15, 3.16 of Reference doc.
2005-09-11 - Changed name SubscriberType to SubscriberDataType in order to better enable code generation tools. No content models were changed in any way.
Background: Code generation tools will often create classes of an element data type by appending the word Type to the element name. Since in this case, there is already a child element with the name SubscriberType, then the class generated will clash with a class generated by this child element. By renaming the data type, a clash is avoided and xml instances remain completely forwardly and backwardly compatible.
2005-09-11 - Made Enrollment also a global complexType as per Schema Design Guidelines. No content model changes.
</xsd:documentation>
</xsd:annotation>
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../W3C/xml.xsd"/>
<xsd:include schemaLocation="../CPO/PersonName.xsd"/>
<xsd:include schemaLocation="../CPO/PostalAddress.xsd"/>
<xsd:include schemaLocation="../CPO/DateTimeDataTypes.xsd"/>
<xsd:include schemaLocation="../CPO/ContactMethod.xsd"/>
<xsd:include schemaLocation="../CPO/TelcomNumber.xsd"/>
<xsd:include schemaLocation="../CPO/OnlineAddress.xsd"/>
<xsd:include schemaLocation="../CPO/EntityIdType.xsd"/>
<xsd:include schemaLocation="../CPO/UserArea.xsd"/>
<xsd:include schemaLocation="../CPO/ISOUtilities.xsd"/>
<xsd:include schemaLocation="../Enrollment/EnrollmentTypes.xsd"/>
<xsd:include schemaLocation="../Enrollment/Localizations.xsd"/>
<xsd:include schemaLocation="../Enrollment/US/USLocalizations.xsd"/>
<xsd:include schemaLocation="../Stock/StockPurchasePlanCoverage.xsd"/>
<xsd:element name="Enrollment" type="EnrollmentType"/>
<xsd:element name="Subscriber" type="SubscriberDataType"/>
<!-- ***************************************
Coverage
*************************************** -->
<xsd:complexType name="CoverageType">
<xsd:sequence>
<xsd:element ref="TierCoverage" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="SpendingAccountCoverage" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="RateBasedCoverage" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="StockPurchasePlanCoverage" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="UserArea" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<!-- ***************************************
Employment Data
*************************************** -->
<xsd:complexType name="EmploymentData">
<xsd:sequence>
<xsd:element name="EmploymentStatus" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EmploymentStatusCode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Active Foreign Military"/>
<xsd:enumeration value="Active Domestic Military"/>
<xsd:enumeration value="Active"/>
<xsd:enumeration value="Leave of Absence"/>
<xsd:enumeration value="Short Term Disability"/>
<xsd:enumeration value="Long Term Disability"/>
<xsd:enumeration value="Retired"/>
<xsd:enumeration value="Terminated"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StartDate" type="LocalDateType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="EmploymentLevel" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EmploymentLevelCode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Full Time"/>
<xsd:enumeration value="Part Time"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StartDate" type="LocalDateType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="EmploymentOrganization" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EmploymentOrganizationGroup" type="xsd:string"/>
<xsd:element name="EmploymentOrganizationGroupType" type="xsd:string"/>
<xsd:element name="StartDate" type="LocalDateType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="HireDate" type="LocalDateType" minOccurs="0"/>
<xsd:element name="OriginalHireDate" type="LocalDateType" minOccurs="0"/>
<xsd:element name="EmploymentTerminationDate" type="LocalDateType" minOccurs="0"/>
<xsd:element name="LastDayWorked" type="LocalDateType" minOccurs="0"/>
<xsd:element name="ReturnToWorkDate" type="LocalDateType" minOccurs="0"/>
<xsd:element name="EEOCCode" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="American Indian or Alaskan Native"/>
<xsd:enumeration value="Asian or Pacific Islander"/>
<xsd:enumeration value="Black"/>
<xsd:enumeration value="Black (Non-Hispanic)"/>
<xsd:enumeration value="Caucasian"/>
<xsd:enumeration value="Hispanic"/>
<xsd:enumeration value="Not Provided"/>
<xsd:enumeration value="White (Non-Hispanic)"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="VIPFlag" type="xsd:boolean" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="employeeId" type="xsd:string"/>
</xsd:complexType>
<!-- ***************************************
School Data
*************************************** -->
<xsd:complexType name="SchoolData">
<xsd:sequence>
<xsd:element name="OrganizationName" type="xsd:string"/>
<xsd:element name="StartDate" type="LocalDateType" minOccurs="0"/>
<xsd:element name="EndDate" type="LocalDateType" minOccurs="0"/>
<xsd:element name="ContactInformation" type="ContactMethodType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SubscriberDataType">
<xsd:sequence>
<xsd:element name="SubscriberType">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="SubscriberTypeCode">
<xsd:annotation>
<xsd:documentation>This code indicates why this indiviual can enroll in benefits provided by the organization.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Employment"/>
<xsd:enumeration value="Survivorship"/>
<xsd:enumeration value="Dependent-only Coverage"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StartDate" type="LocalDateType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="OriginatingSubscriberData" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Provides a link from this subscriber to another subscriber. For use in elevated dependent situation such as survivorship.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="IdentificationCode" type="EntityIdType"/>
<xsd:element name="PersonName" type="PersonNameType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Person" type="EnrollmentPersonType"/>
<xsd:element name="Coverage" type="CoverageType"/>
<xsd:element name="Employment" type="EmploymentData" minOccurs="0"/>
<xsd:element ref="HIPAA" minOccurs="0"/>
<xsd:element ref="Medicare" minOccurs="0"/>
<xsd:element ref="Medicaid" minOccurs="0"/>
<xsd:element name="BenefitReportingInformation" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="BenefitReportingType" type="xsd:string"/>
<xsd:element name="BenefitReportingValue" type="xsd:string"/>
<xsd:element name="StartDate" type="LocalDateType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CoordinationOfBenefitsInfo" type="CoordinationOfBenefitsInfoType" minOccurs="0"/>
<xsd:element name="Dependent" type="DependentDataType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="UserArea" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DependentDataType">
<xsd:sequence>
<xsd:element name="Person" type="EnrollmentDependentPersonType"/>
<xsd:element name="Coverage" type="CoverageType"/>
<xsd:element ref="Medicare" minOccurs="0"/>
<xsd:element ref="Medicaid" minOccurs="0"/>
<xsd:element ref="HIPAA" minOccurs="0"/>
<xsd:element name="CoordinationOfBenefitsInfo" type="CoordinationOfBenefitsInfoType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="School" type="SchoolData" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="CustodyInfo" type="CustodyInfoType" minOccurs="0"/>
<xsd:element name="ResponsiblePerson" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PersonName" type="PersonNameType"/>
<xsd:element name="ContactInformation" type="ContactMethodType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CustodialParent" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PersonName" type="PersonNameType"/>
<xsd:element name="ContactInformation" type="ContactMethodType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ref="UserArea" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="relationshipCode" type="FamilyRelationshipType" use="required"/>
<xsd:attribute name="fullTimeStudent" type="xsd:boolean"/>
</xsd:complexType>
<xsd:complexType name="EnrollmentPersonType">
<xsd:sequence>
<xsd:element name="IdentificationCode" type="EntityIdType"/>
<xsd:element name="PriorIncorrectIdentificationCode" type="EntityIdType" minOccurs="0"/>
<xsd:element name="PersonName" type="PersonNameType"/>
<xsd:element name="PriorIncorrectPersonName" type="PersonNameType" minOccurs="0"/>
<xsd:element name="Gender" type="GenderCodeType"/>
<xsd:element name="PriorIncorrectGender" type="GenderCodeType" minOccurs="0"/>
<xsd:element name="DateOfBirth" type="LocalDateType"/>
<xsd:element name="PriorIncorrectDateOfBirth" type="LocalDateType" minOccurs="0"/>
<xsd:element name="DateOfDeath" type="LocalDateType" minOccurs="0"/>
<xsd:element name="ContactInformation" type="ContactMethodType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Language" type="LanguageData" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Height" minOccurs="0">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:double">
<xsd:attribute name="units" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="inches"/>
<xsd:enumeration value="centimeters"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Weight" minOccurs="0">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:double">
<xsd:attribute name="units" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="pounds"/>
<xsd:enumeration value="kilograms"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="SubstanceAbuser" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="TobaccoUser" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="MaritalStatus" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MaritalStatusCode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Divorced"/>
<xsd:enumeration value="Legally Separated"/>
<xsd:enumeration value="Married"/>
<xsd:enumeration value="Registered Domestic Partner"/>
<xsd:enumeration value="Separated"/>
<xsd:enumeration value="Single"/>
<xsd:enumeration value="Unmarried"/>
<xsd:enumeration value="Unreported"/>
<xsd:enumeration value="Widowed"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StartDate" type="LocalDateNkNaType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Disability" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DisabilityType">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Short Term Disability"/>
<xsd:enumeration value="Long Term Disability"/>
<xsd:enumeration value="Permanent or Total Disability"/>
<xsd:enumeration value="No Disability"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StartDate" type="LocalDateNkNaType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Employer" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element name="OrganizationName" type="xsd:string"/>
<xsd:element name="PersonName" type="PersonNameType"/>
</xsd:choice>
<xsd:element name="ContactInformation" type="ContactMethodType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="StartDate" type="LocalDateType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="StudentIndicator" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="DisabilityIndicator" type="xsd:boolean" minOccurs="0"/>
<xsd:element ref="PostalAddress" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EnrollmentDependentPersonType">
<xsd:sequence>
<xsd:element name="IdentificationCode" type="EntityIdType" minOccurs="0"/>
<xsd:element name="PriorIncorrectIdentificationCode" type="EntityIdType" minOccurs="0"/>
<xsd:element name="PersonName" type="PersonNameType"/>
<xsd:element name="PriorIncorrectPersonName" type="PersonNameType" minOccurs="0"/>
<xsd:element name="Gender" type="GenderCodeType"/>
<xsd:element name="PriorIncorrectGender" type="GenderCodeType" minOccurs="0"/>
<xsd:element name="DateOfBirth" type="LocalDateType"/>
<xsd:element name="PriorIncorrectDateOfBirth" type="LocalDateType" minOccurs="0"/>
<xsd:element name="DateOfDeath" type="LocalDateType" minOccurs="0"/>
<xsd:element name="ContactInformation" type="ContactMethodType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Language" type="LanguageData" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Height" minOccurs="0">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:double">
<xsd:attribute name="units" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="inches"/>
<xsd:enumeration value="centimeters"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Weight" minOccurs="0">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:double">
<xsd:attribute name="units" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="pounds"/>
<xsd:enumeration value="kilograms"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="SubstanceAbuser" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="TobaccoUser" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="MaritalStatus" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MaritalStatusCode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Divorced"/>
<xsd:enumeration value="Legally Separated"/>
<xsd:enumeration value="Married"/>
<xsd:enumeration value="Registered Domestic Partner"/>
<xsd:enumeration value="Separated"/>
<xsd:enumeration value="Single"/>
<xsd:enumeration value="Unmarried"/>
<xsd:enumeration value="Unreported"/>
<xsd:enumeration value="Widowed"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StartDate" type="LocalDateNkNaType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Disability" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DisabilityType">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Short Term Disability"/>
<xsd:enumeration value="Long Term Disability"/>
<xsd:enumeration value="Permanent or Total Disability"/>
<xsd:enumeration value="No Disability"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="StartDate" type="LocalDateNkNaType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Employer" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element name="OrganizationName" type="xsd:string"/>
<xsd:element name="PersonName" type="PersonNameType"/>
</xsd:choice>
<xsd:element name="ContactInformation" type="ContactMethodType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="StartDate" type="LocalDateType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="StudentIndicator" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="DisabilityIndicator" type="xsd:boolean" minOccurs="0"/>
<xsd:element ref="PostalAddress" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EnrollmentType">
<xsd:sequence>
<xsd:element name="UniquePayloadTrackingId" type="EntityIdType" minOccurs="0"/>
<xsd:element name="Organization" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="BenefitsAdministrativeAffiliate" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>These entities provides serivce to the Organization related to the organization's provision of benefits to subscribers.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element name="OrganizationName" type="xsd:string"/>
<xsd:element name="PersonName" type="PersonNameType"/>
</xsd:choice>
<xsd:element name="EntityRole">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Plan Sponsor"/>
<xsd:enumeration value="Insurer"/>
<xsd:enumeration value="Broker or Sales Office"/>
<xsd:enumeration value="First Party Administrator"/>
<xsd:enumeration value="Second Party Administrator"/>
<xsd:enumeration value="Third Party Administrator"/>
<xsd:enumeration value="Other Affiliate"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="AccountNumber" type="xsd:string" minOccurs="0"/>
<xsd:element name="IdentificationCode" type="EntityIdType" minOccurs="0"/>
<xsd:element name="ContactInformation" type="ContactMethodType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Subscriber" type="SubscriberDataType" maxOccurs="unbounded"/>
<xsd:element name="OrganizationId" type="EntityIdType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="organizationName" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element ref="UserArea" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="transactionType">
<xsd:annotation>
<xsd:documentation>
This attribute comments on the criteria by which Organization, BenefitsAdministrativeAffiliate, and HumanResource entities were included in the payload. It is not intended as a processing instruction for the receiving system.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Change"/>
<xsd:enumeration value="Full"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="creationDate" type="DateTimeType" use="required"/>
<xsd:attribute name="originatorId" type="xsd:string"/>
<xsd:attribute name="originatorName" type="xsd:string"/>
<xsd:attribute name="baselineDate" type="LocalDateNkNaType"/>
<xsd:attribute name="recipientId" type="xsd:string"/>
<xsd:attribute name="recipientName" type="xsd:string"/>
<xsd:attribute ref="xml:lang"/>
</xsd:complexType>
</xsd:schema>
|