Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
0001_initial.py 11.62 KiB
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2017-02-01 12:35
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Appointment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('datetime_when', models.DateTimeField(verbose_name='Appointment on')),
                ('length', models.IntegerField(verbose_name='Appointment length (in minutes)')),
                ('is_finished', models.BooleanField(default=False, verbose_name='Has the appointment ended?')),
            ],
        ),
        migrations.CreateModel(
            name='AppointmentType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=20, verbose_name='Appointment code')),
                ('description', models.CharField(max_length=2000, verbose_name='Appointment description')),
                ('default_duration', models.IntegerField(verbose_name='Default duration (in minutes)')),
                ('rest_time', models.IntegerField(verbose_name='Suggested rest time')),
            ],
        ),
        migrations.CreateModel(
            name='Avaibility',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('day_number', models.IntegerField(verbose_name='Day of the week')),
                ('available_from', models.TimeField(verbose_name='Avaible since')),
                ('available_till', models.TimeField(verbose_name='Avaible until')),
                ('is_current', models.BooleanField(default=True, verbose_name='Is current?')),
            ],
        ),
        migrations.CreateModel(
            name='FlyingTeam',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('datetime_called', models.DateTimeField(verbose_name='Created on')),
                ('datetime_until', models.DateTimeField(verbose_name='Disbanded on')),
            ],
        ),
        migrations.CreateModel(
            name='Holiday',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('datetime_start', models.DateTimeField(verbose_name='On leave since')),
                ('datetime_end', models.DateTimeField(verbose_name='On leave until')),
            ],
        ),
        migrations.CreateModel(
            name='Item',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_fixed', models.BooleanField(default=False, verbose_name='Is the item fixed?')),
                ('name', models.CharField(max_length=255, verbose_name='Name')),
            ],
        ),
        migrations.CreateModel(
            name='Language',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=20)),
                ('image', models.ImageField(upload_to=b'')),
            ],
        ),
        migrations.CreateModel(
            name='Room',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('owner', models.CharField(max_length=50, verbose_name='Owner')),
                ('address', models.CharField(max_length=255, verbose_name='Address')),
                ('city', models.CharField(max_length=50, verbose_name='City')),
                ('room_number', models.IntegerField(verbose_name='Room number')),
                ('floor', models.IntegerField(verbose_name='Floor')),
                ('is_vehicle', models.BooleanField(verbose_name='Is a vehicle?')),
                ('equipment', models.ManyToManyField(blank=True, to='web.Item', verbose_name='On-site equipment')),
            ],
        ),
        migrations.CreateModel(
            name='Subject',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sex', models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=1, verbose_name='Sex')),
                ('first_name', models.CharField(max_length=50, verbose_name='First name')),
                ('last_name', models.CharField(max_length=50, verbose_name='Last name')),
                ('phone_number', models.CharField(max_length=20, verbose_name='Phone number')),
                ('email', models.EmailField(max_length=254, verbose_name='E-mail')),
                ('date_born', models.DateField(verbose_name='Date date_born')),
                ('address', models.CharField(max_length=255, verbose_name='Address')),
                ('postal_code', models.CharField(max_length=6, verbose_name='Postal code')),
                ('city', models.CharField(max_length=50, verbose_name='City')),
                ('country', models.CharField(max_length=50, verbose_name='Country')),
                ('screening_number', models.CharField(max_length=50, verbose_name='Screening number')),
                ('nd_number', models.CharField(max_length=6, verbose_name='ND number')),
                ('visit_count', models.IntegerField(verbose_name='Number of visits')),
                ('mpower_id', models.CharField(max_length=20, verbose_name='MPower ID')),
                ('status', models.CharField(choices=[('NCO', 'Not contacted'), ('TST', 'Test group'), ('LEA', 'Level A'), ('LEB', 'Level B'), ('OPT', 'Opted out'), ('REJ', 'Rejected'), ('DEA', 'Dead')], default='NCO', max_length=3, verbose_name='Status')),
                ('main_pseudonym', models.CharField(max_length=45, verbose_name='Pseudonym')),
                ('comments', models.CharField(max_length=2000, verbose_name='Comments')),
                ('date_added', models.DateField(auto_now=True, verbose_name='Added on')),
                ('referral', models.CharField(max_length=128, null=True, verbose_name='Referred by')),
                ('diagnosis', models.CharField(max_length=128, null=True, verbose_name='Diagnosis')),
                ('year_of_diagnosis', models.IntegerField(default=0, null=True, verbose_name='Year of diagnosis')),
                ('languages', models.ManyToManyField(to='web.Language', verbose_name='Known languages')),
            ],
        ),
        migrations.CreateModel(
            name='Visit',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('datetime_begin', models.DateTimeField(verbose_name='Visit starts at')),
                ('datetime_end', models.DateTimeField(verbose_name='Visit ends at')),
                ('visit_type', models.CharField(choices=[('A', 'Level A visit'), ('B', 'Level B visit'), ('O', 'Other')], default='O', max_length=1, verbose_name='Visit type')),
                ('is_finished', models.BooleanField(default=False, verbose_name='Has ended')),
                ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Subject', verbose_name='Subject')),
            ],
        ),
        migrations.CreateModel(
            name='Worker',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=50, verbose_name='First name')),
                ('last_name', models.CharField(max_length=50, verbose_name='Last name')),
                ('phone_number', models.CharField(max_length=20, verbose_name='Phone number')),
                ('unit', models.CharField(max_length=50, verbose_name='Unit')),
                ('email', models.EmailField(max_length=254, verbose_name='E-mail')),
                ('role', models.CharField(choices=[('DOCTOR', 'Doctor'), ('NURSE', 'Nurse'), ('PSYCHOLOGIST', 'Psychologist'), ('TECHNICIAN', 'Technician'), ('SECRETARY', 'Secretary')], max_length=20, verbose_name='Role')),
                ('specialization', models.CharField(max_length=20, verbose_name='Specialization')),
                ('appointments', models.ManyToManyField(blank=True, to='web.Appointment', verbose_name='Appointments')),
                ('languages', models.ManyToManyField(to='web.Language', verbose_name='Known languages')),
                ('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Username')),
            ],
        ),
        migrations.AddField(
            model_name='holiday',
            name='person',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker'),
        ),
        migrations.AddField(
            model_name='flyingteam',
            name='doctor',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='FlyingTeamDoctor', to='web.Worker', verbose_name='Doctor'),
        ),
        migrations.AddField(
            model_name='flyingteam',
            name='nurse',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='FlyingTeamNurse', to='web.Worker', verbose_name='Nurse'),
        ),
        migrations.AddField(
            model_name='flyingteam',
            name='psychologist',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='FlyingTeamPsychologist', to='web.Worker', verbose_name='Psychologist'),
        ),
        migrations.AddField(
            model_name='avaibility',
            name='person',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker'),
        ),
        migrations.AddField(
            model_name='appointmenttype',
            name='required_equipment',
            field=models.ManyToManyField(to='web.Item', verbose_name='Required equipment'),
        ),
        migrations.AddField(
            model_name='appointment',
            name='appointment_type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.AppointmentType', verbose_name='Appointment type'),
        ),
        migrations.AddField(
            model_name='appointment',
            name='flying_team',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.FlyingTeam', verbose_name='Flying team (if applicable)'),
        ),
        migrations.AddField(
            model_name='appointment',
            name='room',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Room', verbose_name='Room ID'),
        ),
        migrations.AddField(
            model_name='appointment',
            name='visit',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Visit', verbose_name='Visit ID'),
        ),
        migrations.AddField(
            model_name='appointment',
            name='worker_assigned',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker conducting the assessment (if applicable)'),
        ),
    ]