Skip to main content
net10.0net9.0

Writers for SQL on FHIR - Parquet and CSV output formats

Published
Jul 9, 2026
3mo ago
Total Downloads
4.7K
4,668

Install

dotnet add package Ignixa.SqlOnFhir.Writers --version 0.6.7
ProductVersions
.NET
net10.0net9.0

README

Ignixa.SqlOnFhir.Writers

Writers for SQL on FHIR ViewDefinitions, providing output in various formats.

Features

  • Parquet Writer: Convert FHIR resources using ViewDefinitions into Parquet format
  • CSV Writer: Convert FHIR resources using ViewDefinitions into CSV format
  • NDJSON Writer: Convert rows into newline-delimited JSON for streaming pipelines
  • Schema Extraction: Extract schema from ViewDefinitions for preview and validation

Usage

Parquet Writer

var writer = new ParquetFileWriter(
    outputPath,
    schema,
    logger,
    columnTypeMap);

// Write rows
foreach (var row in rows)
{
    await writer.WriteRowAsync(row, cancellationToken);
}

await writer.FlushAsync(cancellationToken);

NDJSON Writer

var writer = new NdjsonFileWriter(outputPath, logger);

foreach (var row in rows)
{
    await writer.WriteRowAsync(row, cancellationToken);
}

await writer.FlushAsync(cancellationToken);

Console.WriteLine($"Rows: {writer.RowsWritten}, bytes: {writer.BytesWritten}");

CSV Writer

var writer = new CsvFileWriter(outputPath, logger);

// Write rows
foreach (var row in rows)
{
    await writer.WriteRowAsync(row, cancellationToken);
}

await writer.FlushAsync(cancellationToken);

Changes from Previous Version

No structural changes between v0.6.4 and v0.6.7.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

Compatibility metadata lists 2 target frameworks; confirm the exact target used by your application.The published metadata declares 22 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.