# Generated by Django 2.2.13 on 2020-06-10 00:44

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),
        ('contenttypes', '0002_remove_content_type_name'),
    ]

    operations = [
        migrations.CreateModel(
            name='Area',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=100)),
                ('temperatura_minima', models.DecimalField(blank=True, decimal_places=2, max_digits=7, null=True)),
                ('temperatura_maxima', models.DecimalField(blank=True, decimal_places=2, max_digits=7, null=True)),
                ('humedad_minima', models.DecimalField(blank=True, decimal_places=2, max_digits=7, null=True)),
                ('humedad_maxima', models.DecimalField(blank=True, decimal_places=2, max_digits=7, null=True)),
                ('oculto', models.BooleanField(default=False)),
            ],
            options={
                'verbose_name': 'area',
                'verbose_name_plural': 'areas',
            },
        ),
        migrations.CreateModel(
            name='CategoriaAgua',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=50)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_categoriaagua_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'categoria de agua',
                'verbose_name_plural': 'categorias de agua',
            },
        ),
        migrations.CreateModel(
            name='Departamento',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('codigo', models.IntegerField()),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_departamento_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'departamento',
                'verbose_name_plural': 'departamentos',
            },
        ),
        migrations.CreateModel(
            name='Eps',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=50)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_eps_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'eps',
                'verbose_name_plural': 'eps',
            },
        ),
        migrations.CreateModel(
            name='Epsa',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100, verbose_name='nombre epsa')),
                ('direccion', models.CharField(max_length=100, verbose_name='dirección')),
                ('rup', models.CharField(max_length=50, verbose_name='n. rup')),
                ('nit', models.CharField(max_length=50, verbose_name='n. nit')),
                ('tipo', models.CharField(choices=[('EP', 'Empresa prestadora de servicio de acueducto'), ('AV', 'Acueducto veredal'), ('NE', 'No tiene EPSA'), ('ES', 'EPSA sin registro conocido')], max_length=2, verbose_name='tipo de epsa')),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_epsa_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'epsa',
                'verbose_name_plural': 'epsas',
            },
        ),
        migrations.CreateModel(
            name='Metodo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('objeto', models.CharField(max_length=200)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_metodo_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'metodo',
                'verbose_name_plural': 'metodos',
                'ordering': ['nombre'],
            },
        ),
        migrations.CreateModel(
            name='MotivoAnalisis',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=100)),
            ],
            options={
                'verbose_name': 'motivo de analisis',
                'verbose_name_plural': 'motivos de analisis',
            },
        ),
        migrations.CreateModel(
            name='MotivoRechazo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('motivo', models.CharField(max_length=250)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_motivorechazo_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'motivo de rechazo',
                'verbose_name_plural': 'motivos de rechazo',
            },
        ),
        migrations.CreateModel(
            name='Muestra',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('observacion', models.TextField(max_length=500, verbose_name='Observacion')),
                ('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_trazabilidad.muestra_set+', to='contenttypes.ContentType')),
            ],
            options={
                'verbose_name': 'muestra',
                'verbose_name_plural': 'muestras',
                'ordering': ['id'],
            },
        ),
        migrations.CreateModel(
            name='Municipio',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('codigo', models.IntegerField()),
                ('departamento', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='municipios', to='trazabilidad.Departamento')),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_municipio_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'municipio',
                'verbose_name_plural': 'municipios',
            },
        ),
        migrations.CreateModel(
            name='ObjetoPrueba',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=300)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_objetoprueba_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'proposito general de la prueba',
                'verbose_name_plural': 'propositos generales de la prueba',
            },
        ),
        migrations.CreateModel(
            name='Programa',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=100)),
                ('codigo', models.CharField(max_length=100, verbose_name='código')),
            ],
            options={
                'verbose_name': 'programa',
                'verbose_name_plural': 'programas',
            },
        ),
        migrations.CreateModel(
            name='Prueba',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('duracion', models.DurationField(verbose_name='duración')),
                ('valores_referencia', models.CharField(blank=True, max_length=100, verbose_name='valores de referencia')),
                ('area', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pruebas', to='trazabilidad.Area')),
                ('metodos', models.ManyToManyField(related_name='pruebas', to='trazabilidad.Metodo')),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_prueba_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'prueba',
                'verbose_name_plural': 'pruebas',
                'ordering': ['nombre'],
            },
        ),
        migrations.CreateModel(
            name='Recepcion',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('indice_radicado', models.BigIntegerField()),
                ('fecha_radicado', models.DateTimeField(auto_now_add=True, verbose_name='fecha de radicación')),
                ('fecha_recepcion', models.DateTimeField(verbose_name='fecha de recepción')),
                ('estado', models.CharField(blank=True, choices=[('A', 'Aceptado para verificación'), ('R', 'Rechazado')], max_length=1)),
                ('observaciones', models.TextField(blank=True)),
                ('confirmada', models.BooleanField(default=False)),
                ('fecha_confirmacion', models.DateTimeField(blank=True, null=True, verbose_name='fecha de confirmación')),
                ('comentario', models.CharField(blank=True, help_text='Por favor indique que acción tomo con el ingreso respecto al rechazo del analista.', max_length=300)),
                ('estado_analista', models.CharField(blank=True, choices=[('A', 'Aceptado'), ('R', 'Rechazado')], max_length=1, verbose_name='estado')),
                ('observaciones_analista', models.TextField(blank=True, verbose_name='observaciones')),
                ('fecha_estado_analista', models.DateTimeField(blank=True, null=True, verbose_name='fecha de estado')),
                ('analista', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ingresos_analista', to=settings.AUTH_USER_MODEL)),
                ('motivo_rechazo', models.ManyToManyField(blank=True, related_name='rechazos_recepcionista', to='trazabilidad.MotivoRechazo', verbose_name='motivos de rechazo')),
                ('motivo_rechazo_analista', models.ManyToManyField(blank=True, related_name='rechazos_analista', to='trazabilidad.MotivoRechazo', verbose_name='motivos de rechazo')),
                ('programa', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.Programa')),
                ('recepcionista', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ingresos_recepcionista', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'recepción',
                'verbose_name_plural': 'recepciones',
                'ordering': ['-indice_radicado'],
            },
        ),
        migrations.CreateModel(
            name='TipoVigilancia',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_tipovigilancia_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'tipo de vigilancia',
                'verbose_name_plural': 'tipos de vigilancia',
            },
        ),
        migrations.CreateModel(
            name='TipoMuestra',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=50)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_tipomuestra_set', to=settings.AUTH_USER_MODEL)),
                ('programas', models.ManyToManyField(to='trazabilidad.Programa')),
            ],
            options={
                'verbose_name': 'tipo de muestra',
                'verbose_name_plural': 'tipos de muestra',
            },
        ),
        migrations.CreateModel(
            name='TipoEventoEvaluacionExterna',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_tipoeventoevaluacionexterna_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'tipo de evento de evaluación externa',
                'verbose_name_plural': 'tipos de eventos de evaluación externa',
            },
        ),
        migrations.CreateModel(
            name='TipoEvento',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_tipoevento_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'tipo de evento',
                'verbose_name_plural': 'tipos de eventos',
            },
        ),
        migrations.CreateModel(
            name='TipoEnvase',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=50)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_tipoenvase_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'tipo de envase',
                'verbose_name_plural': 'tipos de envase',
            },
        ),
        migrations.CreateModel(
            name='TipoAgua',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=50)),
                ('categoria', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.CategoriaAgua')),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_tipoagua_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'tipo de agua',
                'verbose_name_plural': 'tipos de agua',
            },
        ),
        migrations.CreateModel(
            name='Temperatura',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('valor', models.CharField(max_length=50)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_temperatura_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'temperatura',
                'verbose_name_plural': 'temperaturas',
            },
        ),
        migrations.CreateModel(
            name='Solicitante',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=200)),
                ('direccion', models.CharField(max_length=100, verbose_name='dirección')),
                ('telefono', models.IntegerField()),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_solicitante_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'solicitante',
                'verbose_name_plural': 'solicitantes',
            },
        ),
        migrations.CreateModel(
            name='ResultadoPrueba',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_resultadoprueba_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'resultado',
                'verbose_name_plural': 'resultados',
            },
        ),
        migrations.CreateModel(
            name='ResponsableRecoleccion',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombres', models.CharField(max_length=200)),
                ('apellidos', models.CharField(max_length=200)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_responsablerecoleccion_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'responsable de recolección',
                'verbose_name_plural': 'responsables de recolección',
            },
        ),
        migrations.CreateModel(
            name='Reporte',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('confirmado', models.BooleanField(default=False)),
                ('fecha', models.DateTimeField(blank=True, null=True, verbose_name='fecha de reporte')),
                ('objeto', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='objeto_prueba_reporte', to='trazabilidad.ObjetoPrueba', verbose_name='Objeto de la Prueba')),
                ('registro_recepcion', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reportes', to='trazabilidad.Recepcion')),
            ],
            options={
                'verbose_name': 'reporte',
                'verbose_name_plural': 'reportes',
            },
        ),
        migrations.CreateModel(
            name='RegistroTemperaturaArea',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('fecha_registro', models.DateTimeField()),
                ('temperatura', models.DecimalField(decimal_places=3, max_digits=7)),
                ('humedad', models.DecimalField(decimal_places=3, max_digits=7)),
                ('unidad', models.CharField(choices=[('C', 'Celsius'), ('F', 'Farhenheit')], max_length=1)),
                ('observaciones', models.TextField()),
                ('area', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='registros', to='trazabilidad.Area')),
                ('registrado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'registro de temperatura area',
                'verbose_name_plural': 'registros de temperatura area',
                'ordering': ['-fecha_registro'],
            },
        ),
        migrations.CreateModel(
            name='PuntajeRiesgo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('puntaje', models.FloatField()),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_puntajeriesgo_set', to=settings.AUTH_USER_MODEL)),
                ('prueba', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='puntaje_riesgo', to='trazabilidad.Prueba')),
            ],
            options={
                'verbose_name': 'Puntaje Riesgo',
                'verbose_name_plural': 'Puntajes de Riesgo',
            },
        ),
        migrations.CreateModel(
            name='PruebasRealizadas',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('C', 'Conservación'), ('P', 'Pre-Analisis'), ('A', 'Analisis'), ('R', 'Prueba finalizada')], default='C', max_length=1)),
                ('fecha_pre_analisis', models.DateTimeField(blank=True, null=True)),
                ('ultima_modificacion', models.DateTimeField(blank=True, null=True)),
                ('observacion_semaforo', models.CharField(blank=True, help_text='Indique porque ha durado mas tiempo del establecido para terminar la prueba.', max_length=200, verbose_name='observaciones')),
                ('resultado_numerico', models.CharField(blank=True, max_length=150, verbose_name='resultado numerico')),
                ('concepto', models.CharField(blank=True, max_length=255, verbose_name='concepto')),
                ('metodo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='trazabilidad.Metodo')),
                ('muestra', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.Muestra')),
                ('prueba', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.Prueba')),
                ('resultados', models.ManyToManyField(blank=True, related_name='resultados', to='trazabilidad.ResultadoPrueba')),
            ],
            options={
                'verbose_name': 'prueba realizada',
                'verbose_name_plural': 'pruebas realizadas',
                'ordering': ['prueba'],
                'unique_together': {('muestra', 'prueba')},
            },
        ),
        migrations.AddField(
            model_name='prueba',
            name='resultados',
            field=models.ManyToManyField(related_name='pruebas', to='trazabilidad.ResultadoPrueba'),
        ),
        migrations.CreateModel(
            name='ProgramaEvaluacionExterna',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_programaevaluacionexterna_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'programa de evaluación externa',
                'verbose_name_plural': 'programas de evaluación externa',
            },
        ),
        migrations.CreateModel(
            name='Poblado',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('codigo', models.IntegerField()),
                ('epsa', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='poblados', to='trazabilidad.Epsa')),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_poblado_set', to=settings.AUTH_USER_MODEL)),
                ('municipio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='poblados', to='trazabilidad.Municipio')),
            ],
            options={
                'verbose_name': 'poblado',
                'verbose_name_plural': 'poblados',
            },
        ),
        migrations.CreateModel(
            name='Paciente',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100, verbose_name='nombres')),
                ('apellido', models.CharField(max_length=100, verbose_name='apellidos')),
                ('direccion', models.CharField(max_length=100, verbose_name='dirección')),
                ('identificacion', models.CharField(max_length=50, verbose_name='documento id')),
                ('tipo_identificacion', models.CharField(choices=[('CC', 'CC'), ('TI', 'TI'), ('RC', 'RC'), ('P', 'P'), ('CE', 'CE'), ('CO', 'COD'), ('CD', 'CC/COD'), ('NN', 'SIN DATOS')], max_length=2)),
                ('edad', models.IntegerField()),
                ('tipo_edad', models.CharField(choices=[('A', 'Años'), ('M', 'Meses'), ('D', 'Dias'), ('H', 'Horas')], max_length=1)),
                ('sexo', models.CharField(choices=[('F', 'Femenino'), ('M', 'Masculino')], max_length=1)),
                ('eps', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pacientes', to='trazabilidad.Eps', verbose_name='eps-plan')),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_paciente_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'paciente',
                'verbose_name_plural': 'pacientes',
            },
        ),
        migrations.CreateModel(
            name='NivelRiesgo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('inicio', models.FloatField()),
                ('fin', models.FloatField()),
                ('nivel', models.CharField(max_length=255)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_nivelriesgo_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Nivel de Riesgo',
                'verbose_name_plural': 'Niveles de Riesgo',
            },
        ),
        migrations.AddField(
            model_name='muestra',
            name='pruebas',
            field=models.ManyToManyField(blank=True, through='trazabilidad.PruebasRealizadas', to='trazabilidad.Prueba'),
        ),
        migrations.AddField(
            model_name='muestra',
            name='registro_recepcion',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras', to='trazabilidad.Recepcion', verbose_name='ingreso'),
        ),
        migrations.CreateModel(
            name='LugarRecoleccion',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=250)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_lugarrecoleccion_set', to=settings.AUTH_USER_MODEL)),
                ('municipio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.Municipio')),
            ],
            options={
                'verbose_name': 'lugar de recolección',
                'verbose_name_plural': 'lugares de recolección',
            },
        ),
        migrations.CreateModel(
            name='LugarPunto',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_lugarpunto_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'lugar del punto de toma',
                'verbose_name_plural': 'lugares de los puntos de toma',
            },
        ),
        migrations.CreateModel(
            name='InstitucionEEID',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('codigo', models.IntegerField()),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_institucioneeid_set', to=settings.AUTH_USER_MODEL)),
                ('municipio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='instituciones_eeid', to='trazabilidad.Municipio')),
            ],
            options={
                'verbose_name': 'institución EEID',
                'verbose_name_plural': 'instituciones EEID',
            },
        ),
        migrations.CreateModel(
            name='InstitucionEEDD',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('direccion', models.CharField(max_length=100, verbose_name='dirección')),
                ('nit', models.CharField(max_length=50, verbose_name='n. nit')),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_institucioneedd_set', to=settings.AUTH_USER_MODEL)),
                ('municipio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='instituciones_eedd', to='trazabilidad.Municipio')),
            ],
            options={
                'verbose_name': 'institución EEDD',
                'verbose_name_plural': 'instituciones EEDD',
            },
        ),
        migrations.CreateModel(
            name='InstitucionCitohistopatologia',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('codigo', models.BigIntegerField()),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_institucioncitohistopatologia_set', to=settings.AUTH_USER_MODEL)),
                ('municipio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='instituciones_citohistopatologia', to='trazabilidad.Municipio')),
            ],
            options={
                'verbose_name': 'institución de citohistopatologia',
                'verbose_name_plural': 'instituciónes de citohistopatologia',
            },
        ),
        migrations.CreateModel(
            name='InstitucionBancoSangre',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_institucionbancosangre_set', to=settings.AUTH_USER_MODEL)),
                ('municipio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='instituciones_banco_sangre', to='trazabilidad.Municipio')),
            ],
            options={
                'verbose_name': 'institución banco de sangre',
                'verbose_name_plural': 'instituciónes banco de sangre',
            },
        ),
        migrations.CreateModel(
            name='Institucion',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_institucion_set', to=settings.AUTH_USER_MODEL)),
                ('municipio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='instituciones', to='trazabilidad.Municipio')),
            ],
            options={
                'verbose_name': 'institución',
                'verbose_name_plural': 'instituciones',
            },
        ),
        migrations.CreateModel(
            name='InformacionAgua',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('fecha_recoleccion', models.DateField(blank=True, null=True, verbose_name='fecha de recolección')),
                ('responsable_toma', models.CharField(blank=True, max_length=100, verbose_name='responsable de la toma')),
                ('poblado', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.Poblado')),
                ('solicitante', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='trazabilidad.Solicitante')),
                ('temperatura', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='trazabilidad.Temperatura')),
                ('tipo_agua', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='trazabilidad.TipoAgua', verbose_name='tipo de agua')),
            ],
            options={
                'verbose_name': 'información general de las muestras de agua',
                'verbose_name_plural': 'información general de las muestras de agua',
            },
        ),
        migrations.CreateModel(
            name='FuenteAbastecimiento',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_fuenteabastecimiento_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'fuente de abastecimiento',
                'verbose_name_plural': 'fuentes de abastecimiento',
            },
        ),
        migrations.CreateModel(
            name='DescripcionPunto',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_descripcionpunto_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'descripción del punto de toma',
                'verbose_name_plural': 'descripciónes de los puntos de toma',
            },
        ),
        migrations.CreateModel(
            name='Control',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('nombre', models.CharField(max_length=100)),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_control_set', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'control',
                'verbose_name_plural': 'controles',
            },
        ),
        migrations.CreateModel(
            name='CodigoPunto',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('estado', models.CharField(choices=[('A', 'Activo'), ('I', 'Inactivo')], max_length=1)),
                ('ultima_modificacion', models.DateTimeField(auto_now=True)),
                ('codigo', models.CharField(max_length=20, verbose_name='código')),
                ('direccion', models.CharField(max_length=100, verbose_name='dirección')),
                ('punto_intradomiciliario', models.BooleanField(choices=[(True, 'Si'), (False, 'No')])),
                ('descripcion', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.DescripcionPunto', verbose_name='descripción punto de toma')),
                ('fuente_abastecimiento', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.FuenteAbastecimiento', verbose_name='fuente de abastecimiento')),
                ('lugar_toma', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.LugarPunto', verbose_name='lugar del punto de toma')),
                ('modificado_por', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trazabilidad_codigopunto_set', to=settings.AUTH_USER_MODEL)),
                ('poblado', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.Poblado')),
            ],
            options={
                'verbose_name': 'codigo del punto',
                'verbose_name_plural': 'codigos de los puntos',
            },
        ),
        migrations.AddField(
            model_name='area',
            name='programa',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='areas', to='trazabilidad.Programa'),
        ),
        migrations.CreateModel(
            name='Entomologia',
            fields=[
                ('muestra_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='trazabilidad.Muestra')),
                ('estado_desarrollo', models.CharField(choices=[('H', 'Huevo'), ('L', 'Larvas'), ('P', 'Pupa'), ('N', 'Ninfa'), ('A', 'Adulto'), ('I', 'Indeterminado')], max_length=1, verbose_name='estado de desarrollo')),
                ('lugar_recoleccion', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.LugarRecoleccion', verbose_name='lugar de recolección')),
                ('responsable_recoleccion', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.ResponsableRecoleccion', verbose_name='responsable de recolección')),
                ('tipo_muestra', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_entomologia', to='trazabilidad.TipoMuestra')),
                ('tipo_vigilancia', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.TipoVigilancia', verbose_name='tipo de vigilancia')),
            ],
            options={
                'verbose_name': 'muestra de entomologia',
                'verbose_name_plural': 'muestras de entomologia',
            },
            bases=('trazabilidad.muestra',),
        ),
        migrations.CreateModel(
            name='EEID',
            fields=[
                ('muestra_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='trazabilidad.Muestra')),
                ('nombre', models.CharField(max_length=100, verbose_name='nombres')),
                ('identificacion', models.CharField(max_length=50, verbose_name='documento id')),
                ('tipo_identificacion', models.CharField(choices=[('CC', 'CC'), ('TI', 'TI'), ('RC', 'RC'), ('P', 'P'), ('CE', 'CE'), ('CO', 'COD'), ('CD', 'CC/COD'), ('NN', 'SIN DATOS')], max_length=2)),
                ('edad', models.IntegerField()),
                ('tipo_edad', models.CharField(choices=[('A', 'Años'), ('M', 'Meses'), ('D', 'Dias'), ('H', 'Horas')], max_length=1)),
                ('programado', models.BooleanField(choices=[(True, 'Si'), (False, 'No')])),
                ('control', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_eeid', to='trazabilidad.Control')),
                ('institucion', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_eeid', to='trazabilidad.InstitucionEEID')),
                ('programa', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_eeid', to='trazabilidad.ProgramaEvaluacionExterna')),
                ('tipo_evento', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_eeid', to='trazabilidad.TipoEventoEvaluacionExterna')),
                ('tipo_muestra', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_eeid', to='trazabilidad.TipoMuestra')),
            ],
            options={
                'verbose_name': 'muestra EEID',
                'verbose_name_plural': 'muestras EEID',
            },
            bases=('trazabilidad.muestra',),
        ),
        migrations.CreateModel(
            name='EEDD',
            fields=[
                ('muestra_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='trazabilidad.Muestra')),
                ('control', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_eedd', to='trazabilidad.Control')),
                ('institucion', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.InstitucionEEDD')),
                ('tipo_evento', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_eedd', to='trazabilidad.TipoEventoEvaluacionExterna')),
                ('tipo_muestra', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_eedd', to='trazabilidad.TipoMuestra')),
            ],
            options={
                'verbose_name': 'muestra EEDD',
                'verbose_name_plural': 'muestras EEDD',
            },
            bases=('trazabilidad.muestra',),
        ),
        migrations.CreateModel(
            name='Clinica',
            fields=[
                ('muestra_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='trazabilidad.Muestra')),
                ('barrio', models.CharField(max_length=100)),
                ('embarazada', models.BooleanField(choices=[(True, 'Si'), (False, 'No')], default=False)),
                ('institucion', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='trazabilidad.Institucion')),
                ('municipio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_clinicas', to='trazabilidad.Municipio')),
                ('paciente', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras', to='trazabilidad.Paciente')),
                ('tipo_muestras', models.ManyToManyField(blank=True, related_name='tipos_muestra', to='trazabilidad.TipoMuestra', verbose_name='tipo de muestra')),
            ],
            options={
                'verbose_name': 'muestra clinica',
                'verbose_name_plural': 'muestras clinicas',
            },
            bases=('trazabilidad.muestra',),
        ),
        migrations.CreateModel(
            name='Citohistopatologia',
            fields=[
                ('muestra_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='trazabilidad.Muestra')),
                ('control', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.Control')),
                ('institucion', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.InstitucionCitohistopatologia')),
                ('paciente', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_citohistopatologia', to='trazabilidad.Paciente')),
                ('tipo_evento', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.TipoEvento')),
                ('tipo_muestra', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_citohistopatologia', to='trazabilidad.TipoMuestra')),
            ],
            options={
                'verbose_name': 'muestra de citohistopatologia',
                'verbose_name_plural': 'muestras de citohistopatologia',
            },
            bases=('trazabilidad.muestra',),
        ),
        migrations.CreateModel(
            name='BancoSangre',
            fields=[
                ('muestra_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='trazabilidad.Muestra')),
                ('formatos_diligenciados', models.BooleanField(choices=[(True, 'Si'), (False, 'No')])),
                ('ficha_pacientes', models.BooleanField(choices=[(True, 'Si'), (False, 'No')], verbose_name='ficha de pacientes')),
                ('condensado_banco', models.BooleanField(choices=[(True, 'Si'), (False, 'No')])),
                ('institucion', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_banco_sangre', to='trazabilidad.InstitucionBancoSangre')),
                ('paciente', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_banco_sangre', to='trazabilidad.Paciente')),
                ('tipo_envase', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.TipoEnvase', verbose_name='tipo de envase')),
                ('tipo_muestra', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='muestras_banco_sangre', to='trazabilidad.TipoMuestra')),
            ],
            options={
                'verbose_name': 'muestra de banco de sangre',
                'verbose_name_plural': 'muestras de banco de sangre',
            },
            bases=('trazabilidad.muestra',),
        ),
        migrations.CreateModel(
            name='Agua',
            fields=[
                ('muestra_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='trazabilidad.Muestra')),
                ('hora_toma', models.TimeField(blank=True, null=True, verbose_name='hora de toma')),
                ('concertado', models.NullBooleanField(verbose_name='concertado')),
                ('irca', models.FloatField(blank=True, null=True)),
                ('codigo_punto', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='trazabilidad.CodigoPunto', verbose_name='cod. del punto')),
                ('informacion_general', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trazabilidad.InformacionAgua')),
                ('motivo_analisis', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='trazabilidad.MotivoAnalisis', verbose_name='motivo del analisis')),
            ],
            options={
                'verbose_name': 'muestra de agua',
                'verbose_name_plural': 'muestras de agua',
            },
            bases=('trazabilidad.muestra',),
        ),
    ]
