public IActionResult UpdatePatientOutcome() { DateTime date = DateTime.ParseExact(ProfileModel.OutcomeDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); PatientProgram pp = ProfileModel.Program; PatientExamination px = ProfileModel.Examination; Patient pt = ProfileModel.Patient; pp.DateCompleted = date; pp.LaboratoryNumber = px.LabNo; pp.UpdateOutcome(); px.SputumSmearDate = date; px.Visit = new Visit(25); px.Program = pp; px.Save(HttpContext); if (pp.Outcome.Id.Equals(Constants.PATIENT_DIED)) { pt.isDead(true); pt.DiedOn = date; pt.CauseOfDeath = new Concept(pp.Program.Id); pt.Update(); } return(LocalRedirect("/patients/profile/" + pt.GetUuid())); }
public PatientProfileViewModel() { Transfer = new PatientTransfer(); Patient = new Patient(); Program = new PatientProgram(); Regimen = new PatientRegimen(); Examination = new PatientExamination(); DateOfBirth = DateTime.Now.ToString("dd/MM/yyyy"); RegimenDate = DateTime.Now.ToString("dd/MM/yyyy"); OutcomeDate = DateTime.Now.ToString("dd/MM/yyyy"); TransferDate = DateTime.Now.ToString("dd/MM/yyyy"); Centers = new List <SelectListItem>(); Facility = new List <SelectListItem>(); Outcomes = new List <SelectListItem>(); ExamOpts = new List <SelectListItem>(); Regimens = new List <SelectListItem>(); LatestVitals = new Vitals(); Examinations = new List <Examinations>(); Contacts = new List <Contacts>(); Gender = new PatientService().InitializeGender(); }
public IActionResult RegisterNewIntake() { PatientProgram pp = IntakeModel.Program; pp.ArtStartedOn = DateTime.Parse(IntakeModel.ArtStartedOn); pp.CptStartedOn = DateTime.Parse(IntakeModel.CptStartedOn); pp.UpdateIntake(); PatientRegimen pr = IntakeModel.Regimen; pr.Program = pp; pr.Save(HttpContext); PatientExamination px = IntakeModel.Examination; px.Program = pp; px.Visit = new Visit(1); px.LabNo = pp.LaboratoryNumber; px.SputumSmearDate = DateTime.Parse(IntakeModel.SputumSmearDate); px.GeneXpertDate = DateTime.Parse(IntakeModel.GeneXpertDate); px.HivExamDate = DateTime.Parse(IntakeModel.HivExamDate); px.XrayExamDate = DateTime.Parse(IntakeModel.XrayExamDate); px.Save(HttpContext); return(LocalRedirect("/patients/profile/" + pp.Patient.GetUuid())); }
public IActionResult AddVisits() { PatientProgram pp = VisitModel.Program; pp.ArtStartedOn = DateTime.Parse(VisitModel.ArtStartedOn); pp.CptStartedOn = DateTime.Parse(VisitModel.CptStartedOn); pp.UpdateVisit(); //Test If Regimen has Changed, then Update PatientRegimen pr = VisitModel.Regimen; pr.Program = pp; pr.Save(HttpContext); //Post Visit PatientExamination px = VisitModel.Examination; px.Program = pp; px.LabNo = pp.LaboratoryNumber; px.SputumSmearDate = DateTime.Parse(VisitModel.SputumSmearDate); px.GeneXpertDate = DateTime.Parse(VisitModel.GeneXpertDate); px.HivExamDate = DateTime.Parse(VisitModel.HivExamDate); px.XrayExamDate = DateTime.Parse(VisitModel.XrayExamDate); px.Save(HttpContext); return(LocalRedirect("/patients/profile/" + pp.Patient.GetUuid())); }
public PatientExamination GetPatientExamination(PatientProgram pp, Visit visit) { PatientExamination px = null; SqlServerConnection conn = new SqlServerConnection(); SqlDataReader dr = conn.SqlServerConnect("SELECT pe_idnt, pe_weight, pe_height, pe_muac, pe_bmi, pe_program, pe_visit, pe_sputum_exam, sp.cpt_name, pe_sputum_date, pe_genexpert_exam, gx.cpt_name, pe_genexpert_date, pe_hiv_exam, hv.cpt_name, pe_hiv_date, pe_xray_exam, xr.cpt_name, pe_xray_date, pe_created_on, pe_created_by, pe_notes FROM PatientExamination INNER JOIN Concept sp ON pe_sputum_exam=sp.cpt_id INNER JOIN Concept gx ON pe_genexpert_exam=gx.cpt_id INNER JOIN Concept hv ON pe_hiv_exam=hv.cpt_id INNER JOIN Concept xr ON pe_xray_exam=xr.cpt_id WHERE pe_program=" + pp.Id + " AND pe_visit=" + visit.Id); if (dr.Read()) { px = new PatientExamination { Id = Convert.ToInt64(dr[0]), Weight = Convert.ToDouble(dr[1]), Height = Convert.ToDouble(dr[2]), MUAC = Convert.ToDouble(dr[3]), BMI = Convert.ToDouble(dr[4]), Program = new PatientProgram(Convert.ToInt64(dr[5])), Visit = new Visit(Convert.ToInt64(dr[6])), SputumSmear = new Concept(Convert.ToInt64(dr[7]), dr[8].ToString()), SputumSmearDate = Convert.ToDateTime(dr[9]), GeneXpert = new Concept(Convert.ToInt64(dr[10]), dr[11].ToString()), GeneXpertDate = Convert.ToDateTime(dr[12]), HivExam = new Concept(Convert.ToInt64(dr[13]), dr[14].ToString()), HivExamDate = Convert.ToDateTime(dr[15]), XrayExam = new Concept(Convert.ToInt64(dr[16]), dr[17].ToString()), XrayExamDate = Convert.ToDateTime(dr[18]), CreatedOn = Convert.ToDateTime(dr[19]), CreatedBy = new Users(Convert.ToInt64(dr[20])), Notes = dr[21].ToString() }; } return(px); }
public PatientExamination SavePatientExamination(PatientExamination px) { SqlServerConnection conn = new SqlServerConnection(); px.Id = conn.SqlServerUpdate("IF NOT EXISTS (SELECT pe_idnt FROM PatientExamination WHERE pe_idnt=" + px.Id + ") BEGIN INSERT INTO PatientExamination (pe_program, pe_visit, pe_labno, pe_weight, pe_height, pe_muac, pe_bmi, pe_sputum_exam, pe_sputum_date, pe_genexpert_exam, pe_genexpert_date, pe_hiv_exam, pe_hiv_date, pe_xray_exam, pe_xray_date, pe_created_by) output INSERTED.pe_idnt VALUES (" + px.Program.Id + ", " + px.Visit.Id + ", '" + px.LabNo + "', " + px.Weight + ", " + px.Height + ", " + px.MUAC + ", " + px.BMI + ", " + px.SputumSmear.Id + ", '" + px.SputumSmearDate + "', " + px.GeneXpert.Id + ", '" + px.GeneXpertDate + "', " + px.HivExam.Id + ", '" + px.HivExamDate + "', " + px.XrayExam.Id + ", '" + px.XrayExamDate + "', " + Actor + ") END ELSE BEGIN UPDATE PatientExamination SET pe_labno='" + px.LabNo + "', pe_weight=" + px.Weight + ", pe_height=" + px.Height + ", pe_muac=" + px.MUAC + ", pe_bmi=" + px.BMI + ", pe_sputum_exam=" + px.SputumSmear.Id + ", pe_sputum_date='" + px.SputumSmearDate + "', pe_genexpert_exam=" + px.GeneXpert.Id + ", pe_genexpert_date='" + px.GeneXpertDate + "', pe_hiv_exam=" + px.HivExam.Id + ", pe_hiv_date='" + px.HivExamDate + "', pe_xray_exam=" + px.XrayExam.Id + ", pe_xray_date='" + px.XrayExamDate + "' output INSERTED.pe_idnt WHERE pe_idnt=" + px.Id + " END"); return(px); }
public PatientModel() { PatientProgram = new PatientProgram(); Examination = new PatientExamination(); Date = DateTime.Now.ToString("d MMMM, yyyy"); Age = ""; Weight = ""; Address = ""; }
public IActionResult RegisterMultiple() { Facility facility = new Facility { Id = MultipleModel.Facility }; foreach (var line in MultipleModel.PatientModel) { if (string.IsNullOrEmpty(line.PatientProgram.Patient.Person.Name)) { continue; } Patient patient = line.PatientProgram.Patient; patient.Person.DateOfBirth = DateTime.Now.AddYears(0 - Convert.ToInt32(line.Age)); patient.Save(); patient.Person.Address = new PersonAddress { Telephone = line.Address, Person = patient.Person }.Save(HttpContext); PatientProgram pp = line.PatientProgram; pp.Facility = facility; pp.Patient = patient; pp.DateEnrolled = DateTime.Parse(line.Date); pp.Create(HttpContext); //Update Intake pp.ArtStartedOn = DateTime.Parse(line.Date); pp.CptStartedOn = DateTime.Parse(line.Date); pp.UpdateIntake(); //Regimen new PatientRegimen { Regimen = new Regimen { Id = Constants.REG_SHORT_ADULT }, Program = pp }.Save(HttpContext); //Examinations PatientExamination px = line.Examination; px.Program = pp; px.Visit = new Visit(1); px.LabNo = "N/A"; px.SputumSmearDate = DateTime.Parse(line.Date); px.GeneXpertDate = DateTime.Parse(line.Date); px.HivExamDate = DateTime.Parse(line.Date); px.XrayExamDate = DateTime.Parse(line.Date); px.Save(HttpContext); } return(LocalRedirect("/patients/register/tb?fac=" + MultipleModel.Facility)); }
public static async Task CancelPatientExAsync(int id) { PatientExamination patientExamination = await _context.PatientExaminations.FindAsync(id); if (await _context.ExaminationReagents.Where(e => e.ExaminationID == patientExamination.ExaminationID).AnyAsync()) { await ReagentHelper.IncreaseReagentsAsync(patientExamination.ExaminationID); } _context.PatientExaminations.Remove(patientExamination); await _context.SaveChangesAsync(); }
public PatientExaminationHistoryViewModel(PatientExamination patientExamination) { ID = patientExamination.ID; ExCode = patientExamination.Examination.ExCode; ExName = patientExamination.Examination.Name; ExDisease = patientExamination.Examination.Disease; Results = patientExamination.Results; ResultsComment = patientExamination.ResultsComment; ExaminationFinished = patientExamination.ExaminationFinished; DateOfExamination = patientExamination.DateOfExamination.ToLocalTime(); ResultsReceived = patientExamination.ResultsReceived; }
public PExaminationViewModel(PatientExamination patientExamination) { ID = patientExamination.ID; PatientID = patientExamination.PatientID; FullName = $"{patientExamination.Patient.LastName}, {patientExamination.Patient.FirstName}"; ExCode = patientExamination.Examination.ExCode; ExName = patientExamination.Examination.Name; ExDisease = patientExamination.Examination.Disease; Results = patientExamination.Results; ResultsComment = patientExamination.ResultsComment; ExaminationFinished = patientExamination.ExaminationFinished; DateOfExamination = patientExamination.DateOfExamination.ToLocalTime(); ResultsReceived = patientExamination.ResultsReceived; }
private void InsertExaminationsByIds(string klassName, PatientVisit patientVisit, IEnumerable <int> toInsertIds) { PatientExamination examination; var igs = _context.PatientImmunoglobulins.Where(pe => toInsertIds.Contains(pe.ID)).ToList(); var currentCollection = PatientExamination.EntityTypes(_context, klassName); var items = currentCollection.Where(pe => toInsertIds.ToList().Contains(pe.ID)); foreach (var item in items) { examination = PatientExamination.BuildPatientExamination(klassName, TABS_KLASSES_LIST[klassName], item.ID.ToString(), patientVisit); _context.Add(examination); } }
public static async Task <int> AddPatientExAsync(PatientExaminationViewModel patientExaminationVM) { PatientExamination patientExamination = SimplifyPE(patientExaminationVM); _context.PatientExaminations.Add(patientExamination); if (await _context.ExaminationReagents.Where(e => e.ExaminationID == patientExamination.ExaminationID).AnyAsync()) { ReagentHelper.Init(_context); await ReagentHelper.ReduceReagentsAsync(patientExamination.ExaminationID); } await _context.SaveChangesAsync(); return(patientExamination.ID); }
public PatientIntakeViewModel() { Program = new PatientProgram(); Patient = new Patient(); Regimen = new PatientRegimen(); Examination = new PatientExamination(); RegimenStartedOn = DateTime.Now.ToString("d MMMM, yyyy"); SputumSmearDate = DateTime.Now.ToString("d MMMM, yyyy"); GeneXpertDate = DateTime.Now.ToString("d MMMM, yyyy"); HivExamDate = DateTime.Now.ToString("d MMMM, yyyy"); XrayExamDate = DateTime.Now.ToString("d MMMM, yyyy"); ArtStartedOn = DateTime.Now.ToString("d MMMM, yyyy"); CptStartedOn = DateTime.Now.ToString("d MMMM, yyyy"); InitiazeBoolOpts(); }
public static async Task UpdatePatientExAsync(int id, PExaminationViewModel pExaminationView) { PatientExamination patientExaminationToUpdate = await _context.PatientExaminations.FindAsync(id); if (pExaminationView.ExaminationFinished) { patientExaminationToUpdate.ExaminationFinished = pExaminationView.ExaminationFinished; patientExaminationToUpdate.DateOfConclusion = DateTime.UtcNow; } patientExaminationToUpdate.Results = pExaminationView.Results; patientExaminationToUpdate.ResultsComment = pExaminationView.ResultsComment; patientExaminationToUpdate.ResultsReceived = pExaminationView.ResultsReceived; _context.PatientExaminations.Update(patientExaminationToUpdate); await _context.SaveChangesAsync(); }
private List <PatientExamination> SaveExamination(string klass, string propertyName, PatientVisit patientVisit) { var selected = _form.Keys.Where(k => k.Contains(klass)).ToList(); var savedItems = new List <PatientExamination>(); for (var cursor = 0; cursor < selected.Count; cursor++) { var itemId = _form[klass + "[" + cursor + "].ID"]; var isChecked = _form[klass + "[" + cursor + "].Selected"]; if (isChecked == "on") { var examination = PatientExamination.BuildPatientExamination(klass, propertyName, itemId, patientVisit); savedItems.Add(examination); } } return(savedItems); }
public PatientVisitsViewModel() { Patient = new Patient(); Program = new PatientProgram(); Visits = new List <SelectListItem>(); Regimens = new List <SelectListItem>(); HivRecent = new Examinations(); Regimen = new PatientRegimen(); Examination = new PatientExamination(); RegimenStartedOn = DateTime.Now.ToString("d MMMM, yyyy"); SputumSmearDate = DateTime.Now.ToString("d MMMM, yyyy"); GeneXpertDate = DateTime.Now.ToString("d MMMM, yyyy"); HivExamDate = DateTime.Now.ToString("d MMMM, yyyy"); XrayExamDate = DateTime.Now.ToString("d MMMM, yyyy"); ArtStartedOn = DateTime.Now.ToString("d MMMM, yyyy"); CptStartedOn = DateTime.Now.ToString("d MMMM, yyyy"); InitiazeBoolOpts(); }