Invia Database Schema

Generated ER diagram from docs/schema.dbml. The raw DBML and generated Mermaid Markdown are published with this page.

10%
erDiagram

  %% public.asset
  PUBLIC_ASSET {
    character_varying(500) alt_text
    character_varying(255) base_filename
    timestamp_without_time_zone created_at
    character_varying(45) created_by
    timestamp_without_time_zone deleted_at
    bigint folder_id
    bigint id
    asset_status status
    text__ tags
    character_varying(45) tenant_id
    character_varying(255) title
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    integer version
    asset_visibility visibility
  }

  %% public.asset_folder
  PUBLIC_ASSET_FOLDER {
    timestamp_without_time_zone created_at
    bigint id
    character_varying(255) name
    bigint parent_id
    character_varying(45) tenant_id
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.asset_variant
  PUBLIC_ASSET_VARIANT {
    bigint asset_id
    timestamp_without_time_zone created_at
    character_varying(255) etag
    character_varying(32) extension
    integer height
    bigint id
    character_varying(128) mime_type
    character_varying(1024) r2_key
    asset_variant_scale scale
    integer size_bytes
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    asset_variant_upload_status upload_status
    integer width
  }

  %% public.attachment
  PUBLIC_ATTACHMENT {
    timestamp_without_time_zone created_at
    bigint created_by_id
    character_varying(128) etag
    character_varying(255) filename
    bigint id
    bytea iv
    character_varying(64) mime
    character_varying(255) path
    integer size
    bytea tag
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.auth_session_log
  PUBLIC_AUTH_SESSION_LOG {
    character_varying(64) app_version
    timestamp_without_time_zone completed_at
    timestamp_without_time_zone created_at
    character_varying(255) device_id
    bytea email
    bytea email_hash
    character_varying(128) firebase_uid
    bigint id
    bytea phone
    bytea phone_hash
    character_varying(64) platform
    integer retry_count
    character_varying(64) sign_in_provider
    timestamp_without_time_zone started_at
    auth_session_status status
    text twilio_error
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.banner
  PUBLIC_BANNER {
    text action_payload
    banner_action_type action_type
    bigint campaign_id
    timestamp_without_time_zone created_at
    real creative_aspect_ratio
    jsonb creative_assets
    bigint id
    character_varying(255) name
    character_varying(64) placement_id
    integer priority
    banner_status status
    jsonb targeting_rules
    jsonb tracking_config
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.banner_campaign
  PUBLIC_BANNER_CAMPAIGN {
    timestamp_without_time_zone created_at
    timestamp_without_time_zone end_date
    bigint id
    character_varying(255) name
    timestamp_without_time_zone start_date
    campaign_status status
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.billing_address
  PUBLIC_BILLING_ADDRESS {
    bytea address_first_line
    bytea address_second_line
    character_varying(128) city
    character_varying(2) country
    timestamp_without_time_zone created_at
    bytea full_name
    bytea phone_number
    character_varying(64) state
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint user_id
    character_varying(15) zip_code
  }

  %% public.consultation
  PUBLIC_CONSULTATION {
    timestamp_without_time_zone accepted_date
    bigint account_id
    bigint agreement_document_id
    bigint applied_bonus_points
    bigint applied_promotion_id
    timestamp_without_time_zone confirmed_arrival_time
    geography coordinate
    bigint country
    timestamp_without_time_zone created_at
    bigint discount_amount_minor
    bigint doctor_id
    bigint doctor_superbill_attachment_id
    timestamp_without_time_zone end_date
    bigint id
    bytea location
    medical_care_type medical_care
    bytea notes
    boolean parking_available
    bigint patient_id
    character_varying(255) payment_ref
    character_varying(11) public_uid
    bigint questionnaire_id
    integer region
    bigint scheduled_availability_id
    timestamp_without_time_zone scheduled_finish_at
    timestamp_without_time_zone scheduled_start_at
    integer snapshot_cancellation_fee
    integer snapshot_visit_price
    timestamp_without_time_zone start_date
    consultation_state state
    character_varying(255) stripe_payment_intent_id
    character_varying(255) stripe_setup_intent_id
    bigint superbill_attachment_id
    bytea symptoms
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.consultation_activity_log
  PUBLIC_CONSULTATION_ACTIVITY_LOG {
    bigint actor_id
    bigint consultation_id
    timestamp_without_time_zone created_at
    bigint id
    character_varying(500) log_message
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.consultation_chat_message
  PUBLIC_CONSULTATION_CHAT_MESSAGE {
    bigint chat_session_id
    text content
    timestamp_without_time_zone created_at
    boolean has_attachments
    bigint id
    bigint sender_id
    consultation_chat_sender_type sender_type
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.consultation_chat_message_attachment
  PUBLIC_CONSULTATION_CHAT_MESSAGE_ATTACHMENT {
    bigint attachment_id
    timestamp_without_time_zone created_at
    bigint message_id
  }

  %% public.consultation_chat_pending_notification
  PUBLIC_CONSULTATION_CHAT_PENDING_NOTIFICATION {
    bigint chat_session_id
    timestamp_without_time_zone created_at
    timestamp_without_time_zone due_at
    bigint id
    bigint last_message_id
    bigint recipient_user_id
    timestamp_without_time_zone updated_at
  }

  %% public.consultation_chat_read_state
  PUBLIC_CONSULTATION_CHAT_READ_STATE {
    bigint chat_session_id
    timestamp_without_time_zone created_at
    bigint id
    timestamp_without_time_zone last_seen_at
    bigint last_seen_message_id
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.consultation_chat_session
  PUBLIC_CONSULTATION_CHAT_SESSION {
    timestamp_without_time_zone closes_at
    bigint consultation_id
    timestamp_without_time_zone created_at
    bigint doctor_user_id
    bigint id
    timestamp_without_time_zone opened_at
    bigint patient_user_id
    consultation_chat_session_status status
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.consultation_issue
  PUBLIC_CONSULTATION_ISSUE {
    integer attachment_id
    integer consultation_id
    timestamp_without_time_zone created_at
    character_varying(512) description
    integer id
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    integer user_id
  }

  %% public.content_item
  PUBLIC_CONTENT_ITEM {
    jsonb content
    timestamp_without_time_zone created_at
    bigint created_by
    jsonb featured_images
    bigint id
    content_item_kind kind
    timestamp_without_time_zone publish_at
    character_varying(50) schema_type
    content_item_status status
    text summary
    jsonb target_audience
    character_varying(255) title
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.customer_favourite_doctors
  PUBLIC_CUSTOMER_FAVOURITE_DOCTORS {
    timestamp_without_time_zone created_at
    bigint customer_id
    timestamp_without_time_zone deleted_at
    bigint doctor_id
    bigint id
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.doctor
  PUBLIC_DOCTOR {
    bytea address
    bytea address2
    timestamp_without_time_zone approved_at
    bigint approved_by_id
    background_check_status_type background_check_status
    bytea bio
    character_varying(100) city
    bigint coi
    bytea contact_email
    bytea contact_phone
    character_varying(100) country
    timestamp_without_time_zone created_at
    character_varying(255) current_position
    date date_of_birth
    bigint document_id
    character_varying(200) education
    bytea ein
    bytea entity_name
    entity_type entity_type
    character_varying(255) fellowship
    bytea first_name
    text honors_awards
    character_varying(255) insurance_carrier
    character_varying(255) insurance_coverage_limits
    date insurance_policy_expiration_date
    bytea insurance_policy_number
    bytea last_name
    boolean malpractice_insurance_waiver
    bytea npi
    bigint photo_id
    text previous_appointments
    text professional_memberships
    bytea provider_name
    boolean public_list_whitelisted
    bytea public_slug
    character_varying(255) residency
    user_role role
    character_varying(128) speciality
    bytea ssn
    character_varying(100) state
    stripe_onboarding_status_type stripe_onboarding_status
    character_varying(255) subspecialty
    timestamp_without_time_zone updated_at
    bigint user_id
    character_varying(50) years_in_practice
    character_varying(20) zip_code
  }

  %% public.doctor_license
  PUBLIC_DOCTOR_LICENSE {
    timestamp_without_time_zone created_at
    date expiration_date
    bigint id
    bytea license_number
    character_varying(100) state
    license_type type
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.doctor_location_tracking
  PUBLIC_DOCTOR_LOCATION_TRACKING {
    double_precision altitude
    bigint consultation_id
    timestamp_without_time_zone created_at
    double_precision heading
    bigint id
    double_precision latitude
    double_precision longitude
    user_role role
    double_precision speed
    timestamp_without_time_zone tracked_at
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.doctor_service_availability
  PUBLIC_DOCTOR_SERVICE_AVAILABILITY {
    availability_type availability_type
    geography coordinate
    timestamp_without_time_zone created_at
    timestamp_without_time_zone finish_time
    bigint id
    boolean is_booked
    integer radius
    timestamp_without_time_zone start_time
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.feedback
  PUBLIC_FEEDBACK {
    bigint consultation_id
    timestamp_without_time_zone created_at
    bytea feedback
    bigint id
    integer rating
    double_precision tip
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint user_id
    user_role user_role
  }

  %% public.gift_card_email_delivery_log
  PUBLIC_GIFT_CARD_EMAIL_DELIVERY_LOG {
    bigint attachment_id
    integer attempts
    bigint country_id
    timestamp_without_time_zone created_at
    bigint id
    text last_error
    bigint order_id
    jsonb processing_lock
    character_varying(255) provider_message_id
    character_varying(255) recipient_email
    email_recipient_role_type recipient_role
    timestamp_without_time_zone scheduled_for
    email_delivery_status_type status
    email_template_type template
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.gift_card_order
  PUBLIC_GIFT_CARD_ORDER {
    jsonb buyer
    bigint country_id
    timestamp_without_time_zone created_at
    jsonb delivery
    delivery_status_type delivery_status
    bigint gift_card_product_id
    jsonb gift_card_product_snapshot
    bigint id
    issuance_status_type issuance_status
    jsonb issued_code_snapshot
    bigint issued_promotion_id
    payment_status_type payment_status
    refund_status_type refund_status
    jsonb stripe
    jsonb terms_snapshot
    jsonb tracking_metadata
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.gift_card_product
  PUBLIC_GIFT_CARD_PRODUCT {
    character_varying(64)__ applicable_skus
    character_varying(64)__ applicable_vendors
    jsonb code_render_rules
    character_varying(64) code_template
    character_varying(2) country_code
    bigint country_id
    timestamp_without_time_zone created_at
    jsonb creative_assets
    character_varying(3) currency
    promotion_discount_type discount_type
    bigint discount_value
    character_varying(255) expiration_description
    expiration_policy_type expiration_policy
    bigint id
    boolean is_active
    bigint max_budget_minor
    bigint max_discount_amount_minor
    integer max_redemptions
    bigint minimum_order_amount_minor
    bigint price_minor
    integer relative_duration_days
    character_varying(64) state_code
    jsonb terms_snapshot
    character_varying(255) title
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    timestamp_without_time_zone valid_until
  }

  %% public.gift_card_webhook_event
  PUBLIC_GIFT_CARD_WEBHOOK_EVENT {
    character_varying(255) account_id
    integer attempts
    bigint country_id
    timestamp_without_time_zone created_at
    bigint id
    text last_error
    character_varying(255) object_id
    timestamp_without_time_zone processed_at
    webhook_processing_status_type processing_status
    timestamp_without_time_zone received_at
    character_varying(255) stripe_event_id
    character_varying(255) type
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.migrations
  PUBLIC_MIGRATIONS {
    integer id
    character_varying(255) name
    timestamp_without_time_zone run_on
  }

  %% public.notification
  PUBLIC_NOTIFICATION {
    timestamp_without_time_zone created_at
    bigint id
    boolean is_archived
    boolean is_read
    bigint notification_object_id
    bigint recipient_id
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.notification_object
  PUBLIC_NOTIFICATION_OBJECT {
    timestamp_without_time_zone created_at
    character_varying(255) entity_id
    character_varying(50) entity_type
    bigint id
    jsonb payload
    character_varying(45) uid
  }

  %% public.patient
  PUBLIC_PATIENT {
    timestamp_without_time_zone birthday
    timestamp_without_time_zone created_at
    timestamp_without_time_zone deleted_at
    bigint document_id
    bytea first_name
    patient_gender gender
    timestamp_without_time_zone guardian_birthday
    bytea guardian_name
    bytea guardian_phone
    bigint id
    character_varying(2) language
    bytea last_name
    user_role role
    patient_status status
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint updated_by_id
    bigint user_id
  }

  %% public.patient_photo
  PUBLIC_PATIENT_PHOTO {
    bigint attachment_id
    bigint consultation_id
  }

  %% public.patient_profile
  PUBLIC_PATIENT_PROFILE {
    timestamp_without_time_zone created_at
    bytea json
    bigint patient_id
    timestamp_without_time_zone updated_at
    bigint updated_by_id
  }

  %% public.patient_questionnaire
  PUBLIC_PATIENT_QUESTIONNAIRE {
    boolean active
    bytea child_behaviour
    bytea child_birth
    bytea child_development
    timestamp_without_time_zone created_at
    bytea family_history
    bytea hospitalization
    bigint id
    bytea medical_condition
    bigint patient_id
    bytea privacy_agreement
    bytea social_history
    bytea tuberculosis_condition
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint updated_by_id
  }

  %% public.preferred_pharmacy
  PUBLIC_PREFERRED_PHARMACY {
    bytea address_first_line
    bytea address_second_line
    character_varying(128) city
    character_varying(2) country
    timestamp_without_time_zone created_at
    bytea phone_number
    character_varying(64) state
    bytea title
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint user_id
    character_varying(15) zip_code
  }

  %% public.price_list
  PUBLIC_PRICE_LIST {
    integer cancellation_fee
    timestamp_without_time_zone created_at
    bigint created_by_id
    character_varying(3) currency
    character_varying(128) description
    integer elective_price
    integer emergency_price
    integer ent_price
    integer family_internist_price
    integer followup_price
    bigint id
    integer ob_gyn_price
    integer pain_management_price
    integer pediatrician_price
    integer phone_price
    integer psychology_price
    integer service_fee
    integer surgeon_price
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint updated_by_id
    integer wound_care_price
  }

  %% public.promotion
  PUBLIC_PROMOTION {
    character_varying(64)__ applicable_skus
    character_varying(64)__ applicable_vendors
    character_varying(32) code
    character_varying(2) country_code
    timestamp_without_time_zone created_at
    character_varying(3) currency
    bigint current_budget_minor
    integer current_redemptions
    promotion_discount_type discount_type
    bigint discount_value
    timestamp_without_time_zone ends_at
    bigint id
    boolean is_active
    boolean is_deleted
    bigint max_budget_minor
    bigint max_discount_amount_minor
    integer max_redemptions
    integer max_redemptions_per_customer
    bigint minimum_order_amount_minor
    timestamp_without_time_zone starts_at
    character_varying(64) state_code
    character_varying(45) uid
    timestamp_without_time_zone updated_at
  }

  %% public.report
  PUBLIC_REPORT {
    bytea assessment
    bigint consultation_id
    bytea cpt_options
    timestamp_without_time_zone created_at
    bytea diagnosis
    bytea labs
    labs_confirm_decision labs_provider
    bytea labs_result
    bytea labs_selection
    bytea objectives
    bytea subjectives
    timestamp_without_time_zone updated_at
    bigint updated_by_id
  }

  %% public.report_photo
  PUBLIC_REPORT_PHOTO {
    bigint attachment_id
    bigint consultation_id
  }

  %% public.service_availability_request_log
  PUBLIC_SERVICE_AVAILABILITY_REQUEST_LOG {
    character_varying(2) country_code
    timestamp_without_time_zone created_at
    bigint id
    numeric(10_8) latitude
    numeric(11_8) longitude
    character_varying(64) medical_care
    character_varying(64) notification_status
    timestamp_without_time_zone notified_at
    character_varying(20) postal_code
    service_availability_request_source request_source
    availability_request_status resolved_status
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.service_country
  PUBLIC_SERVICE_COUNTRY {
    bigint child_tpl_id
    character_varying(2) country
    timestamp_without_time_zone created_at
    bigint created_by_id
    bigint doctor_tpl_id
    character_varying(32) emergency_phone
    bigint id
    bigint medical_consent_tpl_id
    bigint patient_tpl_id
    bigint pricelist_id
    bigint responsible_party_id
    availability_status status
    character_varying stripe_connected_webhook_secret
    character_varying stripe_public_key
    character_varying stripe_secret_key
    character_varying stripe_webhook_secret
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint updated_by_id
    bigint user_agreement_tpl_id
  }

  %% public.service_region
  PUBLIC_SERVICE_REGION {
    geography coordinates
    timestamp_without_time_zone created_at
    bigint created_by_id
    character_varying(128) description
    bigint id
    bigint pricelist_id
    integer radius
    bigint responsible_party_id
    bigint service_country_id
    availability_status status
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint updated_by_id
    character_varying(15)__ zip_codes
  }

  %% public.spatial_ref_sys
  PUBLIC_SPATIAL_REF_SYS {
    character_varying(256) auth_name
    integer auth_srid
    character_varying(2048) proj4text
    integer srid
    character_varying(2048) srtext
  }

  %% public.stripe_customer
  PUBLIC_STRIPE_CUSTOMER {
    stripe_connected_account_type account_type
    bigint country_id
    timestamp_without_time_zone created_at
    stripe_connected_account_onboarding_status_type status
    character_varying(255) stripe_user_id
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.transaction_ledger
  PUBLIC_TRANSACTION_LEDGER {
    integer amount
    bigint consultation_id
    timestamp_without_time_zone created_at
    character_varying(3) currency
    character_varying(255) description
    bigint id
    transaction_kind kind
    character_varying(255) payment_ref
    transaction_status status
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    bigint user_id
    transaction_user_type user_type
  }

  %% public.user
  PUBLIC_USER {
    character_varying(32) affiliate_code
    text ban_reason
    timestamp_without_time_zone banned_at
    integer banned_by_id
    bigint bonus_points_balance
    timestamp_without_time_zone created_at
    boolean deleted
    bytea email
    bytea email_hash
    bigint id
    boolean is_test_user
    timestamp_without_time_zone last_ping_at
    character_varying(255) password
    bytea phone
    bytea phone_hash
    bigint referred_by_user_id
    user_role role
    character_varying(20)__ service_availability_zip_codes
    character_varying(45) uid
    timestamp_without_time_zone updated_at
    timestamp_without_time_zone verified_at
  }

  %% public.user_bonus_ledger
  PUBLIC_USER_BONUS_LEDGER {
    bigint amount
    timestamp_without_time_zone created_at
    bigint id
    bigint reference_id
    user_bonus_transaction_type transaction_type
    character_varying(45) uid
    bigint user_id
  }

  %% public.user_firebase_identity
  PUBLIC_USER_FIREBASE_IDENTITY {
    timestamp_without_time_zone created_at
    bytea email
    bytea email_hash
    character_varying(128) firebase_uid
    bigint id
    bytea phone
    bytea phone_hash
    user_role role
    character_varying(64) sign_in_provider
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.user_notification_subscription
  PUBLIC_USER_NOTIFICATION_SUBSCRIPTION {
    application_type app_type
    timestamp_without_time_zone created_at
    character_varying(64) device_id
    character_varying(64) platform
    character_varying(256) token
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  %% public.user_service_country_agreement
  PUBLIC_USER_SERVICE_COUNTRY_AGREEMENT {
    bigint attachment_id
    timestamp_without_time_zone created_at
    bigint id
    bigint service_country_id
    timestamp_without_time_zone signed_date
    timestamp_without_time_zone updated_at
    bigint user_id
  }

  PUBLIC_SERVICE_COUNTRY }o--|| PUBLIC_USER : "fk_admin_responsible_party_country"
  PUBLIC_SERVICE_REGION }o--|| PUBLIC_USER : "fk_admin_responsible_party_region"
  PUBLIC_ASSET }o--|| PUBLIC_ASSET_FOLDER : "fk_asset_folder"
  PUBLIC_ASSET_FOLDER }o--|| PUBLIC_ASSET_FOLDER : "fk_asset_folder_parent"
  PUBLIC_ASSET_VARIANT }o--|| PUBLIC_ASSET : "fk_asset_variant_asset"
  PUBLIC_ATTACHMENT }o--|| PUBLIC_USER : "fk_attachment_user"
  PUBLIC_AUTH_SESSION_LOG }o--|| PUBLIC_USER : "fk_auth_session_log_user"
  PUBLIC_BANNER }o--|| PUBLIC_BANNER_CAMPAIGN : "fk_banner_campaign"
  PUBLIC_BILLING_ADDRESS }o--|| PUBLIC_USER : "fk_billing_address_user"
  PUBLIC_DOCTOR }o--|| PUBLIC_ATTACHMENT : "fk_coi_attachment"
  PUBLIC_CONSULTATION_ACTIVITY_LOG }o--|| PUBLIC_USER : "fk_consultation_activity_log_actor"
  PUBLIC_CONSULTATION_ACTIVITY_LOG }o--|| PUBLIC_CONSULTATION : "fk_consultation_activity_log_consultation"
  PUBLIC_CONSULTATION }o--|| PUBLIC_ATTACHMENT : "fk_consultation_agreement_document"
  PUBLIC_CONSULTATION }o--|| PUBLIC_PROMOTION : "fk_consultation_applied_promotion"
  PUBLIC_CONSULTATION_CHAT_MESSAGE_ATTACHMENT }o--|| PUBLIC_ATTACHMENT : "fk_consultation_chat_message_attachment_attachment"
  PUBLIC_CONSULTATION_CHAT_MESSAGE_ATTACHMENT }o--|| PUBLIC_CONSULTATION_CHAT_MESSAGE : "fk_consultation_chat_message_attachment_message"
  PUBLIC_CONSULTATION_CHAT_MESSAGE }o--|| PUBLIC_USER : "fk_consultation_chat_message_sender"
  PUBLIC_CONSULTATION_CHAT_MESSAGE }o--|| PUBLIC_CONSULTATION_CHAT_SESSION : "fk_consultation_chat_message_session"
  PUBLIC_CONSULTATION_CHAT_PENDING_NOTIFICATION }o--|| PUBLIC_CONSULTATION_CHAT_MESSAGE : "fk_consultation_chat_pending_notification_message"
  PUBLIC_CONSULTATION_CHAT_PENDING_NOTIFICATION }o--|| PUBLIC_USER : "fk_consultation_chat_pending_notification_recipient"
  PUBLIC_CONSULTATION_CHAT_PENDING_NOTIFICATION }o--|| PUBLIC_CONSULTATION_CHAT_SESSION : "fk_consultation_chat_pending_notification_session"
  PUBLIC_CONSULTATION_CHAT_READ_STATE }o--|| PUBLIC_CONSULTATION_CHAT_MESSAGE : "fk_consultation_chat_read_state_message"
  PUBLIC_CONSULTATION_CHAT_READ_STATE }o--|| PUBLIC_CONSULTATION_CHAT_SESSION : "fk_consultation_chat_read_state_session"
  PUBLIC_CONSULTATION_CHAT_READ_STATE }o--|| PUBLIC_USER : "fk_consultation_chat_read_state_user"
  PUBLIC_CONSULTATION_CHAT_SESSION }o--|| PUBLIC_CONSULTATION : "fk_consultation_chat_session_consultation"
  PUBLIC_CONSULTATION_CHAT_SESSION }o--|| PUBLIC_USER : "fk_consultation_chat_session_doctor"
  PUBLIC_CONSULTATION_CHAT_SESSION }o--|| PUBLIC_USER : "fk_consultation_chat_session_patient"
  PUBLIC_CONSULTATION }o--|| PUBLIC_SERVICE_COUNTRY : "fk_consultation_country"
  PUBLIC_CONSULTATION }o--|| PUBLIC_DOCTOR : "fk_consultation_doctor"
  PUBLIC_CONSULTATION }o--|| PUBLIC_ATTACHMENT : "fk_consultation_doctor_superbill_attachment"
  PUBLIC_CONSULTATION_ISSUE }o--|| PUBLIC_ATTACHMENT : "fk_consultation_issue_attachment"
  PUBLIC_CONSULTATION_ISSUE }o--|| PUBLIC_CONSULTATION : "fk_consultation_issue_consultation"
  PUBLIC_CONSULTATION_ISSUE }o--|| PUBLIC_USER : "fk_consultation_issue_user"
  PUBLIC_CONSULTATION }o--|| PUBLIC_PATIENT : "fk_consultation_patient"
  PUBLIC_CONSULTATION }o--|| PUBLIC_PATIENT_QUESTIONNAIRE : "fk_consultation_questionnaire_id"
  PUBLIC_CONSULTATION }o--|| PUBLIC_SERVICE_REGION : "fk_consultation_region"
  PUBLIC_CONSULTATION }o--|| PUBLIC_DOCTOR_SERVICE_AVAILABILITY : "fk_consultation_scheduled_availability"
  PUBLIC_CONSULTATION }o--|| PUBLIC_ATTACHMENT : "fk_consultation_superbill_attachment"
  PUBLIC_CONTENT_ITEM }o--|| PUBLIC_USER : "fk_content_item_created_by"
  PUBLIC_SERVICE_COUNTRY }o--|| PUBLIC_PRICE_LIST : "fk_country_pricelist"
  PUBLIC_CUSTOMER_FAVOURITE_DOCTORS }o--|| PUBLIC_USER : "fk_customer_favourite_doctors_customer"
  PUBLIC_CUSTOMER_FAVOURITE_DOCTORS }o--|| PUBLIC_USER : "fk_customer_favourite_doctors_doctor"
  PUBLIC_DOCTOR }o--|| PUBLIC_USER : "fk_doctor_approved_by_user"
  PUBLIC_DOCTOR }o--|| PUBLIC_ATTACHMENT : "fk_doctor_document"
  PUBLIC_DOCTOR_LICENSE }o--|| PUBLIC_USER : "fk_doctor_license_user"
  PUBLIC_DOCTOR_LOCATION_TRACKING }o--|| PUBLIC_CONSULTATION : "fk_doctor_location_tracking_consultation"
  PUBLIC_DOCTOR_LOCATION_TRACKING }o--|| PUBLIC_USER : "fk_doctor_location_tracking_user"
  PUBLIC_DOCTOR }o--|| PUBLIC_ATTACHMENT : "fk_doctor_photo"
  PUBLIC_DOCTOR_SERVICE_AVAILABILITY }o--|| PUBLIC_USER : "fk_doctor_service_availability_user"
  PUBLIC_DOCTOR }o--|| PUBLIC_USER : "fk_doctor_user"
  PUBLIC_FEEDBACK }o--|| PUBLIC_CONSULTATION : "fk_feedback_consultation"
  PUBLIC_FEEDBACK }o--|| PUBLIC_USER : "fk_feedback_user"
  PUBLIC_GIFT_CARD_EMAIL_DELIVERY_LOG }o--|| PUBLIC_ATTACHMENT : "fk_gift_card_email_attachment"
  PUBLIC_GIFT_CARD_EMAIL_DELIVERY_LOG }o--|| PUBLIC_SERVICE_COUNTRY : "fk_gift_card_email_country"
  PUBLIC_GIFT_CARD_EMAIL_DELIVERY_LOG }o--|| PUBLIC_GIFT_CARD_ORDER : "fk_gift_card_email_order"
  PUBLIC_GIFT_CARD_ORDER }o--|| PUBLIC_SERVICE_COUNTRY : "fk_gift_card_order_country"
  PUBLIC_GIFT_CARD_ORDER }o--|| PUBLIC_GIFT_CARD_PRODUCT : "fk_gift_card_order_product"
  PUBLIC_GIFT_CARD_ORDER }o--|| PUBLIC_PROMOTION : "fk_gift_card_order_promotion"
  PUBLIC_GIFT_CARD_PRODUCT }o--|| PUBLIC_SERVICE_COUNTRY : "fk_gift_card_product_country"
  PUBLIC_GIFT_CARD_WEBHOOK_EVENT }o--|| PUBLIC_SERVICE_COUNTRY : "fk_gift_card_webhook_country"
  PUBLIC_NOTIFICATION }o--|| PUBLIC_NOTIFICATION_OBJECT : "fk_notification_object"
  PUBLIC_NOTIFICATION }o--|| PUBLIC_USER : "fk_notification_recipient"
  PUBLIC_PATIENT }o--|| PUBLIC_ATTACHMENT : "fk_patient_document"
  PUBLIC_PATIENT_PHOTO }o--|| PUBLIC_ATTACHMENT : "fk_patient_photo_attachment"
  PUBLIC_PATIENT_PHOTO }o--|| PUBLIC_CONSULTATION : "fk_patient_photo_consultation"
  PUBLIC_PATIENT_PROFILE }o--|| PUBLIC_PATIENT : "fk_patient_profile_patient"
  PUBLIC_PATIENT_PROFILE }o--|| PUBLIC_USER : "fk_patient_profile_updated_by"
  PUBLIC_PATIENT_QUESTIONNAIRE }o--|| PUBLIC_PATIENT : "fk_patient_questionnaire_patient"
  PUBLIC_PATIENT_QUESTIONNAIRE }o--|| PUBLIC_USER : "fk_patient_questionnaire_updated_by"
  PUBLIC_PATIENT }o--|| PUBLIC_USER : "fk_patient_updated_by"
  PUBLIC_PATIENT }o--|| PUBLIC_USER : "fk_patient_user"
  PUBLIC_PREFERRED_PHARMACY }o--|| PUBLIC_USER : "fk_preferred_pharmacy_user"
  PUBLIC_PRICE_LIST }o--|| PUBLIC_USER : "fk_pricelist_created_by_id"
  PUBLIC_PRICE_LIST }o--|| PUBLIC_USER : "fk_pricelist_updated_by_id"
  PUBLIC_SERVICE_REGION }o--|| PUBLIC_SERVICE_COUNTRY : "fk_region_country"
  PUBLIC_SERVICE_REGION }o--|| PUBLIC_PRICE_LIST : "fk_region_pricelist"
  PUBLIC_REPORT }o--|| PUBLIC_CONSULTATION : "fk_report_consultation"
  PUBLIC_REPORT_PHOTO }o--|| PUBLIC_ATTACHMENT : "fk_report_photo_attachment"
  PUBLIC_REPORT_PHOTO }o--|| PUBLIC_REPORT : "fk_report_photo_report"
  PUBLIC_REPORT }o--|| PUBLIC_USER : "fk_report_updated_by"
  PUBLIC_SERVICE_AVAILABILITY_REQUEST_LOG }o--|| PUBLIC_USER : "fk_service_availability_request_log_user"
  PUBLIC_SERVICE_COUNTRY }o--|| PUBLIC_USER : "fk_service_country_created_by_id"
  PUBLIC_SERVICE_COUNTRY }o--|| PUBLIC_ATTACHMENT : "fk_service_country_medical_consent_tpl"
  PUBLIC_SERVICE_COUNTRY }o--|| PUBLIC_USER : "fk_service_country_updated_by_id"
  PUBLIC_SERVICE_COUNTRY }o--|| PUBLIC_ATTACHMENT : "fk_service_country_user_agreement_tpl"
  PUBLIC_SERVICE_REGION }o--|| PUBLIC_USER : "fk_service_region_created_by_id"
  PUBLIC_SERVICE_REGION }o--|| PUBLIC_USER : "fk_service_region_updated_by_id"
  PUBLIC_STRIPE_CUSTOMER }o--|| PUBLIC_SERVICE_COUNTRY : "fk_stripe_customer_country"
  PUBLIC_STRIPE_CUSTOMER }o--|| PUBLIC_USER : "fk_stripe_customer_user"
  PUBLIC_TRANSACTION_LEDGER }o--|| PUBLIC_CONSULTATION : "fk_transaction_ledger_consultation"
  PUBLIC_TRANSACTION_LEDGER }o--|| PUBLIC_USER : "fk_transaction_ledger_user"
  PUBLIC_USER }o--|| PUBLIC_USER : "fk_user_banned_by_user"
  PUBLIC_USER_BONUS_LEDGER }o--|| PUBLIC_USER : "fk_user_bonus_ledger_user"
  PUBLIC_USER_FIREBASE_IDENTITY }o--|| PUBLIC_USER : "fk_user_firebase_identity_user"
  PUBLIC_USER_FIREBASE_IDENTITY }o--|| PUBLIC_USER : "fk_user_firebase_identity_user_role"
  PUBLIC_USER_NOTIFICATION_SUBSCRIPTION }o--|| PUBLIC_USER : "fk_user_notification_subscription_user"
  PUBLIC_USER }o--|| PUBLIC_USER : "fk_user_referred_by_user"
  PUBLIC_USER_SERVICE_COUNTRY_AGREEMENT }o--|| PUBLIC_ATTACHMENT : "fk_user_service_country_agreement_attachment"
  PUBLIC_USER_SERVICE_COUNTRY_AGREEMENT }o--|| PUBLIC_SERVICE_COUNTRY : "fk_user_service_country_agreement_service_country"
  PUBLIC_USER_SERVICE_COUNTRY_AGREEMENT }o--|| PUBLIC_USER : "fk_user_service_country_agreement_user"