Kulcare Docs
Developer

Reference Schema

Purpose: Global lookup tables and catalog data shared across all tenants Tenant Scoped: No RLS Enabled: No

Overview

The reference schema contains platform-managed data that is shared globally. This includes medical coding systems, drug catalogs, geographic data, and facility type definitions.

No tables in this schema have a tenant_id column - all data is available to all tenants.

Entities

Medical Coding

Entity: IcdCode

Purpose: International Classification of Diseases codes for diagnosis coding

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
codeStringYesICD code (e.g., "E11.9")
versionStringYesICD version (ICD-10, ICD-11)
descriptionTextYesCode description
categoryStringNoGrouping category
is_activeBooleanYesActive status

Relationships:

  • Referenced by: clinical.conditions

Entity: SnomedConcept

Purpose: SNOMED CT concepts for clinical terminology

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
concept_idBigIntYesSNOMED concept ID
termTextYesPreferred term
semantic_tagStringNoSemantic category
is_activeBooleanYesActive status

Relationships:

  • Referenced by: clinical.conditions, clinical.observations

Drug Catalog System

The drug catalog is a comprehensive system supporting multi-country formularies, drug interactions, alternatives, and AI-powered clinical decision support.

Entity: Drug

Purpose: Central drug catalog for prescriptions with multi-country support

Attributes:

Core Identity:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
nameStringYesBrand/trade name
trade_nameStringNoAlternative trade name
generic_nameStringNoGeneric/salt composition
manufacturer_idUUIDNoReference to DrugManufacturer
manufacturer_nameStringNoDenormalized manufacturer name

Country and Regulatory:

AttributeTypeRequiredDescription
alpha_2_codeStringYesCountry code (IN, US, AE)
prescription_typeEnumNoprescription, otc, controlled
scheduleStringNoDrug schedule (H, H1, X for India)
dea_scheduleStringNoDEA schedule (I-V for US)
is_controlledBooleanYesControlled substance flag
is_discontinuedBooleanYesDiscontinued status
discontinued_dateDateNoWhen discontinued
country_regulatory_dataJSONBNoCountry-specific regulatory info

Classification:

AttributeTypeRequiredDescription
med_typeStringNoMedication type
categoryStringNoDrug category
therapeutic_classStringNoTherapeutic classification
pharmacological_classStringNoPharmacological classification
primary_useStringNoPrimary indication

Dosage Information:

AttributeTypeRequiredDescription
dosage_formStringNotablet, capsule, syrup, injection
strengthStringNoStrength (e.g., "500mg")
unitStringNoUnit of measure
route_of_administrationStringNooral, iv, im, topical
pack_size_labelStringNoPackage size description
package_unitStringNoPackage unit

Medical Coding:

AttributeTypeRequiredDescription
snomed_codeStringNoSNOMED CT code
rxcuiStringNoRxNorm CUI (US)
ndc_codeStringNoNational Drug Code (US)
atc_codeStringNoATC classification code
country_specific_codeStringNoCDSCO (IN), DHA (AE)
external_idStringNoExternal system ID

Safety Information:

AttributeTypeRequiredDescription
warningsTextNoDrug warnings
precautionsTextNoUsage precautions
contraindicationsTextNoContraindication list
black_box_warningTextNoFDA black box warning
common_side_effectsTextNoCommon side effects
food_interactionsTextNoFood interaction info
alcohol_interactionStringNoAlcohol interaction level
pregnancy_interactionStringNoPregnancy category
pregnancy_categoryStringNoFDA pregnancy category (A-X)
lactation_interactionStringNoLactation safety
driving_interactionStringNoDriving impairment
kidney_interactionStringNoRenal dosing notes
liver_interactionStringNoHepatic dosing notes
pediatric_useTextNoPediatric safety info
geriatric_useTextNoGeriatric considerations

Clinical Guidance:

AttributeTypeRequiredDescription
descriptionTextNoDrug description
introductionTextNoIntroduction text
benefitsTextNoTherapeutic benefits
how_to_useTextNoUsage instructions
how_it_worksTextNoMechanism of action
storage_instructionsTextNoStorage requirements
storage_temperatureStringNoTemperature range
overdosageTextNoOverdose management

Pricing (Optional):

AttributeTypeRequiredDescription
priceDecimalNoMRP/retail price
price_per_unitDecimalNoPrice per unit
purchase_priceDecimalNoWholesale price
currencyStringNoCurrency code (INR, USD, AED)

Data Quality and Sync:

AttributeTypeRequiredDescription
coding_statusEnumNopending, coded, verified, failed
coding_confidenceFloatNoAI coding confidence (0-1)
last_coded_atTimestampNoLast coding timestamp
coding_sourceStringNoCoding source (manual, ai, api)
data_sourceStringNoPrimary data source
external_api_idStringNoExternal API identifier
last_synced_atTimestampNoLast API sync
sync_activeBooleanNoActive sync status

AI and Analytics Fields (Future):

AttributeTypeRequiredDescription
embedding_vectorVectorNoSemantic search embedding
ai_summaryTextNoAI-generated drug summary
ai_summary_updated_atTimestampNoWhen AI summary was generated
prescription_frequency_rankIntegerNoPopularity ranking
clinical_effectiveness_scoreFloatNoEfficacy score (0-1)
cost_effectiveness_tierStringNoCost-effectiveness category

Pharma Integration Fields (Future):

AttributeTypeRequiredDescription
pharma_company_idUUIDNoLink to pharma_db company
is_promotedBooleanNoCurrently being promoted
promotion_priorityIntegerNoPromotion display priority
sample_availableBooleanNoSample availability
detailing_enabledBooleanNoDigital detailing enabled
clinical_trial_idsJSONBNoAssociated clinical trials

Timestamps:

AttributeTypeRequiredDescription
created_atTimestampYesRecord creation
updated_atTimestampYesLast update

Unique Constraint: (name, manufacturer_name, med_type, alpha_2_code)

Indexes:

  • name (text search)
  • generic_name (text search)
  • alpha_2_code
  • manufacturer_id
  • snomed_code
  • rxcui
  • ndc_code
  • atc_code
  • therapeutic_class
  • (alpha_2_code, is_discontinued)
  • (coding_status, alpha_2_code)
  • embedding_vector (vector similarity search)

Relationships:

  • Belongs to: DrugManufacturer (optional)
  • Has many: DrugInteractions, DrugAlternatives
  • Referenced by: clinical.medication_requests

Entity: DrugManufacturer

Purpose: Drug manufacturer/pharmaceutical company registry

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
nameStringYesCompany name
country_codeStringYesPrimary country (IN, US, AE)
addressTextNoCorporate address
phoneStringNoContact phone
emailStringNoContact email
websiteStringNoCompany website
license_numberStringNoManufacturing license
license_expiryDateNoLicense expiration
is_activeBooleanYesActive status
regulatory_infoJSONBNoCountry-specific regulatory data
pharma_company_idUUIDNoLink to pharma_db (future)
created_atTimestampYesRecord creation
updated_atTimestampYesLast update

Unique Constraint: (name, country_code)

Indexes:

  • name
  • country_code
  • is_active

Relationships:

  • Has many: Drugs

Entity: DrugInteraction

Purpose: Drug-drug interaction database for safety alerts

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
drug_idUUIDYesPrimary drug
interacting_drug_idUUIDYesInteracting drug
interaction_typeEnumNopharmacokinetic, pharmacodynamic, combined
severity_levelEnumYescontraindicated, major, moderate, minor
descriptionTextNoInteraction description
clinical_effectsTextNoClinical manifestation
managementTextNoManagement recommendations
mechanismTextNoInteraction mechanism
onsetStringNorapid, delayed, variable
evidence_levelEnumNoestablished, probable, suspected, theoretical
documentation_levelStringNoexcellent, good, fair, poor
data_sourceStringNoReference source
ai_verifiedBooleanNoAI verification flag
ai_confidenceFloatNoAI confidence score
created_atTimestampYesRecord creation
updated_atTimestampYesLast update

Severity Levels:

LevelDescriptionAction Required
contraindicatedNever use togetherBlock prescription
majorSignificant riskRequire override with reason
moderateMonitor closelyShow warning
minorMinimal riskInformational alert

Unique Constraint: (drug_id, interacting_drug_id)

Indexes:

  • drug_id
  • interacting_drug_id
  • severity_level
  • (drug_id, severity_level)

Relationships:

  • Belongs to: Drug (both drug_id and interacting_drug_id)

Entity: DrugAlternative

Purpose: Therapeutic alternatives and generic substitutions

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
primary_drug_idUUIDYesOriginal drug
alternative_drug_idUUIDYesAlternative drug
alternative_typeEnumYesgeneric, therapeutic, brand
substitution_levelEnumNoequivalent, similar, related
is_preferredBooleanNoPreferred alternative
is_bioequivalentBooleanNoBioequivalence confirmed
cost_comparisonStringNocheaper, similar, expensive
notesTextNoSubstitution notes
is_activeBooleanYesActive relationship
ai_recommendedBooleanNoAI-suggested alternative
ai_confidenceFloatNoAI recommendation confidence
created_atTimestampYesRecord creation
updated_atTimestampYesLast update

Alternative Types:

TypeDescription
genericGeneric equivalent (same salt)
therapeuticSame therapeutic class
brandDifferent brand, same formulation

Unique Constraint: (primary_drug_id, alternative_drug_id)

Indexes:

  • primary_drug_id
  • alternative_drug_id
  • alternative_type
  • is_preferred

Relationships:

  • Belongs to: Drug (both primary and alternative)

Entity: DrugConditionAssociation (Future/AI)

Purpose: AI-powered drug-condition associations for clinical decision support

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
drug_idUUIDYesDrug reference
condition_codeStringYesICD/SNOMED code
condition_nameStringYesCondition name
association_typeEnumYesindication, contraindication, off_label
evidence_levelEnumNostrong, moderate, weak, anecdotal
first_lineBooleanNoFirst-line treatment
dosage_guidanceJSONBNoCondition-specific dosing
efficacy_scoreFloatNoEffectiveness score (0-1)
sourceStringNoGuidelines/evidence source
ai_generatedBooleanNoAI-derived association
ai_confidenceFloatNoAI confidence score
last_reviewed_atTimestampNoLast clinical review
created_atTimestampYesRecord creation
updated_atTimestampYesLast update

Dosage Guidance Structure:

{
  "adult": {
    "initial": "500mg once daily",
    "maintenance": "500-1000mg daily",
    "max_daily": "2000mg"
  },
  "pediatric": {
    "weight_based": "10-15mg/kg/day",
    "max_daily": "500mg"
  },
  "renal_adjustment": {
    "mild": "No adjustment",
    "moderate": "Reduce by 50%",
    "severe": "Avoid use"
  }
}

Relationships:

  • Belongs to: Drug
  • References: IcdCode, SnomedConcept

Entity: DrugAllergyGroup (Future/AI)

Purpose: Cross-reactivity groups for allergy checking

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
group_nameStringYesAllergy group name
group_typeEnumYesclass, structure, ingredient
descriptionTextNoGroup description
cross_reactivity_riskEnumNohigh, moderate, low
member_drug_idsUUID[]NoDrugs in this group
is_activeBooleanYesActive status
created_atTimestampYesRecord creation
updated_atTimestampYesLast update

Example Groups:

  • Penicillins (class)
  • Sulfonamides (structure)
  • Beta-lactams (class with cross-reactivity to cephalosporins)

Relationships:

  • Has many: Drugs (via member_drug_ids)

Other Catalogs

Entity: LabTest

Purpose: Laboratory test catalog

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
codeStringYesTest code
nameStringYesTest name
loinc_codeStringNoLOINC standard code
categoryStringNoTest category (hematology, biochemistry)
specimen_typeStringNoRequired specimen
unitStringNoResult unit
normal_rangeJSONBNoReference ranges by demographics
is_activeBooleanYesActive in catalog

Normal Range Structure:

{
  "male": { "min": 4.5, "max": 5.5, "unit": "million/uL" },
  "female": { "min": 4.0, "max": 5.0, "unit": "million/uL" },
  "pediatric": { "min": 4.0, "max": 5.5, "unit": "million/uL" }
}

Relationships:

  • Referenced by: clinical.service_requests, clinical.diagnostic_reports

Entity: Procedure

Purpose: Medical procedure catalog

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
codeStringYesProcedure code
nameStringYesProcedure name
cpt_codeStringNoCPT code (US billing)
snomed_codeBigIntNoSNOMED procedure code
specialty_idUUIDNoAssociated specialty
categoryStringNoProcedure category
is_surgicalBooleanYesRequires surgery
is_activeBooleanYesActive in catalog

Relationships:

  • Belongs to: Specialty (optional)
  • Referenced by: clinical.service_requests

Specialties

Entity: Specialty

Purpose: Medical specialty hierarchy

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
codeStringYesSpecialty code
nameStringYesSpecialty name
name_localJSONBNoLocalized names
parent_idUUIDNoParent specialty (for subspecialties)
snomed_codeBigIntNoSNOMED specialty code
is_surgicalBooleanYesSurgical specialty
is_activeBooleanYesActive status

Localized Names Structure:

{
  "hi": "हृदय रोग",
  "ar": "طب القلب",
  "es": "Cardiología"
}

Relationships:

  • Self-referential: parent_id for hierarchy
  • Referenced by: identity.practitioner_roles, identity.healthcare_services

Facility Classification

Entity: FacilityType

Purpose: Predefined facility type classifications

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
codeStringYesType code
nameStringYesType name
name_localJSONBNoLocalized names
fhir_codeStringNoHL7 v3-RoleCode mapping
service_levelStringNoDefault service level
requires_bedsBooleanYesTypically has beds
requires_otBooleanYesTypically has OT
is_activeBooleanYesActive status

Predefined Types:

CodeNameFHIR Code
HOSPHospitalHOSP
CLINICClinicOF
SURG_CTRSurgery CenterSU
DIAG_CTRDiagnostic CenterDX
THERAPYTherapy CenterRHAB
PHARMACYPharmacyPHARM
LABLaboratoryHLAB
VIRTUALVirtual Care SiteVR

Relationships:

  • Referenced by: identity.facilities

Geographic Data

Entity: Country

Purpose: Country reference with compliance flags

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
codeStringYesISO 3166-1 alpha-2
nameStringYesCountry name
phone_codeStringNoInternational dialing code
currency_codeStringNoISO 4217 currency code
compliance_flagsJSONBNoCountry-specific compliance

Compliance Flags Structure:

{
  "abdm_enabled": true,
  "hipaa_required": false,
  "gdpr_required": false,
  "dpdp_required": true,
  "vat_rate": 0,
  "gst_rate": 18
}

Relationships:

  • Has many: States

Entity: State

Purpose: State/province reference

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
country_idUUIDYesParent country
codeStringYesState code
nameStringYesState name

Relationships:

  • Belongs to: Country
  • Has many: Cities

Entity: City

Purpose: City reference for location searches

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
state_idUUIDYesParent state
nameStringYesCity name
tierStringNoCity tier (metro, tier1, tier2, tier3)

Relationships:

  • Belongs to: State
  • Referenced by: identity.facility_locations

Identifier Systems

Entity: IdentifierSystem

Purpose: Registry of identifier systems by country

Attributes:

AttributeTypeRequiredDescription
idUUIDYesPrimary identifier
country_idUUIDNoCountry (null = global)
codeStringYesSystem code
nameStringYesSystem name
uriStringNoFHIR system URI
entity_typeStringYesApplies to (practitioner, patient, organization)
validation_regexStringNoValidation pattern
is_activeBooleanYesActive status

Predefined Systems:

CodeCountryEntityExample
ABHAINpatient14-digit ABHA number
MCIINpractitionerMedical Council registration
NPIUSpractitioner10-digit NPI
DEAUSpractitionerDEA number
EMIRATES_IDAEpatientEmirates ID
DHA_LICENSEAEpractitionerDHA license number

Relationships:

  • Belongs to: Country (optional)
  • Referenced by: identity.organization_identifiers, identity.practitioner_identifiers

Schema Diagram

+---------------+     +---------------+     +---------------+
|   icd_codes   |     |    drugs      |     |   lab_tests   |
+---------------+     +---------------+     +---------------+
                               |
                               v
+---------------+     +---------------+     +---------------+
|  procedures   |---->|  specialties  |<----|  snomed_      |
+---------------+     +---------------+     |  concepts     |
                            |               +---------------+
                            | (parent_id)
                            v
                      +---------------+
                      |  specialties  |
                      +---------------+

+---------------+     +---------------+     +---------------+
|   countries   |---->|    states     |---->|    cities     |
+---------------+     +---------------+     +---------------+
       |
       v
+---------------+     +---------------+
| identifier_   |     | facility_     |
| systems       |     | types         |
+---------------+     +---------------+

Data Governance

Update Frequency

EntityUpdate SourceFrequency
icd_codesWHO releasesYearly
snomed_conceptsSNOMED InternationalQuarterly
drugsNational formularyMonthly
lab_testsPlatform teamAs needed
proceduresCPT/platformYearly
specialtiesPlatform teamRare
countriesISO updatesRare
facility_typesPlatform teamRare
identifier_systemsRegulatoryAs needed

Access Patterns

  • Read: All applications, all tenants
  • Write: Platform admin only
  • Cache: Heavily cached (rarely changes)

On this page