Exemplo n.º 1
0
    persona = models.ForeignKey(Persona, related_name='prebeneficiarios')

    def get_absolute_url(self):
        return self.precontrato.get_absolute_url()


class Autorizacion(TimeStampedModel):
    imagen = models.FileField(upload_to='contracts/autorizaciones/%Y/%m/%d')
    descripcion = models.TextField(blank=True, null=True)
    vigente = models.BooleanField(default=True)

    def __unicode__(self):
        return self.imagen.name


def consolidate_contracts(persona, clone):
    [
        transfer_object_to_persona(contrato, persona)
        for contrato in clone.contratos.all()
    ]

    [
        transfer_object_to_persona(beneficiario, persona)
        for beneficiario in clone.beneficiarios.all()
    ]

    [transfer_object_to_persona(pcd, persona) for pcd in clone.pcds.all()]


persona_consolidation_functions.append(consolidate_contracts)
Exemplo n.º 2
0
    ]

    [
        transfer_object_to_persona(espera, persona)
        for espera in clone.espera.all()
    ]

    [
        transfer_object_to_persona(signos, persona)
        for signos in clone.lecturas_signos.all()
    ]

    [transfer_object_to_persona(cita, persona) for cita in clone.citas.all()]

    [
        transfer_object_to_persona(remision, persona)
        for remision in clone.remisiones.all()
    ]


persona_consolidation_functions.append(consolidate_clinique)

User.consultorios_activos = property(
    lambda u: Consultorio.objects.filter(usuario=u, activo=True))

Persona.consultas_activas = property(
    lambda p: Consulta.objects.filter(persona=p, activa=True))

Persona.ultima_consulta = property(
    lambda p: Consulta.objects.filter(persona=p).last())
Exemplo n.º 3
0
    def diferencia_total(self):

        cierre = sum(c.monto for c in self.cierres.all())
        pagos = sum(r.pagado() for r in self.recibos())

        return cierre - pagos - self.apertura


class CierreTurno(TimeStampedModel):
    turno = models.ForeignKey(TurnoCaja, related_name='cierres')
    pago = models.ForeignKey(TipoPago, related_name='cierres')
    monto = models.DecimalField(blank=True, null=True, max_digits=7,
                                decimal_places=2)

    def get_absolute_url(self):
        """Obtiene la URL absoluta"""

        return reverse('invoice-turno', args=[self.turno.id])


def consolidate_invoice(persona, clone):
    [move_invoice(persona, recibo) for recibo in clone.recibos.all()]


def move_invoice(persona, recibo):
    recibo.paciente = persona
    recibo.save()


persona_consolidation_functions.append(consolidate_invoice)
Exemplo n.º 4
0
    def __unicode__(self):
        return self.nombre


class Deposito(TimeStampedModel):

    admision = models.ForeignKey(Admision, related_name='depositos')
    monto = models.DecimalField(blank=True, null=True, max_digits=7,
                                decimal_places=2)
    fecha = models.DateTimeField(default=timezone.now, null=True, blank=True)
    recibo = models.IntegerField(null=True, blank=True)

    def get_absolute_url(self):

        """Obtiene la URL absoluta"""

        return reverse('admision-view-id', args=[self.admision.id])


def consolidate_spital(persona, clone):
    [move_admision(persona, admision) for admision in clone.admisiones.all()]


def move_admision(persona, admision):
    admision.paciente = persona
    admision.save()


persona_consolidation_functions.append(consolidate_spital)
Exemplo n.º 5
0
class Prebeneficiario(TimeStampedModel):
    precontrato = models.ForeignKey(Precontrato,
                                    related_name='prebeneficiarios')
    persona = models.ForeignKey(Persona, related_name='prebeneficiarios')

    def get_absolute_url(self):
        return self.precontrato.get_absolute_url()


class Autorizacion(TimeStampedModel):
    imagen = models.FileField(upload_to='contracts/autorizaciones/%Y/%m/%d')
    descripcion = models.TextField(blank=True, null=True)
    vigente = models.BooleanField(default=True)

    def __unicode__(self):
        return self.imagen.name


def consolidate_contracts(persona, clone):
    [transfer_object_to_persona(contrato, persona) for contrato in
     clone.contratos.all()]

    [transfer_object_to_persona(beneficiario, persona) for beneficiario in
     clone.beneficiarios.all()]

    [transfer_object_to_persona(pcd, persona) for pcd in clone.pcds.all()]


persona_consolidation_functions.append(consolidate_contracts)
Exemplo n.º 6
0
    def __unicode__(self):
        return self.nombre


class Deposito(TimeStampedModel):

    admision = models.ForeignKey(Admision, related_name='depositos')
    monto = models.DecimalField(blank=True,
                                null=True,
                                max_digits=7,
                                decimal_places=2)
    fecha = models.DateTimeField(default=timezone.now, null=True, blank=True)
    recibo = models.IntegerField(null=True, blank=True)

    def get_absolute_url(self):
        """Obtiene la URL absoluta"""

        return reverse('admision-view-id', args=[self.admision.id])


def consolidate_spital(persona, clone):
    [move_admision(persona, admision) for admision in clone.admisiones.all()]


def move_admision(persona, admision):
    admision.paciente = persona
    admision.save()


persona_consolidation_functions.append(consolidate_spital)
Exemplo n.º 7
0
        return reverse('emergency-view-id', args=[self.emergencia.id])


@python_2_unicode_compatible
class Cobro(TimeStampedModel):
    """Permite registrar los distintos cargos"""

    emergencia = models.ForeignKey(Emergencia, related_name='cobros')
    cargo = models.ForeignKey(ItemTemplate, related_name='cobros')
    cantidad = models.IntegerField(default=1)
    facturado = models.NullBooleanField(default=False)

    def get_absolute_url(self):
        """Obtiene la URL absoluta"""

        return reverse('emergencia-cobro-agregar', args=[self.emergencia.id])

    def __str__(self):
        return _('{1}: {0}').format(self.cargo.descripcion, self.created)

    def total(self):
        return self.cargo.precio_de_venta * self.cantidad


def consolidate_emergency(persona, clone):
    [transfer_object_to_persona(emergency, persona) for emergency in
     clone.emergencias.all()]


persona_consolidation_functions.append(consolidate_emergency)
Exemplo n.º 8
0
    [transfer_object_to_persona(evaluacion, persona) for evaluacion in
     clone.evaluaciones.all()]

    [transfer_object_to_persona(orden, persona) for orden in
     clone.ordenes_medicas.all()]

    [transfer_object_to_persona(espera, persona) for espera in
     clone.espera.all()]

    [transfer_object_to_persona(signos, persona) for signos in
     clone.lecturas_signos.all()]

    [transfer_object_to_persona(cita, persona) for cita in
     clone.citas.all()]

    [transfer_object_to_persona(remision, persona) for remision in
     clone.remisiones.all()]


persona_consolidation_functions.append(consolidate_clinique)

User.consultorios_activos = property(
    lambda u: Consultorio.objects.filter(usuario=u, activo=True))

Persona.consultas_activas = property(
    lambda p: Consulta.objects.filter(persona=p, activa=True))

Persona.ultima_consulta = property(
    lambda p: Consulta.objects.filter(persona=p).last())
Exemplo n.º 9
0
        cierre = sum(
            c.monto for c in CierreTurno.objects.filter(turno=self).all())
        pagos = sum(r.pagado() for r in self.recibos())

        return cierre - pagos - self.apertura


class CierreTurno(TimeStampedModel):
    turno = models.ForeignKey(TurnoCaja, related_name='cierres')
    pago = models.ForeignKey(TipoPago, related_name='cierres')
    monto = models.DecimalField(blank=True, null=True, max_digits=7,
                                decimal_places=2)

    def get_absolute_url(self):
        """Obtiene la URL absoluta"""

        return self.turno.get_absolute_url()


def consolidate_invoice(persona, clone):
    [move_invoice(persona, recibo) for recibo in clone.recibos.all()]


def move_invoice(persona, recibo):
    recibo.paciente = persona
    recibo.save()


persona_consolidation_functions.append(consolidate_invoice)
Exemplo n.º 10
0
        return reverse('emergency-view-id', args=[self.emergencia.id])


class Cobro(TimeStampedModel):
    """Permite registrar los distintos cargos"""

    emergencia = models.ForeignKey(Emergencia, related_name='cobros')
    cargo = models.ForeignKey(ItemTemplate, related_name='cobros')
    cantidad = models.IntegerField(default=1)
    facturado = models.NullBooleanField(default=False)

    def get_absolute_url(self):
        """Obtiene la URL absoluta"""

        return reverse('emergencia-cobro-agregar', args=[self.emergencia.id])

    def __unicode__(self):
        return u'{1}: {0}'.format(self.cargo.descripcion, self.created)

    def total(self):

        return self.cargo.precio_de_venta * self.cantidad


def consolidate_emergency(persona, clone):
    [transfer_object_to_persona(emergency, persona) for emergency in
     clone.emergencias.all()]


persona_consolidation_functions.append(consolidate_emergency)