public IActionResult GivePriority([FromBody] PatientWaitingList patientData) { if (ModelState.IsValid) { try { patientData.Time_triaged = GetNow(); var response = GetPatientCheckIn(patientData.PatientId); if (response.IsSuccessStatusCode) { var checkIn = JsonConvert.DeserializeObject <PatientCheckIn>(response.Content.ReadAsStringAsync().Result); response = RemoveCheckIn(checkIn.Id); if (response.IsSuccessStatusCode) { response = AddWaiting(patientData); if (response.IsSuccessStatusCode) { return(Json("Success")); } else { return(Json("Patient already exists in the list")); } } } } catch (DbUpdateConcurrencyException) { throw; } } return(Json(getErrors())); }
private HttpResponseMessage AddWaiting(PatientWaitingList patient) { var x = JsonConvert.SerializeObject(patient); AddHeader(); var response = _client.PostAsJsonAsync(apiUrl + "PatientWaitingLists", patient).Result; return(response); }
// TODO: refactor to use PatientId rather than pps public IActionResult Assessment(PatientWaitingList patientData) { var hospitalID = getHospitalID(); var response = GetPatientById(patientData.PatientId); if (response.IsSuccessStatusCode) { var patient = JsonConvert.DeserializeObject <Patient>(response.Content.ReadAsStringAsync().Result); var flowchart = GetSelectedFlowchart(patientData.FlowchartId); patientData.Patient = patient; patientData.Flowchart = flowchart; return(View(patientData)); } return(NotFound()); }
public IActionResult SelectFlowcharts() { var hospitalID = getHospitalID(); var response = GetCheckIns(hospitalID); if (response.IsSuccessStatusCode) { var list = JsonConvert.DeserializeObject <IEnumerable <PatientCheckIn> >(response.Content.ReadAsStringAsync().Result); if (list.Count() == 0) { TempData["Error"] = "No patients awaiting triage assessment!"; return(RedirectToAction(nameof(HomeController.Index), "Home")); } else { var patientCheckedIn = list.Where(p => p.Time_checked_in == list.Min(t => t.Time_checked_in)).FirstOrDefault(); var patientData = new PatientWaitingList { PatientId = patientCheckedIn.PatientId, Patient = patientCheckedIn.Patient, HospitalID = patientCheckedIn.HospitalID, Arrival = patientCheckedIn.Arrival, Infections = patientCheckedIn.Infections, Time_checked_in = patientCheckedIn.Time_checked_in }; List <Flowchart> flowcharts = GetFlowcharts(); var l = new List <SelectListItem>(); int index = 0; foreach (var item in flowcharts) { l.Add(new SelectListItem { Text = item.Name, Value = index.ToString() }); index++; } ViewBag.Flowcharts = l; response = GetPatientHistory(patientCheckedIn.PatientId); if (response.IsSuccessStatusCode) { var patientHistory = JsonConvert.DeserializeObject <IEnumerable <PatientAdmitted> >(response.Content.ReadAsStringAsync().Result); patientData.PatientHistory = patientHistory; } return(View(patientData)); } } return(NotFound()); }