Quick Start Guide
Get up and running with InteropSuite in minutes.
Install the Package
dotnet add package InteropSuite
Add Using Statement
using InteropSuite.Fhir.Engine;
Activate Your License
Interop.ActivateLicense(licenseKey);
Transform Your Data
var result = await Interop.HL7ToFhirAsync(hl7Message);
Data Paths
InteropSuite stores all data relative to your application directory.
Default Root Path
{workingDir}/interopsuite/
Where {workingDir} is the directory from which you run your application
output/fhir/
FHIR R4 bundle output organized by validation status:
validated/— Bundles that passed FHIR validationerrors/— Bundles with validation issues
{workingDir}/interopsuite/output/fhir/{validated|errors}/{yyyy}/{MM}/{dd}/*.json
dashboard/ Optional
TraceServer session data. Created when Interop.DashboardEnabled = true.
{workingDir}/interopsuite/dashboard/sessions/*.json
audit/ Manage Storage
HIPAA audit logs. Every transaction is recorded for compliance.
{workingDir}/interopsuite/audit/{yyyy}/{MM}/engine-{yyyyMMdd}.jsonl
quarantine/
Failed messages stored with metadata for review.
{workingDir}/interopsuite/quarantine/{yyyy}/{MM}/{dd}/{id}/
Environment Variable Overrides
INTEROPSUITE_ROOT | Override base directory (default: {workingDir}/interopsuite) |
INTEROPSUITE_DASHBOARD_DIR | Override dashboard directory |
INTEROPSUITE_AUDIT_DIR | Override audit logs directory |
INTEROPSUITE_QUARANTINE_DIR | Override quarantine directory |
INTEROPSUITE_OUTPUT_DIR | Override FHIR output directory |
TraceServer Dashboard (Optional)
Real-time monitoring dashboard for batch processing. Download and run the executable.
Interop.DashboardEnabled = true;
chmod +x first.
./InteropSuite.TraceServer -d /path/to/app/interopsuite/dashboard
xattr -d com.apple.quarantine ./InteropSuite.TraceServer 2>/dev/null
Dashboard Settings
- Sidebar: Shows last 10 files per pipeline (HL7, X12, CDA, CMS-0057-F)
- Grid pagination: 5, 10, 15, or 20 items per page
- Session-based: Data resets when server restarts (fresh view each session)
Batch Processing
Process multiple files from one or more directories. Results appear in the TraceServer dashboard if running.
Process one directory at a time. Each batch completes before the next starts.
// Process all files in a directory with ProcessBatchAsync
var options = new BatchOptions
{
Domain = "HL7", // HL7, X12, CDA, or CMS-0057-F
OutputFormat = OutputFormat.UsCore
};
var result = await Interop.ProcessBatchAsync("path/to/messages", options);
Console.WriteLine($"Processed: {result.TotalFiles} files");
Console.WriteLine($"Succeeded: {result.Succeeded}");
Console.WriteLine($"Failed: {result.Failed}");
Console.WriteLine($"FHIR Resources: {result.TotalResources}");
Process multiple directories in a single call with RoundRobin interleaving. No domain blocks another.
// Process multiple directories with RoundRobin interleaving
var options = new BatchOptions
{
Sources = new[]
{
new BatchSource("input/hl7", "HL7", OutputFormat.UsCore),
new BatchSource("input/x12", "X12", OutputFormat.UsCore),
new BatchSource("input/cda", "CDA", OutputFormat.UsCore),
new BatchSource("input/cms", "CMS-0057-F", OutputFormat.Cms0057F),
}
};
// Files interleaved: HL7[0], X12[0], CDA[0], CMS[0], HL7[1]...
var result = await Interop.ProcessBatchAsync(options);
Console.WriteLine($"Processed: {result.TotalFiles} files");
Console.WriteLine($"Succeeded: {result.Succeeded}");
OutputFormat. Single TraceServer session shows all domains.
FHIR Converters
Transform healthcare data from legacy formats to FHIR R4 with a single API call.
HL7 to FHIR
Transform HL7 v2.x messages (ADT, ORU, ORM, SIU, MDM, VXU) to validated FHIR R4 bundles.
Learn moreX12 to FHIR
Convert X12 5010 claims, eligibility, remittance, and prior auth to FHIR R4 with CMS-0057-F compliance.
Learn moreCDA to FHIR
Transform C-CDA R2.1 clinical documents (CCD, Discharge Summary, Progress Notes) to FHIR R4.
Learn moreEDI to FHIR
Convert healthcare EDI transactions to FHIR R4 with HIPAA compliance and CARIN Blue Button profiles.
Learn moreUser Guides
In-depth guides for every aspect of InteropSuite.
Complete User Guide New
Step-by-step guide from installation to advanced features. Perfect for beginners and experienced developers alike.
- VS Code & Visual Studio setup
- All four processing pipelines
- TraceServer dashboard
- Batch processing & API reference
HL7 v2.x Transformation
Transform ADT, ORU, ORM, SIU, MDM, VXU, and more to FHIR R4 with US Core profiles.
- 30 supported message types
- ADT A01-A40 (Admit/Discharge/Transfer)
- ORU R01 (Lab Results)
- VXU V04 (Immunizations)
X12 5010 Claims
Process healthcare claims, eligibility, remittance, and prior authorization transactions.
- 837P/I/D Professional & Institutional Claims
- 835 Remittance Advice
- 270/271 Eligibility
- 278 Prior Authorization
CMS-0057-F Compliance
Transform X12 5010 to FHIR R4 bundles with Da Vinci PAS, CARIN Blue Button, and PDex profiles.
- 7 transaction types supported
- PDex Provenance tracking
- CARIN Blue Button for EOB
- Da Vinci PAS for Prior Auth
C-CDA R2.1 Documents
Transform clinical documents including CCD, Discharge Summaries, and Progress Notes.
- 33 section mappers
- Problems, Allergies, Medications
- Lab Results & Vital Signs
- Procedures & Immunizations
API Reference
Complete API documentation for all public classes, methods, and configuration options.
- Interop static class
- String API methods
- Batch API methods
- Error handling
Validation & Profiles
100% offline FHIR validation with US Core 6.1.0 and implementation guide profiles.
- Offline validation (no network)
- US Core 6.1.0 profiles
- Custom validation rules
- Error handling patterns
Sample Outputs
See real FHIR bundle outputs from HL7 v2.x, X12 5010, and C-CDA transformations.
- HL7 ADT, ORU examples
- X12 835, 837P examples
- C-CDA CCD examples
- US Core compliant bundles
Regulatory Compliance
Federal healthcare regulations and CFR citations supported by InteropSuite.
- CMS-0057-F (42 CFR 438)
- ONC Cures Act (45 CFR 170)
- HIPAA Security Rule (45 CFR 164)
- HL7 Standards & IGs
Common Use Cases
Copy-paste examples to get started quickly.
Transform HL7 to FHIR
// Transform any HL7 v2.x message to FHIR R4
var result = await Interop.HL7ToFhirAsync(hl7Message);
if (result.Success)
{
string fhirJson = result.FhirBundle;
string messageType = result.DetectedFormat; // "ADT^A01"
}
Process X12 Transactions
// Transform X12 837P claim to FHIR
var result = await Interop.X12ToFhirAsync(x12Claim);
// Supports all X12 transaction types:
// 837P/I/D (Claims), 835 (Remittance)
// 270/271 (Eligibility), 278 (Prior Auth)
// 834 (Enrollment), 820 (Payment)
Convert Clinical Documents
// Transform C-CDA document to FHIR Bundle
var result = await Interop.CDAToFhirAsync(cdaDocument);
// All 33 sections automatically mapped
// Problems, Allergies, Medications, Results...
X12 with CMS Profiles
// Same X12 file, different output profiles
// US Core (default)
var usCore = await Interop.X12ToFhirAsync(x12Message);
// CMS-0057-F (Da Vinci PAS, CARIN Blue Button)
var cms = await Interop.X12ToFhirAsync(
x12Message,
OutputFormat.Cms0057F
);
Email Support
Get help from our team for technical questions and implementation guidance.
support@codefhir.comConsulting
Need hands-on help? Our consulting team can accelerate your implementation.
View Services