# Generated by Django 6.0 on 2026-01-15 14:26

import django.db.models.deletion
import lx_dtypes.factories.literals
import lx_dtypes.factories.typed_dicts
import typing
import uuid
from django.db import migrations, models


class Migration(migrations.Migration):
    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="CenterDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        default=lx_dtypes.factories.literals.str_unknown_factory,
                        max_length=256,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="CitationDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
                ("citation_key", models.CharField(max_length=255, unique=True)),
                ("title", models.CharField(max_length=1024)),
                ("abstract", models.CharField(blank=True, max_length=5000, null=True)),
                ("authors", models.CharField(blank=True, max_length=2000)),
                ("publication_year", models.IntegerField(blank=True, null=True)),
                (
                    "publication_month",
                    models.CharField(blank=True, max_length=20, null=True),
                ),
                ("journal", models.CharField(blank=True, max_length=255, null=True)),
                ("publisher", models.CharField(blank=True, max_length=255, null=True)),
                ("volume", models.CharField(blank=True, max_length=50, null=True)),
                ("issue", models.CharField(blank=True, max_length=50, null=True)),
                ("pages", models.CharField(blank=True, max_length=50, null=True)),
                ("doi", models.CharField(blank=True, max_length=255, null=True)),
                ("url", models.CharField(blank=True, max_length=1024, null=True)),
                ("entry_type", models.CharField(blank=True, max_length=100, null=True)),
                ("language", models.CharField(blank=True, max_length=50, null=True)),
                ("keywords", models.CharField(blank=True, max_length=2000)),
                ("identifiers", models.JSONField(blank=True, default=dict)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="ClassificationChoiceDescriptorDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
                (
                    "classification_choice_descriptor_type",
                    models.CharField(
                        choices=[
                            ("numeric", "numeric"),
                            ("text", "text"),
                            ("boolean", "boolean"),
                            ("selection", "selection"),
                        ],
                        default="numeric",
                        max_length=32,
                    ),
                ),
                (
                    "numeric_distribution",
                    models.CharField(
                        choices=[
                            ("normal", "normal"),
                            ("log_normal", "log_normal"),
                            ("uniform", "uniform"),
                            ("exponential", "exponential"),
                            ("unknown", "unknown"),
                        ],
                        default="uniform",
                        max_length=32,
                    ),
                ),
                ("numeric_min", models.FloatField(default=float("-inf"))),
                ("numeric_max", models.FloatField(default=float("inf"))),
                (
                    "numeric_distribution_params",
                    models.JSONField(
                        default=lx_dtypes.factories.typed_dicts.numeric_distribution_params_dict_factory
                    ),
                ),
                ("text_max_length", models.IntegerField()),
                ("default_value_str", models.CharField(max_length=255)),
                ("default_value_num", models.FloatField()),
                ("default_value_bool", models.BooleanField()),
                (
                    "selection_options",
                    models.JSONField(
                        default=lx_dtypes.factories.typed_dicts.selection_default_options_dict_factory
                    ),
                ),
                ("selection_multiple", models.BooleanField()),
                ("selection_multiple_n_min", models.IntegerField()),
                ("selection_multiple_n_max", models.IntegerField()),
                ("selection_default_options", models.JSONField()),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="ClassificationTypeDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="ExaminationTypeDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="FindingTypeDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="IndicationDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="IndicationTypeDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="InformationSourceTypeDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="InterventionDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="InterventionTypeDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="PFindingClassificationsDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="UnitDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
                ("abbreviation", models.CharField(max_length=50)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="UnitTypeDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="ClassificationChoiceDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
                (
                    "classification_choice_descriptors",
                    models.ManyToManyField(
                        blank=True,
                        related_name="classification_choices",
                        to="lx_dtypes_django.classificationchoicedescriptordjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="ClassificationDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
                (
                    "classification_choices",
                    models.ManyToManyField(
                        related_name="classifications",
                        to="lx_dtypes_django.classificationchoicedjango",
                    ),
                ),
                (
                    "classification_types",
                    models.ManyToManyField(
                        related_name="classifications",
                        to="lx_dtypes_django.classificationtypedjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="ExaminerDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                ("first_name", models.CharField(blank=True, max_length=150, null=True)),
                ("last_name", models.CharField(blank=True, max_length=150, null=True)),
                ("dob", models.DateField(blank=True, null=True)),
                ("email", models.EmailField(blank=True, max_length=254, null=True)),
                (
                    "gender",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("female", "Female"),
                            ("male", "Male"),
                            ("other", "Other"),
                            ("unknown", "Unknown"),
                        ],
                        max_length=50,
                        null=True,
                    ),
                ),
                ("phone", models.CharField(blank=True, max_length=50, null=True)),
                ("street", models.CharField(blank=True, max_length=255, null=True)),
                ("city", models.CharField(blank=True, max_length=100, null=True)),
                ("state", models.CharField(blank=True, max_length=100, null=True)),
                ("zip_code", models.CharField(blank=True, max_length=20, null=True)),
                ("country", models.CharField(blank=True, max_length=100, null=True)),
                (
                    "center",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="examiners",
                        to="lx_dtypes_django.centerdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="FindingDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
                (
                    "classifications",
                    models.ManyToManyField(
                        related_name="findings",
                        to="lx_dtypes_django.classificationdjango",
                    ),
                ),
                (
                    "finding_types",
                    models.ManyToManyField(
                        related_name="findings", to="lx_dtypes_django.findingtypedjango"
                    ),
                ),
                (
                    "interventions",
                    models.ManyToManyField(
                        related_name="findings",
                        to="lx_dtypes_django.interventiondjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="ExaminationDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
                (
                    "examination_types",
                    models.ManyToManyField(
                        related_name="examinations",
                        to="lx_dtypes_django.examinationtypedjango",
                    ),
                ),
                (
                    "findings",
                    models.ManyToManyField(
                        related_name="examinations", to="lx_dtypes_django.findingdjango"
                    ),
                ),
                (
                    "indications",
                    models.ManyToManyField(
                        related_name="examinations",
                        to="lx_dtypes_django.indicationdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.AddField(
            model_name="indicationdjango",
            name="indication_types",
            field=models.ManyToManyField(
                related_name="indications", to="lx_dtypes_django.indicationtypedjango"
            ),
        ),
        migrations.CreateModel(
            name="InformationSourceDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                ("name_de", models.CharField(blank=True, max_length=255, null=True)),
                ("name_en", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "description",
                    models.CharField(blank=True, max_length=1024, null=True),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True, default=uuid.uuid4, editable=False, unique=True
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        max_length=255, primary_key=True, serialize=False, unique=True
                    ),
                ),
                ("kb_module_name", models.CharField(default="unknown", max_length=255)),
                (
                    "information_source_types",
                    models.ManyToManyField(
                        related_name="information_sources",
                        to="lx_dtypes_django.informationsourcetypedjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.AddField(
            model_name="indicationdjango",
            name="interventions",
            field=models.ManyToManyField(
                related_name="indications", to="lx_dtypes_django.interventiondjango"
            ),
        ),
        migrations.AddField(
            model_name="interventiondjango",
            name="intervention_types",
            field=models.ManyToManyField(
                related_name="interventions",
                to="lx_dtypes_django.interventiontypedjango",
            ),
        ),
        migrations.CreateModel(
            name="PatientDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                ("first_name", models.CharField(blank=True, max_length=150, null=True)),
                ("last_name", models.CharField(blank=True, max_length=150, null=True)),
                ("dob", models.DateField(blank=True, null=True)),
                ("email", models.EmailField(blank=True, max_length=254, null=True)),
                (
                    "gender",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("female", "Female"),
                            ("male", "Male"),
                            ("other", "Other"),
                            ("unknown", "Unknown"),
                        ],
                        max_length=50,
                        null=True,
                    ),
                ),
                ("phone", models.CharField(blank=True, max_length=50, null=True)),
                ("street", models.CharField(blank=True, max_length=255, null=True)),
                ("city", models.CharField(blank=True, max_length=100, null=True)),
                ("state", models.CharField(blank=True, max_length=100, null=True)),
                ("zip_code", models.CharField(blank=True, max_length=20, null=True)),
                ("country", models.CharField(blank=True, max_length=100, null=True)),
                (
                    "center",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patients",
                        to="lx_dtypes_django.centerdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="PExaminationDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                ("date", models.DateTimeField(blank=True, null=True)),
                (
                    "examination",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_examinations",
                        to="lx_dtypes_django.examinationdjango",
                    ),
                ),
                (
                    "examiners",
                    models.ManyToManyField(
                        related_name="patient_examinations",
                        to="lx_dtypes_django.examinerdjango",
                    ),
                ),
                (
                    "patient",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_examinations",
                        to="lx_dtypes_django.patientdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="PFindingClassificationChoiceDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                (
                    "classification",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_finding_classification_choices",
                        to="lx_dtypes_django.classificationdjango",
                    ),
                ),
                (
                    "classification_choice",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_finding_classification_choices",
                        to="lx_dtypes_django.classificationchoicedjango",
                    ),
                ),
                (
                    "patient_finding_classifications",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_finding_classification_choices",
                        to="lx_dtypes_django.pfindingclassificationsdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="PFindingClassificationChoiceDescriptorDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                ("descriptor_value", models.CharField(max_length=255)),
                (
                    "classification_choice_descriptor",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_finding_classification_choice_descriptors",
                        to="lx_dtypes_django.classificationchoicedescriptordjango",
                    ),
                ),
                (
                    "patient_finding_classification_choice",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_finding_classification_choice_descriptors",
                        to="lx_dtypes_django.pfindingclassificationchoicedjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="PFindingDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                (
                    "finding",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_findings",
                        to="lx_dtypes_django.findingdjango",
                    ),
                ),
                (
                    "patient_examination",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_findings",
                        to="lx_dtypes_django.pexaminationdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.AddField(
            model_name="pfindingclassificationsdjango",
            name="patient_finding",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="patient_finding_classifications",
                to="lx_dtypes_django.pfindingdjango",
            ),
        ),
        migrations.CreateModel(
            name="PFindingInterventionsDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                (
                    "patient_finding",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_finding_interventions",
                        to="lx_dtypes_django.pfindingdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="PFindingInterventionDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                (
                    "intervention",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_finding_interventions",
                        to="lx_dtypes_django.interventiondjango",
                    ),
                ),
                (
                    "patient_finding_interventions",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_finding_interventions",
                        to="lx_dtypes_django.pfindinginterventionsdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.CreateModel(
            name="PIndicationDjango",
            fields=[
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("tags", models.CharField(blank=True, max_length=1024)),
                (
                    "uuid",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                        unique=True,
                    ),
                ),
                ("external_ids", models.JSONField(default=dict)),
                (
                    "indication",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_indications",
                        to="lx_dtypes_django.indicationdjango",
                    ),
                ),
                (
                    "patient_examination",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="patient_indications",
                        to="lx_dtypes_django.pexaminationdjango",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=(models.Model, typing.Generic),
        ),
        migrations.AddField(
            model_name="classificationchoicedescriptordjango",
            name="unit",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="classification_choice_descriptors",
                to="lx_dtypes_django.unitdjango",
            ),
        ),
        migrations.AddField(
            model_name="unitdjango",
            name="unit_types",
            field=models.ManyToManyField(
                related_name="units", to="lx_dtypes_django.unittypedjango"
            ),
        ),
    ]
