Exemplo n.º 1
0
        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." }));
        }
Exemplo n.º 2
0
        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." }));
        }