USE [Clinica]
GO
/****** Object:  View [Clinica].[VWPrestacionesRealizadas]    Script Date: 18-08-2025 21:38:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO



CREATE view [Clinica].[VWPrestacionesRealizadas] as
select
    ROW_NUMBER() OVER (ORDER BY(SELECT NULL)) AS Nro,
    cc.IdCaja,
    caja.Descripcion Caja,
	 ec.IdTipoEstadoCaja, ec.Descripcion as TipoEstadoCaja,
    '' as 'RutCajero',
    contacto.Nombre as 'NombreCajero',
    FORMAT(mc.FechaMovimiento, 'dd-MM-yyyy') as 'FechaMovimiento',
    FORMAT(mc.FechaMovimiento, 'HH:mm') as 'HoraMovimiento',
    profesional.IdProfesional,
    profesional.Rut as 'RutProfesional',
    profesional.Nombres + ' ' + profesional.Apellidos as 'NombreProfesional',
    paciente.Rut as 'RutPaciente',
    paciente.Nombres + ' ' + paciente.Apellidos as 'NombrePaciente',
    prestacion.CodigoInterno as 'CodigoPrestacion',
    prestacion.Descripcion as 'NombrePrestacion',
	tp.IdTipoPrestacion,
	tp.Descripcion TipoPrestacion,
    tmp.Descripcion as 'Modalidad',
    sistemaSalud.Descripcion as 'SistemaSalud',
    isapre.Descripcion as Isapre,
    mc.NroBono as 'NroBono',
    FORMAT(mc.FechaEmision, 'dd-MM-yyyy') as 'FechaEmision',
    FORMAT(mc.FechaRecepcion, 'dd-MM-yyyy') as 'FechaRecepcion',
    mc.TotalBono as 'Valor',
    mc.MontoPagadoPrevision as 'MontoPagadoPrevision',
    mc.MontoCopago as 'MontoCopago',
    mc.Seguros as 'SeguroComplementario',
    mc.Excendentes,
    mc.Monto as 'TotalPagado'
from
    Caja.MovimientoCaja mc
    join Caja.CicloCaja cc on cc.IdCicloCaja = mc.IdCicloCaja
    join Core.Usuario usuario on usuario.IdUsuario = cc.IdUsuarioCajero
    join Core.Contacto contacto on contacto.IdContacto = usuario.IdContacto
    join Caja.Caja caja on caja.IdCaja = mc.IdCaja
	JOIN Caja.TipoEstadoCaja ec on caja.IdTipoEstadoCaja = ec.IdTipoEstadoCaja
    join Clinica.Cita cita on cita.IdCita = mc.IdCita
    join Clinica.Profesional profesional on profesional.IdProfesional = cita.IdProfesional
    join Clinica.Paciente paciente on paciente.IdPaciente = cita.IdPaciente
    join Clinica.Prestacion prestacion on prestacion.IdPrestacion = cita.IdPrestacion
	join Clinica.TipoPrestacion tp on tp.IdTipoPrestacion = prestacion.IdTipoPrestacion
    join Caja.TipoModalidadPago tmp on tmp.IdTipoModalidadPago = mc.IdTipoModalidadPago
    left join Clinica.SistemaSalud sistemaSalud on sistemaSalud.IdSistemaSalud = mc.SistemaSalud
    left join Clinica.Isapre isapre on isapre.IdIsapre = mc.IdIsapre
GO
