Kulcare Docs
DeveloperLocalization

Internationalization Support

Purpose: Multi-country compliance, localization, and regional requirements

Overview

The new schema supports healthcare operations across multiple countries with different:

  • Regulatory requirements
  • Identifier systems
  • Tax structures
  • Payment methods
  • Language preferences

Supported Countries

Current Markets

CountryCodeCurrencyHealth ExchangeTax System
IndiaININRABDMGST (18%)
UAEAEAEDDHAVAT (5%)
USAUSUSD-State Tax

GCC Expansion

CountryCodeCurrencyHealth ExchangeTax System
Saudi ArabiaSASARNPHIESVAT (15%)
QatarQAQARMOPHNo Tax
KuwaitKWKWDMOHNo Tax

India (IN)

Regulatory Framework

RegulationDescriptionSchema Support
ABDMAyushman Bharat Digital Missionintegration.abdm_* tables
ABHAHealth Account identifierclinical.patients.abha_id
DPDPDigital Personal Data Protectionaudit.* tables, consent logs
MCIMedical Council registrationidentity.practitioners.identifiers
GSTGoods and Services Taxbilling.invoices.tax_details

ABDM Integration

The schema fully supports ABDM through:

integration.abdm_records
├── ABHA ID linking
├── Health record types (prescription, report, etc.)
├── HIP/HIU integration
└── Care context management

integration.abdm_consents
├── Consent lifecycle (request → grant → revoke)
├── Purpose codes (treatment, emergency, etc.)
├── Health information types
└── Date range management

integration.abdm_callbacks
├── Callback event logging
├── Transaction tracking
└── Error handling

ABHA Identifier

Stored in clinical.patients:

patients
├── abha_id: "12-3456-7890-1234"  (14-digit ABHA)
└── identifiers: [
      { "system": "abha", "value": "12-3456-7890-1234" }
    ]

Indian Tax (GST)

Stored in billing.invoices.tax_details:

{
  "tax_type": "GST",
  "gstin": "29ABCDE1234F1Z5",
  "components": [
    { "name": "CGST", "rate": 9, "amount": 90.00 },
    { "name": "SGST", "rate": 9, "amount": 90.00 }
  ],
  "total": 180.00
}

Indian Practitioner Identifiers

{
  "identifiers": [
    { "system": "mci", "value": "12345", "state": "Karnataka" },
    { "system": "nmc", "value": "NMC-2024-12345" }
  ]
}

UAE (AE)

Regulatory Framework

RegulationDescriptionSchema Support
DHADubai Health AuthorityPractitioner licensing
MOHAPMinistry of HealthFederal regulations
Emirates IDNational identifierPatient identifiers
VATValue Added Tax (5%)billing.invoices.tax_details

UAE Identifiers

Patients:

{
  "identifiers": [
    { "system": "emirates_id", "value": "784-1234-1234567-1" }
  ]
}

Practitioners:

{
  "identifiers": [
    { "system": "dha_license", "value": "DHA-P-1234567" },
    { "system": "haad_license", "value": "GP12345" }
  ]
}

UAE Tax (VAT)

{
  "tax_type": "VAT",
  "trn": "100123456789003",
  "rate": 5,
  "amount": 50.00
}

USA (US)

Regulatory Framework

RegulationDescriptionSchema Support
HIPAAHealth data privacyaudit.phi_access_logs
NPINational Provider IdentifierPractitioner identifiers
DEADrug Enforcement AdminControlled substance prescribing
State LicensesState medical licensesPractitioner identifiers

HIPAA Compliance

The audit schema provides HIPAA compliance through:

audit.phi_access_logs
├── Who accessed (user_id, user_role)
├── Whose data (patient_id)
├── What data (resource_type, data_categories)
├── Why (access_reason, reason_detail)
├── When (created_at)
├── From where (ip_address)
└── Emergency access tracking

Access Reasons (HIPAA TPO):

  • treatment - Treatment purposes
  • payment - Payment processing
  • operations - Healthcare operations
  • emergency - Break-the-glass
  • patient_request - Patient access
  • legal - Court order

Retention: 6 years minimum

US Identifiers

Patients:

{
  "identifiers": [
    { "system": "ssn", "value": "***-**-1234" },  // Masked
    { "system": "mrn", "value": "MRN-12345678" }
  ]
}

Practitioners:

{
  "identifiers": [
    { "system": "npi", "value": "1234567890" },
    { "system": "dea", "value": "AB1234567" },
    { "system": "state_license", "value": "MD-12345", "state": "California" }
  ]
}

Insurance Support

US operations require insurance integration:

billing.insurance_claims
├── policy_number
├── authorization_number
├── diagnosis_codes (ICD-10)
├── procedure_codes (CPT)
├── claim_amount
├── approved_amount
└── denial_reason

Saudi Arabia (SA)

Regulatory Framework

RegulationDescriptionSchema Support
MOHMinistry of HealthProvider licensing
NPHIESNational Health InsurancePayer integration
NHRANational Health RegulatoryFacility registration
VATValue Added Tax (15%)billing.invoices

Saudi Identifiers

Patients:

{
  "identifiers": [
    { "system": "national_id", "value": "1234567890" },
    { "system": "iqama", "value": "2012345678" }  // For residents
  ]
}

Practitioners:

{
  "identifiers": [
    { "system": "scfhs", "value": "SC-12345" },  // Saudi Commission
    { "system": "moh_license", "value": "MOH-12345" }
  ]
}

NPHIES Integration

Similar to ABDM, Saudi insurance exchange:

integration.nphies_claims
├── Eligibility verification
├── Prior authorization
├── Claims submission
└── Remittance advice

Qatar (QA)

Regulatory Framework

RegulationDescriptionSchema Support
MOPHMinistry of Public HealthProvider licensing
Qatar Health CardPatient identifierPatient identifiers
PHCCPrimary Healthcare CorpPrimary care integration

Qatar Identifiers

Patients:

{
  "identifiers": [
    { "system": "qid", "value": "12345678901" },  // Qatar ID
    { "system": "health_card", "value": "QHC-123456" }
  ]
}

Kuwait (KW)

Regulatory Framework

RegulationDescriptionSchema Support
MOHMinistry of HealthProvider licensing
Civil IDNational identifierPatient identifiers

Kuwait Identifiers

Patients:

{
  "identifiers": [
    { "system": "civil_id", "value": "123456789012" }
  ]
}

Schema Support

Country Configuration

The reference.countries table stores country-specific settings:

reference.countries
├── code: "IN"
├── name: "India"
├── phone_code: "+91"
├── currency_code: "INR"
└── compliance_flags: {
      "abdm_enabled": true,
      "hipaa_required": false,
      "gdpr_required": false,
      "dpdp_required": true,
      "gst_rate": 18,
      "vat_rate": 0
    }

Identifier Systems Registry

The reference.identifier_systems table defines valid identifiers per country:

CodeCountryEntityValidation
ABHAINpatient^\d{2}-\d{4}-\d{4}-\d{4}$
MCIINpractitioner-
NPIUSpractitioner^\d{10}$
DEAUSpractitioner^[A-Z]{2}\d{7}$
EMIRATES_IDAEpatient^\d{3}-\d{4}-\d{7}-\d$
DHA_LICENSEAEpractitioner^DHA-P-\d{7}$
NATIONAL_IDSApatient^\d{10}$
SCFHSSApractitioner-
QIDQApatient^\d{11}$
CIVIL_IDKWpatient^\d{12}$

Multi-Currency Support

The billing schema supports multiple currencies:

billing.invoices
├── currency: "INR" | "USD" | "AED" | "SAR" | "QAR" | "KWD"
└── amount fields in specified currency

billing.subscription_plans
├── price_inr
├── price_usd
├── price_aed
├── price_sar (future)
└── price_qar (future)

Localization

Localized content stored in JSONB:

reference.specialties
├── name: "Cardiology"
└── name_local: {
      "hi": "हृदय रोग",
      "ar": "طب القلب",
      "es": "Cardiologia"
    }

reference.facility_types
├── name: "Hospital"
└── name_local: {
      "hi": "अस्पताल",
      "ar": "مستشفى"
    }

Adding New Countries

Step-by-Step Process

  1. Add Country to Reference Data

    reference.countries
    └── Add new country with compliance_flags
  2. Define Identifier Systems

    reference.identifier_systems
    └── Add country-specific identifier types
  3. Configure Tax System

    • Update billing schema for new tax type
    • Add tax calculation logic
  4. Enable Integrations (if applicable)

    integration.*
    └── Add country-specific integration tables
  5. Update Audit Policies

    • Add country-specific retention requirements
    • Configure PHI logging if required

Compliance Flag Pattern

{
  "abdm_enabled": false,        // India only
  "nphies_enabled": false,      // Saudi only
  "hipaa_required": false,      // USA only
  "gdpr_required": false,       // EU countries
  "dpdp_required": false,       // India
  "vat_rate": 0,                // Country-specific
  "gst_rate": 0,                // India only
  "prescription_format": "standard",  // Country-specific
  "date_format": "DD/MM/YYYY",  // Localized
  "phone_format": "+XX-XXXXXXXXXX"
}

Summary

FeatureSchema Tables
Country configreference.countries
Identifier systemsreference.identifier_systems
Patient identifiersclinical.patients.identifiers (JSONB)
Practitioner identifiersidentity.practitioners.identifiers (JSONB)
Tax handlingbilling.invoices.tax_details (JSONB)
Health data exchangeintegration.abdm_, integration.nphies_
Compliance loggingaudit.phi_access_logs, audit.consent_audit_logs
LocalizationJSONB *_local fields

On this page