Importing data into OpenFIT

Created by Enda Madden, Modified on Mon, 22 Dec, 2025 at 3:30 PM by Enda Madden

Overview

We have extensive experience importing information into OpenFIT, ranging from heavy-duty ETL processes to the self-service approach outlined below.


OpenFIT administrators can import Case, Client, Appointment, and Survey data using a flat-file format. The example below shows a data dictionary for importing Case, Client, Appointment, and ORS/SRS survey data.


For agencies who simply wish to import Case and Client data then please set the ORS_Skip and SRS_Skip values to Y.


Import File Structure

Column NameDescription
Service_Location[Required] Name of the provider location
Provider_FirstName[Required] First name of the clinician
Provider_LastName[Required] Last name of the clinician
Provider_Email[Required] Email address (unique). This will be the username for OpenFIT. If the user does not exist, OpenFIT will create one with a default Clinician role.
Case_ID[Required] Identifier used to group sessions for a client
Case_Date[Required, yyyy-MM-dd] Start date of the case
Session_ID[Required] Sequential integer within the case (1, 2, 3…), where 1 represents the earliest session by date
Session_Date[Required, yyyy-MM-dd] Session date
Client_Gender[Required] One of: Male, Female, Transfeminine, Transmasculine, GenderExpansiveNonBinary, TwoSpirit, Questioning, DeclinedToState, AdditionalCategory
ORS_Skip[Required] Y or N – Y indicates the ORS was not completed
Total_ORS[Optional, decimal] Total ORS score
Notes[Optional] Saved when the Case (Episode) is created

Custom Fields

To import custom fields, add one column per custom field. The column header must match the custom field name exactly as shown in the OpenFIT UI.

Do not use GUIDs or internal IDs. Values must match the visible UI values.

Naming Convention

{EntityName}_{FieldName}

Where {EntityName} is typically Episode or Client.

Example

An Episode-level custom field called “Has there occurred any changes to the treatment plan?” with the following values:

  • Outpatient
  • Inpatient
  • Residential
  • Other

Would appear in the import file as:

Episode_TreatmentSettings

A developer can identify the correct field name by inspecting the data-translate attribute in browser DevTools.



If you need assistance identifying custom field names, contact support@openfit.care.


A forthcoming enhancement to the import screen will list all custom fields enabled for the organisation to simplify this process.


Large Imports and ETL Migrations

For initial data loads or ETL-style migrations from another outcome measurement system, please contact us during the planning phase.

We can support validation and testing in a Sandbox environment prior to importing into Production.

The import template file is attached below.


Importing ORS and SRS Scores

ORS and SRS scores must follow strict validation rules. The ORS_Skip and SRS_Skip fields determine whether OpenFIT imports or ignores supplied scores.


1. Skip Flags (ORS_Skip / SRS_Skip)

Skip = 1 indicates that no survey was completed. All score fields must be blank.

ORS_Skip = 1
ORSQ1–ORSQ4 = blank
Total_ORS   = blank

SRS_Skip = 1
SRSQ1–SRSQ4 = blank
Total_SRS   = blank

This explicitly records that no survey was completed for the session.

Skip = 0 indicates that a survey was completed. Scores must follow one of the valid formats below.

2. Valid Formats When Skip = 0

Format A — Subscores Only

All four subscores must be provided. The total score must be blank.

ORSQ1–ORSQ4 = numeric values
Total_ORS   = blank

SRSQ1–SRSQ4 = numeric values
Total_SRS   = blank

A score of 0 is valid only when it reflects an actual client score.

Format B — Total Only

All subscores must be blank. Only the total score is supplied.

ORSQ1–ORSQ4 = blank
Total_ORS   = numeric

SRSQ1–SRSQ4 = blank
Total_SRS   = numeric

OpenFIT will automatically populate:

Q1 = Q2 = Q3 = Q4 = Total / 4

3. Invalid Combinations

  • Partial subscores
  • Subscores supplied alongside a total
  • Zero used as a placeholder for missing values
  • Any structure outside Formats A or B

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article