# Generated by Django 5.1.2 on 2024-12-10 08:07

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Dataset',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=255, unique=True)),
                ('unique_id', models.CharField(max_length=12, unique=True)),
                ('description', models.TextField(blank=True, null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='datasets', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Control',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sl_no', models.IntegerField()),
                ('id_no', models.CharField(max_length=50)),
                ('age_years', models.IntegerField()),
                ('occupation', models.CharField(blank=True, max_length=255, null=True)),
                ('height_m', models.FloatField()),
                ('weight_kg', models.FloatField()),
                ('bmi', models.FloatField()),
                ('waist_circum_cm', models.FloatField()),
                ('hip_circum_cm', models.FloatField()),
                ('whr', models.FloatField()),
                ('bp_sys', models.IntegerField()),
                ('bp_dia', models.IntegerField()),
                ('rbs', models.FloatField()),
                ('hba1c', models.FloatField()),
                ('tg', models.FloatField()),
                ('hdl', models.FloatField()),
                ('ldl', models.FloatField()),
                ('tc', models.FloatField()),
                ('tg_hdl', models.FloatField()),
                ('ldl_hdl', models.FloatField()),
                ('tc_hdl', models.FloatField()),
                ('creatinine', models.FloatField()),
                ('education', models.CharField(blank=True, max_length=255, null=True)),
                ('income', models.CharField(blank=True, max_length=255, null=True)),
                ('carbohydrate', models.CharField(blank=True, max_length=255, null=True)),
                ('protein', models.CharField(blank=True, max_length=255, null=True)),
                ('fats_source', models.CharField(blank=True, max_length=255, null=True)),
                ('vegetable', models.CharField(blank=True, max_length=255, null=True)),
                ('fruits', models.CharField(blank=True, max_length=255, null=True)),
                ('vitamins', models.CharField(blank=True, max_length=255, null=True)),
                ('minerals', models.CharField(blank=True, max_length=255, null=True)),
                ('water_g_per_day', models.FloatField(blank=True, null=True)),
                ('tea', models.CharField(blank=True, max_length=255, null=True)),
                ('coffee', models.CharField(blank=True, max_length=255, null=True)),
                ('betal_nuts', models.CharField(blank=True, max_length=255, null=True)),
                ('jarda', models.CharField(blank=True, max_length=255, null=True)),
                ('processed_food', models.CharField(blank=True, max_length=255, null=True)),
                ('fast_food', models.CharField(blank=True, max_length=255, null=True)),
                ('soft_drinks', models.CharField(blank=True, max_length=255, null=True)),
                ('walking_hours', models.FloatField(blank=True, null=True)),
                ('standing_hours', models.FloatField(blank=True, null=True)),
                ('desk_job', models.CharField(blank=True, max_length=255, null=True)),
                ('shift_d_n', models.CharField(blank=True, max_length=255, null=True)),
                ('regular_exercise', models.CharField(blank=True, max_length=255, null=True)),
                ('feeling_restless', models.CharField(blank=True, max_length=255, null=True)),
                ('fatigue', models.CharField(blank=True, max_length=255, null=True)),
                ('shortness_of_breath', models.CharField(blank=True, max_length=255, null=True)),
                ('sleeping_hours', models.FloatField(blank=True, null=True)),
                ('sound_sleep', models.CharField(blank=True, max_length=255, null=True)),
                ('family_history_with_cancer', models.CharField(blank=True, max_length=255, null=True)),
                ('menarche_age', models.IntegerField(blank=True, null=True)),
                ('menstrual_status', models.CharField(blank=True, max_length=255, null=True)),
                ('menopause_age', models.IntegerField(blank=True, null=True)),
                ('parity', models.IntegerField(blank=True, null=True)),
                ('age_at_first_birth', models.IntegerField(blank=True, null=True)),
                ('lactation_situation', models.CharField(blank=True, max_length=255, null=True)),
                ('breastfeeding_duration', models.FloatField(blank=True, null=True)),
                ('use_contraceptive', models.CharField(blank=True, max_length=255, null=True)),
                ('thyroidism_problem', models.CharField(blank=True, max_length=255, null=True)),
                ('gastric', models.CharField(blank=True, max_length=255, null=True)),
                ('antibiotic_intake', models.CharField(blank=True, max_length=255, null=True)),
                ('diabetes', models.CharField(blank=True, max_length=255, null=True)),
                ('athlete', models.CharField(blank=True, max_length=255, null=True)),
                ('weight_lifting', models.CharField(blank=True, max_length=255, null=True)),
                ('dataset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='controls', to='bcpbd.dataset')),
            ],
        ),
        migrations.CreateModel(
            name='Case',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sl_no', models.IntegerField()),
                ('id_no', models.CharField(max_length=50)),
                ('age_years', models.IntegerField()),
                ('occupation', models.CharField(blank=True, max_length=255, null=True)),
                ('height_m', models.FloatField()),
                ('weight_kg', models.FloatField()),
                ('bmi', models.FloatField()),
                ('waist_circum_cm', models.FloatField()),
                ('hip_circum_cm', models.FloatField()),
                ('whr', models.FloatField()),
                ('bp_sys', models.IntegerField()),
                ('bp_dia', models.IntegerField()),
                ('rbs', models.FloatField()),
                ('hba1c', models.FloatField()),
                ('tg', models.FloatField()),
                ('hdl', models.FloatField()),
                ('ldl', models.FloatField()),
                ('tc', models.FloatField()),
                ('tg_hdl', models.FloatField()),
                ('ldl_hdl', models.FloatField()),
                ('tc_hdl', models.FloatField()),
                ('creatinine', models.FloatField()),
                ('education', models.CharField(blank=True, max_length=255, null=True)),
                ('income', models.CharField(blank=True, max_length=255, null=True)),
                ('carbohydrate', models.CharField(blank=True, max_length=255, null=True)),
                ('protein', models.CharField(blank=True, max_length=255, null=True)),
                ('fats_source', models.CharField(blank=True, max_length=255, null=True)),
                ('vegetable', models.CharField(blank=True, max_length=255, null=True)),
                ('fruits', models.CharField(blank=True, max_length=255, null=True)),
                ('vitamins', models.CharField(blank=True, max_length=255, null=True)),
                ('minerals', models.CharField(blank=True, max_length=255, null=True)),
                ('water_g_per_day', models.FloatField(blank=True, null=True)),
                ('tea', models.CharField(blank=True, max_length=255, null=True)),
                ('coffee', models.CharField(blank=True, max_length=255, null=True)),
                ('betal_nuts', models.CharField(blank=True, max_length=255, null=True)),
                ('jarda', models.CharField(blank=True, max_length=255, null=True)),
                ('processed_food', models.CharField(blank=True, max_length=255, null=True)),
                ('fast_food', models.CharField(blank=True, max_length=255, null=True)),
                ('soft_drinks', models.CharField(blank=True, max_length=255, null=True)),
                ('walking_hours', models.FloatField(blank=True, null=True)),
                ('standing_hours', models.FloatField(blank=True, null=True)),
                ('desk_job', models.CharField(blank=True, max_length=255, null=True)),
                ('shift_d_n', models.CharField(blank=True, max_length=255, null=True)),
                ('regular_exercise', models.CharField(blank=True, max_length=255, null=True)),
                ('feeling_restless', models.CharField(blank=True, max_length=255, null=True)),
                ('fatigue', models.CharField(blank=True, max_length=255, null=True)),
                ('shortness_of_breath', models.CharField(blank=True, max_length=255, null=True)),
                ('sleeping_hours', models.FloatField(blank=True, null=True)),
                ('sound_sleep', models.CharField(blank=True, max_length=255, null=True)),
                ('family_history_with_cancer', models.CharField(blank=True, max_length=255, null=True)),
                ('menarche_age', models.IntegerField(blank=True, null=True)),
                ('menstrual_status', models.CharField(blank=True, max_length=255, null=True)),
                ('menopause_age', models.IntegerField(blank=True, null=True)),
                ('parity', models.IntegerField(blank=True, null=True)),
                ('age_at_first_birth', models.IntegerField(blank=True, null=True)),
                ('lactation_situation', models.CharField(blank=True, max_length=255, null=True)),
                ('breastfeeding_duration', models.FloatField(blank=True, null=True)),
                ('use_contraceptive', models.CharField(blank=True, max_length=255, null=True)),
                ('thyroidism_problem', models.CharField(blank=True, max_length=255, null=True)),
                ('gastric', models.CharField(blank=True, max_length=255, null=True)),
                ('antibiotic_intake', models.CharField(blank=True, max_length=255, null=True)),
                ('diabetes', models.CharField(blank=True, max_length=255, null=True)),
                ('age_at_diagnosis', models.IntegerField(blank=True, null=True)),
                ('cancer_stage', models.CharField(blank=True, max_length=255, null=True)),
                ('encounter_history', models.CharField(blank=True, max_length=255, null=True)),
                ('er', models.CharField(blank=True, max_length=255, null=True)),
                ('pr', models.CharField(blank=True, max_length=255, null=True)),
                ('her2', models.CharField(blank=True, max_length=255, null=True)),
                ('tnbc', models.CharField(blank=True, max_length=255, null=True)),
                ('breast_cancer_type', models.CharField(blank=True, max_length=255, null=True)),
                ('ductal_extension', models.CharField(blank=True, max_length=255, null=True)),
                ('histologic_type', models.CharField(blank=True, max_length=255, null=True)),
                ('oral_medication', models.CharField(blank=True, max_length=255, null=True)),
                ('hormone_therapy', models.CharField(blank=True, max_length=255, null=True)),
                ('radio_therapy', models.CharField(blank=True, max_length=255, null=True)),
                ('chemotherapy', models.CharField(blank=True, max_length=255, null=True)),
                ('surgery', models.CharField(blank=True, max_length=255, null=True)),
                ('cad', models.CharField(blank=True, max_length=255, null=True)),
                ('respiratory_infection', models.CharField(blank=True, max_length=255, null=True)),
                ('stroke', models.CharField(blank=True, max_length=255, null=True)),
                ('physical', models.CharField(blank=True, max_length=255, null=True)),
                ('mammography', models.CharField(blank=True, max_length=255, null=True)),
                ('fnac', models.CharField(blank=True, max_length=255, null=True)),
                ('pathology', models.CharField(blank=True, max_length=255, null=True)),
                ('histopathology', models.CharField(blank=True, max_length=255, null=True)),
                ('dataset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cases', to='bcpbd.dataset')),
            ],
        ),
        migrations.CreateModel(
            name='Group',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(help_text='Unique name for the group', max_length=255)),
                ('description', models.TextField(blank=True, help_text='Optional description of the group', null=True)),
                ('group_logic', models.JSONField(help_text='JSON data representing group logic and filters')),
                ('group_logic_uriencoded', models.CharField(blank=True, max_length=5000, null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Timestamp when the group was created')),
                ('updated_at', models.DateTimeField(auto_now=True, help_text='Timestamp when the group was last updated')),
                ('creator', models.ForeignKey(help_text='User who created the group', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='ListedDatasets',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=255, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('datasets', models.ManyToManyField(related_name='listings', to='bcpbd.dataset')),
            ],
        ),
        migrations.CreateModel(
            name='UniversalPresets',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('kid', models.CharField(blank=True, help_text='Optional identifier for the preset (e.g., category or dataset-specific key)', max_length=255, null=True)),
                ('groups', models.ManyToManyField(help_text='Groups included in this universal preset', related_name='universal_presets', to='bcpbd.group')),
            ],
        ),
    ]
