# Generated by Django 4.2.3 on 2023-08-03 22:08

import uuid

import _socket
import django.core.validators
import django.db.models.deletion
import django_audit_fields.fields.hostname_modification_field
import django_audit_fields.fields.userfield
import django_audit_fields.fields.uuid_auto_field
import django_audit_fields.models.audit_model_mixin
import django_revision.revision_field
import edc_model.validators.date
import edc_model_fields.fields.other_charfield
import edc_protocol.validators
import edc_utils.date
import edc_visit_tracking.managers
import simple_history.models
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):
    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ("sites", "0002_alter_domain_unique"),
        ("edc_he", "0005_rename_employment_employmenttype_and_more"),
    ]

    operations = [
        migrations.CreateModel(
            name="HistoricalHealthEconomicsProperty",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        db_index=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        db_index=True,
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "land_owner",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        max_length=25,
                        verbose_name="Do you own any land or other property.",
                    ),
                ),
                (
                    "land_value_known",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        help_text="Use cash equivalent in local currency",
                        max_length=25,
                        verbose_name="Do you know about how much is this worth in total?",
                    ),
                ),
                (
                    "land_value",
                    models.IntegerField(
                        blank=True,
                        help_text="Use cash equivalent in local currency",
                        null=True,
                        validators=[
                            django.core.validators.MinValueValidator(1),
                            django.core.validators.MaxValueValidator(999999999),
                        ],
                        verbose_name="About how much is this worth in total?",
                    ),
                ),
                (
                    "land_additional",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        max_length=25,
                        verbose_name="Do you own any other property other than your primary dwelling?",
                    ),
                ),
                (
                    "land_additional_known",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        help_text="Use cash equivalent in local currency",
                        max_length=25,
                        verbose_name="Do you know about how much is this worth in total?",
                    ),
                ),
                (
                    "land_additional_value",
                    models.IntegerField(
                        blank=True,
                        help_text="Use cash equivalent in local currency",
                        null=True,
                        validators=[
                            django.core.validators.MinValueValidator(1),
                            django.core.validators.MaxValueValidator(999999999),
                        ],
                        verbose_name="About how much is this worth in total?",
                    ),
                ),
                (
                    "history_id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                ("history_date", models.DateTimeField(db_index=True)),
                ("history_change_reason", models.CharField(max_length=100, null=True)),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "historical Health Economics: Property",
                "verbose_name_plural": "historical Health Economics: Property",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": ("history_date", "history_id"),
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HistoricalHealthEconomicsPatient",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        db_index=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        db_index=True,
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "pat_citizen",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        null=True,
                        verbose_name="Is the patient a citizen of this country?",
                    ),
                ),
                (
                    "pat_religion_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER religious orientation, specify ...",
                    ),
                ),
                (
                    "pat_ethnicity_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER ethnic background, specify ...",
                    ),
                ),
                (
                    "pat_education_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER level of education, specify ...",
                    ),
                ),
                (
                    "pat_employment_status",
                    models.CharField(
                        choices=[
                            ("1", "Full time employed"),
                            ("2", "Regular part time employed "),
                            ("3", "Irregular/ occasional/ day worker employment"),
                            ("4", "Non-paid/ voluntary role "),
                            ("5", "Student"),
                            ("6", "Homemaker"),
                            ("7", "Unemployed (able to work)"),
                            ("8", "Unemployed (unable to work)"),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applcable"),
                        ],
                        max_length=25,
                        verbose_name="What is your employment status?",
                    ),
                ),
                (
                    "pat_employment_type_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=100,
                        null=True,
                        verbose_name="If OTHER type of employment, specify ...",
                    ),
                ),
                (
                    "pat_marital_status",
                    models.CharField(
                        choices=[
                            ("1", "Never Married (but not co-habiting)"),
                            ("2", "Co-habiting"),
                            ("3", "Currently Married"),
                            ("4", "Separated/Divorced"),
                            ("5", "Widowed"),
                            ("OTHER", "Other, specify ..."),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applicable"),
                        ],
                        max_length=25,
                        verbose_name="What is your marital status?",
                    ),
                ),
                (
                    "pat_marital_status_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER marital status, specify ...",
                    ),
                ),
                (
                    "pat_insurance_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER health insurance status, specify ...",
                    ),
                ),
                (
                    "pat_ethnicity_old",
                    models.CharField(
                        max_length=25, verbose_name="What is your ethnic background?"
                    ),
                ),
                (
                    "pat_employment_type_old",
                    models.CharField(
                        max_length=25, verbose_name="What is your type of employment?"
                    ),
                ),
                (
                    "pat_education_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="Highest level of education completed?",
                    ),
                ),
                (
                    "pat_religion_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="How would you describe your religious orientation?",
                    ),
                ),
                (
                    "history_id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                ("history_date", models.DateTimeField(db_index=True)),
                ("history_change_reason", models.CharField(max_length=100, null=True)),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "pat_education",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="edc_he.education",
                        verbose_name="Highest level of education completed?",
                    ),
                ),
                (
                    "pat_employment_type",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="edc_he.employmenttype",
                        verbose_name="What is your type of employment?",
                    ),
                ),
                (
                    "pat_ethnicity",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="edc_he.ethnicities",
                        verbose_name="What is your ethnic background?",
                    ),
                ),
                (
                    "pat_religion",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="edc_he.religions",
                        verbose_name="How would you describe your religious orientation?",
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "historical Health Economics: Patient",
                "verbose_name_plural": "historical Health Economics: Patient",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": ("history_date", "history_id"),
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HistoricalHealthEconomicsIncome",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        db_index=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        db_index=True,
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "wages",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Income from wages, salary from job",
                    ),
                ),
                (
                    "wages_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "wages_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "selling",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Earnings from selling, trading or hawking products?",
                    ),
                ),
                (
                    "selling_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "selling_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "rental_income",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Income from rental of property?",
                    ),
                ),
                (
                    "rental_income_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "rental_income_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "pension",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text="Pensions by work",
                        max_length=15,
                        verbose_name="State old-age (veteran's/civil service) pension*, contributory pension fund, provident fund or social security benefit?",
                    ),
                ),
                (
                    "pension_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "pension_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "ngo_assistance",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Assistance from nongovernmental organization",
                    ),
                ),
                (
                    "ngo_assistance_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "ngo_assistance_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "interest",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text="(for example, from savings account or fixed deposits)?",
                        max_length=15,
                        verbose_name="Interest, dividends",
                    ),
                ),
                (
                    "interest_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "interest_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "internal_remittance",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Money transfers from family members or friends residing inside the country",
                    ),
                ),
                (
                    "internal_remittance_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "internal_remittance_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "external_remittance",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Money transfers from family members or friends residing outside the country",
                    ),
                ),
                (
                    "external_remittance_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "external_remittance_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "more_sources",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Do you have additional sources of income not included above?",
                    ),
                ),
                (
                    "more_sources_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "more_sources_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "external_remit_currency",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("USD", "USD"),
                            ("GBP", "GBP"),
                            ("OTHER", "Other, specify ..."),
                            ("dont_know", "Dont' know"),
                        ],
                        max_length=50,
                        null=True,
                        verbose_name="In what currency do you receive remittances?",
                    ),
                ),
                (
                    "external_remit_currency_other",
                    models.CharField(
                        blank=True,
                        max_length=50,
                        null=True,
                        verbose_name="If OTHER currency, specify ...",
                    ),
                ),
                (
                    "more_sources_other",
                    models.CharField(
                        blank=True,
                        max_length=50,
                        null=True,
                        verbose_name="If YES additional sources, specify ...",
                    ),
                ),
                (
                    "external_dependents",
                    models.IntegerField(
                        help_text="Insert '0' if no dependents other than the members in the household roster",
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(15),
                        ],
                        verbose_name="Outside of this household, how many other people depend on this household’s income?",
                    ),
                ),
                (
                    "income_enough",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("Dont_know", "Do not know"),
                        ],
                        max_length=15,
                        verbose_name="Thinking about the income for this household, do you believe that it is enough money to cover your daily living needs and obligations?",
                    ),
                ),
                (
                    "financial_status",
                    models.CharField(
                        choices=[
                            ("1", "Very good"),
                            ("2", "Good"),
                            ("3", "Moderate"),
                            ("4", "Bad"),
                            ("5", "Very bad"),
                            ("DWTA", "Don’t want to answer"),
                        ],
                        max_length=25,
                        verbose_name="Would you say your household's financial situation is?",
                    ),
                ),
                (
                    "financial_status_compare",
                    models.CharField(
                        choices=[
                            ("1", "Among most wealthy"),
                            ("2", "Above average "),
                            ("3", "Average wealth"),
                            ("4", "Below average"),
                            ("5", "Among least wealthy"),
                            ("DWTA", "Don’t want to answer"),
                        ],
                        max_length=25,
                        verbose_name="How would you rate your household’s financial situation compared with others in your community?",
                    ),
                ),
                (
                    "household_debt",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        max_length=25,
                        verbose_name="Does your household or any members of the household have current debt or outstanding loans?",
                    ),
                ),
                (
                    "household_debt_value",
                    models.IntegerField(
                        blank=True,
                        help_text="In local currency",
                        null=True,
                        validators=[
                            django.core.validators.MinValueValidator(1),
                            django.core.validators.MaxValueValidator(9999999999),
                        ],
                        verbose_name="What is the approximate total amount of this debt or loan(s)?",
                    ),
                ),
                (
                    "history_id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                ("history_date", models.DateTimeField(db_index=True)),
                ("history_change_reason", models.CharField(max_length=100, null=True)),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "historical Health Economics: Income",
                "verbose_name_plural": "historical Health Economics: Income",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": ("history_date", "history_id"),
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HistoricalHealthEconomicsHouseholdHead",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        db_index=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        db_index=True,
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "hoh",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Are you the household head?",
                    ),
                ),
                (
                    "relationship_to_hoh",
                    models.CharField(
                        choices=[
                            ("WIFE_HUSBAND", "Wife/Husband"),
                            ("SON_DAUGHTER", "Son/Daughter"),
                            ("SON_DAUGHTERINLAW", "Son/Daughter-in-law"),
                            ("GRANDCHILD", "Grandchild"),
                            ("PARENT", "Parent"),
                            ("PARENTINLAW", "Parent-in-law"),
                            ("BROTHER_SISTER", "Brother/Sister"),
                            ("OTHER", "Other, specify ..."),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        help_text="Not applicable if patient is head of household",
                        max_length=25,
                        verbose_name="What is your relationship to the household head?",
                    ),
                ),
                (
                    "relationship_to_hoh_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER relationship, specify ...",
                    ),
                ),
                (
                    "hoh_gender",
                    models.CharField(
                        choices=[("M", "Male"), ("F", "Female")],
                        max_length=15,
                        verbose_name="Is the household head female or male?",
                    ),
                ),
                (
                    "hoh_age",
                    models.IntegerField(
                        help_text="In years",
                        validators=[
                            django.core.validators.MinValueValidator(18),
                            django.core.validators.MaxValueValidator(110),
                        ],
                        verbose_name="How old is the household head?",
                    ),
                ),
                (
                    "hoh_religion_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER religious orientation, specify ...",
                    ),
                ),
                (
                    "hoh_ethnicity_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER ethnic background, specify ...",
                    ),
                ),
                (
                    "hoh_education_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER education, specify ...",
                    ),
                ),
                (
                    "hoh_employment_status",
                    models.CharField(
                        choices=[
                            ("1", "Full time employed"),
                            ("2", "Regular part time employed "),
                            ("3", "Irregular/ occasional/ day worker employment"),
                            ("4", "Non-paid/ voluntary role "),
                            ("5", "Student"),
                            ("6", "Homemaker"),
                            ("7", "Unemployed (able to work)"),
                            ("8", "Unemployed (unable to work)"),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applcable"),
                        ],
                        max_length=25,
                        verbose_name="Household head’s employment status",
                    ),
                ),
                (
                    "hoh_employment_type_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=100,
                        null=True,
                        verbose_name="If OTHER type of employment, specify ...",
                    ),
                ),
                (
                    "hoh_marital_status",
                    models.CharField(
                        choices=[
                            ("1", "Never Married (but not co-habiting)"),
                            ("2", "Co-habiting"),
                            ("3", "Currently Married"),
                            ("4", "Separated/Divorced"),
                            ("5", "Widowed"),
                            ("OTHER", "Other, specify ..."),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applicable"),
                        ],
                        max_length=25,
                        verbose_name="Household head’s marital status",
                    ),
                ),
                (
                    "hoh_marital_status_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER marital status, specify ...",
                    ),
                ),
                (
                    "hoh_insurance_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER, specify ...",
                    ),
                ),
                (
                    "hoh_religion_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="How would you describe the household head’s religious orientation?",
                    ),
                ),
                (
                    "hoh_employment_type_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="Household head’s type of employment",
                    ),
                ),
                (
                    "hoh_education_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="Highest level of education completed by the household head?",
                    ),
                ),
                (
                    "hoh_ethnicity_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="What is the household head’s ethnic background?",
                    ),
                ),
                (
                    "hh_count",
                    models.IntegerField(
                        help_text="Persons",
                        validators=[
                            django.core.validators.MinValueValidator(1),
                            django.core.validators.MaxValueValidator(25),
                        ],
                        verbose_name="What is the total number of people who live in your household?",
                    ),
                ),
                (
                    "hh_minors_count",
                    models.IntegerField(
                        help_text="Persons",
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(25),
                        ],
                        verbose_name="What is the total number of people 14 years or under who live in your household?",
                    ),
                ),
                (
                    "history_id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                ("history_date", models.DateTimeField(db_index=True)),
                ("history_change_reason", models.CharField(max_length=100, null=True)),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "hoh_education",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="edc_he.education",
                        verbose_name="Highest level of education completed by the household head?",
                    ),
                ),
                (
                    "hoh_employment_type",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="edc_he.employmenttype",
                        verbose_name="Household head’s type of employment",
                    ),
                ),
                (
                    "hoh_ethnicity",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="edc_he.ethnicities",
                        verbose_name="What is the household head’s ethnic background?",
                    ),
                ),
                (
                    "hoh_religion",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="edc_he.religions",
                        verbose_name="How would you describe the household head’s religious orientation?",
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "historical Health Economics: Household head",
                "verbose_name_plural": "historical Health Economics: Household head",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": ("history_date", "history_id"),
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HistoricalHealthEconomicsAssets",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        db_index=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        db_index=True,
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "residence_ownership",
                    models.CharField(
                        choices=[
                            ("renter", "Rent"),
                            ("owner", "Own themselves"),
                            ("family_owned", "Owned by someone else in family"),
                            (
                                "nonfamily_owned",
                                "Owned by someone else other than family member",
                            ),
                            ("joint_owned", "Owned together with someone"),
                        ],
                        max_length=25,
                        verbose_name="Is the house you live in rented, owned by you (either on your own, or with someone else), or owned by someone else in your family?",
                    ),
                ),
                (
                    "dwelling_value_known",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text="in local currency",
                        max_length=25,
                        verbose_name="If the owner [you] were to sell this dwelling today, do you know the approximate value?",
                    ),
                ),
                (
                    "dwelling_value",
                    models.IntegerField(
                        blank=True,
                        help_text="in local currency",
                        null=True,
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(9999999999),
                        ],
                        verbose_name="About how much is it worth?",
                    ),
                ),
                (
                    "rooms",
                    models.IntegerField(
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(20),
                        ],
                        verbose_name="How many rooms does your dwelling have in total, without counting the bathrooms/ toilets or hallways/passageways?",
                    ),
                ),
                (
                    "bedrooms",
                    models.IntegerField(
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(10),
                        ],
                        verbose_name="How many rooms are used for sleeping in your dwelling?",
                    ),
                ),
                (
                    "beds",
                    models.IntegerField(
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(10),
                        ],
                        verbose_name="How many beds does your dwelling have in total?",
                    ),
                ),
                (
                    "water_source",
                    models.CharField(
                        choices=[
                            ("piped_into_plot", "Piped into dwelling/yard plot"),
                            ("piped_to_neighbour", "Piped to neighbour"),
                            ("standpipe", "Public tap/standpipe"),
                            ("borehole", "Tube well or borehole"),
                            ("protected_well", "Protected dug well"),
                            ("protected_spring", "Protected spring"),
                            ("rainwater", "Rainwater"),
                            (
                                "bottled_water_improved",
                                "Bottled water, improved source for cooking/hand washing (1-7)",
                            ),
                            ("unprotected_well", "Unprotected dug well"),
                            ("unprotected_spring", "Unprotected spring"),
                            ("tanker", "Tanker truck/cart with small tank"),
                            ("surface_water", "Surface water (river etc.)"),
                            (
                                "bottled_water_unimproved",
                                "Bottle water, unimproved source for cooking/hand washing (9-12)",
                            ),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the main source of drinking water for the household?",
                    ),
                ),
                (
                    "water_source_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER water source, specify",
                    ),
                ),
                (
                    "water_obtain_time",
                    models.CharField(
                        choices=[
                            (
                                "on_premises",
                                "Water on premises (includes water piped to a neighbour)",
                            ),
                            ("less_30min", "Less than 30 minutes"),
                            ("greater_30min", "30 minutes or longer"),
                            ("dont_know", "Don’t know"),
                        ],
                        max_length=25,
                        verbose_name="How long does it take to obtain drinking water?",
                    ),
                ),
                (
                    "toilet",
                    models.CharField(
                        choices=[
                            (
                                "1",
                                "1. Flush/pour flush to piped sewer system – private",
                            ),
                            ("2", "2. Flush/pour flush to septic tank – private "),
                            ("3", "3. Flush/pour flush to pit latrine – private"),
                            (
                                "4",
                                "4. Ventilated improved pit (VIP) latrine – private ",
                            ),
                            ("5", "5. Pit latrine with slab – private"),
                            ("6", "6. Composting toilet – private"),
                            ("7", "7. EcoSan – private"),
                            ("8", "8. Flush/pour flush to piped sewer system – shared"),
                            ("9", "9. Flush/pour flush to septic tank – shared"),
                            ("10", "10. Flush/pour flush to pit latrine – shared"),
                            (
                                "11",
                                "11. Ventilated improved pit (VIP) latrine – shared",
                            ),
                            ("12", "12. Pit latrine with slab – shared"),
                            ("13", "13. Composting toilet – shared"),
                            ("14", "14. EcoSan – shared"),
                            (
                                "15",
                                "15. Flush/pour flush not to sewer/septic tank/pit latrine",
                            ),
                            ("16", "16. Pit latrine with slab (non-washable)"),
                            ("17", "17. Pit latrine without slab/open pit"),
                            ("18", "18. Bucket"),
                            ("19", "19. Hanging toilet/hanging latrine"),
                            ("20", "20. Open defecation (no facility/bush/field)"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        help_text="Note: 'private' (1-7) is a toilet solely used by the household and 'shared' (8-14) is a toilet shared by two or more households.",
                        max_length=25,
                        verbose_name="What type of toilet is mainly used in your household?",
                    ),
                ),
                (
                    "toilet_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER type of toilet, specify",
                    ),
                ),
                (
                    "roof_material",
                    models.CharField(
                        choices=[
                            ("1", "Thatch, Straw"),
                            ("2", "Mud and poles"),
                            ("3", "Tin"),
                            ("4", "Wood"),
                            ("5", "Iron sheet"),
                            ("6", "Tiles "),
                            ("7", "Cement"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the major construction material of the roof?",
                    ),
                ),
                (
                    "roof_material_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER roof material, specify",
                    ),
                ),
                (
                    "eaves",
                    models.CharField(
                        choices=[
                            ("1", "All eaves closed"),
                            ("2", "All eaves open"),
                            ("3", "Partially closed"),
                        ],
                        max_length=25,
                        verbose_name="Are the eaves open, partially or fully closed?",
                    ),
                ),
                (
                    "external_wall_material",
                    models.CharField(
                        choices=[
                            ("1", "Thatch, Straw"),
                            ("2", "Mud and poles"),
                            ("3", "Timber"),
                            ("OPTION_RETIRED", "Un-burnt bricks"),
                            ("5", "Bricks with mud"),
                            ("6", "Bricks with cement"),
                            ("7", "Cement blocks"),
                            ("8", "Stone"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the major construction material of the external wall?",
                    ),
                ),
                (
                    "external_wall_material_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER external wall material, specify",
                    ),
                ),
                (
                    "external_window_material",
                    models.CharField(
                        choices=[
                            ("1", "Glass"),
                            ("2", "Bags"),
                            ("3", "Wood"),
                            ("4", "Iron/metal"),
                            ("5", "Screens"),
                            ("6", "No windows"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the main material on external windows?",
                    ),
                ),
                (
                    "external_window_material_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER external window material, specify",
                    ),
                ),
                (
                    "window_screens",
                    models.CharField(
                        choices=[
                            ("1", "All windows screened"),
                            ("2", "No windows screened"),
                            ("2", "Some windows screened"),
                        ],
                        max_length=25,
                        verbose_name="What is the main screening material of external windows?",
                    ),
                ),
                (
                    "window_screen_type",
                    models.CharField(
                        choices=[
                            ("1", "Wire mesh"),
                            ("2", "Old bednet"),
                            ("3", "No windows screened"),
                            ("4", "No windows"),
                            ("N/A", "Not applicable"),
                        ],
                        max_length=25,
                        verbose_name="Type of screening on external windows",
                    ),
                ),
                (
                    "floor_material",
                    models.CharField(
                        choices=[
                            ("6", "Earth, sand"),
                            ("7", "Dung, wood, planks, palm, bamboo"),
                            ("8", "Parquet, polished wood, vinyl, asphalt strips"),
                            ("9", "Ceramic tiles"),
                            ("10", "Cement"),
                            ("11", "Carpet"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        help_text="If there are similar amounts of more than one type of flooring, select the multiple types that apply. Otherwise select the main type of flooring",
                        max_length=25,
                        verbose_name="What is the major construction material of the floor?",
                    ),
                ),
                (
                    "floor_material_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER floor material, specify",
                    ),
                ),
                (
                    "electricity",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=25,
                        verbose_name="Does your household have electricity?",
                    ),
                ),
                (
                    "lighting_source",
                    models.CharField(
                        choices=[
                            ("1", "Electricity (e.g., hydroelectric or solar)"),
                            ("2", "Paraffin, kerosene or gas lantern "),
                            ("3", "Firewood"),
                            ("4", "Candle"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the main source of lighting?",
                    ),
                ),
                (
                    "lighting_source_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER lighting source, specify",
                    ),
                ),
                (
                    "cooking_fuel",
                    models.CharField(
                        choices=[
                            ("1", "Electricity"),
                            ("2", "LPG/natural gas/biogas"),
                            ("3", "Kerosene"),
                            ("4", "Charcoal"),
                            ("5", "Wood"),
                            (
                                "6",
                                "Coal/lignite, straw/shrubs/grass. agricultural crop, animal dung",
                            ),
                            ("7", "No food cooked in the household"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What type of fuel do you primarily use for cooking?",
                    ),
                ),
                (
                    "cooking_fuel_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER cooking fuel, specify",
                    ),
                ),
                (
                    "radio",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Radio",
                    ),
                ),
                (
                    "television",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Television",
                    ),
                ),
                (
                    "mobile_phone",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Mobile phone",
                    ),
                ),
                (
                    "computer",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Computer",
                    ),
                ),
                (
                    "telephone",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Non-mobile telephone",
                    ),
                ),
                (
                    "fridge",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Fridge",
                    ),
                ),
                (
                    "generator",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Generator",
                    ),
                ),
                (
                    "iron",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Flat iron",
                    ),
                ),
                (
                    "bicycle",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Bicycle",
                    ),
                ),
                (
                    "motorcycle",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Motorcycle/scooter (PikiPiki/Boda Boda)",
                    ),
                ),
                (
                    "dala_dala",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Dala Dala",
                    ),
                ),
                (
                    "car",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Car",
                    ),
                ),
                (
                    "motorboat",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Boat with a motor",
                    ),
                ),
                (
                    "large_livestock",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Large Livestock (e.g. cows, bulls, other cattle, horses, donkeys)",
                    ),
                ),
                (
                    "small_animals",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Small animals (goats, sheep, chickens or other poultry, etc)",
                    ),
                ),
                (
                    "shop",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="A business or shop",
                    ),
                ),
                (
                    "history_id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                ("history_date", models.DateTimeField(db_index=True)),
                ("history_change_reason", models.CharField(max_length=100, null=True)),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "historical Health Economics: Assets",
                "verbose_name_plural": "historical Health Economics: Assets",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": ("history_date", "history_id"),
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HealthEconomicsProperty",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        unique=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "land_owner",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        max_length=25,
                        verbose_name="Do you own any land or other property.",
                    ),
                ),
                (
                    "land_value_known",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        help_text="Use cash equivalent in local currency",
                        max_length=25,
                        verbose_name="Do you know about how much is this worth in total?",
                    ),
                ),
                (
                    "land_value",
                    models.IntegerField(
                        blank=True,
                        help_text="Use cash equivalent in local currency",
                        null=True,
                        validators=[
                            django.core.validators.MinValueValidator(1),
                            django.core.validators.MaxValueValidator(999999999),
                        ],
                        verbose_name="About how much is this worth in total?",
                    ),
                ),
                (
                    "land_additional",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        max_length=25,
                        verbose_name="Do you own any other property other than your primary dwelling?",
                    ),
                ),
                (
                    "land_additional_known",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        help_text="Use cash equivalent in local currency",
                        max_length=25,
                        verbose_name="Do you know about how much is this worth in total?",
                    ),
                ),
                (
                    "land_additional_value",
                    models.IntegerField(
                        blank=True,
                        help_text="Use cash equivalent in local currency",
                        null=True,
                        validators=[
                            django.core.validators.MinValueValidator(1),
                            django.core.validators.MaxValueValidator(999999999),
                        ],
                        verbose_name="About how much is this worth in total?",
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="he_property_subjectvisit",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "Health Economics: Property",
                "verbose_name_plural": "Health Economics: Property",
                "ordering": ("-modified", "-created"),
                "get_latest_by": "modified",
                "abstract": False,
                "default_permissions": (
                    "add",
                    "change",
                    "delete",
                    "view",
                    "export",
                    "import",
                ),
                "default_manager_name": "objects",
                "indexes": [
                    models.Index(
                        fields=["subject_visit", "site", "id"],
                        name="edc_he_heal_subject_ac0948_idx",
                    ),
                    models.Index(
                        fields=["subject_visit", "report_datetime"],
                        name="edc_he_heal_subject_2e7c43_idx",
                    ),
                ],
            },
            managers=[
                ("objects", edc_visit_tracking.managers.CrfModelManager()),
                ("on_site", edc_visit_tracking.managers.CrfCurrentSiteManager()),
            ],
        ),
        migrations.CreateModel(
            name="HealthEconomicsPatient",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        unique=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "pat_citizen",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        null=True,
                        verbose_name="Is the patient a citizen of this country?",
                    ),
                ),
                (
                    "pat_religion_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER religious orientation, specify ...",
                    ),
                ),
                (
                    "pat_ethnicity_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER ethnic background, specify ...",
                    ),
                ),
                (
                    "pat_education_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER level of education, specify ...",
                    ),
                ),
                (
                    "pat_employment_status",
                    models.CharField(
                        choices=[
                            ("1", "Full time employed"),
                            ("2", "Regular part time employed "),
                            ("3", "Irregular/ occasional/ day worker employment"),
                            ("4", "Non-paid/ voluntary role "),
                            ("5", "Student"),
                            ("6", "Homemaker"),
                            ("7", "Unemployed (able to work)"),
                            ("8", "Unemployed (unable to work)"),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applcable"),
                        ],
                        max_length=25,
                        verbose_name="What is your employment status?",
                    ),
                ),
                (
                    "pat_employment_type_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=100,
                        null=True,
                        verbose_name="If OTHER type of employment, specify ...",
                    ),
                ),
                (
                    "pat_marital_status",
                    models.CharField(
                        choices=[
                            ("1", "Never Married (but not co-habiting)"),
                            ("2", "Co-habiting"),
                            ("3", "Currently Married"),
                            ("4", "Separated/Divorced"),
                            ("5", "Widowed"),
                            ("OTHER", "Other, specify ..."),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applicable"),
                        ],
                        max_length=25,
                        verbose_name="What is your marital status?",
                    ),
                ),
                (
                    "pat_marital_status_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER marital status, specify ...",
                    ),
                ),
                (
                    "pat_insurance_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER health insurance status, specify ...",
                    ),
                ),
                (
                    "pat_ethnicity_old",
                    models.CharField(
                        max_length=25, verbose_name="What is your ethnic background?"
                    ),
                ),
                (
                    "pat_employment_type_old",
                    models.CharField(
                        max_length=25, verbose_name="What is your type of employment?"
                    ),
                ),
                (
                    "pat_education_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="Highest level of education completed?",
                    ),
                ),
                (
                    "pat_religion_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="How would you describe your religious orientation?",
                    ),
                ),
                (
                    "pat_education",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="edc_he.education",
                        verbose_name="Highest level of education completed?",
                    ),
                ),
                (
                    "pat_employment_type",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="edc_he.employmenttype",
                        verbose_name="What is your type of employment?",
                    ),
                ),
                (
                    "pat_ethnicity",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="edc_he.ethnicities",
                        verbose_name="What is your ethnic background?",
                    ),
                ),
                (
                    "pat_insurance",
                    models.ManyToManyField(
                        related_name="+",
                        to="edc_he.insurancetypes",
                        verbose_name="What is your health insurance status?",
                    ),
                ),
                (
                    "pat_religion",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="edc_he.religions",
                        verbose_name="How would you describe your religious orientation?",
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="he_patient_subjectvisit",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "Health Economics: Patient",
                "verbose_name_plural": "Health Economics: Patient",
                "ordering": ("-modified", "-created"),
                "get_latest_by": "modified",
                "abstract": False,
                "default_permissions": (
                    "add",
                    "change",
                    "delete",
                    "view",
                    "export",
                    "import",
                ),
                "default_manager_name": "objects",
                "indexes": [
                    models.Index(
                        fields=["subject_visit", "site", "id"],
                        name="edc_he_heal_subject_f9cfcb_idx",
                    ),
                    models.Index(
                        fields=["subject_visit", "report_datetime"],
                        name="edc_he_heal_subject_6ba440_idx",
                    ),
                ],
            },
            managers=[
                ("objects", edc_visit_tracking.managers.CrfModelManager()),
                ("on_site", edc_visit_tracking.managers.CrfCurrentSiteManager()),
            ],
        ),
        migrations.CreateModel(
            name="HealthEconomicsIncome",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        unique=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "wages",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Income from wages, salary from job",
                    ),
                ),
                (
                    "wages_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "wages_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "selling",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Earnings from selling, trading or hawking products?",
                    ),
                ),
                (
                    "selling_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "selling_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "rental_income",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Income from rental of property?",
                    ),
                ),
                (
                    "rental_income_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "rental_income_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "pension",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text="Pensions by work",
                        max_length=15,
                        verbose_name="State old-age (veteran's/civil service) pension*, contributory pension fund, provident fund or social security benefit?",
                    ),
                ),
                (
                    "pension_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "pension_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "ngo_assistance",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Assistance from nongovernmental organization",
                    ),
                ),
                (
                    "ngo_assistance_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "ngo_assistance_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "interest",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text="(for example, from savings account or fixed deposits)?",
                        max_length=15,
                        verbose_name="Interest, dividends",
                    ),
                ),
                (
                    "interest_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "interest_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "internal_remittance",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Money transfers from family members or friends residing inside the country",
                    ),
                ),
                (
                    "internal_remittance_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "internal_remittance_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "external_remittance",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Money transfers from family members or friends residing outside the country",
                    ),
                ),
                (
                    "external_remittance_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "external_remittance_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "more_sources",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text=None,
                        max_length=15,
                        verbose_name="Do you have additional sources of income not included above?",
                    ),
                ),
                (
                    "more_sources_value_known",
                    models.CharField(
                        choices=[
                            ("weekly", "as weekly income"),
                            ("monthly", "as monthly income"),
                            ("yearly", "as yearly income"),
                            ("dont_know", "Don’t know"),
                            ("DWTA", "Don’t want to answer"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        max_length=15,
                        verbose_name="Over which <u>time period</u> are you able to estimate?",
                    ),
                ),
                (
                    "more_sources_value",
                    models.IntegerField(
                        blank=True,
                        null=True,
                        verbose_name="Estimated <u>total amount of income</u> from this source over the time period from above",
                    ),
                ),
                (
                    "external_remit_currency",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("USD", "USD"),
                            ("GBP", "GBP"),
                            ("OTHER", "Other, specify ..."),
                            ("dont_know", "Dont' know"),
                        ],
                        max_length=50,
                        null=True,
                        verbose_name="In what currency do you receive remittances?",
                    ),
                ),
                (
                    "external_remit_currency_other",
                    models.CharField(
                        blank=True,
                        max_length=50,
                        null=True,
                        verbose_name="If OTHER currency, specify ...",
                    ),
                ),
                (
                    "more_sources_other",
                    models.CharField(
                        blank=True,
                        max_length=50,
                        null=True,
                        verbose_name="If YES additional sources, specify ...",
                    ),
                ),
                (
                    "external_dependents",
                    models.IntegerField(
                        help_text="Insert '0' if no dependents other than the members in the household roster",
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(15),
                        ],
                        verbose_name="Outside of this household, how many other people depend on this household’s income?",
                    ),
                ),
                (
                    "income_enough",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("Dont_know", "Do not know"),
                        ],
                        max_length=15,
                        verbose_name="Thinking about the income for this household, do you believe that it is enough money to cover your daily living needs and obligations?",
                    ),
                ),
                (
                    "financial_status",
                    models.CharField(
                        choices=[
                            ("1", "Very good"),
                            ("2", "Good"),
                            ("3", "Moderate"),
                            ("4", "Bad"),
                            ("5", "Very bad"),
                            ("DWTA", "Don’t want to answer"),
                        ],
                        max_length=25,
                        verbose_name="Would you say your household's financial situation is?",
                    ),
                ),
                (
                    "financial_status_compare",
                    models.CharField(
                        choices=[
                            ("1", "Among most wealthy"),
                            ("2", "Above average "),
                            ("3", "Average wealth"),
                            ("4", "Below average"),
                            ("5", "Among least wealthy"),
                            ("DWTA", "Don’t want to answer"),
                        ],
                        max_length=25,
                        verbose_name="How would you rate your household’s financial situation compared with others in your community?",
                    ),
                ),
                (
                    "household_debt",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        max_length=25,
                        verbose_name="Does your household or any members of the household have current debt or outstanding loans?",
                    ),
                ),
                (
                    "household_debt_value",
                    models.IntegerField(
                        blank=True,
                        help_text="In local currency",
                        null=True,
                        validators=[
                            django.core.validators.MinValueValidator(1),
                            django.core.validators.MaxValueValidator(9999999999),
                        ],
                        verbose_name="What is the approximate total amount of this debt or loan(s)?",
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="he_income_subjectvisit",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "Health Economics: Income",
                "verbose_name_plural": "Health Economics: Income",
                "ordering": ("-modified", "-created"),
                "get_latest_by": "modified",
                "abstract": False,
                "default_permissions": (
                    "add",
                    "change",
                    "delete",
                    "view",
                    "export",
                    "import",
                ),
                "default_manager_name": "objects",
                "indexes": [
                    models.Index(
                        fields=["subject_visit", "site", "id"],
                        name="edc_he_heal_subject_b4daa5_idx",
                    ),
                    models.Index(
                        fields=["subject_visit", "report_datetime"],
                        name="edc_he_heal_subject_e05418_idx",
                    ),
                ],
            },
            managers=[
                ("objects", edc_visit_tracking.managers.CrfModelManager()),
                ("on_site", edc_visit_tracking.managers.CrfCurrentSiteManager()),
            ],
        ),
        migrations.CreateModel(
            name="HealthEconomicsHouseholdHead",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        unique=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "hoh",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Are you the household head?",
                    ),
                ),
                (
                    "relationship_to_hoh",
                    models.CharField(
                        choices=[
                            ("WIFE_HUSBAND", "Wife/Husband"),
                            ("SON_DAUGHTER", "Son/Daughter"),
                            ("SON_DAUGHTERINLAW", "Son/Daughter-in-law"),
                            ("GRANDCHILD", "Grandchild"),
                            ("PARENT", "Parent"),
                            ("PARENTINLAW", "Parent-in-law"),
                            ("BROTHER_SISTER", "Brother/Sister"),
                            ("OTHER", "Other, specify ..."),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applicable"),
                        ],
                        default="N/A",
                        help_text="Not applicable if patient is head of household",
                        max_length=25,
                        verbose_name="What is your relationship to the household head?",
                    ),
                ),
                (
                    "relationship_to_hoh_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER relationship, specify ...",
                    ),
                ),
                (
                    "hoh_gender",
                    models.CharField(
                        choices=[("M", "Male"), ("F", "Female")],
                        max_length=15,
                        verbose_name="Is the household head female or male?",
                    ),
                ),
                (
                    "hoh_age",
                    models.IntegerField(
                        help_text="In years",
                        validators=[
                            django.core.validators.MinValueValidator(18),
                            django.core.validators.MaxValueValidator(110),
                        ],
                        verbose_name="How old is the household head?",
                    ),
                ),
                (
                    "hoh_religion_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER religious orientation, specify ...",
                    ),
                ),
                (
                    "hoh_ethnicity_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER ethnic background, specify ...",
                    ),
                ),
                (
                    "hoh_education_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER education, specify ...",
                    ),
                ),
                (
                    "hoh_employment_status",
                    models.CharField(
                        choices=[
                            ("1", "Full time employed"),
                            ("2", "Regular part time employed "),
                            ("3", "Irregular/ occasional/ day worker employment"),
                            ("4", "Non-paid/ voluntary role "),
                            ("5", "Student"),
                            ("6", "Homemaker"),
                            ("7", "Unemployed (able to work)"),
                            ("8", "Unemployed (unable to work)"),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applcable"),
                        ],
                        max_length=25,
                        verbose_name="Household head’s employment status",
                    ),
                ),
                (
                    "hoh_employment_type_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=100,
                        null=True,
                        verbose_name="If OTHER type of employment, specify ...",
                    ),
                ),
                (
                    "hoh_marital_status",
                    models.CharField(
                        choices=[
                            ("1", "Never Married (but not co-habiting)"),
                            ("2", "Co-habiting"),
                            ("3", "Currently Married"),
                            ("4", "Separated/Divorced"),
                            ("5", "Widowed"),
                            ("OTHER", "Other, specify ..."),
                            ("dont_know", "Don’t know"),
                            ("N/A", "Not applicable"),
                        ],
                        max_length=25,
                        verbose_name="Household head’s marital status",
                    ),
                ),
                (
                    "hoh_marital_status_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER marital status, specify ...",
                    ),
                ),
                (
                    "hoh_insurance_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER, specify ...",
                    ),
                ),
                (
                    "hoh_religion_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="How would you describe the household head’s religious orientation?",
                    ),
                ),
                (
                    "hoh_employment_type_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="Household head’s type of employment",
                    ),
                ),
                (
                    "hoh_education_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="Highest level of education completed by the household head?",
                    ),
                ),
                (
                    "hoh_ethnicity_old",
                    models.CharField(
                        max_length=25,
                        verbose_name="What is the household head’s ethnic background?",
                    ),
                ),
                (
                    "hh_count",
                    models.IntegerField(
                        help_text="Persons",
                        validators=[
                            django.core.validators.MinValueValidator(1),
                            django.core.validators.MaxValueValidator(25),
                        ],
                        verbose_name="What is the total number of people who live in your household?",
                    ),
                ),
                (
                    "hh_minors_count",
                    models.IntegerField(
                        help_text="Persons",
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(25),
                        ],
                        verbose_name="What is the total number of people 14 years or under who live in your household?",
                    ),
                ),
                (
                    "hoh_education",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="edc_he.education",
                        verbose_name="Highest level of education completed by the household head?",
                    ),
                ),
                (
                    "hoh_employment_type",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="edc_he.employmenttype",
                        verbose_name="Household head’s type of employment",
                    ),
                ),
                (
                    "hoh_ethnicity",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="edc_he.ethnicities",
                        verbose_name="What is the household head’s ethnic background?",
                    ),
                ),
                (
                    "hoh_insurance",
                    models.ManyToManyField(
                        related_name="+",
                        to="edc_he.insurancetypes",
                        verbose_name="Household head’s health insurance and ‘club’ status ",
                    ),
                ),
                (
                    "hoh_religion",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="edc_he.religions",
                        verbose_name="How would you describe the household head’s religious orientation?",
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="he_hoh_subjectvisit",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "Health Economics: Household head",
                "verbose_name_plural": "Health Economics: Household head",
                "ordering": ("-modified", "-created"),
                "get_latest_by": "modified",
                "abstract": False,
                "default_permissions": (
                    "add",
                    "change",
                    "delete",
                    "view",
                    "export",
                    "import",
                ),
                "default_manager_name": "objects",
                "indexes": [
                    models.Index(
                        fields=["subject_visit", "site", "id"],
                        name="edc_he_heal_subject_327fe0_idx",
                    ),
                    models.Index(
                        fields=["subject_visit", "report_datetime"],
                        name="edc_he_heal_subject_2aa201_idx",
                    ),
                ],
            },
            managers=[
                ("objects", edc_visit_tracking.managers.CrfModelManager()),
                ("on_site", edc_visit_tracking.managers.CrfCurrentSiteManager()),
            ],
        ),
        migrations.CreateModel(
            name="HealthEconomicsAssets",
            fields=[
                (
                    "revision",
                    django_revision.revision_field.RevisionField(
                        blank=True,
                        editable=False,
                        help_text="System field. Git repository tag:branch:commit.",
                        max_length=75,
                        null=True,
                        verbose_name="Revision",
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "modified",
                    models.DateTimeField(
                        blank=True,
                        default=django_audit_fields.models.audit_model_mixin.utcnow,
                    ),
                ),
                (
                    "user_created",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user created",
                    ),
                ),
                (
                    "user_modified",
                    django_audit_fields.fields.userfield.UserField(
                        blank=True,
                        help_text="Updated by admin.save_model",
                        max_length=50,
                        verbose_name="user modified",
                    ),
                ),
                (
                    "hostname_created",
                    models.CharField(
                        blank=True,
                        default=_socket.gethostname,
                        help_text="System field. (modified on create only)",
                        max_length=60,
                    ),
                ),
                (
                    "hostname_modified",
                    django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
                        blank=True,
                        help_text="System field. (modified on every save)",
                        max_length=50,
                    ),
                ),
                ("device_created", models.CharField(blank=True, max_length=10)),
                ("device_modified", models.CharField(blank=True, max_length=10)),
                (
                    "id",
                    django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
                        blank=True,
                        editable=False,
                        help_text="System auto field. UUID primary key.",
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "report_datetime",
                    models.DateTimeField(
                        default=edc_utils.date.get_utcnow,
                        help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.",
                        validators=[
                            edc_protocol.validators.datetime_not_before_study_start,
                            edc_model.validators.date.datetime_not_future,
                        ],
                        verbose_name="Report Date",
                    ),
                ),
                (
                    "consent_model",
                    models.CharField(editable=False, max_length=50, null=True),
                ),
                (
                    "consent_version",
                    models.CharField(editable=False, max_length=10, null=True),
                ),
                (
                    "singleton_field",
                    models.CharField(
                        editable=False,
                        help_text="auto updated for unique constraint",
                        max_length=50,
                        null=True,
                        unique=True,
                        verbose_name="subject identifier",
                    ),
                ),
                (
                    "residence_ownership",
                    models.CharField(
                        choices=[
                            ("renter", "Rent"),
                            ("owner", "Own themselves"),
                            ("family_owned", "Owned by someone else in family"),
                            (
                                "nonfamily_owned",
                                "Owned by someone else other than family member",
                            ),
                            ("joint_owned", "Owned together with someone"),
                        ],
                        max_length=25,
                        verbose_name="Is the house you live in rented, owned by you (either on your own, or with someone else), or owned by someone else in your family?",
                    ),
                ),
                (
                    "dwelling_value_known",
                    models.CharField(
                        choices=[
                            ("Yes", "Yes"),
                            ("No", "No"),
                            ("dont_know", "Do not know"),
                            ("DWTA", "Don't want to answer"),
                        ],
                        help_text="in local currency",
                        max_length=25,
                        verbose_name="If the owner [you] were to sell this dwelling today, do you know the approximate value?",
                    ),
                ),
                (
                    "dwelling_value",
                    models.IntegerField(
                        blank=True,
                        help_text="in local currency",
                        null=True,
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(9999999999),
                        ],
                        verbose_name="About how much is it worth?",
                    ),
                ),
                (
                    "rooms",
                    models.IntegerField(
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(20),
                        ],
                        verbose_name="How many rooms does your dwelling have in total, without counting the bathrooms/ toilets or hallways/passageways?",
                    ),
                ),
                (
                    "bedrooms",
                    models.IntegerField(
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(10),
                        ],
                        verbose_name="How many rooms are used for sleeping in your dwelling?",
                    ),
                ),
                (
                    "beds",
                    models.IntegerField(
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(10),
                        ],
                        verbose_name="How many beds does your dwelling have in total?",
                    ),
                ),
                (
                    "water_source",
                    models.CharField(
                        choices=[
                            ("piped_into_plot", "Piped into dwelling/yard plot"),
                            ("piped_to_neighbour", "Piped to neighbour"),
                            ("standpipe", "Public tap/standpipe"),
                            ("borehole", "Tube well or borehole"),
                            ("protected_well", "Protected dug well"),
                            ("protected_spring", "Protected spring"),
                            ("rainwater", "Rainwater"),
                            (
                                "bottled_water_improved",
                                "Bottled water, improved source for cooking/hand washing (1-7)",
                            ),
                            ("unprotected_well", "Unprotected dug well"),
                            ("unprotected_spring", "Unprotected spring"),
                            ("tanker", "Tanker truck/cart with small tank"),
                            ("surface_water", "Surface water (river etc.)"),
                            (
                                "bottled_water_unimproved",
                                "Bottle water, unimproved source for cooking/hand washing (9-12)",
                            ),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the main source of drinking water for the household?",
                    ),
                ),
                (
                    "water_source_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER water source, specify",
                    ),
                ),
                (
                    "water_obtain_time",
                    models.CharField(
                        choices=[
                            (
                                "on_premises",
                                "Water on premises (includes water piped to a neighbour)",
                            ),
                            ("less_30min", "Less than 30 minutes"),
                            ("greater_30min", "30 minutes or longer"),
                            ("dont_know", "Don’t know"),
                        ],
                        max_length=25,
                        verbose_name="How long does it take to obtain drinking water?",
                    ),
                ),
                (
                    "toilet",
                    models.CharField(
                        choices=[
                            (
                                "1",
                                "1. Flush/pour flush to piped sewer system – private",
                            ),
                            ("2", "2. Flush/pour flush to septic tank – private "),
                            ("3", "3. Flush/pour flush to pit latrine – private"),
                            (
                                "4",
                                "4. Ventilated improved pit (VIP) latrine – private ",
                            ),
                            ("5", "5. Pit latrine with slab – private"),
                            ("6", "6. Composting toilet – private"),
                            ("7", "7. EcoSan – private"),
                            ("8", "8. Flush/pour flush to piped sewer system – shared"),
                            ("9", "9. Flush/pour flush to septic tank – shared"),
                            ("10", "10. Flush/pour flush to pit latrine – shared"),
                            (
                                "11",
                                "11. Ventilated improved pit (VIP) latrine – shared",
                            ),
                            ("12", "12. Pit latrine with slab – shared"),
                            ("13", "13. Composting toilet – shared"),
                            ("14", "14. EcoSan – shared"),
                            (
                                "15",
                                "15. Flush/pour flush not to sewer/septic tank/pit latrine",
                            ),
                            ("16", "16. Pit latrine with slab (non-washable)"),
                            ("17", "17. Pit latrine without slab/open pit"),
                            ("18", "18. Bucket"),
                            ("19", "19. Hanging toilet/hanging latrine"),
                            ("20", "20. Open defecation (no facility/bush/field)"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        help_text="Note: 'private' (1-7) is a toilet solely used by the household and 'shared' (8-14) is a toilet shared by two or more households.",
                        max_length=25,
                        verbose_name="What type of toilet is mainly used in your household?",
                    ),
                ),
                (
                    "toilet_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER type of toilet, specify",
                    ),
                ),
                (
                    "roof_material",
                    models.CharField(
                        choices=[
                            ("1", "Thatch, Straw"),
                            ("2", "Mud and poles"),
                            ("3", "Tin"),
                            ("4", "Wood"),
                            ("5", "Iron sheet"),
                            ("6", "Tiles "),
                            ("7", "Cement"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the major construction material of the roof?",
                    ),
                ),
                (
                    "roof_material_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER roof material, specify",
                    ),
                ),
                (
                    "eaves",
                    models.CharField(
                        choices=[
                            ("1", "All eaves closed"),
                            ("2", "All eaves open"),
                            ("3", "Partially closed"),
                        ],
                        max_length=25,
                        verbose_name="Are the eaves open, partially or fully closed?",
                    ),
                ),
                (
                    "external_wall_material",
                    models.CharField(
                        choices=[
                            ("1", "Thatch, Straw"),
                            ("2", "Mud and poles"),
                            ("3", "Timber"),
                            ("OPTION_RETIRED", "Un-burnt bricks"),
                            ("5", "Bricks with mud"),
                            ("6", "Bricks with cement"),
                            ("7", "Cement blocks"),
                            ("8", "Stone"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the major construction material of the external wall?",
                    ),
                ),
                (
                    "external_wall_material_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER external wall material, specify",
                    ),
                ),
                (
                    "external_window_material",
                    models.CharField(
                        choices=[
                            ("1", "Glass"),
                            ("2", "Bags"),
                            ("3", "Wood"),
                            ("4", "Iron/metal"),
                            ("5", "Screens"),
                            ("6", "No windows"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the main material on external windows?",
                    ),
                ),
                (
                    "external_window_material_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER external window material, specify",
                    ),
                ),
                (
                    "window_screens",
                    models.CharField(
                        choices=[
                            ("1", "All windows screened"),
                            ("2", "No windows screened"),
                            ("2", "Some windows screened"),
                        ],
                        max_length=25,
                        verbose_name="What is the main screening material of external windows?",
                    ),
                ),
                (
                    "window_screen_type",
                    models.CharField(
                        choices=[
                            ("1", "Wire mesh"),
                            ("2", "Old bednet"),
                            ("3", "No windows screened"),
                            ("4", "No windows"),
                            ("N/A", "Not applicable"),
                        ],
                        max_length=25,
                        verbose_name="Type of screening on external windows",
                    ),
                ),
                (
                    "floor_material",
                    models.CharField(
                        choices=[
                            ("6", "Earth, sand"),
                            ("7", "Dung, wood, planks, palm, bamboo"),
                            ("8", "Parquet, polished wood, vinyl, asphalt strips"),
                            ("9", "Ceramic tiles"),
                            ("10", "Cement"),
                            ("11", "Carpet"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        help_text="If there are similar amounts of more than one type of flooring, select the multiple types that apply. Otherwise select the main type of flooring",
                        max_length=25,
                        verbose_name="What is the major construction material of the floor?",
                    ),
                ),
                (
                    "floor_material_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER floor material, specify",
                    ),
                ),
                (
                    "electricity",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=25,
                        verbose_name="Does your household have electricity?",
                    ),
                ),
                (
                    "lighting_source",
                    models.CharField(
                        choices=[
                            ("1", "Electricity (e.g., hydroelectric or solar)"),
                            ("2", "Paraffin, kerosene or gas lantern "),
                            ("3", "Firewood"),
                            ("4", "Candle"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What is the main source of lighting?",
                    ),
                ),
                (
                    "lighting_source_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER lighting source, specify",
                    ),
                ),
                (
                    "cooking_fuel",
                    models.CharField(
                        choices=[
                            ("1", "Electricity"),
                            ("2", "LPG/natural gas/biogas"),
                            ("3", "Kerosene"),
                            ("4", "Charcoal"),
                            ("5", "Wood"),
                            (
                                "6",
                                "Coal/lignite, straw/shrubs/grass. agricultural crop, animal dung",
                            ),
                            ("7", "No food cooked in the household"),
                            ("OTHER", "Other, specify ..."),
                        ],
                        max_length=25,
                        verbose_name="What type of fuel do you primarily use for cooking?",
                    ),
                ),
                (
                    "cooking_fuel_other",
                    edc_model_fields.fields.other_charfield.OtherCharField(
                        blank=True,
                        max_length=35,
                        null=True,
                        verbose_name="If OTHER cooking fuel, specify",
                    ),
                ),
                (
                    "radio",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Radio",
                    ),
                ),
                (
                    "television",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Television",
                    ),
                ),
                (
                    "mobile_phone",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Mobile phone",
                    ),
                ),
                (
                    "computer",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Computer",
                    ),
                ),
                (
                    "telephone",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Non-mobile telephone",
                    ),
                ),
                (
                    "fridge",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Fridge",
                    ),
                ),
                (
                    "generator",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Generator",
                    ),
                ),
                (
                    "iron",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Flat iron",
                    ),
                ),
                (
                    "bicycle",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Bicycle",
                    ),
                ),
                (
                    "motorcycle",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Motorcycle/scooter (PikiPiki/Boda Boda)",
                    ),
                ),
                (
                    "dala_dala",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Dala Dala",
                    ),
                ),
                (
                    "car",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Car",
                    ),
                ),
                (
                    "motorboat",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Boat with a motor",
                    ),
                ),
                (
                    "large_livestock",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Large Livestock (e.g. cows, bulls, other cattle, horses, donkeys)",
                    ),
                ),
                (
                    "small_animals",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="Small animals (goats, sheep, chickens or other poultry, etc)",
                    ),
                ),
                (
                    "shop",
                    models.CharField(
                        choices=[("Yes", "Yes"), ("No", "No")],
                        max_length=15,
                        verbose_name="A business or shop",
                    ),
                ),
                (
                    "site",
                    models.ForeignKey(
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="sites.site",
                    ),
                ),
                (
                    "subject_visit",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="he_assets_subjectvisit",
                        to="intecomm_subject.subjectvisit",
                    ),
                ),
            ],
            options={
                "verbose_name": "Health Economics: Assets",
                "verbose_name_plural": "Health Economics: Assets",
                "ordering": ("-modified", "-created"),
                "get_latest_by": "modified",
                "abstract": False,
                "default_permissions": (
                    "add",
                    "change",
                    "delete",
                    "view",
                    "export",
                    "import",
                ),
                "default_manager_name": "objects",
                "indexes": [
                    models.Index(
                        fields=["subject_visit", "site", "id"],
                        name="edc_he_heal_subject_52a3a9_idx",
                    ),
                    models.Index(
                        fields=["subject_visit", "report_datetime"],
                        name="edc_he_heal_subject_a2f0a0_idx",
                    ),
                ],
            },
            managers=[
                ("objects", edc_visit_tracking.managers.CrfModelManager()),
                ("on_site", edc_visit_tracking.managers.CrfCurrentSiteManager()),
            ],
        ),
    ]
