Data Migration - Loading Operation Data (ODS)

In ShareDo the Operational Data Source 'ODS' schema refers to “things”, examples are:

  • Organisations
  • Locations
  • Teams
  • People
  • Users
  • option sets
  • Properties
  • Goods and Services

ODS

All “things” should be given an entry in the core ODS table.

ATTRIBUTE Description
Name Name of the ODS entity.
Type Person, Organisation etc.

People

People are loaded into the system using a dedicated import table. This should be populated as follows:

ATTRIBUTE Description
Title Valid values are described in the ODS.Optionset “titles”.
Gender Valid values are described in the ODS.Optionset “gender”.
Firstname First name of the person.
Surname Surname of the person.
middlenameOrIginal Middle name or initial of the person.
dateOfBirth Their date of birth.
dateOfDeath Their date of death.
niNumber National Insurance number.
employeeCode Employee code.
primaryTeamId This is typically only specified for users and references their primary team.
Nationality Nationalities are specified in the option set “Nationalities” and loaded via formAspectAttributes (attribute is nationality, entityId is participant Id). This column is no longer used.

Contact Details

People's contact details are specified in the import.ContactDetails table. This should be populated according to the following guidance.

ATTRIBUTE Description
OdsReference The reference to which the contact details pertain.
contactTypeCode

The type of contact details to be populated, e.g. mobile, home, twitter etc.

Valid values are stored in the config.contactTypes table.

contactValue The actual contact value, e.g. phone number.

Addresses

Addresses can be associated with People, Organisations or Properties. When loading an address, you should refer to the following information for the import.addresses table.

ATTRIBUTE Description
OdsReference The reference to which the contact details pertain.
addressType

The valid address types for people and organisations are specified by the option sets:

  • Location-types-org
  • Location-types-people
addressReference The unique reference for this address.
addressLine1 First line of the address.
addressLine2 Second line of the address.
addressLine3 Third line of the address.
addressLine4 Fourth line of the address.
Town Town.
County County.
Postcode Postcode.
countryCode Country code as specified in the optionset “countries”.
dxNumber Dx number.
dxName Dx name.

Users

To correctly configure a user via the dataload schema you will require a number of ODS entities to be populated including:

TABLE GUIDANCE
ODS Every user should have a record in this table.
People In order to create a user correctly they also require an entry in the Persons table specifying their key details.
Contact Details You should typically populate a users email address and other contact details.
Addresses You should typically populate the users Office address.
ODS Relationships Depending upon your ShareDo configuration you may wish to associate users with other users to form relationships such as “Supervisor”.

In addition to populating the tables above the import.users table should also be populated with the following information.

ATTRIBUTE Description
identityClaim Authentication method – if AD this will be their AD account name.
IdentityProvider e.g. AD.
signatureImage The users electronic signature in Gif or JPG formats.

Organisations

Creating an organisation involves the population of the following fields in the import.organisations table.

ATTRIBUTE Description
OdsReference The reference to which the contact details pertain.
industrySICCode Classification of the organisation as specified in the option set.
isVATRegistered Organisation is vatable.
VATNumber VAT Number for the organisation.
VATComments Additional tax information.
companyNumber Unique government reference for the organisation.

Teams

Creating a team involves the specification of the following fields in the import.teams table:

ATTRIBUTE Description
OdsReference The reference to which the contact details pertain.
canHaveExternalMembers Specifies whether this can have external members.
Description Description of this team.
teamType Specifies the purpose for this team.
teamReference The reference for the team.

Note, if hierarchical links are required between teams, then the ‘ods relationships’ loader is used.

ODS Relationships

ODS relationships are used to link:

  • people together, e.g. family members or supervisors
  • people to teams
  • employed by
  • parent team (of a team)
  • parent organisation
  • parent to child organisation link
  • ods connection (using config Operational Data Store \ Connections in Admin)

Creating an ODS relationship involves specifying the following fields in the import.odsrelationships table:

ATTRIBUTE Description
parentReference ODS reference for the parent.
siblingReference ODS reference for the child.
relationshipType

One of the constants:

  • worksinteam
  • employedby
  • parentteam
  • parentorganisation
  • parent-child-org
  • supervised-by
  • ods-entity-connection
relationshipType

When the relationship type is using config (ods-entity-connection) the valid values are found in the Operational Data Store \ Connections UI in Admin:

The systemName should be put into relationshipMeta1 attribute.

relationshipMeta1 For some relationship types it will hold additional information.
relationshipMeta2 Not currently used.
periodFrom Date from which the relationship became valid.
periodTo Date to which the relationship is valid (can be null).

ODS Types

ShareDo allows you to specify specific ODS types for People, Organisations, Teams and Users.

ODS Types allow you to subdivide your master list of people, organisations, etc., by specific types, such as Experts or Witnesses.

Furthermore, this functionality can also be used to specify attributes specific to certain types of people. For example, you could store against the People record an attribute of “Daily Rate” that is only relevant for People of ODS type “Experts.”

When importing ODS Types, the following information should be specified:

ATTRIBUTE Description CORE VALIDATION
OdsReference The reference to which the ODS Type pertain. This could be a person, org, team or user. The reference should be back to a valid person, team record.
ODSType Specifies the ODS type that this ODS entity has. ODS types can be queried from the following table config.odsTags Validates that the ODSType is applicable for the entity type, i.e. that the user is not attempting to load in an ODS Type that is applicable to a team for a person.

Option Sets

ShareDo allows you to import option sets into the solution as part of the data load.

Note: Since your data load may well depend upon these option sets, these should be loaded in separately.

When importing option sets, please note the following guidance:

ATTRIBUTE Description
optionSetName

Valid values for option sets can be determined via the option set management screen.

parentValueName

Option sets can be hierarchical. To create these hierarchies you should specifiy the parent for a particular value.

Note: the parent should exist as a separate entry.

Name Name for the option set entry.
caseShareDoTypeSystemName The case type that this instruction is designed to create.
shortName A short name or code for the option set.
meaningCode Meaning codes are occasionally used to drive workflow behaviour rather than hardcoding against names.
iconClass The fontawesome icon class that can, optionally, be used to display in conjuction with this option set.
displayColour The hex colour that can be used in conjunction with the icon to enrich the display of this option set.