Skip to main content

Module API

The main Perl module is OMOP::CSV::Validator.

This page summarizes the public methods at a practical level. For formal POD, see the module source.

Constructor

new

Creates a validator object.

my $validator = OMOP::CSV::Validator->new();

Schema loading

load_schemas_from_ddl($ddl_text)

Parses DDL text and returns a hash reference keyed by lowercase table name.

The parser accepts:

  • schema-qualified PostgreSQL table names
  • unqualified table names
  • OHDSI-style placeholder qualifiers such as @cdmDatabaseSchema.person

Typical use:

my $ddl_text = path($ddl_file)->slurp_utf8;
my $schemas = $validator->load_schemas_from_ddl($ddl_text);

Table selection

get_schema_from_csv_filename($csv_filename, $schemas)

Derives the table name from the CSV basename and returns the matching schema.

Validation

validate_csv_file($csv_file, $schema, $sep)

Reads a CSV file, coerces numeric-looking values where configured, validates each row, and returns an array reference of validation errors.

$sep is optional and defaults to ,.

The returned error entries use data-row numbering. The first row after the CSV header is row 1.

The validator also normalizes OMOP-style \N markers to null values before validation.

Numeric coercion helper

dotify_and_coerce_number($val)

Normalizes decimal commas to dots and returns a numeric value when the input looks numeric.

This helper is used internally during validation and is exposed as part of the module surface today.