File Uploads

As indicated in this section, the schema for insured individuals within the Osigu platform is extensive to provide flexibility for various business models and payer-specific plan and policy configurations.

Each entity in Osigu's data model has an equivalent CSV file that can be transferred and processed.

The payer must create each file to be uploaded and compress it into a zip file, which is then transferred using the method defined during the integration phase (e.g., NFS, SFTP).


Data Structure

The following diagram outlines the data structure and corresponding CSV files that can be received. Not all files in this diagram are typically used or required in a given integration.

The diagram highlights the structures commonly used in integrations.

Beneficiary files scheme

The schema allows configurations at three levels:

  • Policy/Plan: Settings affect all groups and insured individuals within a policy.
  • Group: Settings affect only insured individuals within a specific group.
  • Individual: Settings apply to a single insured individual.

Payers can configure shared costs, exclusions, and coverages at any combination of these levels. If configured at multiple levels, the system accumulates these configurations, applying all relevant settings.


Connection and Transfer

Files can be uploaded via the SFTP protocol to the following address:
sftp.plans.osigu.com.

Osigu will provide a unique user and certificate for authentication for each environment (Production and Sandbox).

Upon authentication, the root directory will include the following structure:

  • input: Place files to upload to this directory.
  • output: The system will place processing results in this directory.

Upload File Naming Convention

The CSV files must be compressed into a single archive in zip, gzip, or rar format and uploaded to the input directory.

Each file must have a unique name to prevent conflicts during processing. The recommended naming structure is:

  • <country_code>-<name>_<timestamp>.<zip|gzip|rar>

Example:
us-umbrellacorp-20210110T060001.zip

After processing, a *.log file will be placed in the output directory with a detailed result, showing successfully processed lines and those with errors. This log file will have the same name as the original archive.


Processing Workflow

Beneficiary files scheme - Page 2

The diagram above illustrates the workflow triggered when a *.zip file is placed in the input directory.

Upon detecting a new file, the system emits an event to the Plans API queue, which manages plans and insured information for the payer. Processing begins immediately after the file is detected.


CSV Files

The archive must contain at least one CSV file. The system does not expect all files to be included but processes only the ones provided.

While sending the same files regularly is common practice, the system verifies each line for changes since the last upload and determines whether to update, insert, or delete records.

Important

Records not included in subsequent uploads will be considered removed and will no longer be available for future authorizations.


Requirements for CSV Files

  1. Files must be UTF-8 encoded to ensure special characters display correctly on the platform.
  2. The first line must always contain headers.
  3. Fields must be comma-separated (,).
  4. All text values must be enclosed in double quotes ("), allowing commas to be used within fields like addresses or names.
  5. Double quotes inside a value must be escaped using a backslash (\).

Data Types

String

  • Text values enclosed in double quotes (").
  • Maximum length is indicated in brackets [ ].

Timestamp

  • ISO 8601 formatted date-time strings, including timezone information.
  • Example for January 1, 2022, at midnight in GMT-6:
    • "2022-01-01T06:00:00.000Z" (UTC)
    • "2022-01-01T00:00:00.000-06:00" (America/Central)
    • "2022-01-01T04:00:00.000+02:00" (Europe/Spain)

Enum

  • String values from a predefined list (e.g., (MALE | FEMALE | NOT_KNOWN)).

Boolean

  • Values "true" or "false" enclosed in double quotes.

Integer

  • Whole numbers are enclosed in double quotes, ranging from -2,147,483,648 to +2,147,483,647.

Decimal

  • Numbers with fractional values. Precision and scale are defined as Decimal(precision, scale).

🚧

Handling Excess Precision

If a number exceeds the allowed precision, the fractional part is truncated. For example:
3210987654321.555888 is stored as 3210987654321.55.


File Processors

Osigu provides 27 processors, allowing the payer to decide which files to use based on their data and operational requirements.

Configurations can occur at multiple levels (Policy/Plan, Group, Individual), and the system applies these configurations cumulatively.

Refer to the table below for available processors and their respective documentation:

#File NameDescription
1v2_policies.csvContains basic plan/policy information. Required for the initial upload.
2v2_disease_groups.csvLists ICD-10 codes related to a medical condition. Optional.
3v2_po_health_programs.csvAssociates health programs with a plan/policy.
4v2_po_premium_charges.csvIndicates additional charges to the policy premium. Informational only.
5v2_po_premium_payments.csvLists premium payments for each policy. Informational only.
6v2_po_costs_sharings.csvConfigures copayments and coinsurance at the policy level.
7v2_po_coverages.csvSpecifies coverages available for authorization generation at the policy level.
8v2_po_exclusions_by_diagnoses.csvLists of ICD-10 diagnoses excluded from coverage at the policy level.
9v2_po_exclusions_by_ingredient.csvLists of active ingredients are excluded from coverage at the policy level.
10v2_po_exclusions_by_diag_tests.csvLists excluded diagnostic tests at the policy level.
11v2_po_max_benefits_per_disease.csvSpecifies maximum benefits per disease group at the policy level.
12v2_groups.csvContains groups within a policy. Required for initial uploads.
13v2_gr_costs_sharings.csvConfigures copayments and coinsurance at the group level.
14v2_gr_coverages.csvSpecifies coverages available for authorization generation at the group level.
15v2_gr_exclusions_by_diagnoses.csvLists of ICD-10 diagnoses were excluded from coverage at the group level.
16v2_gr_exclusions_by_ingredient.csvLists of active ingredients are excluded from coverage at the group level.
17v2_gr_exclusions_by_diag_tests.csvLists excluded diagnostic tests at the group level.
18v2_gr_max_benefits_per_disease.csvSpecifies maximum benefits per disease group at the group level.
19v2_policyholders.csvLists insured individuals to be included in a policy and group. Required for initial uploads.
20v2_certificate_costs_sharings.csvSpecifies shared costs applicable at the certificate level.
21v2_ph_coverages.csvConfigures coverages available for an individual insured.
22v2_ph_exclusions_by_diagnoses.csvLists ICD-10 diagnoses excluded from coverage for an individual insured.
23v2_ph_exclusions_by_ingredient.csvLists active ingredients excluded from coverage for an individual insured.
24v2_ph_exclusions_by_diag_tests.csvLists excluded diagnostic tests for an individual insured.
25v2_ph_max_benefits_per_disease.csvSpecifies maximum benefits per disease group for an individual insured.
26v2_ph_pre_existing_conditions.csvLists ICD-10 codes for pre-existing conditions are excluded temporarily until the waiting period ends.
27v2_policyholder_balances.csvIndicates the maximum available benefit for each insured individual.

Osigu's team can help you determine the best combination of files to suit your data model and operational needs.