/// <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); }
private void button2_Click(object sender, EventArgs e) { dgvAgendamiento.DataSource = EstudioControl.BuscarEstudios(); }
private void button1_Click(object sender, EventArgs e) { string fecha = monthCalendar1.SelectionRange.Start.ToString("s"); dgvAgendamiento.DataSource = EstudioControl.BuscarEstudiosEnFecha(fecha, 0, 0); }
private void btnSeleccionarFechaModalidad_Click(object sender, EventArgs e) { dgvAgendamiento.DataSource = EstudioControl.SeleccionarEstudiosPorFechaYModalidad(codigoModalidad, monthCalendar1.SelectionRange.Start.ToString("s")); }
private void btnListarSolicitudes_Click(object sender, EventArgs e) { dgvAgendamiento.DataSource = EstudioControl.BuscarEstudiosPorModalidad(codigoModalidad); }
private void MostrarAgenda() { dgvAgendamiento.DataSource = EstudioControl.BuscarEstudiosPorModalidad(codigoModalidad); }
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(); }
private void btnCancelar_Click(object sender, EventArgs e) { EstudioControl.BorrarAgendamiento(codigo_modalidad.ToString()); MessageBox.Show("Se ha cancelado la consulta", "Solicitud cancelada"); Close(); }
/// <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"); } }