Skip to main content

FTP Administration - Enterprise Only

The FTP feature allows you to securely import data files from clients or stakeholders by setting up dedicated FTP users and groups. This helps streamline the process of receiving and processing large volumes of files while ensuring that access to specific directories and resources is tightly controlled.

Managing FTP Users​

Navigate to Integrations > FTP to access the FTP management dashboard. The dashboard has three tabs: Users, Groups, and Rules.

Creating a User​

  1. Click Add User on the Users tab.
  2. Enter a Username (max 10 characters). This cannot be changed after creation.
  3. Choose an authentication method:
    • Password — set a password for the user. You can require a password change on first login.
    • Public Key — paste one or more OpenSSH public keys. This is the recommended method for automated systems and enhanced security.
  4. Assign the user to a Group to control which directories they can access.
  5. Click Save.

The Users tab shows all provisioned users with their creation date, first upload timestamp, and last login.

Authentication Methods​

MethodBest ForSecurity
PasswordInteractive users, initial setupStandard
SSH Public KeyAutomated systems, recurring uploadsRecommended

Both methods connect over SFTP on port 2022.

Managing Groups​

Groups control directory access and isolate data between different clients or stakeholders.

  • Each group maps to a directory structure where members can upload files.
  • Users assigned to a group can only see and upload to that group's directories.
  • Multiple users can share a group when they need access to the same folder.

Groups can be managed from the Groups tab. To create a new group, click Add Group, enter a name, and save.

Folder Configurations (Rules)​

The Rules tab lets you define how uploaded files are automatically processed. Each folder configuration consists of patterns and optional overrides.

Patterns and Actions​

Patterns use regular expressions to match incoming file names. When a file matches a pattern, the associated action is triggered automatically:

ActionBehavior
ImportStarts a batch import of the matched file
Import and AcceptImports the file and automatically accepts all records

A single folder configuration can have multiple patterns, each with its own action. Files are checked against all configured patterns when they arrive.

Example patterns:

  • .*\.csv$ — matches any CSV file
  • ^patient_import_.* — matches files starting with "patient_import_"
  • ^lab_results_\d{8}\.csv$ — matches files like "lab_results_20260315.csv"

Overrides​

Overrides inject additional columns into every row of an imported file. This is useful for:

  • Setting a default Instance ID for all records in a file
  • Tagging imported patients for a specific campaign
  • Adding organization-specific identifiers

Each override specifies a Column name and a Value. If the column already exists in the file, the override replaces its value. If the column does not exist, it is added.

Creating a Folder Configuration​

  1. Go to the Rules tab and click Add Rule.
  2. Enter a Name for the configuration (e.g., "Lab Results Import").
  3. Add one or more Patterns with their corresponding actions.
  4. Optionally add Overrides to inject or modify columns.
  5. Click Save.

How File Processing Works​

  1. A user uploads a file via SFTP to their assigned directory.
  2. The upload triggers an event that checks the file against all folder configurations for the organization.
  3. If the file name matches a pattern, the associated action executes automatically.
  4. If overrides are configured, the specified columns are added or modified in the file before import.
  5. The file is then processed through the standard batch import pipeline.

Files that do not match any pattern are left in the upload directory for manual processing.

User Connection Instructions​

Share the FTP User Instructions page with provisioned users. It covers connecting with an FTP client, authentication setup, and troubleshooting.