HIPAA X12 & RMap to FHIR Converter

Transform HIPAA X12 EDI and RMap transactions to FHIR R4 - CMS 2026 Ready

CMS MANDATE: Da Vinci Prior Authorization API (FHIR)

278 Prior Authorization Request & Response converters are production ready

Deadline: January 1, 2026

CMS-0057-F Final Rule: Payers must support FHIR-based prior authorization

Select Conversion Direction:
Select X12 Transaction Type:
PRIOR AUTHORIZATION (CMS MANDATED)
278 Prior Authorization Request CMS REQUIRED
Request prior authorization for medical services (Da Vinci PAS v2.1)
278 Prior Authorization Response CMS REQUIRED
Receive authorization approval/denial (Da Vinci PAS v2.1)
ELIGIBILITY & BENEFITS
270 Eligibility Inquiry
Check patient eligibility and coverage
271 Eligibility Response
Receive eligibility and benefit information
CLAIM STATUS
276 Claim Status Inquiry
Request status of submitted claims
277 Claim Status Response
Receive claim processing status
CLAIMS SUBMISSION
837 Professional Claims
Submit professional/physician claims
837 Institutional Claims
Submit hospital/facility claims
ENROLLMENT & PAYMENT
834 Enrollment
Benefit enrollment and maintenance
835 Remittance
Payment and remittance advice

Upload HIPAA X12 Transaction

Click to browse or drag & drop your .x12, .txt, .edi file

Supported: 278, 270, 271, 276, 277, 834, 835, 837P, 837I

Processing Status:
Validating X12 transaction
Converting to FHIR
Conversion complete

Conversion Results

Transaction Type
-
FHIR Resources
0
Coverage
-
Processing Time
-

                        

                        
HIPAA X12 to FHIR REST API

Integrate HIPAA X12 to FHIR conversion into your applications

API Base URL: https://demo.redix.com/api/hipaa
X12→FHIR API supports all 10 HIPAA transaction types (278, 270, 271, 276, 277, 834, 835, 837 Prof, 837 Inst). FHIR→X12 API supports 278 Response only.

Description:

Load sample HIPAA X12 files for testing and development.

Supported Transaction Types:
  • 278_REQUEST - Prior Authorization Request
  • 278_RESPONSE - Prior Authorization Response
  • 270 - Eligibility Inquiry
  • 271 - Eligibility Response
  • 276 - Claim Status Inquiry
  • 277 - Claim Status Response
  • 834 - Benefit Enrollment
  • 835 - Payment/Remittance
  • 837_PROFESSIONAL - Professional Claims
  • 837_INSTITUTIONAL - Institutional Claims
Example Request:
curl -X GET https://demo.redix.com/api/hipaa/sample/278_REQUEST
Response Format:
{
  "success": true,
  "content": "ISA*00*          *00*          *ZZ*SUBMITTERS ID  *ZZ*RECEIVERS ID   ...",
  "transaction_type": "278_REQUEST",
  "filename": "H_5010_278Req.278REQ"
}

Description:

Convert HIPAA X12 EDI transactions to FHIR R4 bundles. Supports automatic transaction type detection or manual specification.

Request Body:
{
  "content": "ISA*00*...",           // Required: X12 EDI content
  "transaction_type": "278_REQUEST", // Optional: Will auto-detect if not provided
  "filename": "transaction.x12"     // Optional: For logging/tracking
}
Example Request (cURL):
curl -X POST https://demo.redix.com/api/hipaa/convert \
  -H "Content-Type: application/json" \
  -d '{
    "content": "ISA*00*          *00*          *ZZ*SUBMITTERS ID  *ZZ*RECEIVERS ID   *250101*1200*^*00501*000000001*0*P*:~GS*HS*SUBMITTERS CODE*RECEIVERS CODE*20250101*1200*1*X*005010X217~ST*278*0001*005010X217~...",
    "transaction_type": "278_REQUEST"
  }'
Example Request (Python):
import requests

x12_content = """ISA*00*          *00*          *ZZ*SUBMITTERS ID  ..."""

response = requests.post(
    'https://demo.redix.com/api/hipaa/convert',
    json={
        'content': x12_content,
        'transaction_type': '278_REQUEST'
    }
)

result = response.json()
if result['success']:
    fhir_bundle = result['fhir']
    print(f"✓ Converted! FHIR Bundle has {len(fhir_bundle.get('entry', []))} resources")
else:
    print(f"✗ Error: {result['error']}")
Example Request (JavaScript):
const x12Content = `ISA*00*          *00*          *ZZ*SUBMITTERS ID  ...`;

fetch('https://demo.redix.com/api/hipaa/convert', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
        content: x12Content,
        transaction_type: '278_REQUEST'
    })
})
.then(res => res.json())
.then(result => {
    if (result.success) {
        console.log('✓ FHIR Bundle:', result.fhir);
    } else {
        console.error('✗ Error:', result.error);
    }
});
Response Format:
{
  "success": true,
  "transaction_type": "278_REQUEST",
  "transaction_name": "278 Prior Authorization Request",
  "fhir": {
    "resourceType": "Bundle",
    "type": "collection",
    "entry": [
      {
        "resource": {
          "resourceType": "Claim",
          "id": "claim-1",
          "status": "active",
          "type": { "coding": [{ "code": "institutional" }] },
          ...
        }
      },
      ...
    ]
  },
  "x12_content": "ISA*00*...",
  "stats": {
    "resource_count": 5,
    "conversion_time_ms": 234
  }
}
Error Response:
{
  "success": false,
  "error": "Unknown or unsupported transaction type: 999"
}

Authentication:

The demo API is currently open for testing purposes. Production deployments should implement appropriate authentication (API keys, OAuth 2.0, etc.).

Rate Limits:

Demo environment limits:

  • 100 requests per minute per IP
  • Maximum file size: 10 MB
  • Request timeout: 120 seconds
Best Practices:
  • Always specify transaction_type when possible to avoid auto-detection overhead
  • Use proper error handling for network failures and conversion errors
  • Validate X12 content before sending to the API
  • Store conversion results for audit purposes
HIPAA Compliance Note: This demo environment is for testing only. Do not send PHI (Protected Health Information) to demo.redix.com. For production deployments with real patient data, contact Redix for enterprise solutions.

© 2025 Redix.com - HIPAA X12 to FHIR Conversion

CMS-0057-F Compliant | Da Vinci PAS v2.1 Ready