Chris21
org.manager reads position, occupancy and employee data out of Frontier Software so your org charts reflect what your system of record holds rather than a spreadsheet someone exported last quarter. Reporting lines, org unit levels, vacant positions, nominal and acting occupancies, leave balances and salary data all come across.
This article covers both traditional chris21 (on-prem) and ichris.
See it working first
Our live demo environment runs on fictional sample data and needs no login. It is the quickest way to see the kind of chart your data would produce.
Open the org.manager demo chart
ichris
There are two ways to get data out of ichris, and which one you need depends on how much you want your charts to show.
The ORC report, for a hierarchy chart quickly
ichris ships with an organisation chart report, reached by pressing F6 and entering ORC. It walks a reports-to relationship from a starting position and outputs the structure beneath it. Run it with:
- The start position number, which is the position at the top of the chart you want
- The reports-to relationship, typically REL01 or RL01
- Today's date, so you get the current structure
- Position Numbers, Show Descriptions and Preferred Name ticked
- Suppress Ended Positions ticked, so closed positions stay out of the chart
- The number of levels you want
Then export the result as a CSV or text file. Choose the As text option rather than a spreadsheet format, so the file can be read straight into org.manager.
ORC gives you position number, reports-to, employee name, gender and short position title. It is capped at around twelve fields, and an XML template can be uploaded in the Run Options tab to choose which ones.
What this gets you, and what it does not. ORC is enough for a working hierarchy chart and it is the fastest route to seeing your own structure in org.manager. It is not enough for the wider chart portfolio. There is no salary, no leave balance, no FTE, no employment type and no org unit data in an ORC extract, so compensation, leave liability, workforce and WGEA charts are out of reach on ORC alone.
Broader extracts, for the full chart portfolio
Because ORC is an org chart report rather than a general extract tool, running it repeatedly does not get you past the field limit. Each run returns hierarchy rows, not employee or leave data.
For anything beyond a basic chart a broader set of extracts is needed, one per entity, along the lines described below. ichris includes a report designer as standard, and your Navigo Solutions Architect will work through the best way to produce these extracts from your environment during requirements gathering.
Traditional chris21
Where you hold the chris21 database, data is read directly from the underlying tables and delivered to org.manager as a set of CSV files.
The usual pattern is a scheduled job that queries the chris21 tables, writes one CSV per entity, and transfers those files to your org.manager environment by SFTP, generally daily and outside business hours. Charts refresh shortly after the files land. For more information on transferring data securely refer this page.
Extracts are always of current data. org.manager charts reflect the position and occupancy records that are current at the time of the extract. Effective-dated history is not required.
Where the data sits in chris21
| chris21 table | Table name | What it holds |
|---|---|---|
| Staff Details | EMDET | Names, gender, date of birth, email, hire date |
| Staff Member Position | EMPOS | Which person holds which position, nominal or acting, dates, hours |
| Position Details | PSDET | Position IDs, titles, basis, hours, class, org unit codes |
| Position Relationships | PSLDW | The reports-to relationship between positions |
| Organisation Levels | ORGNA | Org unit codes and titles at each level |
| Staff Salary Details | EMSAL | Salary amount, grade, class, increment dates |
| Staff Allowances | EMALW | Allowance amounts |
| Staff Leave Balances | EMLAC | Leave entitlements, accruals and balances by leave type |
| Staff Leave | EMLVE | Current leave type and dates, and absence history |
| Code Table | CHTAB | Descriptions for coded values such as gender, occupancy type and employment status |
Most chris21 fields carry a trailing type letter in the database, so DET_NUMBER may appear as det_numbera where the a marks it as alphanumeric. The field names on this page are shown without that suffix.
Which positions appear in your charts
The chart structure is built from positions, and occupants are then attached to them. The two are filtered separately, which is why a position with nobody in it still appears.
Positions
A position is included when both of the following are true:
- The position was created before today
- The position end date is after today, or is empty
A position that meets these appears on the chart whether or not anyone occupies it. Positions with no current occupancy come through as vacancies rather than being dropped, which is what makes establishment and vacancy reporting possible.
Occupancies
An occupancy is included when both of the following are true:
- The employee's position end date is after today, or is empty
- The occupancy status is N for nominal or A for acting
Any other occupancy status is left out, so historical and future placements do not appear on a current chart.
Nominal and acting occupancies
Both nominal and acting occupancies are extracted, so a position can appear twice on your chart, once for the nominal occupant and once for the person acting in it. That is correct behaviour rather than a duplicate: it reflects what chris21 holds.
If you would rather see one box per position, the two records can be combined through chart formatting in Modeller, which is also what allows an Establishment chart to be built.
How this behaves depends on your own data. chris21 allows a nominal occupancy to be end dated while someone is acting, so if that is how your organisation records higher duties, the nominal occupant will not appear.
Worked example
Four position records and three occupancy records, simplified:
| Position | Position title | Occupant | Occupancy type | Nominal position |
|---|---|---|---|---|
| 4010 | Operations Manager | Dana Willis | N | 4010 |
| 4010 | Operations Manager | Sam Ellis | A | 4025 |
| 4025 | Team Leader | Sam Ellis | N | 4025 |
| 4030 | Analyst |
From those records the chart shows:
- Operations Manager twice, once for Dana Willis as the nominal occupant and once for Sam Ellis acting into it. Sam's nominal position is 4025, so he also appears there
- Team Leader occupied by Sam Ellis
- Analyst as a vacant position, because the position record exists and no occupancy record points at it
Charts you can build
Our chart portfolio is listed on the Getting started page, with an article for each chart covering what it shows and who it is intended for.
Which of them you can run depends on which extracts you provide. Read through the field list below and tell us which fields you want on your charts, and we will confirm what that supports.
Photos
Employee photos are supplied separately and matched to people using a unique identifier from your data, usually the employee number (DET_NUMBER).
Naming, file format and transfer requirements are covered on the Data Source Requirements page.
The extracts we recommend
Rather than one wide file, we suggest a set of extracts, one per entity. This keeps each file simple, avoids field limits, and handles the case where one person holds more than one position.
This is a recommendation, not a requirement. If your reporting tooling naturally produces a different shape, send us what it produces and we will work with it.
| Extract | Source | What it carries |
|---|---|---|
| People | EMDET | One row per employee. Names, gender, date of birth, email, hire date |
| Positions | PSDET, PSLDW | One row per position. Title, reports-to, hours, basis, org unit codes |
| Occupancies | EMPOS | One row per person-to-position link. Nominal or acting, dates, hours |
| Organisation units | ORGNA | One row per org unit. Codes and titles at each level |
| Leave | EMLAC, EMLVE | Leave balances by leave type, and current leave dates |
| Remuneration | EMSAL, EMALW | Salary, grade, increment and allowance totals. Optional |
| Code descriptions | CHTAB | The text behind coded values such as occupancy type and employment status |
About the code table. Several fields below are codes rather than text. Send CHTAB alongside the other extracts and we will resolve the descriptions, or resolve them in your own query and send the text. Either works, but without one or the other your charts will show raw codes.
Why occupancies are worth separating. In chris21 a person can hold a nominal occupancy and an acting occupancy at the same time. Keeping occupancies in their own extract means concurrent roles are carried correctly, rather than being squeezed into two columns on the employee record.
Why organisation units are a lookup, not a hierarchy. chris21 holds the org structure as a set of levels against the position rather than as a parent-and-child pointer, and the organisation unit extract supplies the code and title for each level. The hierarchy your chart is built from comes from the position reports-to relationship.
The fields below are the ones that drive the charts in our demo environment. They are a starting point, not a limit. If there is anything else in chris21 you are planning to visualise or use in org.manager, tell us and we will bring it across.
Column names do not matter to org.manager. The names shown below are the ones most chris21 setups use, and they are here so your team can find the right field quickly. If your extract calls them something else, that is fine.
People
| Field | Field name |
|---|---|
| Employee ID | DET_NUMBER |
| Alternate Employee ID | DET_ALT_NBR |
| Surname | DET_SURNAME |
| First Name | DET_G1_NAME1 |
| Preferred Name | DET_PREF_NM |
| Gender Code | DET_GENDER |
| Date of Birth | DET_BIR_DATE |
| Email Address | DET_EMAIL_AD |
| Hire Date | DET_DATE_JND |
| Probation End Date | DET_CONF_DTE |
Drives: Corporate Directory, Workforce, Gender and WGEA reporting, and length of service. Full name and age are derived by the extract from preferred name plus surname, and from date of birth.
Positions
| Field | Field name |
|---|---|
| Position ID | PDT_CODE |
| Reports-to Position ID | REL_RELAT_01 |
| Position Title | PDT_TITLE |
| Position Basis, full time, part time or casual | PDT_STATUS |
| Position Weekly Hours | PDT_HRS_WEEK |
| Position Class | PDT_CLASS |
| Position Category | PDT_CATEGORY |
| Executive, Staff or Wage | PDT_ESW |
| Position Fund | PDT_FUND_MTH |
| Position Created Date | PDT_CREATED |
| Position End Date | PDT_END_DATE |
| Organisation Unit Code, one per level | PDT_ORG_2_CD, PDT_ORG_3_CD and so on |
Drives: the hierarchy itself, plus Establishment and vacancy reporting. The reports-to relationship is held in PSLDW, everything else in PSDET. Position Basis carries full time, part time or casual rather than an active or abolished status. Whether a position is live is determined by its created and end dates. Include an org unit code column for every level your organisation runs.
Occupancies
| Field | Field name |
|---|---|
| Employee ID | DET_NUMBER |
| Position ID | POS_NUMBER |
| Nominal Position ID | POS_EMP_NOM |
| Occupancy Type, N or A | POS_EMP_OCC |
| Occupancy Start Date | POS_START |
| Occupancy End Date | POS_END |
| Average Hours per Week | POS_AV_HR_WK |
| Percentage Worked | POS_PERC_WKD |
| Employment Status | POS_STATUS |
| Executive, Staff or Wage | POS_ESW |
| Leave Group Code | POS_LVE_GRP |
Drives: who sits in which box, and acting arrangements. Employment Type comes from Employment Status, which is a code resolved through CHTAB. There is no single FTE field in chris21, so FTE is derived, either from average hours per week against the position's full time hours, or from percentage worked where your organisation maintains it. Tell us which of the two your data keeps reliably.
Organisation units
| Field | Field name |
|---|---|
| Organisation Unit Code, one per level | ORG_0_CD, ORG_1_CD and so on |
| Organisation Unit Description, one per level | ORG_0_DESCR, ORG_1_DESCR and so on |
| Organisation Unit ID | ORG_ID |
Drives: grouping, filtering and level-based reporting. The number of org levels varies between organisations, so send a code and a description for every level you hold rather than a fixed set. The organisation unit ID strings those level codes together into a single path, such as AU.C.CL.FE.S199.0555, and gives each org unit a unique key.
Leave
| Field | Field name |
|---|---|
| Annual Leave Total Days | LAC_TOT_DAYS_ANN |
| Annual Leave Current Entitlement, days | LAC_CUR_EN_D_ANN |
| Annual Leave Current Accrual, days | LAC_CUR_AC_D_ANN |
| Current Leave Type Code | LVE_TYPE_CD |
| Leave Start Date | LVE_START |
| Leave End Date | LVE_END |
Drives: Leave Liability, and the on leave indicator on a chart box. The leave type is part of the field name in EMLAC, so the three balance fields above repeat for each leave type your organisation runs, with the suffix changing from ANN to the code for long service leave, sick leave, time in lieu and so on. Send the leave types you want reported and we will map them.
Remuneration
Optional. Charts using this data are normally restricted to People and Culture and Finance.
| Field | Field name |
|---|---|
| Annual Salary Amount | SMN_AMOUNT |
| Full Time Salary Amount | SMN_FTE_AMT |
| Weekly Salary Amount | SMN_WEEKLY |
| Salary Grade | SMN_GRADE |
| Salary Class | SMN_CLASS |
| Next Salary Class | SMN_NXT_CLSS |
| Next Increment Date | SMN_NXT_DATE |
| Total Allowances | ALW_AMT |
Drives: Compensation, Budget and Compa Ratio charts, and the remuneration components of WGEA reporting. Allowances are summed per employee from EMALW.
Next steps
If chris21 or ichris is your system of record and you want to see what your own structure looks like in org.manager, get in touch with your Navigo Solutions Architect. We will walk through which of the data above you already hold, which charts it unlocks and what the extract looks like in practice.