public JsonResult Create(CreatePreScreenModel model) { if (ModelState.IsValid) { using (var transaction = _dataContext.Database.BeginTransaction()) { var preScreen = new PreScreen() { PatientId = model.PatientId, PreScreenTypeId = model.PreScreenTypeId, Status = "New" }; _dataContext.PreScreens.Add(preScreen); _dataContext.SaveChanges(); transaction.Commit(); return(Json(new { Status = Constant.RESPONSE_OK, Description = "Pre-Screen created successfully.", PreScreenId = preScreen.PreScreenId })); } } return(Json(new { Status = Constant.RESPONSE_ERROR, Description = "One or more fields failed validation." })); }
public JsonResult Create(CreateReferralModel model) { if (ModelState.IsValid) { if (model.CHGSiteId <= 0 || model.ReferralSourceId <= 0 || model.ContactId <= 0 || model.LiaisonId <= 0) { return(Json(new { Status = Constant.RESPONSE_ERROR, Description = "One or more fields failed validation." })); } if (!string.IsNullOrEmpty(model.SSN) && model.PatientId <= 0) { if (_dataContext.PatientData.Where(p => p.SectionCode == "payorinfo.primary.all" && p.ItemCode == "ssn" && p.Value == model.SSN && p.Deleted == false).Count() > 0) { return(Json(new { Status = Constant.RESPONSE_ERROR, Description = "The patient with the entered social security number already exists." })); } } using (var transaction = _dataContext.Database.BeginTransaction()) { if (model.PatientId <= 0) { Patient patient = new Patient(); _dataContext.Patients.Add(patient); _dataContext.SaveChanges(); _dataContext.PatientData.Add(GetNewPatientDataEntity("payorinfo.primary.all", "ssn", model.SSN, "SSN", "Social Security Number", patient.PatientId)); _dataContext.PatientData.Add(GetNewPatientDataEntity("demographics.general", "dob", model.DOB == null ? null : model.DOB.ToShortDateString(), "Date", "Date of Birth", patient.PatientId)); _dataContext.PatientData.Add(GetNewPatientDataEntity("demographics.general", "firstname", model.FirstName, "Text", "First Name", patient.PatientId)); _dataContext.PatientData.Add(GetNewPatientDataEntity("demographics.general", "middleinitial", model.MiddleName, "Text", "Middle Initial", patient.PatientId)); _dataContext.PatientData.Add(GetNewPatientDataEntity("demographics.general", "lastname", model.LastName, "Text", "Last Name", patient.PatientId)); model.PatientId = patient.PatientId; } var preScreenTypeId = _dataContext.UserPreScreens.Where(p => p.UserId == model.LiaisonId && p.Deleted == false).Take(1).Single().PreScreenTypeId; var preScreen = new PreScreen() { PatientId = model.PatientId, PreScreenTypeId = preScreenTypeId, Status = "Created", LastSubmitted = DateTime.Now }; _dataContext.PreScreens.Add(preScreen); _dataContext.SaveChanges(); var referral = new Referral() { CHGSiteId = model.CHGSiteId, ReferralContactId = model.ContactId, LiaisonId = model.LiaisonId, PatientId = model.PatientId, ReferralSourceId = model.ReferralSourceId, PreScreenId = preScreen.PreScreenId }; _dataContext.Referrals.Add(referral); _dataContext.SaveChanges(); _dataContext.PreScreenData.Add(GetNewPreScreenDataEntity("referralsourceinfo.general", "chgdestination", model.CHGSiteId.ToString(), "Dropdown", "CHG Destination", preScreen.PreScreenId)); _dataContext.PreScreenData.Add(GetNewPreScreenDataEntity("referralsourceinfo.general", "dateofreferral", referral.DateCreated.ToShortDateString(), "Date", "Date of Referral", preScreen.PreScreenId)); _dataContext.PreScreenData.Add(GetNewPreScreenDataEntity("referralsourceinfo.general", "liaison", model.LiaisonId.ToString(), "Dropdown", "Name of Liaison", preScreen.PreScreenId)); _dataContext.SaveChanges(); transaction.Commit(); return(Json(new { Status = Constant.RESPONSE_OK, Description = "Referral created successfully.", PatientId = model.PatientId, ReferralId = referral.ReferralId, PreScreenId = referral.PreScreenId })); } } return(Json(new { Status = Constant.RESPONSE_ERROR, Description = "One or more fields failed validation." })); }