class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("sites", "0002_alter_domain_unique"), ("meta_subject", "0001_initial"), ] operations = [ migrations.RemoveField(model_name="historicalpatienthistory", name="abdominal_tenderness"), migrations.RemoveField(model_name="historicalpatienthistory", name="dia_blood_pressure"), migrations.RemoveField(model_name="historicalpatienthistory", name="has_abdominal_tenderness"), migrations.RemoveField(model_name="historicalpatienthistory", name="has_enlarged_liver"), migrations.RemoveField(model_name="historicalpatienthistory", name="heart_rate"), migrations.RemoveField(model_name="historicalpatienthistory", name="irregular_heartbeat"), migrations.RemoveField(model_name="historicalpatienthistory", name="is_heartbeat_regular"), migrations.RemoveField(model_name="historicalpatienthistory", name="jaundice"), migrations.RemoveField(model_name="historicalpatienthistory", name="peripheral_oedema"), migrations.RemoveField(model_name="historicalpatienthistory", name="respiratory_rate"), migrations.RemoveField(model_name="historicalpatienthistory", name="sys_blood_pressure"), migrations.RemoveField(model_name="historicalpatienthistory", name="temperature"), migrations.RemoveField(model_name="historicalpatienthistory", name="waist_circumference"), migrations.RemoveField(model_name="historicalpatienthistory", name="weight"), migrations.RemoveField(model_name="patienthistory", name="abdominal_tenderness"), migrations.RemoveField(model_name="patienthistory", name="dia_blood_pressure"), migrations.RemoveField(model_name="patienthistory", name="has_abdominal_tenderness"), migrations.RemoveField(model_name="patienthistory", name="has_enlarged_liver"), migrations.RemoveField(model_name="patienthistory", name="heart_rate"), migrations.RemoveField(model_name="patienthistory", name="irregular_heartbeat"), migrations.RemoveField(model_name="patienthistory", name="is_heartbeat_regular"), migrations.RemoveField(model_name="patienthistory", name="jaundice"), migrations.RemoveField(model_name="patienthistory", name="peripheral_oedema"), migrations.RemoveField(model_name="patienthistory", name="respiratory_rate"), migrations.RemoveField(model_name="patienthistory", name="sys_blood_pressure"), migrations.RemoveField(model_name="patienthistory", name="temperature"), migrations.RemoveField(model_name="patienthistory", name="waist_circumference"), migrations.RemoveField(model_name="patienthistory", name="weight"), migrations.AddField( model_name="followupvitals", name="oxygen_saturation", field=models.IntegerField( editable=False, help_text="%", null=True, validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(999), ], verbose_name="Oxygen saturation:", ), ), migrations.AddField( model_name="historicalfollowupvitals", name="oxygen_saturation", field=models.IntegerField( editable=False, help_text="%", null=True, validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(999), ], verbose_name="Oxygen saturation:", ), ), migrations.AlterField( model_name="followupvitals", name="respiratory_rate", field=models.IntegerField( editable=False, help_text="breaths/min", null=True, validators=[ django.core.validators.MinValueValidator(6), django.core.validators.MaxValueValidator(50), ], verbose_name="Respiratory rate:", ), ), migrations.AlterField( model_name="historicalfollowupvitals", name="respiratory_rate", field=models.IntegerField( editable=False, help_text="breaths/min", null=True, validators=[ django.core.validators.MinValueValidator(6), django.core.validators.MaxValueValidator(50), ], verbose_name="Respiratory rate:", ), ), migrations.CreateModel( name="PhysicalExam", 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, ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "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", ), ), ( "weight", models.DecimalField( decimal_places=1, help_text="kg", max_digits=4, validators=[ django.core.validators.MinValueValidator(20), django.core.validators.MaxValueValidator(150), ], verbose_name="Weight:", ), ), ( "sys_blood_pressure", models.IntegerField( help_text="in mm. format SYS, e.g. 120", validators=[ django.core.validators.MinValueValidator(50), django.core.validators.MaxValueValidator(220), ], verbose_name="Blood pressure: systolic", ), ), ( "dia_blood_pressure", models.IntegerField( help_text="in Hg. format DIA, e.g. 80", validators=[ django.core.validators.MinValueValidator(20), django.core.validators.MaxValueValidator(150), ], verbose_name="Blood pressure: diastolic", ), ), ( "heart_rate", models.IntegerField( help_text="BPM", validators=[ django.core.validators.MinValueValidator(30), django.core.validators.MaxValueValidator(200), ], verbose_name="Heart rate:", ), ), ( "respiratory_rate", models.IntegerField( editable=False, help_text="breaths/min", null=True, validators=[ django.core.validators.MinValueValidator(6), django.core.validators.MaxValueValidator(50), ], verbose_name="Respiratory rate:", ), ), ( "oxygen_saturation", models.IntegerField( editable=False, help_text="%", null=True, validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(999), ], verbose_name="Oxygen saturation:", ), ), ( "temperature", models.DecimalField( decimal_places=1, help_text="in degrees Celcius", max_digits=3, validators=[ django.core.validators.MinValueValidator(30), django.core.validators.MaxValueValidator(45), ], verbose_name="Temperature:", ), ), ( "is_heartbeat_regular", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Is the heart beat regular?", ), ), ( "irregular_heartbeat", models.TextField( blank=True, null=True, verbose_name= "If the heartbeat is NOT regular, please describe", ), ), ( "waist_circumference", models.DecimalField( decimal_places=1, help_text="in centimeters", max_digits=5, validators=[ django.core.validators.MinValueValidator(50.0), django.core.validators.MaxValueValidator(175.0), ], verbose_name="Waist circumference", ), ), ( "jaundice", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Jaundice", ), ), ( "peripheral_oedema", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Presence of peripheral oedema", ), ), ( "has_abdominal_tenderness", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Abdominal tenderness on palpation", ), ), ( "abdominal_tenderness", models.TextField( blank=True, null=True, verbose_name= "If YES, abdominal tenderness, please describe", ), ), ( "has_enlarged_liver", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Enlarged liver on palpation", ), ), ( "site", models.ForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.PROTECT, to="sites.Site", ), ), ( "subject_visit", models.OneToOneField( on_delete=django.db.models.deletion.PROTECT, to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Patient History", "verbose_name_plural": "Patient History", "abstract": False, }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.CreateModel( name="HistoricalPhysicalExam", 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.", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "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", ), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "weight", models.DecimalField( decimal_places=1, help_text="kg", max_digits=4, validators=[ django.core.validators.MinValueValidator(20), django.core.validators.MaxValueValidator(150), ], verbose_name="Weight:", ), ), ( "sys_blood_pressure", models.IntegerField( help_text="in mm. format SYS, e.g. 120", validators=[ django.core.validators.MinValueValidator(50), django.core.validators.MaxValueValidator(220), ], verbose_name="Blood pressure: systolic", ), ), ( "dia_blood_pressure", models.IntegerField( help_text="in Hg. format DIA, e.g. 80", validators=[ django.core.validators.MinValueValidator(20), django.core.validators.MaxValueValidator(150), ], verbose_name="Blood pressure: diastolic", ), ), ( "heart_rate", models.IntegerField( help_text="BPM", validators=[ django.core.validators.MinValueValidator(30), django.core.validators.MaxValueValidator(200), ], verbose_name="Heart rate:", ), ), ( "respiratory_rate", models.IntegerField( editable=False, help_text="breaths/min", null=True, validators=[ django.core.validators.MinValueValidator(6), django.core.validators.MaxValueValidator(50), ], verbose_name="Respiratory rate:", ), ), ( "oxygen_saturation", models.IntegerField( editable=False, help_text="%", null=True, validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(999), ], verbose_name="Oxygen saturation:", ), ), ( "temperature", models.DecimalField( decimal_places=1, help_text="in degrees Celcius", max_digits=3, validators=[ django.core.validators.MinValueValidator(30), django.core.validators.MaxValueValidator(45), ], verbose_name="Temperature:", ), ), ( "is_heartbeat_regular", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Is the heart beat regular?", ), ), ( "irregular_heartbeat", models.TextField( blank=True, null=True, verbose_name= "If the heartbeat is NOT regular, please describe", ), ), ( "waist_circumference", models.DecimalField( decimal_places=1, help_text="in centimeters", max_digits=5, validators=[ django.core.validators.MinValueValidator(50.0), django.core.validators.MaxValueValidator(175.0), ], verbose_name="Waist circumference", ), ), ( "jaundice", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Jaundice", ), ), ( "peripheral_oedema", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Presence of peripheral oedema", ), ), ( "has_abdominal_tenderness", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Abdominal tenderness on palpation", ), ), ( "abdominal_tenderness", models.TextField( blank=True, null=True, verbose_name= "If YES, abdominal tenderness, please describe", ), ), ( "has_enlarged_liver", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Enlarged liver on palpation", ), ), ("history_date", models.DateTimeField()), ("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="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Patient History", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.AddIndex( model_name="physicalexam", index=models.Index( fields=["subject_visit", "site", "id"], name="meta_subjec_subject_7da1da_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("edc_action_item", "0024_auto_20191024_1000"), ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("meta_subject", "0013_auto_20200119_0013"), ] operations = [ migrations.CreateModel( name="HistoricalBloodResultsLipid", 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.", ), ), ("tracking_identifier", models.CharField(db_index=True, max_length=30)), ("action_identifier", models.CharField(db_index=True, max_length=50)), ( "parent_action_identifier", models.CharField( help_text= "action identifier that links to parent reference model instance.", max_length=30, null=True, ), ), ( "related_action_identifier", models.CharField( help_text= "action identifier that links to related reference model instance.", max_length=30, null=True, ), ), ("action_item_reason", models.TextField(editable=False, null=True)), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "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", ), ), ( "results_abnormal", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Are any of the above results abnormal?", ), ), ( "results_reportable", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], help_text= "If YES, this value will open Adverse Event Form.<br/><br/>Note: On Day 1 only abnormal bloods should not be reported as adverseevents.", max_length=25, verbose_name= "If any results are abnormal, are results within grade III or above?", ), ), ("summary", models.TextField(blank=True, null=True)), ( "lipid_assay_datetime", models.DateTimeField( blank=True, null=True, validators=[ edc_model.validators.date.datetime_not_future ], verbose_name="Result Report Date and Time", ), ), ( "ldl", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="LDL", ), ), ( "ldl_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "ldl_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "ldl_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "hdl", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="HDL", ), ), ( "hdl_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "hdl_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "hdl_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "trig", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="Triglycerides", ), ), ( "trig_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "trig_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "trig_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ("history_date", models.DateTimeField()), ("history_change_reason", models.CharField(max_length=100, null=True)), ( "history_type", models.CharField( choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")], max_length=1, ), ), ( "action_item", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="edc_action_item.ActionItem", ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ( "lipid_requisition", models.ForeignKey( blank=True, db_constraint=False, help_text= "Start typing the requisition identifier or select one from this visit", null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="meta_subject.SubjectRequisition", verbose_name="Requisition", ), ), ( "parent_action_item", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="edc_action_item.ActionItem", ), ), ( "related_action_item", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="edc_action_item.ActionItem", ), ), ( "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="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Blood Result: LIPID", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="BloodResultsLipid", 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, ), ), ("tracking_identifier", models.CharField(max_length=30, unique=True)), ("action_identifier", models.CharField(max_length=50, unique=True)), ( "parent_action_identifier", models.CharField( help_text= "action identifier that links to parent reference model instance.", max_length=30, null=True, ), ), ( "related_action_identifier", models.CharField( help_text= "action identifier that links to related reference model instance.", max_length=30, null=True, ), ), ("action_item_reason", models.TextField(editable=False, null=True)), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "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", ), ), ( "results_abnormal", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Are any of the above results abnormal?", ), ), ( "results_reportable", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], help_text= "If YES, this value will open Adverse Event Form.<br/><br/>Note: On Day 1 only abnormal bloods should not be reported as adverseevents.", max_length=25, verbose_name= "If any results are abnormal, are results within grade III or above?", ), ), ("summary", models.TextField(blank=True, null=True)), ( "lipid_assay_datetime", models.DateTimeField( blank=True, null=True, validators=[ edc_model.validators.date.datetime_not_future ], verbose_name="Result Report Date and Time", ), ), ( "ldl", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="LDL", ), ), ( "ldl_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "ldl_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "ldl_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "hdl", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="HDL", ), ), ( "hdl_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "hdl_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "hdl_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "trig", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="Triglycerides", ), ), ( "trig_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "trig_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "trig_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "action_item", models.ForeignKey( null=True, on_delete=django.db.models.deletion.PROTECT, to="edc_action_item.ActionItem", ), ), ( "lipid_requisition", models.ForeignKey( blank=True, help_text= "Start typing the requisition identifier or select one from this visit", null=True, on_delete=django.db.models.deletion.PROTECT, related_name="lipid", to="meta_subject.SubjectRequisition", verbose_name="Requisition", ), ), ( "parent_action_item", models.ForeignKey( null=True, on_delete=django.db.models.deletion.PROTECT, related_name="+", to="edc_action_item.ActionItem", ), ), ( "related_action_item", models.ForeignKey( null=True, on_delete=django.db.models.deletion.PROTECT, related_name="+", to="edc_action_item.ActionItem", ), ), ( "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, to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Blood Result: LIPID", "verbose_name_plural": "Blood Results: LIPID", "abstract": False, }, managers=[ ("on_site", edc_visit_tracking.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.AddIndex( model_name="bloodresultslipid", index=models.Index( fields=["subject_visit", "site", "id"], name="meta_subjec_subject_c41a0b_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("inte_subject", "0020_auto_20200729_2240"), ] operations = [ migrations.CreateModel( name="HistoricalHealthEconomics", 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.models.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), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "occupation", models.CharField( max_length=50, verbose_name="What is your occupation/profession?", ), ), ( "education_in_years", models.IntegerField( validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(30), ], verbose_name="How many years of education did you compete?", ), ), ( "education_certificate", models.CharField( max_length=50, verbose_name="What is your highest education certificate?", ), ), ( "primary_school", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to primary/elementary school?", ), ), ( "primary_school_in_years", models.IntegerField( validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "secondary_school", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to secondary school?", ), ), ( "secondary_school_in_years", models.IntegerField( blank=True, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "higher_education", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to higher education?", ), ), ( "higher_education_in_years", models.IntegerField( blank=True, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "welfare", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Do you receive any welfare or social service support", ), ), ( "income_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you earn (take home) per month?", ), ), ( "household_income_per_month", models.IntegerField( help_text="in Shilling", verbose_name="What is the total income in your household per month?", ), ), ( "is_highest_earner", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Are you the person who earns the highest income in your household?", ), ), ( "highest_earner", models.CharField( blank=True, max_length=50, null=True, verbose_name="If NO, what is the profession of the person who earns the highest income?", ), ), ( "food_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you/your family spend on food in a month?", ), ), ( "accomodation_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you/your family spend on rent and utilities in a month?", ), ), ( "large_expenditure_year", models.IntegerField( help_text="e.g. furniture, electrical items, cars (in Shilling)", verbose_name="How much have you spent on large items in the last year", ), ), ( "buy_meds_month", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Over the last month, did you get any drugs or have a drug refill?", ), ), ( "diabetic_expenditure_month", models.IntegerField( blank=True, editable=False, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Diabetic drugs", ), ), ( "diabetic_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], editable=False, max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "hypertensive_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Hypertensive drugs", ), ), ( "hypertensive_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "arv_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Antiretroviral drugs", ), ), ( "arv_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "meds_other_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on 'other' drugs", ), ), ( "meds_other_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "expenditure_other_month", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Over the last month, did you spend money on other activities (not drugs) relating to your health?", ), ), ( "expenditure_other_detail", models.TextField( blank=True, null=True, verbose_name="If YES, what was the activity", ), ), ( "expenditure_other", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much was spent on other activities (not drugs) relating to your health?", ), ), ( "expenditure_other_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these activities?", ), ), ( "healthcare_expenditure_month", models.IntegerField( verbose_name="How much in total has been spent on your healthcare in the last month?" ), ), ( "routine_activities", models.CharField( choices=[ ("working", "Working"), ("studying", "Studying"), ("caring_for_children", "Caring for children"), ("OTHER", "Other, please specify"), ], max_length=25, verbose_name="What would you be doing if you had not come to the hospital?", ), ), ( "routine_activities_other", models.CharField( blank=True, max_length=50, null=True, verbose_name="If OTHER, please specify", ), ), ( "off_work_days", models.DecimalField( decimal_places=1, help_text="in days. (1,2,3 etc. If half-day 0.5)", max_digits=4, verbose_name="How much time did you take off work?", ), ), ( "travel_time", models.CharField( help_text="in hours and minutes (format HH:MM)", max_length=5, verbose_name="How long did it take you to reach here?", ), ), ( "hospital_time", models.CharField( help_text="in hours and minutes (format HH:MM)", max_length=5, verbose_name="How much time did you spend at the hospital?", ), ), ( "lost_income", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you lose earnings as a result? ", ), ), ( "lost_income_amount", models.IntegerField( blank=True, null=True, verbose_name="If Yes, how much did you lose?", ), ), ( "childcare", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="Did you ask anyone else, such as your family member, friend to look after your child/children in order to come here?", ), ), ( "childcare_source", models.CharField( choices=[ ("N/A", "Not applicable"), ("working", "Working"), ("studying", "Studying"), ("caring_for_children", "Caring for children"), ("house_maintenance", "House maintenance"), ("nothing", "Nothing"), ("OTHER", "Other, specify"), ], default="N/A", max_length=25, verbose_name="If Yes, what would they have been doing if they had not stayed to look after your child or children?", ), ), ( "childcare_source_timeoff", models.DecimalField( blank=True, decimal_places=1, help_text="in days. (1,2,3 etc. If half-day 0.5)", max_digits=4, null=True, verbose_name="How much time did a family member, friend take off work to look after your child or children?", ), ), ( "transport_old", models.CharField( choices=[ ("bus", "Bus"), ("train", "Train"), ("ambulance", "Ambulance"), ("private_taxi", "Private taxi"), ("own_bicycle", "Own bicycle"), ("hired_motorbike", "Hired motorbike"), ("own_car", "Own car"), ("own_motorbike", "Own motorbike"), ("hired_bicycle", "Hired bicycle"), ("foot", "Foot"), ("OTHER", "Other, specify"), ], max_length=25, verbose_name="Which form of transport did you take to get to the hospital today?", ), ), ( "transport_cost", models.IntegerField( help_text="in Shilling", verbose_name="How much did you spend on transport in total?", ), ), ( "transport_barter", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you sell anything to pay for your visit today?", ), ), ( "transport_borrow", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you take any loans to pay for your visit?", ), ), ( "health_insurance", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Do you have private healthcare insurance?", ), ), ( "health_insurance_pay", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If Yes, how much do you pay towards your contributions to healthcare insurance every month?", ), ), ("history_date", models.DateTimeField()), ("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="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Health Economics", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="HealthEconomics", 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.models.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), ), ( "occupation", models.CharField( max_length=50, verbose_name="What is your occupation/profession?", ), ), ( "education_in_years", models.IntegerField( validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(30), ], verbose_name="How many years of education did you compete?", ), ), ( "education_certificate", models.CharField( max_length=50, verbose_name="What is your highest education certificate?", ), ), ( "primary_school", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to primary/elementary school?", ), ), ( "primary_school_in_years", models.IntegerField( validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "secondary_school", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to secondary school?", ), ), ( "secondary_school_in_years", models.IntegerField( blank=True, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "higher_education", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to higher education?", ), ), ( "higher_education_in_years", models.IntegerField( blank=True, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "welfare", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Do you receive any welfare or social service support", ), ), ( "income_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you earn (take home) per month?", ), ), ( "household_income_per_month", models.IntegerField( help_text="in Shilling", verbose_name="What is the total income in your household per month?", ), ), ( "is_highest_earner", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Are you the person who earns the highest income in your household?", ), ), ( "highest_earner", models.CharField( blank=True, max_length=50, null=True, verbose_name="If NO, what is the profession of the person who earns the highest income?", ), ), ( "food_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you/your family spend on food in a month?", ), ), ( "accomodation_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you/your family spend on rent and utilities in a month?", ), ), ( "large_expenditure_year", models.IntegerField( help_text="e.g. furniture, electrical items, cars (in Shilling)", verbose_name="How much have you spent on large items in the last year", ), ), ( "buy_meds_month", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Over the last month, did you get any drugs or have a drug refill?", ), ), ( "diabetic_expenditure_month", models.IntegerField( blank=True, editable=False, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Diabetic drugs", ), ), ( "diabetic_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], editable=False, max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "hypertensive_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Hypertensive drugs", ), ), ( "hypertensive_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "arv_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Antiretroviral drugs", ), ), ( "arv_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "meds_other_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on 'other' drugs", ), ), ( "meds_other_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "expenditure_other_month", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Over the last month, did you spend money on other activities (not drugs) relating to your health?", ), ), ( "expenditure_other_detail", models.TextField( blank=True, null=True, verbose_name="If YES, what was the activity", ), ), ( "expenditure_other", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much was spent on other activities (not drugs) relating to your health?", ), ), ( "expenditure_other_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these activities?", ), ), ( "healthcare_expenditure_month", models.IntegerField( verbose_name="How much in total has been spent on your healthcare in the last month?" ), ), ( "routine_activities", models.CharField( choices=[ ("working", "Working"), ("studying", "Studying"), ("caring_for_children", "Caring for children"), ("OTHER", "Other, please specify"), ], max_length=25, verbose_name="What would you be doing if you had not come to the hospital?", ), ), ( "routine_activities_other", models.CharField( blank=True, max_length=50, null=True, verbose_name="If OTHER, please specify", ), ), ( "off_work_days", models.DecimalField( decimal_places=1, help_text="in days. (1,2,3 etc. If half-day 0.5)", max_digits=4, verbose_name="How much time did you take off work?", ), ), ( "travel_time", models.CharField( help_text="in hours and minutes (format HH:MM)", max_length=5, verbose_name="How long did it take you to reach here?", ), ), ( "hospital_time", models.CharField( help_text="in hours and minutes (format HH:MM)", max_length=5, verbose_name="How much time did you spend at the hospital?", ), ), ( "lost_income", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you lose earnings as a result? ", ), ), ( "lost_income_amount", models.IntegerField( blank=True, null=True, verbose_name="If Yes, how much did you lose?", ), ), ( "childcare", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="Did you ask anyone else, such as your family member, friend to look after your child/children in order to come here?", ), ), ( "childcare_source", models.CharField( choices=[ ("N/A", "Not applicable"), ("working", "Working"), ("studying", "Studying"), ("caring_for_children", "Caring for children"), ("house_maintenance", "House maintenance"), ("nothing", "Nothing"), ("OTHER", "Other, specify"), ], default="N/A", max_length=25, verbose_name="If Yes, what would they have been doing if they had not stayed to look after your child or children?", ), ), ( "childcare_source_timeoff", models.DecimalField( blank=True, decimal_places=1, help_text="in days. (1,2,3 etc. If half-day 0.5)", max_digits=4, null=True, verbose_name="How much time did a family member, friend take off work to look after your child or children?", ), ), ( "transport_old", models.CharField( choices=[ ("bus", "Bus"), ("train", "Train"), ("ambulance", "Ambulance"), ("private_taxi", "Private taxi"), ("own_bicycle", "Own bicycle"), ("hired_motorbike", "Hired motorbike"), ("own_car", "Own car"), ("own_motorbike", "Own motorbike"), ("hired_bicycle", "Hired bicycle"), ("foot", "Foot"), ("OTHER", "Other, specify"), ], max_length=25, verbose_name="Which form of transport did you take to get to the hospital today?", ), ), ( "transport_cost", models.IntegerField( help_text="in Shilling", verbose_name="How much did you spend on transport in total?", ), ), ( "transport_barter", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you sell anything to pay for your visit today?", ), ), ( "transport_borrow", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you take any loans to pay for your visit?", ), ), ( "health_insurance", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Do you have private healthcare insurance?", ), ), ( "health_insurance_pay", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If Yes, how much do you pay towards your contributions to healthcare insurance every month?", ), ), ( "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, to="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Health Economics", "verbose_name_plural": "Health Economics", "ordering": ("-modified", "-created"), "get_latest_by": "modified", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.AddIndex( model_name="healtheconomics", index=models.Index( fields=["subject_visit", "site", "id"], name="inte_subjec_subject_db3803_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("mocca_subject", "0004_remove_reasonforvisit_health_services"), ] operations = [ migrations.CreateModel( name="PatientHealth", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text= "If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name= "Any comments related to status of this CRF", ), ), ( "ph9interst", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Little interest or pleasure in doing things", ), ), ( "ph9feel", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name="Feeling down, depressed or hopeless", ), ), ( "ph9troubl", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Trouble falling/staying asleep, sleeping too much", ), ), ( "ph9tired", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name="Feeling tired or having little energy", ), ), ( "ph9appetit", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name="Poor appetite or over eating", ), ), ( "ph9badabt", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Feeling bad about yourself or that you are a failure or have let yourself or your family down", ), ), ( "ph9concen", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Trouble concentrating on things such as reading the newspapers or watching television", ), ), ( "ph9moving", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Moving or speaking so slowly that other people could have noticed or the opposite: being so fidgety or restless that you have been moving around a lot more than usual", ), ), ( "phpthough", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Thoughts that you would be better off dead or of hurting yourself in some way", ), ), ( "ph9functio", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "If you checked off any problems on this questionnaire so far, how difficult have these problems made it for you to do your work, take care of things at home or get along with other people?", ), ), ( "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, to="mocca_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Patient Health Questionnaire-9 (PHQ9-)", "verbose_name_plural": "Patient Health Questionnaires-9 (PHQ9-)", "ordering": ("-modified", "-created"), "get_latest_by": "modified", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.CreateModel( name="HistoricalPatientHealth", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text= "If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name= "Any comments related to status of this CRF", ), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "ph9interst", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Little interest or pleasure in doing things", ), ), ( "ph9feel", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name="Feeling down, depressed or hopeless", ), ), ( "ph9troubl", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Trouble falling/staying asleep, sleeping too much", ), ), ( "ph9tired", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name="Feeling tired or having little energy", ), ), ( "ph9appetit", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name="Poor appetite or over eating", ), ), ( "ph9badabt", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Feeling bad about yourself or that you are a failure or have let yourself or your family down", ), ), ( "ph9concen", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Trouble concentrating on things such as reading the newspapers or watching television", ), ), ( "ph9moving", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Moving or speaking so slowly that other people could have noticed or the opposite: being so fidgety or restless that you have been moving around a lot more than usual", ), ), ( "phpthough", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "Thoughts that you would be better off dead or of hurting yourself in some way", ), ), ( "ph9functio", models.CharField( choices=[ ("not_at_all", "Not at all"), ("several_days", "Several days"), ("more_than_half", "More than half the days"), ("nearly_everyday", "Nearly everyday"), ], max_length=15, verbose_name= "If you checked off any problems on this questionnaire so far, how difficult have these problems made it for you to do your work, take care of things at home or get along with other people?", ), ), ("history_date", models.DateTimeField()), ("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="mocca_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Patient Health Questionnaire-9 (PHQ9-)", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.AddIndex( model_name="patienthealth", index=models.Index( fields=["subject_visit", "site", "id"], name="mocca_subje_subject_e0c51a_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("meta_subject", "0037_auto_20200517_0207"), ] operations = [ migrations.AlterField( model_name="historicalmissedvisit", name="contact_attempts_count", field=models.IntegerField( blank=True, help_text="Not including pre-appointment reminders", null=True, validators=[django.core.validators.MinValueValidator(1)], verbose_name= "Number of attempts made to contact participant since the expected appointment date", ), ), migrations.AlterField( model_name="historicalmissedvisit", name="contact_attempts_explained", field=models.TextField( blank=True, null=True, verbose_name= "If contact not made and less than 3 attempts, please explain", ), ), migrations.AlterField( model_name="missedvisit", name="contact_attempts_count", field=models.IntegerField( blank=True, help_text="Not including pre-appointment reminders", null=True, validators=[django.core.validators.MinValueValidator(1)], verbose_name= "Number of attempts made to contact participant since the expected appointment date", ), ), migrations.AlterField( model_name="missedvisit", name="contact_attempts_explained", field=models.TextField( blank=True, null=True, verbose_name= "If contact not made and less than 3 attempts, please explain", ), ), migrations.CreateModel( name="HistoricalGlucose", 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), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "fasted", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, null=True, verbose_name="Has the participant fasted?", ), ), ( "fasted_duration_str", models.CharField( blank=True, help_text= "Duration of fast. Format is `HHhMMm`. For example 1h23m, 12h7m, etc", max_length=8, null=True, validators=[ django.core.validators.RegexValidator( "^([0-9]{1,3}h([0-5]?[0-9]m)?)$", message= "Invalid format. Expected something like 1h20m, 11h5m, etc", ) ], verbose_name= "How long have they fasted in hours and/or minutes?", ), ), ( "fasted_duration_minutes", models.IntegerField(help_text="system calculated value", null=True), ), ( "fasting_glucose", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, verbose_name="Fasting glucose <u>level</u>", ), ), ( "fasting_glucose_quantifier", models.CharField( choices=[ ("=", "="), (">", ">"), (">=", ">="), ("<", "<"), ("<=", "<="), ], default="=", max_length=10, ), ), ( "fasting_glucose_units", models.CharField( blank=True, choices=[("mg/dL", "mg/dL"), ("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="Units (fasting glucose)", ), ), ( "fasting_glucose_datetime", models.DateTimeField( blank=True, null=True, verbose_name= "<u>Time</u> fasting glucose <u>level</u> measured", ), ), ( "ogtt_base_datetime", models.DateTimeField( blank=True, help_text="(glucose solution given)", null=True, verbose_name= "<u>Time</u> oral glucose solution was given", ), ), ( "ogtt_two_hr", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, verbose_name= "Blood glucose <u>level</u> 2-hours after oral glucose solution given", ), ), ( "ogtt_two_hr_quantifier", models.CharField( choices=[ ("=", "="), (">", ">"), (">=", ">="), ("<", "<"), ("<=", "<="), ], default="=", max_length=10, ), ), ( "ogtt_two_hr_units", models.CharField( blank=True, choices=[("mg/dL", "mg/dL"), ("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="Units (Blood glucose 2hrs after...)", ), ), ( "ogtt_two_hr_datetime", models.DateTimeField( blank=True, help_text="(2 hours after glucose solution given)", null=True, verbose_name= "<u>Time</u> blood glucose measured 2-hours after oral glucose solution given", ), ), ( "ifg_performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the IFG test performed?", ), ), ( "ifg_not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ( "ogtt_performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the OGTT test performed?", ), ), ( "ogtt_not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ("history_date", models.DateTimeField()), ("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="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Glucose (IFG, OGTT)", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="Glucose", 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), ), ( "fasted", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, null=True, verbose_name="Has the participant fasted?", ), ), ( "fasted_duration_str", models.CharField( blank=True, help_text= "Duration of fast. Format is `HHhMMm`. For example 1h23m, 12h7m, etc", max_length=8, null=True, validators=[ django.core.validators.RegexValidator( "^([0-9]{1,3}h([0-5]?[0-9]m)?)$", message= "Invalid format. Expected something like 1h20m, 11h5m, etc", ) ], verbose_name= "How long have they fasted in hours and/or minutes?", ), ), ( "fasted_duration_minutes", models.IntegerField(help_text="system calculated value", null=True), ), ( "fasting_glucose", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, verbose_name="Fasting glucose <u>level</u>", ), ), ( "fasting_glucose_quantifier", models.CharField( choices=[ ("=", "="), (">", ">"), (">=", ">="), ("<", "<"), ("<=", "<="), ], default="=", max_length=10, ), ), ( "fasting_glucose_units", models.CharField( blank=True, choices=[("mg/dL", "mg/dL"), ("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="Units (fasting glucose)", ), ), ( "fasting_glucose_datetime", models.DateTimeField( blank=True, null=True, verbose_name= "<u>Time</u> fasting glucose <u>level</u> measured", ), ), ( "ogtt_base_datetime", models.DateTimeField( blank=True, help_text="(glucose solution given)", null=True, verbose_name= "<u>Time</u> oral glucose solution was given", ), ), ( "ogtt_two_hr", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, verbose_name= "Blood glucose <u>level</u> 2-hours after oral glucose solution given", ), ), ( "ogtt_two_hr_quantifier", models.CharField( choices=[ ("=", "="), (">", ">"), (">=", ">="), ("<", "<"), ("<=", "<="), ], default="=", max_length=10, ), ), ( "ogtt_two_hr_units", models.CharField( blank=True, choices=[("mg/dL", "mg/dL"), ("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="Units (Blood glucose 2hrs after...)", ), ), ( "ogtt_two_hr_datetime", models.DateTimeField( blank=True, help_text="(2 hours after glucose solution given)", null=True, verbose_name= "<u>Time</u> blood glucose measured 2-hours after oral glucose solution given", ), ), ( "ifg_performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the IFG test performed?", ), ), ( "ifg_not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ( "ogtt_performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the OGTT test performed?", ), ), ( "ogtt_not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ( "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, to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Glucose (IFG, OGTT)", "verbose_name_plural": "Glucose (IFG, OGTT)", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.AddIndex( model_name="glucose", index=models.Index( fields=["subject_visit", "site", "id"], name="meta_subjec_subject_35e440_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("sites", "0002_alter_domain_unique"), ("inte_lists", "0006_auto_20200812_0317"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("inte_subject", "0035_auto_20200821_0009"), ] operations = [ migrations.CreateModel( name="ClinicalReview", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text="If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name="Any comments related to status of this CRF", ), ), ( "hiv_tested", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if previously diagnosed. `Since last seen` includes today.", max_length=15, verbose_name="Since last seen, was the patient tested for HIV infection?", ), ), ( "hiv_test_date", models.DateField( blank=True, null=True, verbose_name="Date test requested" ), ), ( "hiv_reason_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "hiv_dx", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", max_length=15, verbose_name="As of today, was the patient <u>newly</u> diagnosed with HIV infection?", ), ), ( "hypertension_tested", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if previously diagnosed. `Since last seen` includes today.", max_length=15, verbose_name="Since last seen, was the patient tested for hypertension?", ), ), ( "hypertension_test_date", models.DateField( blank=True, null=True, verbose_name="Date test requested" ), ), ( "hypertension_reason_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "hypertension_dx", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", max_length=15, verbose_name="As of today, was the patient <u>newly</u> diagnosed with hypertension?", ), ), ( "diabetes_tested", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if previously diagnosed. `Since last seen` includes today.", max_length=15, verbose_name="Since last seen, was the patient tested for diabetes?", ), ), ( "diabetes_test_date", models.DateField( blank=True, null=True, verbose_name="Date test requested" ), ), ( "diabetes_reason_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "diabetes_dx", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", max_length=15, verbose_name="As of today, was the patient <u>newly</u> diagnosed with diabetes?", ), ), ( "test_date", models.DateField( blank=True, editable=False, help_text="question_retired", null=True, verbose_name="Date test requested", ), ), ( "reason_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "diabetes_reason", models.ManyToManyField( blank=True, related_name="diabetes_tested_reason", to="inte_lists.ReasonsForTesting", verbose_name="Why was the patient tested for diabetes?", ), ), ( "hiv_reason", models.ManyToManyField( blank=True, related_name="hiv_tested_reason", to="inte_lists.ReasonsForTesting", verbose_name="Why was the patient tested for HIV infection?", ), ), ( "hypertension_reason", models.ManyToManyField( blank=True, related_name="hypertension_tested_reason", to="inte_lists.ReasonsForTesting", verbose_name="Why was the patient tested for hypertension?", ), ), ( "reason", models.ManyToManyField( blank=True, editable=False, help_text="question_retired", to="inte_lists.ReasonsForTesting", verbose_name="Why was the patient tested?", ), ), ( "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, to="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Clinical Review", "verbose_name_plural": "Clinical Reviews", "ordering": ("-modified", "-created"), "get_latest_by": "modified", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.CreateModel( name="HistoricalClinicalReview", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text="If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name="Any comments related to status of this CRF", ), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "hiv_tested", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if previously diagnosed. `Since last seen` includes today.", max_length=15, verbose_name="Since last seen, was the patient tested for HIV infection?", ), ), ( "hiv_test_date", models.DateField( blank=True, null=True, verbose_name="Date test requested" ), ), ( "hiv_reason_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "hiv_dx", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", max_length=15, verbose_name="As of today, was the patient <u>newly</u> diagnosed with HIV infection?", ), ), ( "hypertension_tested", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if previously diagnosed. `Since last seen` includes today.", max_length=15, verbose_name="Since last seen, was the patient tested for hypertension?", ), ), ( "hypertension_test_date", models.DateField( blank=True, null=True, verbose_name="Date test requested" ), ), ( "hypertension_reason_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "hypertension_dx", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", max_length=15, verbose_name="As of today, was the patient <u>newly</u> diagnosed with hypertension?", ), ), ( "diabetes_tested", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if previously diagnosed. `Since last seen` includes today.", max_length=15, verbose_name="Since last seen, was the patient tested for diabetes?", ), ), ( "diabetes_test_date", models.DateField( blank=True, null=True, verbose_name="Date test requested" ), ), ( "diabetes_reason_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "diabetes_dx", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", max_length=15, verbose_name="As of today, was the patient <u>newly</u> diagnosed with diabetes?", ), ), ( "test_date", models.DateField( blank=True, editable=False, help_text="question_retired", null=True, verbose_name="Date test requested", ), ), ( "reason_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ("history_date", models.DateTimeField()), ("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="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Clinical Review", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="HistoricalMedications", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text="If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name="Any comments related to status of this CRF", ), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "refill_hiv", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if subject has not been prescribed medication for HIV infection.", max_length=25, verbose_name="Is the patient filling / refilling HIV medications?", ), ), ( "refill_diabetes", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if subject has not been prescribed medication for Diabetes.", max_length=25, verbose_name="Is the patient filling / refilling Diabetes medications?", ), ), ( "refill_hypertension", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if subject has not been prescribed medication for Hypertension.", max_length=25, verbose_name="Is the patient filling / refilling Hypertension medications?", ), ), ("history_date", models.DateTimeField()), ("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="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Medications", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="Medications", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text="If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name="Any comments related to status of this CRF", ), ), ( "refill_hiv", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if subject has not been prescribed medication for HIV infection.", max_length=25, verbose_name="Is the patient filling / refilling HIV medications?", ), ), ( "refill_diabetes", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if subject has not been prescribed medication for Diabetes.", max_length=25, verbose_name="Is the patient filling / refilling Diabetes medications?", ), ), ( "refill_hypertension", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", help_text="Select `not applicable` if subject has not been prescribed medication for Hypertension.", max_length=25, verbose_name="Is the patient filling / refilling Hypertension medications?", ), ), ( "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, to="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Medications", "verbose_name_plural": "Medications", "ordering": ("-modified", "-created"), "get_latest_by": "modified", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="diabetic", new_name="diabetes", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="diabetic_tested", new_name="diabetes_tested", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="diabetic_tested_ago", new_name="diabetes_tested_ago", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="diabetic_tested_date", new_name="diabetes_tested_date", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="hypertensive", new_name="hypertension", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="hypertensive_tested", new_name="hypertension_tested", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="hypertensive_tested_ago", new_name="hypertension_tested_ago", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="hypertensive_tested_date", new_name="hypertension_tested_date", ), migrations.RenameField( model_name="healtheconomics", old_name="diabetic_expenditure_month", new_name="diabetes_expenditure_month", ), migrations.RenameField( model_name="healtheconomics", old_name="diabetic_payee", new_name="diabetes_payee", ), migrations.RenameField( model_name="healtheconomics", old_name="hypertensive_expenditure_month", new_name="hypertension_expenditure_month", ), migrations.RenameField( model_name="healtheconomics", old_name="hypertensive_payee", new_name="hypertension_payee", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="diabetic", new_name="diabetes", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="diabetic_tested", new_name="diabetes_tested", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="diabetic_tested_ago", new_name="diabetes_tested_ago", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="diabetic_tested_date", new_name="diabetes_tested_date", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="hypertensive", new_name="hypertension", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="hypertensive_tested", new_name="hypertension_tested", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="hypertensive_tested_ago", new_name="hypertension_tested_ago", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="hypertensive_tested_date", new_name="hypertension_tested_date", ), migrations.RenameField( model_name="historicalhealtheconomics", old_name="diabetic_expenditure_month", new_name="diabetes_expenditure_month", ), migrations.RenameField( model_name="historicalhealtheconomics", old_name="diabetic_payee", new_name="diabetes_payee", ), migrations.RenameField( model_name="historicalhealtheconomics", old_name="hypertensive_expenditure_month", new_name="hypertension_expenditure_month", ), migrations.RenameField( model_name="historicalhealtheconomics", old_name="hypertensive_payee", new_name="hypertension_payee", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="diabetic_tested_estimated_datetime", new_name="diabetes_tested_estimated_datetime", ), migrations.RenameField( model_name="clinicalreviewbaseline", old_name="hypertensive_tested_estimated_datetime", new_name="hypertension_tested_estimated_datetime", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="diabetic_tested_estimated_datetime", new_name="diabetes_tested_estimated_datetime", ), migrations.RenameField( model_name="historicalclinicalreviewbaseline", old_name="hypertensive_tested_estimated_datetime", new_name="hypertension_tested_estimated_datetime", ), migrations.AddIndex( model_name="medications", index=models.Index( fields=["subject_visit", "site", "id"], name="inte_subjec_subject_8345ac_idx", ), ), migrations.AddIndex( model_name="clinicalreview", index=models.Index( fields=["subject_visit", "site", "id"], name="inte_subjec_subject_059fb3_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("meta_subject", "0011_auto_20200118_1854"), ] operations = [ migrations.CreateModel( name="HistoricalMalariaTest", 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.", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "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", ), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the malaria rapid test performed?", ), ), ( "not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ( "diagnostic_type", models.CharField( choices=[ ("rapid_test", "Rapid test"), ("microscopy", "Microscopy"), ], max_length=15, verbose_name="Diagnostic performed by ...", ), ), ( "result", models.CharField( choices=[ ("present", "Present"), ("absent", "Absent"), ("N/A", "Not Applicable"), ], default="N/A", max_length=25, verbose_name="Result", ), ), ("history_date", models.DateTimeField()), ("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="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Malaria Test", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="MalariaTest", 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, ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "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", ), ), ( "performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the malaria rapid test performed?", ), ), ( "not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ( "diagnostic_type", models.CharField( choices=[ ("rapid_test", "Rapid test"), ("microscopy", "Microscopy"), ], max_length=15, verbose_name="Diagnostic performed by ...", ), ), ( "result", models.CharField( choices=[ ("present", "Present"), ("absent", "Absent"), ("N/A", "Not Applicable"), ], default="N/A", max_length=25, verbose_name="Result", ), ), ( "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, to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Malaria Test", "abstract": False, }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.RemoveField( model_name="malariarapidtest", name="site", ), migrations.RemoveField( model_name="malariarapidtest", name="subject_visit", ), migrations.DeleteModel(name="HistoricalMalariaRapidTest", ), migrations.DeleteModel(name="MalariaRapidTest", ), migrations.AddIndex( model_name="malariatest", index=models.Index( fields=["subject_visit", "site", "id"], name="meta_subjec_subject_038dbe_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("sites", "0002_alter_domain_unique"), ("meta_lists", "0010_auto_20200617_1738"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("meta_subject", "0050_auto_20200614_1934"), ] operations = [ migrations.CreateModel( name="HistoricalSubjectVisitMissed", 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", ), ), ( "survival_status", models.CharField( choices=[ ("alive", "Alive"), ("dead", "Deceased"), ("unknown", "Unknown"), ], max_length=25, verbose_name="Survival status", ), ), ( "contact_attempted", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], help_text="Not including pre-appointment reminders", max_length=25, verbose_name= "Were any attempts made to contact the participant since the expected appointment date?", ), ), ( "contact_attempts_count", models.IntegerField( blank=True, help_text="Not including pre-appointment reminders", null=True, validators=[ django.core.validators.MinValueValidator(1) ], verbose_name= "Number of attempts made to contact participantsince the expected appointment date", ), ), ( "contact_attempts_explained", models.TextField( blank=True, null=True, verbose_name= "If contact not made and less than 3 attempts, please explain", ), ), ( "contact_last_date", models.DateField( blank=True, default=edc_utils.date.get_utcnow, null=True, validators=[ edc_model.validators.date.date_not_future, edc_protocol.validators. date_not_before_study_start, ], verbose_name="Date of last telephone contact/attempt", ), ), ( "contact_made", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", max_length=25, verbose_name= "Was contact finally made with the participant?", ), ), ( "missed_reasons_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "comment", models.TextField( blank=True, null=True, verbose_name="Please provide further details, if any", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ("history_date", models.DateTimeField()), ("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="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Missed Visit Report", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="SubjectVisitMissed", 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", ), ), ( "survival_status", models.CharField( choices=[ ("alive", "Alive"), ("dead", "Deceased"), ("unknown", "Unknown"), ], max_length=25, verbose_name="Survival status", ), ), ( "contact_attempted", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], help_text="Not including pre-appointment reminders", max_length=25, verbose_name= "Were any attempts made to contact the participant since the expected appointment date?", ), ), ( "contact_attempts_count", models.IntegerField( blank=True, help_text="Not including pre-appointment reminders", null=True, validators=[ django.core.validators.MinValueValidator(1) ], verbose_name= "Number of attempts made to contact participantsince the expected appointment date", ), ), ( "contact_attempts_explained", models.TextField( blank=True, null=True, verbose_name= "If contact not made and less than 3 attempts, please explain", ), ), ( "contact_last_date", models.DateField( blank=True, default=edc_utils.date.get_utcnow, null=True, validators=[ edc_model.validators.date.date_not_future, edc_protocol.validators. date_not_before_study_start, ], verbose_name="Date of last telephone contact/attempt", ), ), ( "contact_made", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], default="N/A", max_length=25, verbose_name= "Was contact finally made with the participant?", ), ), ( "missed_reasons_other", edc_model.models.fields.other_charfield.OtherCharField( blank=True, max_length=35, null=True, verbose_name="If other, please specify ...", ), ), ( "comment", models.TextField( blank=True, null=True, verbose_name="Please provide further details, if any", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "missed_reasons", models.ManyToManyField( blank=True, related_name="_subjectvisitmissed_missed_reasons_+", to="meta_lists.SubjectVisitMissedReasons", ), ), ( "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, to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Missed Visit Report", "verbose_name_plural": "Missed Visit Report", "ordering": ("-modified", "-created"), "get_latest_by": "modified", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.RemoveField( model_name="missedvisit", name="missed_reasons", ), migrations.RemoveField( model_name="missedvisit", name="site", ), migrations.RemoveField( model_name="missedvisit", name="subject_visit", ), migrations.DeleteModel(name="HistoricalMissedVisit", ), migrations.DeleteModel(name="MissedVisit", ), migrations.AddIndex( model_name="subjectvisitmissed", index=models.Index( fields=["subject_visit", "site", "id"], name="meta_subjec_subject_89b092_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("inte_lists", "0007_auto_20200910_1742"), ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("inte_subject", "0053_auto_20200910_2201"), ] operations = [ migrations.CreateModel( name="ComplicationsFollowup", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text= "If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name= "Any comments related to status of this CRF", ), ), ( "stroke", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Stroke", ), ), ( "stroke_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "heart_attack", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Heart attack / heart failure", ), ), ( "heart_attack_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "renal_disease", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Renal (kidney) disease", ), ), ( "renal_disease_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "vision", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Vision problems (e.g. blurred vision)", ), ), ( "vision_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "numbness", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Numbness / burning sensation", ), ), ( "numbness_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "foot_ulcers", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Foot ulcers", ), ), ( "foot_ulcers_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "complications", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], default="No", max_length=25, verbose_name= "Are there any other major complications to report?", ), ), ( "complications_other", models.TextField(blank=True, help_text="Please include dates", null=True), ), ( "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, to="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Complications: Followup", "verbose_name_plural": "Complications: Followup", "ordering": ("-modified", "-created"), "get_latest_by": "modified", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.CreateModel( name="HistoricalComplicationsFollowup", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text= "If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name= "Any comments related to status of this CRF", ), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "stroke", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Stroke", ), ), ( "stroke_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "heart_attack", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Heart attack / heart failure", ), ), ( "heart_attack_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "renal_disease", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Renal (kidney) disease", ), ), ( "renal_disease_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "vision", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Vision problems (e.g. blurred vision)", ), ), ( "vision_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "numbness", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Numbness / burning sensation", ), ), ( "numbness_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "foot_ulcers", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Foot ulcers", ), ), ( "foot_ulcers_date", models.DateField( blank=True, help_text= "If exact date not known, see SOP on how to estimate a date.", null=True, verbose_name="If yes, date", ), ), ( "complications", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], default="No", max_length=25, verbose_name= "Are there any other major complications to report?", ), ), ( "complications_other", models.TextField(blank=True, help_text="Please include dates", null=True), ), ("history_date", models.DateTimeField()), ("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="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Complications: Followup", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.AddField( model_name="clinicalreview", name="complications", field=models.CharField( choices=[("Yes", "Yes"), ("No", "No")], default="No", help_text="If Yes, complete the `Complications` CRF", max_length=15, verbose_name= "Since last seen, has the patient had any complications", ), preserve_default=False, ), migrations.AddField( model_name="historicalclinicalreview", name="complications", field=models.CharField( choices=[("Yes", "Yes"), ("No", "No")], default="No", help_text="If Yes, complete the `Complications` CRF", max_length=15, verbose_name= "Since last seen, has the patient had any complications", ), preserve_default=False, ), migrations.AddIndex( model_name="complicationsfollowup", index=models.Index( fields=["subject_visit", "site", "id"], name="inte_subjec_subject_c92cd4_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("sites", "0002_alter_domain_unique"), ("inte_subject", "0030_auto_20200813_1825"), ] operations = [ migrations.AlterField( model_name="historicalindicators", name="height", field=edc_model.models.fields.height.HeightField(blank=True, null=True), ), migrations.AlterField( model_name="historicalindicators", name="weight", field=edc_model.models.fields.weight.WeightField(blank=True, null=True), ), migrations.AlterField( model_name="indicators", name="height", field=edc_model.models.fields.height.HeightField(blank=True, null=True), ), migrations.AlterField( model_name="indicators", name="weight", field=edc_model.models.fields.weight.WeightField(blank=True, null=True), ), migrations.CreateModel( name="HistoricalFamilyHistory", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text="If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name="Any comments related to status of this CRF", ), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "hypertension_in_household", models.CharField( choices=[ ("No", "No"), ("yes_spouse", "Yes, my spouse"), ("yes_parents", "Yes, one of my parents living with me"), ("yes_relative", "Yes, another relative living with me"), ], max_length=25, verbose_name="Do you know if anyone else in your household has <ul>high blood pressure</ul?", ), ), ( "diabetes_in_household", models.CharField( choices=[ ("No", "No"), ("yes_spouse", "Yes, my spouse"), ("yes_parents", "Yes, one of my parents living with me"), ("yes_relative", "Yes, another relative living with me"), ], max_length=25, verbose_name="Do you know if anyone else in your household has <ul>diabetes</ul?", ), ), ( "hiv_in_household", models.CharField( choices=[ ("No", "No"), ("yes_spouse", "Yes, my spouse"), ("yes_parents", "Yes, one of my parents living with me"), ("yes_relative", "Yes, another relative living with me"), ], max_length=25, verbose_name="Do you know if anyone else in your household has <ul>HIV</ul?", ), ), ( "high_bp_bs_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="High blood pressure and high blood sugar can cause many illnesses like heart attacks, stroke, kidney failure", ), ), ( "overweight_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Being overweight protects from high blood pressure and high blood sugar", ), ), ( "salty_foods_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Salty food protects from high blood sugar", ), ), ( "excercise_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Regular exercise is important for people with <ul>high blood pressure</ul> or <ul>high blood sugar</ul> even if they are taking medicines for these conditions.", ), ), ( "take_medicine_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Drugs for <ul>blood sugar</ul> and <ul>blood pressure</ul> can make you unwell", ), ), ( "stop_hypertension_meds_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="It is best to stop taking <ul>blood pressure</ul> pills when you feel better and start pill taking again when you feel sick", ), ), ( "traditional_hypertension_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Herbs and traditional medicine are better for managing <ul>blood pressure</ul> than pills and medicines", ), ), ( "stop_diabetes_meds_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="It is best to stop taking <ul>blood sugar</ul> medicines when you feel better and start pill taking again when you feel sick", ), ), ( "traditional_diabetes_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Herbs and traditional medicine are better for managing <ul>diabetes</ul> than pills and medicines", ), ), ( "diabetes_cause_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Having drinks with sugar (e.g. tea/coffee) causes diabetes", ), ), ("history_date", models.DateTimeField()), ("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="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Family History and Knowledge", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="FamilyHistory", 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.models.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), ), ( "crf_status", models.CharField( choices=[ ("INCOMPLETE", "Incomplete (some data pending)"), ("COMPLETE", "Complete"), ], default="INCOMPLETE", help_text="If some data is still pending, flag this CRF as incomplete", max_length=25, verbose_name="CRF status", ), ), ( "crf_status_comments", models.TextField( blank=True, help_text="for example, why some data is still pending", null=True, verbose_name="Any comments related to status of this CRF", ), ), ( "hypertension_in_household", models.CharField( choices=[ ("No", "No"), ("yes_spouse", "Yes, my spouse"), ("yes_parents", "Yes, one of my parents living with me"), ("yes_relative", "Yes, another relative living with me"), ], max_length=25, verbose_name="Do you know if anyone else in your household has <ul>high blood pressure</ul?", ), ), ( "diabetes_in_household", models.CharField( choices=[ ("No", "No"), ("yes_spouse", "Yes, my spouse"), ("yes_parents", "Yes, one of my parents living with me"), ("yes_relative", "Yes, another relative living with me"), ], max_length=25, verbose_name="Do you know if anyone else in your household has <ul>diabetes</ul?", ), ), ( "hiv_in_household", models.CharField( choices=[ ("No", "No"), ("yes_spouse", "Yes, my spouse"), ("yes_parents", "Yes, one of my parents living with me"), ("yes_relative", "Yes, another relative living with me"), ], max_length=25, verbose_name="Do you know if anyone else in your household has <ul>HIV</ul?", ), ), ( "high_bp_bs_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="High blood pressure and high blood sugar can cause many illnesses like heart attacks, stroke, kidney failure", ), ), ( "overweight_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Being overweight protects from high blood pressure and high blood sugar", ), ), ( "salty_foods_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Salty food protects from high blood sugar", ), ), ( "excercise_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Regular exercise is important for people with <ul>high blood pressure</ul> or <ul>high blood sugar</ul> even if they are taking medicines for these conditions.", ), ), ( "take_medicine_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Drugs for <ul>blood sugar</ul> and <ul>blood pressure</ul> can make you unwell", ), ), ( "stop_hypertension_meds_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="It is best to stop taking <ul>blood pressure</ul> pills when you feel better and start pill taking again when you feel sick", ), ), ( "traditional_hypertension_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Herbs and traditional medicine are better for managing <ul>blood pressure</ul> than pills and medicines", ), ), ( "stop_diabetes_meds_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="It is best to stop taking <ul>blood sugar</ul> medicines when you feel better and start pill taking again when you feel sick", ), ), ( "traditional_diabetes_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Herbs and traditional medicine are better for managing <ul>diabetes</ul> than pills and medicines", ), ), ( "diabetes_cause_tf", models.CharField( choices=[ ("true", "True"), ("false", "False"), ("dont_know", "Don't know"), ], max_length=25, verbose_name="Having drinks with sugar (e.g. tea/coffee) causes diabetes", ), ), ( "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, to="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Family History and Knowledge", "verbose_name_plural": "Family History and Knowledge", "ordering": ("-modified", "-created"), "get_latest_by": "modified", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.AddIndex( model_name="familyhistory", index=models.Index( fields=["subject_visit", "site", "id"], name="inte_subjec_subject_2e330e_idx", ), ), ]