NAME

omop_csv_validator - Validate OMOP CDM CSV files against DDL-derived schemas

SYNOPSIS

omop_csv_validator --ddl DDL.sql --input DATA.csv [--sep $'\t'] [--table person] [--save-schemas schemas.json] [--report-tsv validation.tsv] [--report-xlsx validation.xlsx]

OPTIONS

--ddl

(required) Path to the PostgreSQL DDL file defining OMOP CDM table structures.

--input

(required) Path to the input CSV file to validate.

--sep

CSV field separator override. If omitted, the validator tries to infer the separator from the file. For tab, use: --sep $'\t'

--table, -t

(optional) Table name to validate against. If not provided, the script will attempt to derive the table name from the CSV filename.

--save-schemas

(optional) Path to a file where the DDL-derived schemas should be saved (in JSON format).

--no-color, -nc

(Optional) Turn off STDOUT color

--json

(Optional) Emit a machine-readable JSON result object suitable for automation or R clients.

--report-tsv

(Optional) Write a tab-separated validation report with the original row data plus _validation_* columns that spreadsheet users can open in Excel.

--report-xlsx

(Optional) Write a native Excel workbook with a summary sheet, validation sheet, and colored status cues.

--turbo

(Optional) Use the compiled fast-path validator instead of the default JSON::Validator-based engine.

--help, -h

Display this help message.

--version, -V

Show the script's version (which corresponds to OMOP::CSV::Validator::VERSION).

EXAMPLE

bin/omop_csv_validator --ddl ddl/postgres.sql --input data/person.csv --sep $'\t'
bin/omop_csv_validator --ddl ddl/postgres.sql --input data/ANY_CSV.csv --table person
bin/omop_csv_validator --ddl ddl/postgres.sql --input data/ANY_CSV.csv --save-schemas schemas.json
bin/omop_csv_validator --ddl ddl/postgres.sql --input data/person.csv --report-tsv validation.tsv
bin/omop_csv_validator --ddl ddl/postgres.sql --input data/person.csv --report-xlsx validation.xlsx