Академический Документы
Профессиональный Документы
Культура Документы
2013- II
Contenido
I. II. Introduccin .....................................................................................................................1 Definicin del Problema .................................................... Error! Marcador no definido.
EMISIN DE CARNETS EN LOS 3 LTIMOS TRIMESTRES 1er Trimestre Nro. de Carnets Emitidos 4000 2do Trimestre 4222 3er Trimestre 3934
El Sistema ser implementado para la Sub Gerencia de Salud y se integrar con el Mdulo de Caja del Sistema Integrado de Gestin Municipal, pudiendo el Solicitante hacer seguimiento del trmite va internet. El Sistema contempla los siguientes Mdulos integrados: Registro de datos del Solicitante. Validacin del pago (el pago en caja se realiza con el Sistema Integrado de Gestin Municipal) Registro de resultados de los exmenes mdicos Impresin del Carnet de Sanidad Consulta del Trmite va Internet Consultas y Estadsticas del Servicio
B. Objetivo El objetivo de dicha web es dar una informacin completa sobre el proceso de registro, el cual asegurar el entendimiento entre los usuarios y el equipo de trabajo. C. Alcance El documento ser elaborado para la Sub Gerencia de Salud. Este documento describe y detalla el Modelado de Negocio para el Sistema de Registro y Emisin de Carnets de Sanidad.
III.
Anlisis de requerimiento:
Perspectiva del Producto
El Sistema de Registro de Emisin de Carnet de Sanidad podr ser accedido desde cualquier computador con conexin a la LAN de la organizacin, a travs de una direccin web. Sin embargo se permitir que el Solicitante pueda acceder a una parte del sistema para verificar la vigencia de su carnet de sanidad. Tanto el componente Web como su Base de Datos residirn en un servidor virtual dedicado. Requerimientos Principales: Registro de datos del Solicitante. Registro de resultados de los exmenes mdicos. Permitir Modificacin de Datos y resultados de Solicitantes ya inscritos. Manejar la fecha de inicio y fin de vigencia del carnet. Permitir a los colaboradores consultar un histrico de las personas registradas y sus resultados. Impresin del Carnet de Sanidad Permitir ver estado del carnet va Web (acceso pblico)
11. El sistema permitir a los Orientadores modificar los resultados de los exmenes de los Solicitantes antiguo 12. El sistema permitir al Orientador y al Solicitante revisar el estado del proceso que sigue el carnet 13. El sistema Permitir verificar la vigencia del carnet 14. El sistema permitir al Orientador, el cierre de los Registros concluidos. 15. El sistema permitir a los Orientadores marcar un Registro en estado "Pendiente de Entrega" 16. El sistema permitir a los Orientadores marcar un Registro en estado "Entregado" 17. El sistema permitir revisar el historial de Solicitantes y sus resultados. 18. El sistema permitir a los Orientadores imprimir el carnet de sanidad.
IV.
----- Creando sus Insert de la Tabla Persona ----INSERT [dbo].[Persona] ([id], [Nombre], [Apellido], [Direccion], [DNI], [Telefono]) VALUES (1, N'Jose', N'Herrera Valdivia', N'Los cedros N120', N'70579499', NULL) INSERT [dbo].[Persona] ([id], [Nombre], [Apellido], [Direccion], [DNI], [Telefono]) VALUES (2, N'Antonia', N'Herrera Valdivia', N'Los cedros N120', N'70579498', NULL) INSERT [dbo].[Persona] ([id], [Nombre], [Apellido], [Direccion], [DNI], [Telefono]) VALUES (4, N'Margaret', N'Salazar Mendieta', N'Morochucos N133', N'09834349', N'2926880 ') INSERT [dbo].[Persona] ([id], [Nombre], [Apellido], [Direccion], [DNI], [Telefono]) VALUES (5, N'Andre', N'Marqueza', N'Morochucos N134', N'09833434', NULL) INSERT [dbo].[Persona] ([id], [Nombre], [Apellido], [Direccion], [DNI], [Telefono]) VALUES (6, N'Liliana', N'Medrano Alcidez', N'La Merced N1234', N'70579494', N'2926980 ')
***** Creando la Tabla Examen ***** CREATE TABLE [dbo].[Examen]( [id] [int] IDENTITY(1,1) NOT NULL, [CentroMedico] [varchar](150) NOT NULL, [edico] [varchar](150) NOT NULL, [id_Solicitante] [int] NOT NULL, [FechaExamen] [datetime] NOT NULL, [Resultado] [varchar](30) NOT NULL, CONSTRAINT [PK_Examen] PRIMARY KEY CLUSTERED ) GO ----- Creando sus Insert de la Tabla Examen -----
INSERT [dbo].[Examen] ([id], [CentroMedico], [edico], [id_Solicitante], [FechaExamen], [Resultado]) VALUES (1, N'La familia', N'Maximo Corteza', 1, CAST(0x0000A1F9004F4D54 AS DateTime), N'Positivo') INSERT [dbo].[Examen] ([id], [CentroMedico], [edico], [id_Solicitante], [FechaExamen], [Resultado]) VALUES (2, N'Sagrada Cruz', N'Rosales Pereyra', 2, CAST(0x0000A1F9004F6C9B AS DateTime), N'Negativo') INSERT [dbo].[Examen] ([id], [CentroMedico], [edico], [id_Solicitante], [FechaExamen], [Resultado]) VALUES (5, N'Sagrada Cruz', N'Rosales Pereyra', 4, CAST(0x0000A1F9004FC57C AS DateTime), N'Negativo') INSERT [dbo].[Examen] ([id], [CentroMedico], [edico], [id_Solicitante], [FechaExamen], [Resultado]) VALUES (6, N'Posta San Martin', N'Raul Cardigan', 5, CAST(0x0000A1F9004FEBF7 AS DateTime), N'Negativo') SET IDENTITY_INSERT [dbo].[Examen] OFF ALTER TABLE [dbo].[Examen] WITH CHECK ADD CONSTRAINT [FK_Examen_Persona1] FOREIGN KEY([id_Solicitante]) REFERENCES [dbo].[Persona] ([id]) GO ALTER TABLE [dbo].[Examen] CHECK CONSTRAINT [FK_Examen_Persona1] GO
***** Creando la Tabla Carnet ***** CREATE TABLE [dbo].[Carnet]( [id] [int] IDENTITY(1,1) NOT NULL, [id_Solicitante] [int] NOT NULL, [Fecha_Crea] [datetime] NOT NULL, [Fecha_Caduc] [datetime] NOT NULL, CONSTRAINT [PK_Carnet] PRIMARY KEY CLUSTERED ) GO
----- Creando sus Insert de la Tabla Carnet ----INSERT [dbo].[Carnet] ([id], [id_Solicitante], [Fecha_Crea], [Fecha_Caduc]) VALUES (1, 2, CAST(0x0000A1F900504593 AS DateTime), CAST(0x0000A3FA00000000 AS DateTime)) INSERT [dbo].[Carnet] ([id], [id_Solicitante], [Fecha_Crea], [Fecha_Caduc]) VALUES (3, 4, CAST(0x0000A1F90050553C AS DateTime), CAST(0x0000A3FA00000000 AS DateTime)) INSERT [dbo].[Carnet] ([id], [id_Solicitante], [Fecha_Crea], [Fecha_Caduc]) VALUES (4, 5, CAST(0x0000A1F900505C25 AS DateTime), CAST(0x0000A3FA00000000 AS DateTime)) SET IDENTITY_INSERT [dbo].[Carnet] OFF ALTER TABLE [dbo].[Carnet] WITH CHECK ADD CONSTRAINT [FK_Carnet_Persona1] FOREIGN KEY([id_Solicitante]) REFERENCES [dbo].[Persona] ([id]) GO ALTER TABLE [dbo].[Carnet] CHECK CONSTRAINT [FK_Carnet_Persona1] GO
Text='Ver Listado Detallado' NavigateUrl="~/lista.aspx" runat="server" Font-Italic="True" Font-Size="Larger"/> <br /> </div> </form> </body> </html> Cdigo de Visual Para la Ventana Persona <%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Collections.Generic" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server"> void Page_Load() { if (!Page.IsPostBack) { Repeater1.DataSource = GetPhotos(); Repeater1.DataBind(); } } public List<String> GetPhotos() { List<string> photos = new List<string>(); string photoPath = MapPath("~/Photos/"); string[] files = Directory.GetFiles(photoPath); foreach (string photo in files) photos.Add("~/Photos/" + Path.GetFileName(photo)); return photos; } /// <summary> /// When the details link is clicked, display the popup window /// </summary> protected void grdPersona_SelectedIndexChanged(object sender, EventArgs e) { divEdit.Style["display"] = "block"; } /// <summary> /// When the Details/Edit close link is clicked, close /// the popup window /// </summary> protected void lnkClose_Click(object sender, EventArgs e) { divEdit.Style["display"] = "none"; } /// <summary> /// When an Persona is edited, refresh the contents of /// the GridView /// </summary> protected void frmEdit_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
{ }
grdPersona.DataBind();
/// <summary> /// Add a confirmation dialog box to the Delete links /// </summary> protected void grdPersona_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkButton lnkEliminar = (LinkButton)e.Row.Cells[0].Controls[0]; lnkEliminar.Attributes["onclick"] = "return confirm('Eliminar Registro?')"; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <style type="text/css"> html { background-color:silver; font-family:Georgia,Serif; } #content { position:relative; width:1200px; height:700px; margin:0px auto; border:solid 1px black; background-color:white; padding:10px; } .popupWindow { position:absolute; left:100px; top:50px; width:400px; border:solid 1px black; padding:10px; background-color:white; filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5, OffY=5, Color=#cccccc); display:none; } .list td { border-bottom:solid 1px black; padding:10px; } </style> <title>Registro de Persona</title> </head> <body> <form id="form1" runat="server"> <div id="content"> 9
<asp:Repeater id="Repeater1" runat="server"> <ItemTemplate> <asp:Image id="Image1" Width="1200px" ImageUrl='<%# Container.DataItem %>' Runat="server" /> </ItemTemplate> </asp:Repeater> <br /><br /> <br /><br /> <%-- List Persona --%> <asp:GridView id="grdPersona" DataSourceId="srcPersona" DataKeyNames="Id" AllowPaging="true" AutoGenerateColumns="false" GridLines="none" CssClass="list" OnSelectedIndexChanged="grdPersona_SelectedIndexChanged" Runat="server" OnRowCreated="grdPersona_RowCreated"> <Columns> <asp:CommandField ShowSelectButton="true" SelectText="Detalles" ShowDeleteButton="true" /> <asp:BoundField DataField="Apellido" HeaderText="Apellido" /> <asp:BoundField DataField="Nombre" HeaderText="Nombre" /> </Columns> </asp:GridView> <br /> <button onclick="document.getElementById('divAdd').style.display='block';return false;">Agregar Persona</button> <%-- Edit Persona --%> <div id="divEdit" class="popupWindow" Runat="server"> <asp:FormView id="frmEdit" DataKeyNames="Id" DataSourceId="srcEditPersona" CssClass="PersonaForm" Runat="server" OnItemUpdated="frmEdit_ItemUpdated"> <ItemTemplate> <h3>Detalles de Persona</h3> <b>Nombre:</b> <%# Eval("Nombre") %> <%# Eval("Apellido") %> <br /><br /> <b>Telefono:</b> <%# Eval("Telefono") %> <br /><br /> <b>Direccion:</b> <%# Eval("Direccion") %> <br /><br /> <b>DNI:</b> <%# Eval("DNI") %> <br /><br /> <asp:LinkButton id="lnkClose" Text="Regresar" 10
OnClick="lnkClose_Click" Runat="server"/> | <asp:LinkButton id="lnkEdit" Text="Editar" CommandName="Edit" Runat="server" /> </ItemTemplate> <EditItemTemplate> <h3>Editar Persona</h3> <asp:Label id="lblNombre" Text="Nombre:" AssociatedControlID="txtNombre" Runat="server" /> <asp:TextBox id="txtNombre" Text='<%# Bind("Nombre") %>' Runat="server" /> <asp:RequiredFieldValidator id="valNombre" ControlToValidate="txtNombre" Text="(Required)" ValidationGroup="frmEdit" Runat="server" /> <br /><br /> <asp:Label id="lblApellido" Text="Apellido:" AssociatedControlID="txtApellido" Runat="server" /> <asp:TextBox id="txtApellido" Text='<%# Bind("Apellido") %>' Runat="server" /> <asp:RequiredFieldValidator id="valApellido" ControlToValidate="txtApellido" Text="(Required)" ValidationGroup="frmEdit" Runat="server" /> <br /><br /> <asp:Label id="lblDNI" Text="DNI:" AssociatedControlID="txtDNI" Runat="server" /> <asp:TextBox id="TxtDNI" Text='<%# Bind("dni") %>' Runat="server" /> <asp:RequiredFieldValidator id="valDNI" ControlToValidate="txtDNI" Text="(Required)" ValidationGroup="frmEdit" Runat="server" /> 11
<br /><br /> <asp:Label id="lblDireccion" Text="Direccion:" AssociatedControlID="txtDireccion" Runat="server" /> <asp:TextBox id="txtDireccion" Text='<%# Bind("Direccion") %>' Runat="server" /> <asp:RequiredFieldValidator id="valDireccion" ControlToValidate="txtDireccion" Text="(Required)" Display="Dynamic" ValidationGroup="frmEdit" Runat="server" /> <br /><br /> <asp:Label id="lblTelefono" Text="Numero de Telefono:" AssociatedControlID="txtTelefono" Runat="server" /> <asp:TextBox id="txtTelefono" Text='<%# Bind("Telefono") %>' Runat="server" /> <asp:RequiredFieldValidator id="valTelefono" ControlToValidate="txtTelefono" Text="(Required)" ValidationGroup="frmEdit" Runat="server" /> <br /><br /> <asp:LinkButton id="lnkUpdate" Text="Actualizar" CommandName="Update" Runat="server" /> | <asp:LinkButton id="lnkCancel" Text="Cancelar" CommandName="Cancel" CausesValidation="false" Runat="server" /> </EditItemTemplate> </asp:FormView> </div> <%-- Add Persona --%> <div id="divAdd" class="popupWindow"> <h3>Agregar Persona</h3> <asp:FormView id="frmAdd" DataSourceId="srcPersona" DefaultMode="Insert" Runat="server"> 12
<InsertItemTemplate> <asp:Label id="lblNombre" Text="Nombre:" AssociatedControlID="txtNombre" Runat="server" /> <asp:TextBox id="txtNombre" Text='<%# Bind("Nombre") %>' Runat="server" /> <asp:RequiredFieldValidator id="valNombre" ControlToValidate="txtNombre" Text="(Required)" ValidationGroup="frmAdd" Runat="server" /> <br /><br /> <asp:Label id="lblApellido" Text="Apellido:" AssociatedControlID="txtApellido" Runat="server" /> <asp:TextBox id="txtApellido" Text='<%# Bind("Apellido") %>' Runat="server" /> <asp:RequiredFieldValidator id="valApellido" ControlToValidate="txtApellido" Text="(Required)" ValidationGroup="frmAdd" Runat="server" /> <br /><br /> <asp:Label id="lblDNI" Text="DNI:" AssociatedControlID="txtDNI" Runat="server" /> <asp:TextBox id="TxtDNI" Text='<%# Bind("dni") %>' Runat="server" /> <asp:RequiredFieldValidator id="valDNI" ControlToValidate="txtDNI" Text="(Required)" ValidationGroup="frmEdit" Runat="server" /> <br /><br /> <asp:Label id="lblDireccion" Text="Direccion:" AssociatedControlID="txtDireccion" Runat="server" /> <asp:TextBox id="txtDireccion" Text='<%# Bind("Direccion") %>' Runat="server" /> 13
<asp:RequiredFieldValidator id="valDireccion" ControlToValidate="txtDireccion" Text="(Required)" ValidationGroup="frmAdd" Runat="server" /> <br /><br /> <asp:Label id="lblTelefono" Text="Numero de Telefono:" AssociatedControlID="txtTelefono" Runat="server" /> <asp:TextBox id="txtTelefono" Text='<%# Bind("Telefono") %>' Runat="server" /> <asp:RequiredFieldValidator id="valTelefono" ControlToValidate="txtTelefono" Text="(Required)" ValidationGroup="frmAdd" Runat="server" /> <br /><br /> <asp:LinkButton id="lnkInsert" Text="Agregar" CommandName="Insert" ValidationGroup="frmAdd" Runat="server" /> | <asp:LinkButton id="lnkCancel" Text="Cancelar" CommandName="Cancel" CausesValidation="false" Runat="server" /> </InsertItemTemplate> </asp:FormView> </div> <br /><br /> <br /><br /> <asp:HyperLink id="HyperLink1" Text='Ver Listado Detallado' NavigateUrl="~/lista.aspx" runat="server" Font-Italic="True" Font-Size="Larger" /> <br /> <asp:HyperLink id="HyperLink2" Text='Regresar a la Pgina Principal' NavigateUrl="Principalt.aspx" runat="server" Font-Italic="True" Font-Size="Larger" /> <br /> <%-- Data Sources --%> <asp:SqlDataSource id="srcPersona" ConnectionString="Data Source=(local); DataBase=Sanidad; 14
Integrated Security=True;" SelectCommand="SELECT * FROM Persona" InsertCommand="INSERT Persona (Apellido,Nombre,Telefono,Direccion, DNI) VALUES (@Apellido,@Nombre,@Telefono,@Direccion,@DNI)" DeleteCommand="DELETE Persona WHERE Id=@Id" Runat="server" /> <asp:SqlDataSource id="srcEditPersona" ConnectionString="Data Source=(local); DataBase=Sanidad; Integrated Security=True;" SelectCommand="SELECT * FROM Persona WHERE Id=@Id" UpdateCommand="UPDATE Persona SET Apellido=@Apellido, Nombre=@Nombre,Telefono=@Telefono,Direccion=@Direccion, @DNI=@DNI WHERE Id=@id" Runat="server"> <SelectParameters> <asp:ControlParameter Name="Id" ControlID="grdPersona" /> </SelectParameters> </asp:SqlDataSource> </div> </form> </body> </html> Cdigo de Visual Para la Ventana Lista <%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Collections.Generic" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server"> void Page_Load() { if (!Page.IsPostBack) { Repeater1.DataSource = GetPhotos(); Repeater1.DataBind(); } } public List<String> GetPhotos() { List<string> photos = new List<string>(); string photoPath = MapPath("~/Photos/"); string[] files = Directory.GetFiles(photoPath); foreach (string photo in files) photos.Add("~/Photos/" + Path.GetFileName(photo)); return photos;
15
<head id="Head1" runat="server"> <title>Listado detallado</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Repeater id="Repeater1" runat="server"> <ItemTemplate> <asp:Image id="Image1" Width="1200px" ImageUrl='<%# Container.DataItem %>' Runat="server" /> </ItemTemplate> </asp:Repeater> <br /> <br /> <br /> <br /> <asp:HyperLink id="HyperLink2" Text='Regresar a la Pgina Principal' NavigateUrl="Principalt.aspx" runat="server" Font-Italic="True" Font-Size="Larger" /> <br /> <br /> <br /> <asp:GridView id="GridView1" DataSourceId="srcSanidad" Runat="server" /> <asp:SqlDataSource id="srcSanidad" ConnectionString="Data Source=(local); DataBase=Sanidad; Integrated Security=True;" SelectCommand=" SELECT Persona.id, Persona.Apellido, Persona.Nombre, Persona.Direccion, Persona.DNI, Examen.FechaExamen, Examen.Resultado, Carnet.Fecha_Crea as [Carnet: Creacion], Carnet.Fecha_Caduc as [Carnet: Caducidad] FROM Persona INNER JOIN Examen ON Persona.id = Examen.id_Solicitante INNER JOIN Carnet ON Persona.id = Carnet.id_Solicitante " Runat="server" /> <br /> <br /> <br /> <asp:HyperLink id="HyperLink3" Text='Registrar Persona' NavigateUrl="~/Persona.aspx" runat="server" Font-Italic="True" Font-Size="Larger" /> <br /> <asp:HyperLink 16
id="HyperLink1" Text='Regresar a la Pgina Principal' NavigateUrl="Principalt.aspx" runat="server" Font-Italic="True" Font-Size="Larger" /> <br /> <br /> <br /> </div> </form> </body> </html> Cdigo de Visual Para la Ventana Carnet
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> </div> </form> </body> </html>
17
V.
18
19
20
VI.
Conclusin:
Durante la realizacin del proyecto se ha podido comprobar lo tiles que son los conocimientos adquiridos en la asignatura Ingeniera del Software. Consideramos que este proyecto nos ha aportado una visin profesional del programador web. Cabe destacar que, por tratarse de un prototipo, la funcionalidad de la aplicacin web puede no ser completa. Muchas mejoras y ampliaciones, como las que se citan en el siguiente punto, quedan fuera del alcance de este proyecto por su duracin y extensin. Sin embargo, las funciones descritas en la especificacin de requisitos estn implementadas. Luego, bajo nuestro punto de vista, se trata de un trabajo realizado satisfactoriamente.
21