Job and Position Header
Recommendation, 2006 Feb 28
Editors:
Kim Bartkus
Contributors:
Members of the CPO work group
Members of the SIDES work group
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
Many business processes within the HR Industry use the term Job or Position, with each process requiring its own set of elements within the Job or Position. This document focuses on identifying the common Job and Position elements across those business processes.
Status of this Document
2006-Feb: Default values have been removed from the PositionHeader schema in accordance with the Technical Steering Committee's (TSC) Schema Design Guidelines.
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
1.2 Relationship to Business Processes
2 Supported Business Processes
4 Implementation Considerations
5 Appendix A - Revision History
6 Appendix B - Related Documents
7 Appendix C – Reference Examples
A detailed analysis of the Staffing Industry Data Exchange Standards (SIDES) specification and related 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. Feedback was documented and requests for additions or cardinality changes were structured based on the need for backward compatibility.
The scope section provides a summary of changes made to the Position Header schema, as requested by the review group.
Job and Position are high-level entities that may be used within a variety of HRM models and business processes. Both entities may be categorized into fragments such as Duties and Responsibilities, Work Policy, Requirements, and Work Schedule. The purpose of this specification is to define Job and Position information that is common to all business processes. The schemas created from this project are flexible enough to be used within other HR-XML Consortium schemas and suitable for international use.
Job
Jobs are broad based definitions that vary in detail within different companies depending on the labor environment, the industry and the countries the company does business in. Job serves as a template for more specifically defined positions and assignments in a company, in part, to provide equitable opportunity for similar work done across disparate business units inside and outside the organization. Jobs may be refined into steps based on the level of competency or experience required to perform the job’s activities.
Position
Positions are specific instances of jobs. Jobs describe the nature of the work, whereas related positions represent the time, place and organizational structure in which a person or persons actually perform the work. Positions usually have a specific budget associated with them.
The JobHeader and PositionHeader Schema are cross-process objects that will be used within other HR-XML Schemas. They will contain:
· Header information necessary to identify the Job.
· Header information necessary to identify the Position.
· Job Evaluation Details
· Work Policy Details
· Financial Information
· Duties & Responsibilities
· Requirements
· Bargaining Unit Information
· Regulatory Information
· Legal Entity Information
· Organizational Unit Information
· Work Site Information
· Work Schedule Information
· Budget Information
· Work Environment Information
· Audit Details
· Physical Requirements (Person can sit, stand, carry maximum weight)
The following elements were added to PositionHeader 1.1:
|
Component |
Details |
|
PositionHeader/RequestedPerson |
Tag, 0/* Allows a client to name a specific person they either would like or require to fill a position. |
|
RequestedPerson/PersonName |
PersonNameType, 0/1 |
|
RequestedPerson/PersonId |
EntityIdType, 0/1 |
|
RequestedPerson/Supplier |
EntityReferenceType, 0/1 |
|
RequestedPerson/mandatory |
Boolean attribute, 0/1 If “true”, indicates that the RequestedPerson is the only person acceptable to fill the position |
|
RequestedPerson/currentlyAssigned |
Boolean attribute, 0/1 If “true”, indicated that the RequestedPerson is currently assigned at the client and would need to be redeployed |
|
PositionHeader/PositionSpecificCondition |
0/* Informs that the position includes risks. |
|
PositionSpecificCondition/Code |
String, 0/1 |
|
PositionSpecificCondition/Description |
String, 0/1 |
|
PositionSpecificCondition/Value |
String, 0/1 |
· Syntax must be self-documenting
· Must take into consideration global requirements
· Must be deployable in existing HR-XML Schemas
Consideration has been given to the vocabulary currently being used in all HR-XML Consortium specifications. Elements that are specific to a Job have “Job” prefix. Elements that are specific to a Position have a “Position” prefix. All generic elements have a more universally accepted name so they can be used with the same meaning in other schemas.
Many HR business processes rely on and exchange information regarding jobs and positions. Below is a list of the business functions that could potentially utilize the JobHeader and PositionHeader Schemas:
Organizational Definition - job is a fundamental component of the organizational definition, which is part of the Main HRM model. Work Roles and Positions define the work to be done in terms of jobs with their related duties and responsibilities.
Job Evaluations - standard job evaluation methods are used to compare jobs, measure job complexity and establish equitable remuneration based on a job’s importance and value to an organization.
Position Control/Budgeting - the establishment and control of the positions within an organization is highly dependent on position status information.
Financial Planning and Control - financial information is frequently captured by function, location and fund designations that are identified by job or position.
Compensation and Benefits - may use job or position as the basis for compensation and benefits determination.
Wage Surveys - jobs are used as the basis for comparing wages in other organizations and locations.
Competency Management - the knowledge, skills and abilities needed to carry out the organizations business are captured as requirements at a job or position level.
Training and Development - development of an individual to meet the requirements of a job or a position requires an awareness of the skills gap between the person and the job or position.
Regulation - regulatory and contractual relationships are sometimes dependent on job related information.
Recruiting and Staffing - recruiters use job and position data for hiring purposes. Postings may be created for jobs or positions. Talent searches are often conducted by job.
Experience Tracking - work experience may be tracked by job or position for promotion, seniority or wage stepping purposes.
Work Scheduling - work areas are manned to meet production needs on the basis of the jobs that need to be done.
Time & Attendance - timesheet details may be provided on a job or position basis.

|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
validFrom - AnyDateTimeType - |
Contains common job information
to be used within other HR-XML Schemas. |
|
/ JobHeader/ |
- AnyDateTimeType - |
The date the event begins, is
active or valid. |
|
/ JobHeader/ |
- AnyDateTimeType - |
The date through which the event
is active or valid. |
|
/ JobHeader/ |
- JobIdentifierType
- S (1/1) |
Uniquely identifies a job within an organization. |
|
/ JobHeader/ JobId/ |
- xsd:string - S (1/1) |
A unique identifier used to
reference the entity. The Id it is associated with the higher level element. |
|
/ JobHeader/ JobId/ |
IdIssuer - xsd:string - S (0/1) |
Contains the domain information
for the Id. |
|
/ JobHeader/ JobId/ Domain/ |
- xsd:string - S (0/1) |
The entity responsible for the
issuing Id. |
|
/ JobHeader/ JobId/ Domain/ |
- xsd:string - S (0/1) |
Information that can be used to
help identify the job or position. |
|
/ JobHeader/ |
- xsd:string - S (0/1) |
The name of a job. This might be used for a job posting. |
|
/ JobHeader/ |
- xsd:string - S (0/1) |
A textual description of the job. |
|
/ JobHeader/ |
Code - xsd:string
- S (0/1) |
The current status of the job. |
|
/ JobHeader/ JobStatus/ |
- xsd:string - S (0/1) |
A code to further describe the
associated element. |
|
/ JobHeader/ JobStatus/ |
- xsd:string - S (0/1) |
Describes the contextual
information relating to a specific element. |
|
/ JobHeader/ |
type - xsd:string
- |
A grouping of similar jobs in
terms of function, job duties, tasks, responsibilities, job evaluation
method, or similarity in pay philosophy. |
|
/ JobHeader/ JobLevel/ |
- xsd:string - |
Further defines the associated
element in the context provided. |
|
/ JobHeader/ JobLevel/ |
- xsd:string - S (0/1) |
A code to further describe the
associated element. |
|
/ JobHeader/ JobLevel/ |
- xsd:string - S (0/1) |
Describes the contextual
information relating to a specific element. |
|
/ JobHeader/ |
type - xsd:string
- |
A grouping of jobs under one or more classification schemes that is meaningful to an organization. |
|
/ JobHeader/ JobCategory/ |
- xsd:string - |
Further defines the associated
element in the context provided. |
|
/ JobHeader/ JobCategory/ |
- xsd:string - S (0/1) |
A code to further describe the
associated element. |
|
/ JobHeader/ JobCategory/ |
- xsd:string - S (0/1) |
Describes the contextual
information relating to a specific element. |

|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
validFrom - AnyDateTimeType - |
Contains common position
information to be used within other HR-XML Schemas. |
|
/ PositionHeader/ |
- AnyDateTimeType - |
The date the event begins, is
active or valid. |
|
/ PositionHeader/ |
- AnyDateTimeType - |
The date through which the event
is active or valid. |
|
/ PositionHeader/ |
- PositionIdentifierType - S (1/1) |
Reference to a uniquely identifiable position. |
|
/ PositionHeader/ PositionId/ |
- xsd:string - S (1/1) |
A unique identifier used to
reference the entity. The Id it is associated with the higher level element. |
|
/ PositionHeader/ PositionId/ |
IdIssuer - xsd:string - S (0/1) |
Contains the domain information
for the Id. |
|
/ PositionHeader/ PositionId/
Domain/ |
- xsd:string - S (0/1) |
The entity responsible for the
issuing Id. |
|
/ PositionHeader/ PositionId/
Domain/ |
- xsd:string - S (0/1) |
Information that can be used to
help identify the job or position. |
|
/ PositionHeader/ |
- PositionIdentifierType - S (0/1) |
Uniquely identifies a job within an organization. |
|
/ PositionHeader/ JobId/ |
- xsd:string - S (1/1) |
A unique identifier used to reference the entity. The Id it is associated with the higher level element. |
|
/ PositionHeader/ JobId/ |
IdIssuer - xsd:string - S (0/1) |
Contains the domain information
for the Id. |
|
/ PositionHeader/ JobId/ Domain/ |
- xsd:string - S (0/1) |
The entity responsible for the
issuing Id. |
|
/ PositionHeader/ JobId/ Domain/ |
- xsd:string - S (0/1) |
Information that can be used to
help identify the job or position. |
|
/ PositionHeader/ |
- xsd:string - S (0/1) |
A short phrase describing the
position the way it would be listed on a business card or in a company
directory. |
|
/ PositionHeader/ |
- xsd:string - S (0/1) |
Describes the category or nature
of the position. |
|
/ PositionHeader/ |
- xsd:string - S (0/1) |
A description of the duties and
responsibilities of the position. |
|
/ PositionHeader/ |
Code - xsd:string
- S (0/1) |
The current state of the position.
|
|
/ PositionHeader/ PositionStatus/ |
- xsd:string - S (0/1) |
A code to further describe the
associated element. |
|
/ PositionHeader/ PositionStatus/ |
- xsd:string - S (0/1) |
Describes the contextual
information relating to a specific element. |
|
/ PositionHeader/ |
- PositionIdentifierType
- S (0/1) |
Identifies the parent position that this position reports to. |
|
/ PositionHeader/
ReportToPositionId/ |
- xsd:string - S (1/1) |
A unique identifier used to reference the entity. The Id it is associated with the higher level element. |
|
/ PositionHeader/
ReportToPositionId/ |
IdIssuer - xsd:string - S (0/1) |
Contains the domain information
for the Id. |
|
/ PositionHeader/
ReportToPositionId/ Domain/ |
- xsd:string - S (0/1) |
The entity responsible for the
issuing Id. |
|
/ PositionHeader/
ReportToPositionId/ Domain/ |
- xsd:string - S (0/1) |
Information that can be used to
help identify the job or position. |
|
/ PositionHeader/ |
- xsd:string - S (0/1) |
Any instructions related to the
position. |
|
/ PositionHeader/ |
- xsd:string - S (0/1) |
Describes the type of hours for
the position. |
|
/ PositionHeader/ |
- xsd:double - S (0/1) |
A numerical quantity that is
assigned or determined by calculation or measurement. |
|
/ PositionHeader/ |
mandatory - xsd:boolean
- |
Container to indicate that a particular resource is being identified and requested for the position. |
|
/ PositionHeader/
RequestedPerson/ |
- xsd:boolean - |
Flag to indicate that the particular person identified for the position is mandatory, the position is not open to any other person. |
|
/ PositionHeader/
RequestedPerson/ |
- xsd:boolean - |
Flag to indicate that the person identified and requested for the position is currently working on a different assignment for the customer. |
|
/ PositionHeader/
RequestedPerson/ |
- PersonNameType - S (0/1) |
The name of a person. |
|
/ PositionHeader/
RequestedPerson/ |
- EntityIdType - S (0/1) |
A unique identifier for a person. |
|
/ PositionHeader/
RequestedPerson/ |
- EntityReferenceType - S (0/1) |
Information about the supplier of the posting, resume, position, or candidate. |
|
/ PositionHeader/ |
ConditionCode - xsd:string - S (0/1) |
Contains information about any factors that could impact on the risk evaluation or work environment of the position. |
|
/ PositionHeader/
PositionSpecificCondition/ |
- xsd:string - S (0/1) |
A categorization or identifying code for a condition or requirement relating to a particular position. |
|
/ PositionHeader/ PositionSpecificCondition/ |
- xsd:string - S (0/1) |
Describes the category or
classification of the condition/requirement associated with a particular
position. |
|
/ PositionHeader/
PositionSpecificCondition/ |
- xsd:string - S (0/1) |
Describes the actual
condition/requirement associated with the position. |
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).
Most elements in the Job Header and Position Header schemas are optional; this provides the maximum flexibility for reuse. Receiving systems must perform their own integrity checking and validation.
When workgroups need to define a Position within their business process, they should include the PositionHeader Schema and any other required schema (WorkPolicy, WorkSchedule, Duties&Responsibilities, etc.) in their Position wrapper. Individual elements may also be included in the wrapper. For example, the Order workgroup requires ReportToPerson and ConfirmToPerson information that is not pertinent to other Position requirements. When building the wrapper, the PositionHeader schema is always required. All other schemas are optional based on the business process being performed.
The same implementation guidelines apply to a Job wrapper.
|
Date |
Description |
|
2003-Feb-26 |
Approved recommendation by HR-XML Consortium. The default and targetNamespaces of all HR-XML schemas have been standardized to "http://ns.hr-xml.org". This recommendation is available as part of the HR-XML 2_0 architecture. |
|
2004-Apr-16 |
Updated overview, diagrams, definitions and examples. |
|
2006-Feb-28 |
Approved by Consortium |
|
Link |
|
|
JobHeader schema |
|
|
PositionHeader schema |
|
|
Staffing Industry Data Exchange Standards |
http://ns.hr-xml.org/2_4/HR-XML-2_4/SIDES/SIDES.html
|
|
Staffing Exchange Protocol |
http://ns.hr-xml.org/2_4/HR-XML-2_4/SEP/StaffingExchangeProtocol.html |
|
Entity Identifiers |
http://ns.hr-xml.org/2_4/HR-XML-2_4/CPO/EntityIdentifiers.html |
<JobHeader validFrom="2001-12-15" validTo="2002-02-15">
<JobId>
<Id>Programmer</Id>
<Domain>
<IdIssuer>ABC Company</IdIssuer>
<IdType>Id</IdType>
</Domain>
</JobId>
<JobTitle>Associate Programmer</JobTitle>
<JobDescription>Program according to design documents. Conduct unit testing on all work. Document changes made to programs.</JobDescription>
<JobStatus>
<Code>1</Code>
<Description>Active</Description>
</JobStatus>
<JobLevel type="Family">
<Code>Salaried</Code>
<Description>Salaried, Non-executive Job Family</Description>
<JobLevel type="Type">
<Code>PROG</Code>
<Description>Programmer</Description>
<JobLevel type="Step">
<Code>1</Code>
<Description>Programmer 1</Description>
</JobLevel>
</JobLevel>
</JobLevel>
<JobCategory type="HighTech">
<Code>Technical</Code>
<Description>High Tech Employee</Description>
</JobCategory>
</JobHeader>
<PositionHeader validFrom="2001-12-21" validTo="2002-01-15">
<PositionId>
<Id>Programmer1</Id>
<Domain>
<IdIssuer>ABC Company</IdIssuer>
<IdType>Id</IdType>
</Domain>
</PositionId>
<JobId>
<Id>Programmer</Id>
</JobId>
<PositionTitle>Associate Programmer - Financial Group</PositionTitle>
<PositionType>Permanent Placement</PositionType>
<PositionDescription>Program according to design documents. Conduct unit testing of all work. Document changes made to programs. Specific duties include General Ledger, Accounts Payable, and Accounts Receivable.</PositionDescription>
<PositionStatus>
<Code>1</Code>
<Description>Active</Description>
</PositionStatus>
<ReportToPositionId>
<Id>Manager1</Id>
</ReportToPositionId>
<SpecialInstructions>Report to main lobby on first day of work.</SpecialInstructions>
<TypeOfHours>Fulltime</TypeOfHours>
<Quantity>1</Quantity>
<RequestedPerson>
<PersonName>
<FormattedName>Jacob Peterson</FormattedName>
</PersonName>
<Supplier>
<Name>Elliot Smitte</Name>
</Supplier>
</RequestedPerson>
<PositionSpecificCondition>
<ConditionCode>ES541</ConditionCode>
<ConditionDescription>Low risk exposure</ConditionDescription>
<ConditionValue>Eye Strain</ConditionValue>
</PositionSpecificCondition>
</PositionHeader>