-
PRC server authoredPRC server authored
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)'),
),
]