SIDES Reusable Modules
Recommendation, 2006 Feb 28
Editors:
Kim Bartkus, HR-XML Consortium
Kathi Dolan, Manpower
Gail Bubsey, Kelly Services
Tara Ryan, Adecco
Barbara Johnson, Adecco
Contributors:
Bruno Alcotte (Manpower), Ian Anson (Vedior), Rémy Bailly (Randstad), Kim Bartkus (HR-XML Consortium), Yves Berdah (VidiorBis), PJ Brunyks (Randstadt), Gail Bubsey (Kelly Services ), Georges Chaboud (Adia), John DeRoche (Manpower), Kathi Dolan (Manpower), Serguei Dounaevetski (Manpower), Keith Ensroth (Kelly Services), Anne-Cécile Fénech (Adecco), Barbara Johnson (Adecco), Paul Kiel (HR-XML Consortium), Ronald Kruegel (Adecco), Jonathon Mack (Adecco), Magali Munoz (Manpower), Doug Prittie (Manpower), Nicolas Poujols (Kelly Services), Tara Ryan (Adecco), Don Simonson (Robert Half International), Steven Huang (Staffing Industry Sponsors), Barbara Theissen (Manpower), Jean-Philippe Umber (Adecco), Morgan Vernoux (Adecco)
Copyright statement
©2006 HR-XML. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher.
Abstract
The HR-XML SIDES Workgroup has produced 7 major schemas and several reusable modules to allow for transmission of Staffing Industry information between trading partners. This document describes the Staffing Order schema, its expected usage, and the business processes meant to be supported.
Status of this Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
Table of Contents
3 Customer Reporting Requirements
8 Implementation Considerations
9 Appendix A - Document Version History
10 Appendix B – Related Documents
A detailed analysis of the Sides 1.0 modules and Cross Process Objects was conducted by a coalition of Staffing Companies in France. The purpose of the analysis was to take a regional implementation perspective and to evaluate how closely the global specifications met localized requirements. Module by module feedback was documented and requests for additions or cardinality changes were structured based on the need for backward compatibility.
These feedback documents were sent to the global Sides development team for evaluation of the applicability of the requested changes. If a requested change could be used in more than one country, then it was considered to be eligible for the global specification. It was found that at least 90% of what was requested by the French team was indeed, more widely applicable and so formed the basis of this Sides 1.1 release. The elements and/or attributes that were only applicable in France, will be documented locally and handled through HR-XML’s localization architecture.
Below is a summary of changes along with the original Sides 1.0 base information for each reusable module.
Several reusable modules are used to exchange details within the framework of SIDES. This document describes the purpose and details of each of the six reusable modules:
This document contains sections for all six reusable modules. However, only the following four modules were modified for SIDES version 1.1:
· Contact Info, Entity Contact Info (Section 2)
· Customer Reporting Requirements (Section 3)
· Rates (Section 4)
· Staffing Shift (Section 6)
Additional information for each of these schemas and the additions to the schemas will be found in the correlating sections.
The six reusable modules will be divided into separate chapters, with an overview, diagram, and definitions for each chapter.
Contact Info, Entity Contact Info
|
Element path/name |
Action |
|
Contact Method |
Changed to allow multiple contact methods |
Customer Reporting Requirements
|
Element path/name |
Action |
|
PurchaseOrderLineItem |
Add new element |
Rates
|
Element path/name |
Action |
|
RatesId |
Add new element |
|
CustomerRateClassification |
Add new element |
|
BillingMultiplier |
Add new element |
Staffing Shift
|
Element path/name |
Action |
|
ExternalStaffingShiftSetId |
Add new element |
The ContactInfo schema contains two data types to allow for contacting an individual or an organization: ContactInfoType and EntityContactInfoType. The ContactInfoType incorporates the PersonName and ContactMethod. Whereas, the EntityContactInfo also includes an EntityName to allow for organization, company, department, etc. The ContactMethod schema provides for a variety of contact methods such as telephone, fax, e-mail, web, and postal address.


|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
- ContactInfoType
- (1/1) |
Contains information to contact a
person or entity. |
|
/ ContactInfo/ |
- ContactMethodType - S (1/*) |
Defines the methods of contacting
a person or organizations. |
|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
- EntityContactInfoType - (1/1)
|
Container for entity contact information. |
|
/ EntityContactInfo/ |
- xsd:string - S (1/1) |
Name of entity that is contacted. This would typically be the organization. |
|
/ EntityContactInfo/ |
- ContactMethodType - S (1/*) |
Defines the methods of contacting
a person or organizations. |
<ContactInfo xmlns="http://ns.hr-xml.org/2006-02-28" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/2006-02-28
ContactInfo.xsd">
<PersonName>
<FormattedName type="presentation">Jon Smith</FormattedName>
</PersonName>
<ContactMethod>
<Use>business</Use>
<Location>office</Location>
<Telephone>
<FormattedNumber> 1-877-555-1213</FormattedNumber>
</Telephone>
<InternetEmailAddress> jon.smith@hotplace.com</InternetEmailAddress>
<PostalAddress>
<CountryCode>CA</CountryCode>
<PostalCode> 4P5 T6D</PostalCode>
<DeliveryAddress>
<AddressLine> 127 Forrest Ave</AddressLine>
<Unit> STE. 1301</Unit>
</DeliveryAddress>
<Recipient>
<PersonName>
<FormattedName type="presentation">Jon Smith</FormattedName>
</PersonName>
</Recipient>
</PostalAddress>
</ContactMethod>
<ContactMethod>
<Use>personal</Use>
<Location>home</Location>
<Telephone>
<FormattedNumber> 1-877-223-1234</FormattedNumber>
</Telephone>
</ContactMethod>
</ContactInfo>
<EntityContactInfo xmlns="http://ns.hr-xml.org/2006-02-28" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/2006-02-28
ContactInfo.xsd">
<EntityName>Deutsch Bundesbank</EntityName>
<PersonName>
<FormattedName type="presentation">Marcus Geller</FormattedName>
</PersonName>
<ContactMethod>
<Use>business</Use>
<Location>office</Location>
<WhenAvailable>Weekdays</WhenAvailable>
<Telephone>
<FormattedNumber>+49 (6236) 866725</FormattedNumber>
</Telephone>
<PostalAddress>
<CountryCode>DE</CountryCode>
<PostalCode>69110</PostalCode>
<Municipality>Tubingen</Municipality>
<DeliveryAddress>
<AddressLine>21</AddressLine>
<StreetName>Universitat Strasse</StreetName>
</DeliveryAddress>
<Recipient>
<PersonName>
<FormattedName type="presentation">Marcus Geller</FormattedName>
</PersonName>
</Recipient>
</PostalAddress>
</ContactMethod>
<ContactMethod>
<Use>business</Use>
<WhenAvailable>Evenings</WhenAvailable>
<Pager>
<FormattedNumber>+49 (6236) 866725</FormattedNumber>
</Pager>
</ContactMethod>
</EntityContactInfo>
Staffing customers require specialized reporting and data tracking. For example, it is very common for customers to require purchase order numbers, supervisor names, or department numbers, etc. to appear on reports, invoicing, documents or correspondence. A list common customer requirements was developed to accommodate this requirement. Many of these fields may be used differently by each staffing customer and the list may not satisfy every situation. Research indicates that the CustomerReportingRequirements Module attributes satisfy 80% of common reporting situations.
In the list of data fields you will find "CostCenterCode" and "LocationCode". The specific use of these two codes is up to the staffing customer. One customer may require their cost center data to appear on a report and another customer may require their location code to appear on a report. Other staffing customers may have both fields. The analysis and research showed there were enough occurrences of each field to justify the existence of both.
It is assumed that there will be exceptions and extensions to the list and some customers will require additional data elements. Accordingly, an unbounded named value pair is provided for reporting requirements that do not fit into the predefined fields.
Why not just use generic additional data elements?
The question may be asked as to why a generic 'additional data' element with enumerated types is not used rather than a predefined list? The specification could be implemented this way, but this method would not provide a ‘mapable’ data tag for items such as PO#, Cost Center, Manager Name, etc. within the HR-XML SIDES Standard itself. Without the specific tags, suppliers are forced to build extensions to the schemas to accommodate this additional data. Since the data is intended to be reused within several of the SIDES schemas, the pre-defined tags will ensure consistency between schemas. The CustomerReportingRequirements Module is referenced within StaffingCustomer, Order, Position, Assignment, Extended Timecard and Invoice schemas.
Department Code versus Department Name
Within the list of CustomerReportingRequired fields, there is a difference between DepartmentCode and DepartmentName, LocationCode and LocationName, etc. These fields are independent and mutually exclusive. These fields should not be confused with lookup tables or named value pairs. One staffing customer may want to report on codes, whereas another customer may want to track descriptive names or text.

|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
- CustomerReportingRequirementsType - (1/1) ManagerName
- xsd:string - S
(0/1) |
List of customer-wide reporting field requirements. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Manager
name. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Work assignment supervisor's name, used for reporting. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
The name of the person to contact. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Purchase
order number. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
A
department code. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
A
department name. |
|
/ CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Location
code. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Location
name. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Cost
center code. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Cost
center name. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Staffing
customer job code. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Job
description. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
An
account code or identifier. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
A
project code. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
External
order number. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
External
request number. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
A person, company or other organization. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Customer
organizational designation. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Work shift as it pertains to a particular work engagement . |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Reference
number. |
|
/
CustomerReportingRequirements/ |
xsd:extension base: xsd:string |
Any other customer required item. |
|
/
CustomerReportingRequirements/ AdditionalRequirement/ |
- xsd:string - |
Title or name used by the customer for the additional reporting requirement. |
|
/
CustomerReportingRequirements/ |
- xsd:string - S (0/1) |
Purchase
Order Line Item Number associated with the reporting requirement. |
Typically, a set of data would be tranmitted and not all fields would be filled in. For example, only information about the department may be exchanged. This example includes all elements, many with a ‘string’ value. A transaction would only send those elements that contained ‘true’ values.
<CustomerReportingRequirements xmlns="http://ns.hr-xml.org/2006-02-28" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/2006-02-28
CustomerReportingRequirements.xsd">
<ManagerName>Marion Miller</ManagerName>
<SupervisorName>Bob Anzac</SupervisorName>
<ContactName>Bob Anzac</ContactName>
<PurchaseOrderNumber>String</PurchaseOrderNumber>
<DepartmentCode> 31</DepartmentCode>
<DepartmentName>Procurement</DepartmentName>
<LocationCode>String</LocationCode>
<LocationName>Headquarters</LocationName>
<CostCenterCode>String</CostCenterCode>
<CostCenterName>String</CostCenterName>
<CustomerJobCode>String</CustomerJobCode>
<CustomerJobDescription>String</CustomerJobDescription>
<AccountCode>String</AccountCode>
<ProjectCode>String</ProjectCode>
<ExternalOrderNumber>String</ExternalOrderNumber>
<ExternalReqNumber>String</ExternalReqNumber>
<Entity>String</Entity>
<SubEntity>String</SubEntity>
<Shift>String</Shift>
<CustomerReferenceNumber>String</CustomerReferenceNumber>
<AdditionalRequirement requirementTitle="String">String</AdditionalRequirement>
<PurchaseOrderLineItem>Payrolled</PurchaseOrderLineItem>
</CustomerReportingRequirements>
The rates module is a flexible schema that allows for the transmission of a wide variety of pay, bill and expense rate structures. It provides for multiple instances of rates for a single assignment and can associate a shift with each rate. The Rates module is also used in the StaffingOrder schema to capture a customer-specified bill rate range, and in the HumanResource to capture a specific charge rate for an individual in relation to a particular position.

|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
- RatesType - (1/1) |
Container for rate information. |
|
/ Rates/ |
- EntityIdType - S (0/1) |
Reference to an external rate, or collection of contractual rates. |
|
/ Rates/ |
xsd:extension base: xsd:decimal |
The
monetary value of the associated item. |
|
/ Rates/
Amount/ |
- AmountPeriodType - |
The time interval or other increment in which the rate is charged or paid. May extend to provide for bonus or commission payments. |
|
/ Rates/
Amount/ |
xsd:restriction base: xsd:string |
A
three-letter code identifying the currency of a monetary amount. |
|
/ Rates/ |
- xsd:string - S (1/1) |
Classification
or designation for the rate. |
|
/ Rates/ |
- EntityIdType - S (0/1) |
Shift identifier with which the rate is associated. |
|
/ Rates/ |
xsd:extension base: xsd:decimal |
A
multiplier to be applied to the related amount, rate, or variable. |
|
/ Rates/
Multiplier/ |
- xsd:boolean - |
Flag to indicate if the multiplier is being provided as a percentage of the original number. |
|
/ Rates/ |
- AnyDateTimeNaType - S (1/1) |
Contains
the (inclusive) date, period, or interval the event becomes active or begins.
|
|
/ Rates/ |
- AnyDateTimeNkType - S (0/1) |
Contains
the (inclusive) date, period, or interval the event becomes inactive or ends.
|
|
/ Rates/ |
- xsd:string - S (0/1) |
Describes
the contextual information relating to a specific element. |
|
/ Rates/ |
- EntityIdType - S (0/1) |
A unique identifier for an individual agreed upon rate. |
|
/ Rates/ |
- EntityIdType - S (0/1) |
Identifier allowing customer rates to be grouped for reporting purposes. |
|
/ Rates/ |
xsd:extension base: xsd:decimal |
A multiplier specifically used to calculate the invoice amount using the paid amount. |
|
/ Rates/
BillingMultiplier/ |
- xsd:boolean - |
Flag to indicate if the multiplier is being provided as a percentage of the original number. |
<Rates xmlns="http://ns.hr-xml.org/2006-02-28" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/2006-02-28
Rates.xsd" rateType="bill" rateStatus="proposed">
<ExternalRateSetId validFrom="notKnown" validTo="notKnown" idOwner="String">
<IdValue name="String">String</IdValue>
</ExternalRateSetId>
<Amount rateAmountPeriod="hourly" currency="USD">15.25</Amount>
<Class> Regular</Class>
<StaffingShiftId validFrom="2004-01-01" validTo="2005-01-01">
<IdValue>Day Shift</IdValue>
</StaffingShiftId>
<Multiplier percentIndicator="1">1.5</Multiplier>
<StartDate>2003-01-01</StartDate>
<EndDate>notKnown</EndDate>
<Description>Bill</Description>
<RatesId validFrom="2004-01-01" validTo="2005-01-01">
<IdValue>Standard Rate</IdValue>
</RatesId>
<CustomerRateClassification>
<IdValue name="String">String</IdValue>
</CustomerRateClassification>
<BillingMultiplier percentIndicator="1">2</BillingMultiplier>
</Rates>
This reusable module allows staffing suppliers to report basic screening information pertaining to a staffing resource.

|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
||
|
/ |
- ResourceScreeningType - (1/1) |
Container for screening or testing data about the candidate. |
||
|
/ [ResourceScreeningType] / |
- StaffingScreeningType - |
Type of screening required and reported on. |
||
|
/ ResourceScreening/ |
- AnyDateTimeType - S (1/1) |
Date of the screening result
being reported. |
||
|
/ ResourceScreening/ |
- xsd:string - S (1/1) |
Result of the screening report. This is generally limited to noting if the requirement was met or not met. |
||
|
/ ResourceScreening/ |
- xsd:string - S (0/1) |
Comments regarding the report. |
||
|
Global
types |
ContentModel* |
Definition |
|
/ |
xsd:restriction base: xsd:string [Enumerations]: abuse, address, awards, credit, criminal, drug, earnings, education, employment, license, name, phone, reference, workcomp |
Globally scoped data type. See element or attribute declaration for definition. |
|
/ |
screeningType - StaffingScreeningType - required |
Globally scoped data type. See element or attribute declaration for definition. |
|
/ |
- [Union]: KnownScreeningType,xsd:string |
Globally scoped data type. See element or attribute declaration for definition. |
<ResourceScreening xmlns="http://ns.hr-xml.org/2006-02-28" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/2006-02-28
ResourceScreening.xsd" screeningType="drug">
<ScreeningResultDate>2004-01-01</ScreeningResultDate>
<ScreeningResult>Met</ScreeningResult>
<ScreeningComments>Candidate was using prescription steroid which did show up in the test.</ScreeningComments>
</ResourceScreening>
The StaffingShift schema provides a mechanism for exchanging information on shifts or specific working hours between trading partners and within internal applications. Staffing suppliers require shift information to describe position-specific requirements and rate related assignment information within an order.

|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
- StaffingShiftType - (1/1) |
A mechanism for exchanging information on shifts or specific working hours. |
|
/
[StaffingShiftType] / |
xsd:restriction base: xsd:string [Enumerations]: monthly, weekly, daily, 1, 2, 3, 4, 5, 6, 7 |
The
period the shift occurs. Annotation: Numeric values conform to: ISO
8601 2nd Edition; ISO8601:2000(E); pub 2000-12-15, Data elements and
interchange formats, Information interchange, Representation of dates and
times, http://www.iso.ch/cate/d26780.html/ 1 = Monday, 2 = Tuesday, 3 =
Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday, 7 = Sunday |
|
/
StaffingShift/ |
- EntityIdType - S (1/1) |
A unique
identifier used to reference the entity. The Id is associated with the higher
level element. |
|
/
StaffingShift/ |
- xsd:string - S (0/1) |
A
descriptive identifier within the given context. |
|
/
StaffingShift/ |
- xsd:decimal - S (0/1) |
The number of hours specified for an event or work period. |
|
/
StaffingShift/ |
- LocalTimeNkNaType - S (0/1) |
The time the interval or event started. |
|
/
StaffingShift/ |
- LocalTimeNkNaType - S (0/1) |
The time the interval or event ended. |
|
/
StaffingShift/ |
- xsd:string - S (0/1) |
Specific
type of work hours. |
|
/
StaffingShift/ |
- xsd:string - S (0/1) |
Allows for textual comments. |
|
/
StaffingShift/ |
- EntityIdType - S (0/1) |
Allows a reference to an external staffing shift, or collection of contractual staffing shifts. |
<StaffingShift xmlns="http://ns.hr-xml.org/2006-02-28" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/2006-02-28
StaffingShift.xsd" shiftPeriod="monthly">
<Id validFrom="2004-01-01" validTo="2004-12-31">
<IdValue>Regular</IdValue>
</Id>
<Name> First</Name>
<Hours>37</Hours>
<StartTime>07:00:00</StartTime>
<EndTime>14:00:00</EndTime>
<TypeHours> Regular</TypeHours>
<Comment>String</Comment>
<ExternalStaffingShiftSetId>
<IdValue>37291</IdValue>
</ExternalStaffingShiftSetId>
</StaffingShift>
This module defines the type of contact information consistent across the Assignment, and StaffingAction modules. To ensure this consistency, a value list (enumerations) was created for use in those two modules. The enumerations are as follows:
· Interviewer
|
Global
types |
ContentModel* |
Definition |
|
/ |
xsd:restriction base: xsd:string [Enumerations]: placed by, placed on behalf of, confirm to, authorized by, interviewer, supervisor, time approver, submitted by, created by, sent to |
Globally scoped data type. See element or attribute declaration for definition. |
|
/ |
- [Union]: KnownContactType,xsd:string |
Globally scoped data type. See element or attribute declaration for definition. |
Human resources data, by its very nature, is personal data. The laws of many jurisdictions as well as codes of fair information practice require organizations to handle personal data in a way that protects individuals from loss of privacy.
The data exchange specifications developed by the HR-XML Consortium are designed to be useful across many jurisdictions and within a variety of business contexts. It is not feasible for the HR-XML Consortium to develop specific privacy guidance for every jurisdiction or business context in which the Consortium's specifications might be implemented. When implementing data exchanges using the HR-XML Consortium's data definitions (or, for that matter, using any other type of data exchange mechanism), organizations are advised to examine the privacy protections that may be required under applicable law and codes of fair information practice.
For information on protecting personal data, general references include: European Union Data Protection Directive (95/46/EC); the Association Computing Machinery Code of Ethics (1992); Canadian Standards Association Model Code for the Protection of Personal Information (1995 – PIPEDA); and U.S.-EU Safe Harbor Principles and FAQs (2000).
|
Date |
Description |
|
2004-Mar-03 |
Initial Draft |
|
2004-Mar-29 |
Updated tables, added info to overview/scope sections. |
|
2004-Apr-07 |
Added reference examples. |
|
2004-May-06 |
Changed percentage to percentIndicator |
|
2004-Jun-08 |
Changed Contact Method to multiple occurrence. Added xml:lang to root of Rates, ResourceScreening, and StaffingShift. |
|
2004-Aug-02 |
Approved by membership. |
|
2006-Feb-28 |
Approved by Consortium |