Exemplo n.º 1
0
        /// <summary>
        /// This method returns some hard coded worklist items - of course they should be loaded from database or some other service
        /// </summary>

        public List <WorklistItem> GetAllCurrentWorklistItems()
        {
            DataTable estudios = EstudioControl.BuscarEstudiosEnFecha(DateTime.Now.ToString("s"), 1, 0);

            lista = new List <WorklistItem>();
            lista = (from DataRow dr in estudios.Rows
                     select new WorklistItem()
            {
                PatientID = dr["CODIGO PACIENTE"].ToString(),
                Surname = dr["APELLIDO PATERNO"].ToString() + " " + dr["APELLIDO MATERNO"].ToString(),
                Forename = dr["NOMBRES"].ToString(),
                Sex = dr["GENERO"].ToString(),
                DateOfBirth = Convert.ToDateTime(dr["FECHA DE NACIMIENTO"]),

                AccessionNumber = dr["ACCESSION NUMBER"].ToString(),
                Title = null,

                Modality = dr["DESCRIPCION"].ToString(),
                ExamDescription = "",
                ExamRoom = "",
                ReferringPhysician = dr["MEDICO DE REFERENCIA"].ToString(),
                PerformingPhysician = dr["MEDICO DE EJERCICIO"].ToString(),
                HospitalName = null,

                ProcedureID = "",
                ProcedureStepID = "",
                StudyUID = "1.2.34.567890.1234567890.1",
                ScheduledAET = dr["MODALIDAD"].ToString(),
                ExamDateAndTime = Convert.ToDateTime(dr["FECHA INICIO"])
            }).ToList();

            return(lista);
        }
Exemplo n.º 2
0
 private void button2_Click(object sender, EventArgs e)
 {
     dgvAgendamiento.DataSource = EstudioControl.BuscarEstudios();
 }
Exemplo n.º 3
0
        private void button1_Click(object sender, EventArgs e)
        {
            string fecha = monthCalendar1.SelectionRange.Start.ToString("s");

            dgvAgendamiento.DataSource = EstudioControl.BuscarEstudiosEnFecha(fecha, 0, 0);
        }
Exemplo n.º 4
0
 private void btnSeleccionarFechaModalidad_Click(object sender, EventArgs e)
 {
     dgvAgendamiento.DataSource = EstudioControl.SeleccionarEstudiosPorFechaYModalidad(codigoModalidad, monthCalendar1.SelectionRange.Start.ToString("s"));
 }
Exemplo n.º 5
0
 private void btnListarSolicitudes_Click(object sender, EventArgs e)
 {
     dgvAgendamiento.DataSource = EstudioControl.BuscarEstudiosPorModalidad(codigoModalidad);
 }
Exemplo n.º 6
0
 private void MostrarAgenda()
 {
     dgvAgendamiento.DataSource = EstudioControl.BuscarEstudiosPorModalidad(codigoModalidad);
 }
Exemplo n.º 7
0
 private void btnAdmitir_Click(object sender, EventArgs e)
 {
     EstudioControl.AdmitirPaciente(codigo_modalidad.ToString());
     MessageBox.Show("Se ha admitido la solicitud de estudio correctamente", "Solicitud admitida");
     Close();
 }
Exemplo n.º 8
0
 private void btnCancelar_Click(object sender, EventArgs e)
 {
     EstudioControl.BorrarAgendamiento(codigo_modalidad.ToString());
     MessageBox.Show("Se ha cancelado la consulta", "Solicitud cancelada");
     Close();
 }
Exemplo n.º 9
0
        /// <summary>
        /// Procesar estudio
        /// </summary>
        /// <param name="lista">Datos</param>
        private void ProcesarOrden(List <Hashtable> lista)
        {
            bool correcto = true;

            string   codigo_paciente   = "";
            int      codigo_modalidad  = -1;
            string   numero_acceso     = GeneradorIdentificadores.GenerarAccessionNumber();
            string   medico_referencia = "";
            string   medico_ejercicio  = "";
            bool     admitido          = false;
            bool     cancelado         = false;
            DateTime fecha_inicio      = DateTime.Now;
            DateTime fecha_fin         = DateTime.Now;

            foreach (Hashtable segmento in lista)
            {
                if (segmento["Segment Name"].Equals("PID"))
                {
                    bool pacienteCorrecto = VerificarPaciente(segmento);

                    if (pacienteCorrecto)
                    {
                        codigo_paciente = segmento["Patient ID"].ToString().Split('^')[0];
                    }
                    else
                    {
                        Consola.Imprimir("El paciente no existe.");
                    }

                    correcto = correcto && pacienteCorrecto;
                }

                if (segmento["Segment Name"].Equals("OBR"))
                {
                    if (segmento.ContainsKey("Diagnostic Serv Sect ID"))
                    {
                        codigo_modalidad = ModalidadControl.BuscarModalidad((string)segmento["Diagnostic Serv Sect ID"]);

                        if (codigo_modalidad == -1)
                        {
                            Consola.Imprimir("No existe ese Diagnostic Serv Sect ID");
                            correcto = false;
                        }
                    }
                    else
                    {
                        Consola.Imprimir("El mensaje no tiene el Diagnostic Serv Sect ID");
                        correcto = false;
                    }

                    if (segmento.ContainsKey("Observation Date/Time") && segmento.ContainsKey("Observation End Date/Time"))
                    {
                        fecha_inicio = ConversorFechas.ConvertirFechaHL7((string)segmento["Observation Date/Time"]);
                        fecha_fin    = ConversorFechas.ConvertirFechaHL7((string)segmento["Observation End Date/Time"]);
                    }
                    else
                    {
                        Consola.Imprimir("La orden debe tener hora inicio y hora fin");
                        correcto = false;
                    }
                }

                if (segmento["Segment Name"].Equals("PV1"))
                {
                    if (segmento.ContainsKey("Attending Doctor"))
                    {
                        medico_ejercicio = (string)segmento["Attending Doctor"];
                    }
                    if (segmento.ContainsKey("Referring Doctor"))
                    {
                        medico_referencia = (string)segmento["Referring Doctor"];
                    }
                }
            }

            if (correcto)
            {
                listo = true;

                Consola.Imprimir("Procesamiento de ORM exitoso");

                Estudio estudio = new Estudio(codigo_paciente, codigo_modalidad, numero_acceso, medico_referencia, medico_ejercicio, admitido, cancelado, fecha_inicio, fecha_fin);

                EstudioControl.Insertar(estudio);
            }
            else
            {
                listo = false;
                Consola.Imprimir("Procesamiento de ORM fallido");
            }
        }