//POST Edit method to edit selected item's parameters.
        public async Task<IActionResult> Edit(int id, [Bind("Id,Name")] DiagnosisCategory diagnosisCategory)
        {
            if (id != diagnosisCategory.Id)
            {
                return NotFound();
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(diagnosisCategory);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DiagnosisCategoryExists(diagnosisCategory.Id))
                    {
                        return NotFound();
                    }
                    else
                    {
                        throw;
                    }
                }
                return RedirectToAction(nameof(Index));
            }
            return View(diagnosisCategory);
        }
        public List <PatientDiagnosis> Resolve()
        {
            foreach (string diagnosisName in _potentialDiagnosisNames)
            {
                if (PrimaryDiagnoses().Contains(diagnosisName))
                {
                    if (_discoveredDiagnoses.Count == 0)
                    {
                        _currentDiagnosisCategory = GetDiagnosisCategoryByName("Primary");
                    }
                    else if (_discoveredDiagnoses.Count == 1)
                    {
                        _currentDiagnosisCategory = GetDiagnosisCategoryByName("Other");
                    }
                    DiagnosisType diagnosisType = GetDiagnosisByName(diagnosisName);
                    CreateAndAddPatientDiagnosis(diagnosisType);
                }
                else
                {
                    var underlyingDiagnoses = _potentialDiagnosisNames.Except(PrimaryDiagnoses());
                    processUnderlyingDiagnoses(underlyingDiagnoses);
                }
            }

            return(_discoveredDiagnoses);
        }
Beispiel #3
0
        public List <DiagnosisCategory> NavigatingCollection(Member member, int?id)
        {
            var diagnosisCategoryList = new List <DiagnosisCategory>();

            var memberDiagnosesList = member.MemberDiagnosises.Where(m => m.MemberID == id).ToList();

            var count = memberDiagnosesList.Count;

            for (int i = 0; i < count; i++)
            {
                var memberDiagnosis = memberDiagnosesList[i];
                foreach (var diagnosisCategoryMap in memberDiagnosis.Diagnosis.DiagnosisCategoryMaps)
                {
                    var diagnosisCategory = new DiagnosisCategory
                    {
                        DiagnosisCategoryID = diagnosisCategoryMap.DiagnosisCategory.DiagnosisCategoryID,
                        CategoryDescription = diagnosisCategoryMap.DiagnosisCategory.CategoryDescription,
                        CategoryScore       = diagnosisCategoryMap.DiagnosisCategory.CategoryScore
                    };

                    diagnosisCategoryList.Add(diagnosisCategory);
                }
            }

            return(diagnosisCategoryList);
        }
        public List <PatientDiagnosis> ResolveForName(string diagnosisName, string categoryName)
        {
            _currentDiagnosisCategory = GetDiagnosisCategoryByName(categoryName);
            DiagnosisType diagnosisType = GetDiagnosisByName(diagnosisName);

            CreateAndAddPatientDiagnosis(diagnosisType);
            return(_discoveredDiagnoses);
        }
 // create method used to create new diagnosis category
 public async Task<IActionResult> Create([Bind("Id,Name")] DiagnosisCategory diagnosisCategory)
 {
     if (ModelState.IsValid)
     {
         _context.Add(diagnosisCategory);
         await _context.SaveChangesAsync();
         return RedirectToAction(nameof(Index));
     }
     return View(diagnosisCategory);
 }
 public PatientPASDownloader(List <string> rm2Numbers, AspergillosisContext context, PASDbContext pasContext)
 {
     _newRM2Numbers         = rm2Numbers;
     _context               = context;
     _pasContext            = pasContext;
     _patientAliveStatus    = _context.PatientStatuses.Where(s => s.Name == "Active").FirstOrDefault().ID;
     _patientDeceasedStatus = _context.PatientStatuses.Where(s => s.Name == "Deceased").FirstOrDefault().ID;
     _cpaDiagnosis          = _context.DiagnosisTypes.Where(dt => dt.Name.Contains("Chronic pulmonary aspergillosis")).SingleOrDefault();
     _primaryDiagnosisCat   = _context.DiagnosisCategories.Where(dc => dc.CategoryName == "Primary").SingleOrDefault();
 }
Beispiel #7
0
        private PatientDiagnosis BuildDiagnosisForPatient(string matchingDiagnosis)
        {
            PatientDiagnosis patientDiagnosis = new PatientDiagnosis();

            patientDiagnosis.Patient = _patient;
            DiagnosisType diagnosisType = FindDiagnosisTypeByName(matchingDiagnosis);

            patientDiagnosis.DiagnosisType = diagnosisType;
            DiagnosisCategory diagnosisCategory = ResolveDiagnosisCategory();

            patientDiagnosis.DiagnosisCategory = diagnosisCategory;
            patientDiagnosis.Description       = ExtractDiagnosisNote(matchingDiagnosis);
            return(patientDiagnosis);
        }
        private void ProcessUnderlyingDiagnosis(string underlyingDiagnosis)
        {
            var existingDiagnoses = ExisitingDiagnosisTypes(_context);
            var words             = GetDiagnosisTypesWords(underlyingDiagnosis);

            if (words.Count != 0)
            {
                var matchingDiagnosesNames = existingDiagnoses.Where(ed => (SearchRegex(words).IsMatch(ed) && (ed.Split(" ").Count() < 4))).ToList();
                _currentDiagnosisCategory = GetDiagnosisCategoryByName("Underlying Diagnosis");
                foreach (var diagType in matchingDiagnosesNames)
                {
                    DiagnosisType dbDiagnosis = GetDiagnosisByName(diagType);
                    CreateAndAddPatientDiagnosis(dbDiagnosis, underlyingDiagnosis);
                }
            }
        }
        private AddNewItemViewModel SetupViewModel(DiagnosisCategory diagnosisCategory = null)
        {
            if (diagnosisCategory == null)
            {
                diagnosisCategory = new DiagnosisCategory();
            }

            var addNewItemVM = new AddNewItemViewModel();

            addNewItemVM.ItemKlass  = diagnosisCategory.KlassName;
            addNewItemVM.Controller = GetType().Name.ToString().Replace("Controller", "");
            addNewItemVM.Name       = diagnosisCategory.CategoryName;
            addNewItemVM.ItemId     = diagnosisCategory.ID;
            addNewItemVM.Tab        = "diagnosis-categories";
            return(addNewItemVM);
        }
Beispiel #10
0
        protected override void ProcessSheet(ISheet currentSheet)
        {
            Action <Patient, IRow, int> sheetProcessingAction = (patient, row, cellCount) =>
            {
                _patientAliveStatus    = _context.PatientStatuses.Where(s => s.Name == "Active").FirstOrDefault().ID;
                _patientDeceasedStatus = _context.PatientStatuses.Where(s => s.Name == "Deceased").FirstOrDefault().ID;
                _cpaDiagnosis          = _context.DiagnosisTypes.Where(dt => dt.Name.Contains("Chronic pulmonary aspergillosis")).SingleOrDefault();
                _primaryDiagnosisCat   = _context.DiagnosisCategories.Where(dc => dc.CategoryName == "Primary").SingleOrDefault();

                var importedPatient = ReadCellsToPatient(patient, row, cellCount);
                AddPatientDiagnosis(patient);
                if (importedPatient.IsValid())
                {
                    Imported.Add(importedPatient);
                }
            };

            InitializeSheetProcessingForRows(HeadersDictionary(), currentSheet, sheetProcessingAction);
        }
        public async Task <IActionResult> Create([Bind("CategoryName")] DiagnosisCategory diagnosisCategory)
        {
            try
            {
                this.CheckFieldUniqueness(_context.DiagnosisCategories, "CategoryName", diagnosisCategory.CategoryName);
                if (ModelState.IsValid)
                {
                    _context.Add(diagnosisCategory);
                    await _context.SaveChangesAsync();

                    return(Json(new { result = "ok" }));
                }
                else
                {
                    Hashtable errors = ModelStateHelper.Errors(ModelState);
                    return(Json(new { success = false, errors }));
                }
            }
            catch (DbUpdateException)
            {
                return(null);
            }
        }
        public static void Initialize(AspergillosisContext context)
        {
            context.Database.EnsureCreated();
            if (context.DiagnosisCategories.Any())
            {
                return;
            }

            var Patients = new Patient[]
            {
                new Patient {
                    FirstName = "Carson", LastName = "Alexander", DOB = DateTime.Parse("2005-09-01"), Gender = "male", RM2Number = "1234576RD"
                },
                new Patient {
                    FirstName = "Meredith", LastName = "Alonso", DOB = DateTime.Parse("2002-09-01"), Gender = "male", RM2Number = "3454576RD"
                },
                new Patient {
                    FirstName = "Arturo", LastName = "Anand", DOB = DateTime.Parse("2003-09-01"), Gender = "male", RM2Number = "AD23445"
                },
                new Patient {
                    FirstName = "Gytis", LastName = "Barzdukas", DOB = DateTime.Parse("2002-09-01"), Gender = "female", RM2Number = "AD5467676"
                },
                new Patient {
                    FirstName = "Yan", LastName = "Li", DOB = DateTime.Parse("2002-09-01"), Gender = "male", RM2Number = "VVV333355"
                },
                new Patient {
                    FirstName = "Peggy", LastName = "Justice", DOB = DateTime.Parse("2001-09-01"), Gender = "female", RM2Number = "ASH34578"
                },
                new Patient {
                    FirstName = "Laura", LastName = "Norman", DOB = DateTime.Parse("2003-09-01"), Gender = "female", RM2Number = "POL123445"
                },
                new Patient {
                    FirstName = "Nino", LastName = "Olivetto", DOB = DateTime.Parse("2005-09-01"), Gender = "male", RM2Number = "DAT123445"
                }
            };

            foreach (Patient p in Patients)
            {
                context.Patients.Add(p);
            }
            context.SaveChanges();

            var DiagnosisCategories = new DiagnosisCategory[]
            {
                new DiagnosisCategory {
                    CategoryName = "Primary"
                },
                new DiagnosisCategory {
                    CategoryName = "Secondary"
                },
                new DiagnosisCategory {
                    CategoryName = "Other"
                },
            };

            foreach (DiagnosisCategory c in DiagnosisCategories)
            {
                context.DiagnosisCategories.Add(c);
            }
            context.SaveChanges();

            var diagnoses = new DiagnosisType[]
            {
                new DiagnosisType {
                    Name = "Allergic bronchopulmonary aspergillosis (ABPA)"
                },
                new DiagnosisType {
                    Name = "Allergic Aspergillus sinusitis"
                },
                new DiagnosisType {
                    Name = "Aspergilloma"
                },
                new DiagnosisType {
                    Name = "Chronic pulmonary aspergillosis (CPA)"
                },
                new DiagnosisType {
                    Name = "Invasive aspergillosis"
                },
                new DiagnosisType {
                    Name = "Cutaneous (skin) aspergillosis"
                },
            };

            foreach (DiagnosisType dt in diagnoses)
            {
                context.DiagnosisTypes.Add(dt);
            }
            context.SaveChanges();


            var drugs = new Drug[]
            {
                new Drug {
                    Name = "Other drug 1"
                },
                new Drug {
                    Name = "Other drug"
                },
                new Drug {
                    Name = "Other drug 2"
                },
                new Drug {
                    Name = "Other drug 3"
                },
                new Drug {
                    Name = "Other drug 4"
                },
                new Drug {
                    Name = "Other drug 7"
                },
            };

            foreach (Drug d in drugs)
            {
                context.Drugs.Add(d);
            }

            var sideEffects = new SideEffect[]
            {
                new SideEffect {
                    Name = "Clumsiness"
                },
                new SideEffect {
                    Name = "Discouragement"
                },
                new SideEffect {
                    Name = "Drowsiness"
                },
                new SideEffect {
                    Name = "Feeling sad or empty"
                },
                new SideEffect {
                    Name = "Irritability"
                },
                new SideEffect {
                    Name = "Vomiting"
                },
                new SideEffect {
                    Name = "Fever"
                },
                new SideEffect {
                    Name = "Irregular heartbeats"
                }
            };

            foreach (SideEffect se in sideEffects)
            {
                context.SideEffects.Add(se);
            }
            context.SaveChanges();
        }