redix-client
v2.1.1
Published
Node.js client for Redix Universal Healthcare Conversion API
Downloads
309
Maintainers
Readme
redix-client
Node.js client for Redix Universal Healthcare Conversion API.
Version: 2.1.1 Repository: npm
Install
npm install redix-clientQuick Start
const { RedixClient } = require('redix-client');
// Initialize client
const client = new RedixClient({
baseUrl: 'https://demo.redix.com',
apiKey: 'YOUR_API_KEY'
});
// Health check
const health = await client.get('/');
console.log(health); // { status: 'healthy', version: '2.1.1' }
// List staging files
const files = await client.get('/api/v2/staging-files');
console.log(files);
// Upload a file to staging
const result = await client.post('/api/v2/staging/upload', {
files: { file: '/path/to/input.txt' }
});
// Convert HL7 to FHIR
const fhir = await client.post('/api/v2/convert/hl7-to-fhir', {
files: { file: '/path/to/message.hl7' }
});API Methods
The client provides simple HTTP methods that work with any API endpoint:
| Method | Description |
|--------|-------------|
| client.get(endpoint, options) | GET request |
| client.post(endpoint, options) | POST request |
| client.put(endpoint, options) | PUT request |
| client.patch(endpoint, options) | PATCH request |
| client.delete(endpoint, options) | DELETE request |
| client.download(endpoint, destPath, options) | Download file |
Options Object
{
params: {}, // Query parameters
data: {}, // Form data fields
json: {}, // JSON body
files: {}, // Files to upload (path strings or streams)
headers: {}, // Additional headers
timeout: 120000 // Request timeout in ms
}Examples
File Conversion (v1 API - Redix Engine)
// Convert with file upload
const result = await client.post('/api/v2/convert/file-upload', {
files: {
Input_File: '/path/to/input.txt',
IFD_File: '/path/to/rules/835.ifd',
OFD_File: '/path/to/rules/835.ofd'
},
data: {
Conversion_Flag: 'e - UN/EDIFACT/RMap',
WarningLevel: 1,
User_Data: '0*\\**:*?'
}
});
// View output file
const output = await client.get(`/api/v2/view-file/output/${result.filename_base}.out`);
console.log(output.content);FHIR Conversions (v2 API)
// HL7 to FHIR
const result = await client.post('/api/v2/convert/hl7-to-fhir', {
files: { file: '/path/to/message.hl7' }
});
// CDA to FHIR
const result = await client.post('/api/v2/convert/cda-to-fhir', {
files: { file: '/path/to/document.xml' }
});
// HIPAA X12 to FHIR
const result = await client.post('/api/v2/convert/hipaa-to-fhir', {
files: { file: '/path/to/835.x12' }
});
// Smart convert (auto-detect format)
const result = await client.post('/api/v2/convert/smart', {
files: { file: '/path/to/unknown_format.dat' }
});Batch Processing
// Start batch conversion
const job = await client.post('/api/v2/batch-convert/folder', {
data: {
Input_Subfolder: 'incoming',
Config_Profile: '835_to_rmap'
}
});
const jobId = job.Job_Id;
// Check status
const status = await client.get(`/api/v2/batch-status/${jobId}`);
console.log(status);
// List all batch jobs
const jobs = await client.get('/api/v2/batch-jobs', {
params: { Limit: 10 }
});File Operations
// Upload to staging
await client.post('/api/v2/staging/upload', {
files: { file: 'data.txt' }
});
// List staging files
const files = await client.get('/api/v2/staging-files');
// Delete from staging
await client.delete('/api/v2/staging/myfile.txt');
// Download converted file
await client.download('/api/v2/download-file/output/result.out', './downloads/');Admin Operations (v2 API)
// List users
const users = await client.get('/api/v2/admin/users');
// Create user
await client.post('/api/v2/admin/users', {
json: {
username: 'newuser',
password: 'secure123',
role: 'user'
}
});
// Get statistics
const stats = await client.get('/api/v2/statistics');
// Get conversion history
const history = await client.get('/api/v2/history', {
params: { limit: 50 }
});Configuration
Environment Variables
export REDIX_API_URL=https://demo.redix.com
export REDIX_API_KEY=your-api-keyThen initialize without parameters:
const client = new RedixClient({});SSL Verification
For self-signed certificates in development:
const client = new RedixClient({
baseUrl: 'https://localhost:8080',
apiKey: 'your-key',
rejectUnauthorized: false
});Error Handling
const { RedixClient, RedixAPIError } = require('redix-client');
const client = new RedixClient({
baseUrl: 'https://demo.redix.com',
apiKey: 'your-key'
});
try {
const result = await client.get('/api/v2/batch-status/invalid_id');
} catch (error) {
if (error instanceof RedixAPIError) {
console.log(`Error ${error.statusCode}: ${error.message}`);
}
}Documentation
- Interactive API Documentation - Swagger UI
- API Reference - ReDoc
License
MIT - Redix International, Inc.
