clinicedc 2.0.11__py3-none-any.whl → 2.0.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of clinicedc might be problematic. Click here for more details.
- {clinicedc-2.0.11.dist-info → clinicedc-2.0.13.dist-info}/METADATA +2 -1
- {clinicedc-2.0.11.dist-info → clinicedc-2.0.13.dist-info}/RECORD +137 -24
- edc_action_item/migrations/0017_auto_20190305_0123.py +1 -1
- edc_action_item/migrations/0030_edcpermissions.py +1 -1
- edc_action_item/migrations/0041_alter_actionitem_revision_alter_actiontype_revision_and_more.py +86 -0
- edc_adverse_event/migrations/0001_initial.py +1 -1
- edc_adverse_event/migrations/0002_auto_20190802_0059.py +1 -1
- edc_adverse_event/migrations/0008_auto_20220825_0451.py +1 -1
- edc_adverse_event/migrations/0009_auto_20220907_0157.py +1 -1
- edc_adverse_event/migrations/0017_alter_aeactionclassification_revision_and_more.py +77 -0
- edc_adverse_event/model_mixins/hospitaization/hospitalization_model_mixin.py +1 -3
- edc_analytics/__init__.py +3 -0
- edc_analytics/apps.py +8 -0
- edc_analytics/constants.py +26 -0
- edc_analytics/custom_tables/__init__.py +11 -0
- edc_analytics/custom_tables/age.py +72 -0
- edc_analytics/custom_tables/art.py +88 -0
- edc_analytics/custom_tables/bmi.py +125 -0
- edc_analytics/custom_tables/bp.py +103 -0
- edc_analytics/custom_tables/fasting.py +126 -0
- edc_analytics/custom_tables/fbg.py +98 -0
- edc_analytics/custom_tables/fbg_ogtt.py +384 -0
- edc_analytics/custom_tables/gender.py +12 -0
- edc_analytics/custom_tables/hba1c.py +87 -0
- edc_analytics/custom_tables/ogtt.py +95 -0
- edc_analytics/custom_tables/waist.py +105 -0
- edc_analytics/data.py +36 -0
- edc_analytics/row/__init__.py +4 -0
- edc_analytics/row/row_definition.py +43 -0
- edc_analytics/row/row_definitions.py +32 -0
- edc_analytics/row/row_statistics.py +88 -0
- edc_analytics/row/row_statistics_with_gender.py +115 -0
- edc_analytics/stata/__init__.py +1 -0
- edc_analytics/stata/get_stata_labels_from_model.py +44 -0
- edc_analytics/styler.py +93 -0
- edc_analytics/table.py +108 -0
- edc_analytics/urls.py +6 -0
- edc_appointment/migrations/0018_auto_20190305_0123.py +1 -1
- edc_appointment/migrations/0051_alter_appointment_revision_and_more.py +38 -0
- edc_auth/migrations/0001_squashed_0033_alter_userprofile_is_multisite_viewer.py +1 -1
- edc_auth/migrations/0012_auto_20191026_0034.py +1 -1
- edc_auth/migrations/0013_auto_20191026_0055.py +1 -1
- edc_auth/migrations/0025_permissions.py +1 -1
- edc_auth/migrations/0037_alter_edcpermissions_revision_alter_role_revision.py +38 -0
- edc_consent/migrations/0001_initial.py +1 -1
- edc_consent/migrations/0007_alter_edcpermissions_revision.py +26 -0
- edc_crf/migrations/0010_alter_crfstatus_revision.py +26 -0
- edc_dashboard/migrations/0001_initial.py +1 -1
- edc_dashboard/migrations/0007_alter_edcpermissions_revision.py +26 -0
- edc_data_manager/migrations/0001_initial.py +1 -1
- edc_data_manager/migrations/0025_edcpermissions.py +1 -1
- edc_data_manager/migrations/0042_alter_datadictionary_revision_and_more.py +98 -0
- edc_dx/__init__.py +6 -0
- edc_dx/apps.py +5 -0
- edc_dx/diagnoses.py +250 -0
- edc_dx/form_validators/__init__.py +2 -0
- edc_dx/form_validators/diagnosis_form_validator_mixin.py +54 -0
- edc_dx/form_validators/result_form_validator_mixin.py +65 -0
- edc_dx/utils.py +42 -0
- edc_dx_review/__init__.py +0 -0
- edc_dx_review/apps.py +5 -0
- edc_dx_review/auth_objects.py +13 -0
- edc_dx_review/auths.py +12 -0
- edc_dx_review/choices.py +24 -0
- edc_dx_review/constants.py +7 -0
- edc_dx_review/fieldsets.py +47 -0
- edc_dx_review/form_mixins/__init__.py +3 -0
- edc_dx_review/form_mixins/clinical_review_baseline_required_form_mixin.py +25 -0
- edc_dx_review/form_validator_mixins/__init__.py +6 -0
- edc_dx_review/form_validator_mixins/clinical_review_baseline_form_validator_mixin.py +7 -0
- edc_dx_review/form_validator_mixins/clinical_review_followup_form_validator_mixin.py +25 -0
- edc_dx_review/list_data.py +19 -0
- edc_dx_review/medical_date.py +195 -0
- edc_dx_review/migrations/0001_initial.py +307 -0
- edc_dx_review/migrations/0002_diagnosislocations_extra_value_and_more.py +32 -0
- edc_dx_review/migrations/0003_alter_diagnosislocations_options_and_more.py +148 -0
- edc_dx_review/migrations/0004_remove_diagnosislocations_edc_dx_revi_name_a39b40_idx_and_more.py +20 -0
- edc_dx_review/migrations/__init__.py +0 -0
- edc_dx_review/model_mixins/__init__.py +20 -0
- edc_dx_review/model_mixins/clinical_review_baseline_model_mixin.py +25 -0
- edc_dx_review/model_mixins/clinical_review_followup/__init__.py +5 -0
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_chol_model_mixin.py +54 -0
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_dm_model_mixin.py +54 -0
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_hiv_model_mixin.py +54 -0
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_htn_model_mixin.py +56 -0
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_model_mixin.py +25 -0
- edc_dx_review/model_mixins/dx_location_model_mixin.py +17 -0
- edc_dx_review/model_mixins/factory/__init__.py +4 -0
- edc_dx_review/model_mixins/factory/baseline_review_model_mixin_factory.py +55 -0
- edc_dx_review/model_mixins/factory/calculate_date.py +43 -0
- edc_dx_review/model_mixins/factory/dx_initial_review_model_mixin_factory.py +97 -0
- edc_dx_review/model_mixins/factory/followup_review_model_mixin_factory.py +39 -0
- edc_dx_review/model_mixins/factory/rx_initial_review_model_mixin_factory.py +69 -0
- edc_dx_review/model_mixins/followup_review/__init__.py +2 -0
- edc_dx_review/model_mixins/followup_review/followup_review_model_mixin.py +22 -0
- edc_dx_review/model_mixins/followup_review/hiv_followup_review_model_mixin.py +32 -0
- edc_dx_review/model_mixins/initial_review/__init__.py +6 -0
- edc_dx_review/model_mixins/initial_review/chol_initial_review_model_mixin.py +34 -0
- edc_dx_review/model_mixins/initial_review/hiv_initial_model_mixins.py +119 -0
- edc_dx_review/model_mixins/initial_review/ncd_initial_review_model_mixin.py +42 -0
- edc_dx_review/models.py +20 -0
- edc_dx_review/radio_fields.py +30 -0
- edc_dx_review/utils.py +220 -0
- edc_export/migrations/0004_auto_20190305_0123.py +1 -1
- edc_export/migrations/0013_edcpermissions.py +1 -1
- edc_export/migrations/0024_alter_datarequest_revision_and_more.py +170 -0
- edc_facility/migrations/0005_healthfacility_healthfacilitytypes_and_more.py +1 -1
- edc_facility/migrations/0018_alter_healthfacility_revision_and_more.py +38 -0
- edc_form_runners/migrations/0006_alter_issue_revision.py +26 -0
- edc_identifier/migrations/0012_alter_identifiermodel_revision.py +26 -0
- edc_lab/migrations/0039_alter_aliquot_revision_alter_box_revision_and_more.py +269 -0
- edc_lab_dashboard/migrations/0006_alter_edcpermissions_revision.py +26 -0
- edc_label/migrations/0008_alter_zpllabeltemplates_revision.py +26 -0
- edc_listboard/migrations/0008_alter_listboard_revision.py +26 -0
- edc_locator/migrations/0042_alter_historicalsubjectlocator_revision_and_more.py +38 -0
- edc_metadata/migrations/0032_alter_crfmetadata_revision_and_more.py +38 -0
- edc_navbar/migrations/0010_alter_edcpermissions_revision.py +26 -0
- edc_notification/migrations/0012_alter_notification_revision.py +26 -0
- edc_offstudy/migrations/0025_alter_historicalsubjectoffstudy_revision_and_more.py +41 -0
- edc_pharmacy/migrations/0091_alter_allocation_revision_alter_assignment_revision_and_more.py +794 -0
- edc_protocol_incident/migrations/0026_alter_historicalprotocoldeviationviolation_revision_and_more.py +65 -0
- edc_pylabels/migrations/0014_alter_labelconfiguration_revision.py +26 -0
- edc_qareports/migrations/0021_alter_edcpermissions_revision_alter_note_revision.py +38 -0
- edc_randomization/migrations/0015_alter_edcpermissions_revision_and_more.py +50 -0
- edc_refusal/migrations/0014_alter_historicalsubjectrefusal_revision_and_more.py +38 -0
- edc_registration/migrations/0034_alter_historicalregisteredsubject_revision_and_more.py +41 -0
- edc_reportable/migrations/0008_alter_gradingdata_revision_and_more.py +110 -0
- edc_review_dashboard/migrations/0007_alter_edcpermissions_revision.py +26 -0
- edc_screening/migrations/0006_alter_edcpermissions_revision.py +26 -0
- edc_sites/migrations/0011_alter_edcpermissions_revision.py +26 -0
- edc_subject_dashboard/migrations/0006_alter_edcpermissions_revision.py +26 -0
- edc_unblinding/migrations/0016_alter_historicalunblindingrequest_revision_and_more.py +65 -0
- edc_visit_schedule/migrations/0021_alter_historicalonschedule_revision_and_more.py +89 -0
- edc_visit_tracking/migrations/0011_alter_historicalsubjectvisit_revision_and_more.py +65 -0
- edc_vitals/model_mixins/blood_pressure_model_mixin.py +1 -0
- {clinicedc-2.0.11.dist-info → clinicedc-2.0.13.dist-info}/WHEEL +0 -0
- {clinicedc-2.0.11.dist-info → clinicedc-2.0.13.dist-info}/licenses/LICENSE +0 -0
edc_analytics/table.py
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import pandas as pd
|
|
2
|
+
from edc_constants.constants import FEMALE, MALE
|
|
3
|
+
|
|
4
|
+
from .constants import COUNT_COLUMN, N_ONLY, N_WITH_ROW_PROP, TITLE_COLUMN
|
|
5
|
+
from .row import RowDefinition, RowDefinitions, RowStatisticsWithGender
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Table:
|
|
9
|
+
|
|
10
|
+
title_column = "Characteristics"
|
|
11
|
+
label_column = "Statistic"
|
|
12
|
+
default_sublabel = "n"
|
|
13
|
+
gender_column = "gender"
|
|
14
|
+
row_statistics_cls: RowStatisticsWithGender = RowStatisticsWithGender
|
|
15
|
+
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
colname: str | None = None,
|
|
19
|
+
main_df: pd.DataFrame = None,
|
|
20
|
+
title: str | None = None,
|
|
21
|
+
include_zero_counts: bool | None = None,
|
|
22
|
+
):
|
|
23
|
+
|
|
24
|
+
self.colname = colname
|
|
25
|
+
self.main_df = main_df
|
|
26
|
+
self.title = title
|
|
27
|
+
self.include_zero_counts = include_zero_counts
|
|
28
|
+
self.table_df: pd.DataFrame = pd.DataFrame()
|
|
29
|
+
|
|
30
|
+
self.build_table_df()
|
|
31
|
+
if self.title:
|
|
32
|
+
# add a redundant column to hold title name for each
|
|
33
|
+
# row in this table.
|
|
34
|
+
self.table_df[TITLE_COLUMN] = self.title
|
|
35
|
+
|
|
36
|
+
@property
|
|
37
|
+
def row_definitions(self) -> RowDefinitions:
|
|
38
|
+
"""Override with your RowDefs
|
|
39
|
+
|
|
40
|
+
The default adds a first row with gender breakdown.
|
|
41
|
+
"""
|
|
42
|
+
row_defs = RowDefinitions(
|
|
43
|
+
colname=self.colname, row_statistics_cls=self.row_statistics_cls
|
|
44
|
+
)
|
|
45
|
+
row_defs.add(
|
|
46
|
+
RowDefinition(
|
|
47
|
+
title=self.title,
|
|
48
|
+
label=self.default_sublabel,
|
|
49
|
+
colname=None,
|
|
50
|
+
condition=(self.main_df[self.gender_column].notna()),
|
|
51
|
+
columns={
|
|
52
|
+
FEMALE: (N_WITH_ROW_PROP, 2),
|
|
53
|
+
MALE: (N_WITH_ROW_PROP, 2),
|
|
54
|
+
"All": (N_ONLY, 2),
|
|
55
|
+
},
|
|
56
|
+
drop=False,
|
|
57
|
+
)
|
|
58
|
+
)
|
|
59
|
+
return row_defs
|
|
60
|
+
|
|
61
|
+
def reorder_df(self):
|
|
62
|
+
"""Override to reorder the rows in `table_df`."""
|
|
63
|
+
pass
|
|
64
|
+
|
|
65
|
+
def build_table_df(self) -> None:
|
|
66
|
+
"""Build the table_df using the row definitions."""
|
|
67
|
+
df_denominator = self.main_df.copy()
|
|
68
|
+
rows = []
|
|
69
|
+
for index, rd in enumerate(self.row_definitions.definitions):
|
|
70
|
+
if not rd.condition.empty:
|
|
71
|
+
df_numerator = df_denominator.loc[rd.condition]
|
|
72
|
+
else:
|
|
73
|
+
# default to first col non-null values
|
|
74
|
+
df_numerator = df_denominator.loc[
|
|
75
|
+
df_denominator[df_denominator.columns[0]].notna()
|
|
76
|
+
]
|
|
77
|
+
row_stats = self.row_statistics_cls(
|
|
78
|
+
colname=rd.colname,
|
|
79
|
+
df_numerator=df_numerator,
|
|
80
|
+
df_denominator=df_denominator,
|
|
81
|
+
df_all=self.main_df,
|
|
82
|
+
columns=rd.columns,
|
|
83
|
+
)
|
|
84
|
+
if index == 0:
|
|
85
|
+
columns = (
|
|
86
|
+
[self.title_column, self.label_column]
|
|
87
|
+
+ row_stats.labels()
|
|
88
|
+
+ [TITLE_COLUMN]
|
|
89
|
+
)
|
|
90
|
+
# reset table_df
|
|
91
|
+
self.table_df = pd.DataFrame(columns=columns)
|
|
92
|
+
rows.append([rd.title, rd.label] + row_stats.values_list() + [self.title])
|
|
93
|
+
if rd.drop and not df_numerator.empty:
|
|
94
|
+
df_denominator.drop(df_numerator.index, inplace=True)
|
|
95
|
+
if self.row_definitions.reverse_rows:
|
|
96
|
+
rows.reverse()
|
|
97
|
+
for index, values_list in enumerate(rows):
|
|
98
|
+
self.table_df.loc[index] = values_list
|
|
99
|
+
if not self.include_zero_counts:
|
|
100
|
+
self.table_df.drop(
|
|
101
|
+
self.table_df[self.table_df[COUNT_COLUMN] == 0].index, inplace=True
|
|
102
|
+
)
|
|
103
|
+
self.reorder_df()
|
|
104
|
+
|
|
105
|
+
@property
|
|
106
|
+
def formatted_df(self) -> pd.DataFrame:
|
|
107
|
+
"""Return DF with first 5 columns"""
|
|
108
|
+
return self.table_df.iloc[:, :5]
|
edc_analytics/urls.py
ADDED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import django_audit_fields.fields.hostname_modification_field
|
|
4
4
|
import django_audit_fields.fields.userfield
|
|
5
|
-
import
|
|
5
|
+
import django.utils.timezone
|
|
6
6
|
from django.db import migrations, models
|
|
7
7
|
import django.utils.timezone
|
|
8
8
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-24 04:56
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_appointment", "0050_alter_appointment_appt_type_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="appointment",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
default="",
|
|
20
|
+
editable=False,
|
|
21
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
22
|
+
max_length=75,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
migrations.AlterField(
|
|
27
|
+
model_name="historicalappointment",
|
|
28
|
+
name="revision",
|
|
29
|
+
field=django_revision.revision_field.RevisionField(
|
|
30
|
+
blank=True,
|
|
31
|
+
default="",
|
|
32
|
+
editable=False,
|
|
33
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
34
|
+
max_length=75,
|
|
35
|
+
verbose_name="Revision",
|
|
36
|
+
),
|
|
37
|
+
),
|
|
38
|
+
]
|
|
@@ -6,7 +6,7 @@ import django.db.models.deletion
|
|
|
6
6
|
import django_audit_fields.fields.hostname_modification_field
|
|
7
7
|
import django_audit_fields.fields.userfield
|
|
8
8
|
import django_audit_fields.fields.uuid_auto_field
|
|
9
|
-
import
|
|
9
|
+
import django.utils.timezone
|
|
10
10
|
import django_revision.revision_field
|
|
11
11
|
from django.conf import settings
|
|
12
12
|
from django.db import migrations, models
|
|
@@ -4,7 +4,7 @@ import _socket
|
|
|
4
4
|
import django_audit_fields.fields.hostname_modification_field
|
|
5
5
|
import django_audit_fields.fields.userfield
|
|
6
6
|
import django_audit_fields.fields.uuid_auto_field
|
|
7
|
-
import
|
|
7
|
+
import django.utils.timezone
|
|
8
8
|
import django_revision.revision_field
|
|
9
9
|
from django.db import migrations, models
|
|
10
10
|
import django.utils.timezone
|
|
@@ -4,7 +4,7 @@ import _socket
|
|
|
4
4
|
import django_audit_fields.fields.hostname_modification_field
|
|
5
5
|
import django_audit_fields.fields.userfield
|
|
6
6
|
import django_audit_fields.fields.uuid_auto_field
|
|
7
|
-
import
|
|
7
|
+
import django.utils.timezone
|
|
8
8
|
import django_revision.revision_field
|
|
9
9
|
from django.db import migrations, models
|
|
10
10
|
import django.utils.timezone
|
|
@@ -4,7 +4,7 @@ import _socket
|
|
|
4
4
|
import django_audit_fields.fields.hostname_modification_field
|
|
5
5
|
import django_audit_fields.fields.userfield
|
|
6
6
|
import django_audit_fields.fields.uuid_auto_field
|
|
7
|
-
import
|
|
7
|
+
import django.utils.timezone
|
|
8
8
|
import django_revision.revision_field
|
|
9
9
|
from django.db import migrations, models
|
|
10
10
|
import django.utils.timezone
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-24 04:56
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_auth", "0036_alter_userprofile_alternate_email_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="edcpermissions",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
default="",
|
|
20
|
+
editable=False,
|
|
21
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
22
|
+
max_length=75,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
migrations.AlterField(
|
|
27
|
+
model_name="role",
|
|
28
|
+
name="revision",
|
|
29
|
+
field=django_revision.revision_field.RevisionField(
|
|
30
|
+
blank=True,
|
|
31
|
+
default="",
|
|
32
|
+
editable=False,
|
|
33
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
34
|
+
max_length=75,
|
|
35
|
+
verbose_name="Revision",
|
|
36
|
+
),
|
|
37
|
+
),
|
|
38
|
+
]
|
|
@@ -4,7 +4,7 @@ import _socket
|
|
|
4
4
|
import django_audit_fields.fields.hostname_modification_field
|
|
5
5
|
import django_audit_fields.fields.userfield
|
|
6
6
|
import django_audit_fields.fields.uuid_auto_field
|
|
7
|
-
import
|
|
7
|
+
import django.utils.timezone
|
|
8
8
|
import django_revision.revision_field
|
|
9
9
|
from django.db import migrations, models
|
|
10
10
|
import django.utils.timezone
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-24 04:56
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_consent", "0006_alter_edcpermissions_device_created_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="edcpermissions",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
default="",
|
|
20
|
+
editable=False,
|
|
21
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
22
|
+
max_length=75,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-24 04:56
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_crf", "0009_alter_crfstatus_device_created_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="crfstatus",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
default="",
|
|
20
|
+
editable=False,
|
|
21
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
22
|
+
max_length=75,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
]
|
|
@@ -4,7 +4,7 @@ import _socket
|
|
|
4
4
|
import django_audit_fields.fields.hostname_modification_field
|
|
5
5
|
import django_audit_fields.fields.userfield
|
|
6
6
|
import django_audit_fields.fields.uuid_auto_field
|
|
7
|
-
import
|
|
7
|
+
import django.utils.timezone
|
|
8
8
|
import django_revision.revision_field
|
|
9
9
|
from django.db import migrations, models
|
|
10
10
|
import django.utils.timezone
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-24 04:56
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_dashboard", "0006_alter_edcpermissions_device_created_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="edcpermissions",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
default="",
|
|
20
|
+
editable=False,
|
|
21
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
22
|
+
max_length=75,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
]
|
|
@@ -10,7 +10,7 @@ import django.db.models.manager
|
|
|
10
10
|
import django_audit_fields.fields.hostname_modification_field
|
|
11
11
|
import django_audit_fields.fields.userfield
|
|
12
12
|
import django_audit_fields.fields.uuid_auto_field
|
|
13
|
-
import
|
|
13
|
+
import django.utils.timezone
|
|
14
14
|
import django_revision.revision_field
|
|
15
15
|
import simple_history.models
|
|
16
16
|
from django.conf import settings
|
|
@@ -4,7 +4,7 @@ import _socket
|
|
|
4
4
|
import django_audit_fields.fields.hostname_modification_field
|
|
5
5
|
import django_audit_fields.fields.userfield
|
|
6
6
|
import django_audit_fields.fields.uuid_auto_field
|
|
7
|
-
import
|
|
7
|
+
import django.utils.timezone
|
|
8
8
|
import django_revision.revision_field
|
|
9
9
|
from django.db import migrations, models
|
|
10
10
|
import django.utils.timezone
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-24 04:56
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_data_manager", "0041_alter_dataquery_dm_user_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="datadictionary",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
default="",
|
|
20
|
+
editable=False,
|
|
21
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
22
|
+
max_length=75,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
migrations.AlterField(
|
|
27
|
+
model_name="dataquery",
|
|
28
|
+
name="revision",
|
|
29
|
+
field=django_revision.revision_field.RevisionField(
|
|
30
|
+
blank=True,
|
|
31
|
+
default="",
|
|
32
|
+
editable=False,
|
|
33
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
34
|
+
max_length=75,
|
|
35
|
+
verbose_name="Revision",
|
|
36
|
+
),
|
|
37
|
+
),
|
|
38
|
+
migrations.AlterField(
|
|
39
|
+
model_name="edcpermissions",
|
|
40
|
+
name="revision",
|
|
41
|
+
field=django_revision.revision_field.RevisionField(
|
|
42
|
+
blank=True,
|
|
43
|
+
default="",
|
|
44
|
+
editable=False,
|
|
45
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
46
|
+
max_length=75,
|
|
47
|
+
verbose_name="Revision",
|
|
48
|
+
),
|
|
49
|
+
),
|
|
50
|
+
migrations.AlterField(
|
|
51
|
+
model_name="historicaldatadictionary",
|
|
52
|
+
name="revision",
|
|
53
|
+
field=django_revision.revision_field.RevisionField(
|
|
54
|
+
blank=True,
|
|
55
|
+
default="",
|
|
56
|
+
editable=False,
|
|
57
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
58
|
+
max_length=75,
|
|
59
|
+
verbose_name="Revision",
|
|
60
|
+
),
|
|
61
|
+
),
|
|
62
|
+
migrations.AlterField(
|
|
63
|
+
model_name="historicaldataquery",
|
|
64
|
+
name="revision",
|
|
65
|
+
field=django_revision.revision_field.RevisionField(
|
|
66
|
+
blank=True,
|
|
67
|
+
default="",
|
|
68
|
+
editable=False,
|
|
69
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
70
|
+
max_length=75,
|
|
71
|
+
verbose_name="Revision",
|
|
72
|
+
),
|
|
73
|
+
),
|
|
74
|
+
migrations.AlterField(
|
|
75
|
+
model_name="historicalqueryrule",
|
|
76
|
+
name="revision",
|
|
77
|
+
field=django_revision.revision_field.RevisionField(
|
|
78
|
+
blank=True,
|
|
79
|
+
default="",
|
|
80
|
+
editable=False,
|
|
81
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
82
|
+
max_length=75,
|
|
83
|
+
verbose_name="Revision",
|
|
84
|
+
),
|
|
85
|
+
),
|
|
86
|
+
migrations.AlterField(
|
|
87
|
+
model_name="queryrule",
|
|
88
|
+
name="revision",
|
|
89
|
+
field=django_revision.revision_field.RevisionField(
|
|
90
|
+
blank=True,
|
|
91
|
+
default="",
|
|
92
|
+
editable=False,
|
|
93
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
94
|
+
max_length=75,
|
|
95
|
+
verbose_name="Revision",
|
|
96
|
+
),
|
|
97
|
+
),
|
|
98
|
+
]
|
edc_dx/__init__.py
ADDED