340 lines
14 KiB
Python
340 lines
14 KiB
Python
# Generated by Django 5.2.7 on 2025-10-27 10:50
|
|
|
|
import simple_history.models
|
|
import uuid
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = []
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="ABABehavior",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.UUIDField(
|
|
default=uuid.uuid4,
|
|
editable=False,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
("created_at", models.DateTimeField(auto_now_add=True, verbose_name="Created At")),
|
|
("updated_at", models.DateTimeField(auto_now=True, verbose_name="Updated At")),
|
|
("behavior_description", models.TextField(verbose_name="Behavior Description")),
|
|
(
|
|
"frequency",
|
|
models.CharField(
|
|
choices=[
|
|
("HOURLY", "Hourly"),
|
|
("DAILY", "Daily"),
|
|
("WEEKLY", "Weekly"),
|
|
("LESS_THAN_WEEKLY", "Less than Weekly"),
|
|
],
|
|
max_length=20,
|
|
verbose_name="Frequency",
|
|
),
|
|
),
|
|
(
|
|
"duration",
|
|
models.CharField(
|
|
blank=True,
|
|
help_text="How long the behavior typically lasts",
|
|
max_length=100,
|
|
verbose_name="Duration",
|
|
),
|
|
),
|
|
(
|
|
"intensity",
|
|
models.CharField(
|
|
choices=[("MILD", "Mild"), ("MODERATE", "Moderate"), ("SEVERE", "Severe")],
|
|
max_length=20,
|
|
verbose_name="Intensity",
|
|
),
|
|
),
|
|
(
|
|
"antecedents_likely",
|
|
models.TextField(
|
|
blank=True,
|
|
help_text="Contexts where behavior is most likely to occur",
|
|
verbose_name="Antecedents (Most Likely)",
|
|
),
|
|
),
|
|
(
|
|
"antecedents_least_likely",
|
|
models.TextField(
|
|
blank=True,
|
|
help_text="Contexts where behavior is least likely to occur",
|
|
verbose_name="Antecedents (Least Likely)",
|
|
),
|
|
),
|
|
(
|
|
"consequences",
|
|
models.TextField(
|
|
blank=True,
|
|
help_text="What happens after the behavior occurs",
|
|
verbose_name="Consequences",
|
|
),
|
|
),
|
|
(
|
|
"order",
|
|
models.PositiveIntegerField(
|
|
default=0, help_text="Order of behaviors in the list", verbose_name="Order"
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "ABA Behavior",
|
|
"verbose_name_plural": "ABA Behaviors",
|
|
"ordering": ["consult", "order", "created_at"],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="ABAConsult",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.UUIDField(
|
|
default=uuid.uuid4,
|
|
editable=False,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
("created_at", models.DateTimeField(auto_now_add=True, verbose_name="Created At")),
|
|
("updated_at", models.DateTimeField(auto_now=True, verbose_name="Updated At")),
|
|
(
|
|
"signed_at",
|
|
models.DateTimeField(blank=True, null=True, verbose_name="Signed At"),
|
|
),
|
|
("consultation_date", models.DateField(verbose_name="Consultation Date")),
|
|
(
|
|
"reason_of_referral",
|
|
models.CharField(
|
|
choices=[
|
|
("DEVELOPMENTAL_DELAY", "Developmental Delay"),
|
|
("AUTISM_SPECTRUM", "Autism Spectrum Disorder"),
|
|
("BEHAVIORAL_ISSUES", "Behavioral Issues"),
|
|
("LEARNING_DIFFICULTIES", "Learning Difficulties"),
|
|
("SOCIAL_SKILLS", "Social Skills Deficits"),
|
|
("COMMUNICATION", "Communication Difficulties"),
|
|
("SELF_CARE", "Self-Care Skills"),
|
|
("OTHER", "Other"),
|
|
],
|
|
max_length=50,
|
|
verbose_name="Reason of Referral",
|
|
),
|
|
),
|
|
("parental_concern", models.TextField(blank=True, verbose_name="Parental Concern")),
|
|
("school_concern", models.TextField(blank=True, verbose_name="School Concern")),
|
|
(
|
|
"respondents",
|
|
models.CharField(
|
|
blank=True,
|
|
help_text="Who provided the information (e.g., mother, father, teacher)",
|
|
max_length=200,
|
|
verbose_name="Respondents",
|
|
),
|
|
),
|
|
(
|
|
"interviewer",
|
|
models.CharField(blank=True, max_length=200, verbose_name="Interviewer"),
|
|
),
|
|
(
|
|
"diagnosed_condition",
|
|
models.CharField(
|
|
blank=True, max_length=200, verbose_name="Diagnosed Condition"
|
|
),
|
|
),
|
|
(
|
|
"interaction_hours_per_day",
|
|
models.PositiveIntegerField(
|
|
blank=True,
|
|
help_text="Hours of interaction per day",
|
|
null=True,
|
|
verbose_name="Interaction Hours/Day",
|
|
),
|
|
),
|
|
(
|
|
"physiological_factors",
|
|
models.TextField(
|
|
blank=True,
|
|
help_text="Physiological factors affecting behavior (e.g., sleep, appetite, medical conditions)",
|
|
verbose_name="Physiological Factors",
|
|
),
|
|
),
|
|
(
|
|
"medical_factors",
|
|
models.TextField(
|
|
blank=True,
|
|
help_text="Medical factors and conditions",
|
|
verbose_name="Medical Factors",
|
|
),
|
|
),
|
|
("recommendations", models.TextField(blank=True, verbose_name="Recommendations")),
|
|
],
|
|
options={
|
|
"verbose_name": "ABA Consultation",
|
|
"verbose_name_plural": "ABA Consultations",
|
|
"ordering": ["-consultation_date", "-created_at"],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="ABAGoal",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.UUIDField(
|
|
default=uuid.uuid4,
|
|
editable=False,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
("created_at", models.DateTimeField(auto_now_add=True, verbose_name="Created At")),
|
|
("updated_at", models.DateTimeField(auto_now=True, verbose_name="Updated At")),
|
|
("goal_description", models.TextField(verbose_name="Goal Description")),
|
|
(
|
|
"target_date",
|
|
models.DateField(blank=True, null=True, verbose_name="Target Date"),
|
|
),
|
|
(
|
|
"status",
|
|
models.CharField(
|
|
choices=[
|
|
("NOT_STARTED", "Not Started"),
|
|
("IN_PROGRESS", "In Progress"),
|
|
("ACHIEVED", "Achieved"),
|
|
("DISCONTINUED", "Discontinued"),
|
|
],
|
|
default="NOT_STARTED",
|
|
max_length=20,
|
|
verbose_name="Status",
|
|
),
|
|
),
|
|
("progress_notes", models.TextField(blank=True, verbose_name="Progress Notes")),
|
|
(
|
|
"achieved_date",
|
|
models.DateField(blank=True, null=True, verbose_name="Achieved Date"),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "ABA Goal",
|
|
"verbose_name_plural": "ABA Goals",
|
|
"ordering": ["consult", "target_date"],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="HistoricalABAConsult",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.UUIDField(
|
|
db_index=True, default=uuid.uuid4, editable=False, verbose_name="ID"
|
|
),
|
|
),
|
|
(
|
|
"created_at",
|
|
models.DateTimeField(blank=True, editable=False, verbose_name="Created At"),
|
|
),
|
|
(
|
|
"updated_at",
|
|
models.DateTimeField(blank=True, editable=False, verbose_name="Updated At"),
|
|
),
|
|
(
|
|
"signed_at",
|
|
models.DateTimeField(blank=True, null=True, verbose_name="Signed At"),
|
|
),
|
|
("consultation_date", models.DateField(verbose_name="Consultation Date")),
|
|
(
|
|
"reason_of_referral",
|
|
models.CharField(
|
|
choices=[
|
|
("DEVELOPMENTAL_DELAY", "Developmental Delay"),
|
|
("AUTISM_SPECTRUM", "Autism Spectrum Disorder"),
|
|
("BEHAVIORAL_ISSUES", "Behavioral Issues"),
|
|
("LEARNING_DIFFICULTIES", "Learning Difficulties"),
|
|
("SOCIAL_SKILLS", "Social Skills Deficits"),
|
|
("COMMUNICATION", "Communication Difficulties"),
|
|
("SELF_CARE", "Self-Care Skills"),
|
|
("OTHER", "Other"),
|
|
],
|
|
max_length=50,
|
|
verbose_name="Reason of Referral",
|
|
),
|
|
),
|
|
("parental_concern", models.TextField(blank=True, verbose_name="Parental Concern")),
|
|
("school_concern", models.TextField(blank=True, verbose_name="School Concern")),
|
|
(
|
|
"respondents",
|
|
models.CharField(
|
|
blank=True,
|
|
help_text="Who provided the information (e.g., mother, father, teacher)",
|
|
max_length=200,
|
|
verbose_name="Respondents",
|
|
),
|
|
),
|
|
(
|
|
"interviewer",
|
|
models.CharField(blank=True, max_length=200, verbose_name="Interviewer"),
|
|
),
|
|
(
|
|
"diagnosed_condition",
|
|
models.CharField(
|
|
blank=True, max_length=200, verbose_name="Diagnosed Condition"
|
|
),
|
|
),
|
|
(
|
|
"interaction_hours_per_day",
|
|
models.PositiveIntegerField(
|
|
blank=True,
|
|
help_text="Hours of interaction per day",
|
|
null=True,
|
|
verbose_name="Interaction Hours/Day",
|
|
),
|
|
),
|
|
(
|
|
"physiological_factors",
|
|
models.TextField(
|
|
blank=True,
|
|
help_text="Physiological factors affecting behavior (e.g., sleep, appetite, medical conditions)",
|
|
verbose_name="Physiological Factors",
|
|
),
|
|
),
|
|
(
|
|
"medical_factors",
|
|
models.TextField(
|
|
blank=True,
|
|
help_text="Medical factors and conditions",
|
|
verbose_name="Medical Factors",
|
|
),
|
|
),
|
|
("recommendations", models.TextField(blank=True, verbose_name="Recommendations")),
|
|
("history_id", models.AutoField(primary_key=True, serialize=False)),
|
|
("history_date", models.DateTimeField(db_index=True)),
|
|
("history_change_reason", models.CharField(max_length=100, null=True)),
|
|
(
|
|
"history_type",
|
|
models.CharField(
|
|
choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")], max_length=1
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "historical ABA Consultation",
|
|
"verbose_name_plural": "historical ABA Consultations",
|
|
"ordering": ("-history_date", "-history_id"),
|
|
"get_latest_by": ("history_date", "history_id"),
|
|
},
|
|
bases=(simple_history.models.HistoricalChanges, models.Model),
|
|
),
|
|
]
|