Exemplo n.º 1
0
        public async Task <ActionResult <Symptom> > PostSymptom(Symptom symptom)
        {
            _context.Symptoms.Add(symptom);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetSymptom), new { id = symptom.Id }, symptom));
        }
Exemplo n.º 2
0
    private IEnumerator ApplyTreatment(Symptom symptom)
    {
        Debug.Log("treating: " + symptom.name + " - " + symptom.cure.GetComponent <Item>().duration);
        treating = true;

        yield return(new WaitForSeconds(symptom.cure.GetComponent <Item>().duration));

        score += symptom.points;
        symptoms.Remove(symptom);

        Debug.Log("Treatment for " + symptom.name + " over");
        treating = false;

        switch (symptom.cure.GetComponent <Item>().itemName)
        {
        case "ice":
            symptoms.Add(GameObject.FindObjectOfType <DataBank>().GetSymptom("wet"));
            AddTime(5);
            break;

        case "needle and thread":
            symptoms.Add(GameObject.FindObjectOfType <DataBank>().GetSymptom("injured paw"));
            AddTime(3 + 5);
            break;
        }
    }
Exemplo n.º 3
0
        public async Task <DiseaseDTO> AddAsync(DiseaseDTO dto)
        {
            var disease = DiseaseDTO.CreateFromDTO(dto);
            await _uow.Diseases.AddAsync(disease);

            if (dto.Symptoms.Any())
            {
                foreach (var dtoSymptom in dto.Symptoms)
                {
                    var symptom = await _uow.Symptoms.FindAsync(dtoSymptom.SymptomId);

                    if (symptom == null)
                    {
                        symptom = new Symptom()
                        {
                            SymptomName = dtoSymptom.SymptomName
                        };
                        await _uow.Symptoms.AddAsync(symptom);
                    }
                    await _uow.DiseaseSymptoms.AddAsync(new DiseaseSymptom()
                    {
                        Disease = disease, Symptom = symptom
                    });
                }
            }

            await _uow.SaveChangesAsync();

            return(DiseaseDTO.CreateFromDomain(disease));
        }
Exemplo n.º 4
0
        public IHttpActionResult PutSymptom(int id, Symptom symptom)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != symptom.Symp_ID)
            {
                return(BadRequest());
            }

            db.Entry(symptom).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SymptomExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemplo n.º 5
0
        public void SymptomManager_DeleteSymptom()
        {
            SymptomManager m = new SymptomManager(new TreeMonDbContext(connectionKey));
            Symptom        s = new Symptom()
            {
                AccountId   = "a",
                Name        = "DELETERECORD",
                CreatedBy   = "TESTUSER",
                DateCreated = DateTime.UtcNow,
            };

            m.Insert(s);

            //Test the delete flag
            Assert.IsTrue(m.DeleteSymptom(s) > 0);
            m.GetSymptom("DELETERECORD");
            Symptom d = m.GetSymptom("DELETERECORD");

            Assert.IsNotNull(d);
            Assert.IsTrue(d.Deleted == true);


            Assert.IsTrue(m.DeleteSymptom(s, true) > 0);
            d = m.GetSymptom("DELETERECORD");
            Assert.IsNull(d);
        }
Exemplo n.º 6
0
        public async Task <Symptom> CreateAsync(Symptom createModel)
        {
            var symptom = (await _context.Symptoms.AddAsync(createModel)).Entity;
            await _context.SaveChangesAsync();

            return(symptom);
        }
Exemplo n.º 7
0
        public ServiceResult Insert(INode n, bool validateFirst = true)
        {
            if (!this.DataAccessAuthorized(n, "POST", false))
            {
                return(ServiceResponse.Error("You are not authorized this action."));
            }

            n.Initialize(this._requestingUser.UUID, this._requestingUser.AccountUUID, this._requestingUser.RoleWeight);

            var s = (Symptom)n;

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                if (validateFirst)
                {
                    Symptom dbU = context.GetAll <Symptom>().FirstOrDefault(wu => wu.Name.EqualsIgnoreCase(s.Name) && wu.AccountUUID == s.AccountUUID);

                    if (dbU != null)
                    {
                        return(ServiceResponse.Error("Symptom already exists."));
                    }
                }

                if (context.Insert <Symptom>(s))
                {
                    return(ServiceResponse.OK("", s));
                }
            }
            return(ServiceResponse.Error("An error occurred inserting Symptom " + s.Name));
        }
Exemplo n.º 8
0
 public void AddSymptom(Symptom symptom)
 {
     if (alive && symptom != null)
     {
         symptoms.Add(symptom);
     }
 }
Exemplo n.º 9
0
 public void Delete(Symptom entity)
 {
     if (AuthorizedUsers["Delete"].SingleOrDefault(x => x == Role) != null)
     {
         SymptomController.Delete(entity);
     }
 }
Exemplo n.º 10
0
        public async Task <RedirectResult> AddReport(int IdAppointment, [Bind(Exclude = "Date")] DoctorReport report, List <string> symptoms, List <string> complaints, List <string> complaints2, List <string> analyses)
        {
            report.Complaints  = Symptom.GetSymptomsString(complaints);
            report.Complaints2 = Symptom.GetSymptomsString(complaints2);
            report.Analyses    = Symptom.GetSymptomsString(analyses);
            report.IdSymptoms  = Symptom.GetSymptomsString(symptoms);
            report.Date        = DateTime.Now;
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    Appointment appointment = await db.Appointments.FindAsync(IdAppointment);

                    db.Appointments.Remove(appointment);
                    db.DoctorReports.Add(report);
                    await db.SaveChangesAsync();

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                }
            }
            return(Redirect("/Cabinet"));
        }
Exemplo n.º 11
0
        public async Task <Symptom> AddSymptomAsync(Symptom symptom)
        {
            _db.Symptoms.Add(symptom);
            await _db.SaveChangesAsync();

            return(symptom);
        }
        public void Api_SymptomController_UpdateSymptom()
        {
            TreeMonDbContext context = new TreeMonDbContext(connectionKey);
            Symptom          mdl     = new Symptom();

            mdl.AccountUUID = SystemFlag.Default.Account;
            mdl.Name        = Guid.NewGuid().ToString("N");
            mdl.UUID        = Guid.NewGuid().ToString("N");
            mdl.DateCreated = DateTime.Now;

            Assert.IsTrue(context.Insert <Symptom>(mdl));

            mdl = context.GetAll <Symptom>().Where(w => w.Name == mdl.Name).FirstOrDefault();
            Symptom pv = new Symptom();

            pv.Id          = mdl.Id;
            pv.UUID        = mdl.UUID;
            pv.AccountUUID = mdl.AccountUUID;
            pv.Name        = mdl.Name;
            pv.DateCreated = DateTime.Now;
            //~~~ Updatable fields ~~~

            string postData = JsonConvert.SerializeObject(pv);

            Task.Run(async() =>
            {
                ServiceResult res = await TestHelper.SentHttpRequest("POST", "api/Symptoms/Update", postData, _ownerAuthToken);
                Assert.IsNotNull(res);
                Assert.AreEqual(res.Code, 200);

                Symptom dbSymptom = context.GetAll <Symptom>().Where(w => w.Name == mdl.Name).FirstOrDefault();
                Assert.IsNotNull(dbSymptom);
            }).GetAwaiter().GetResult();
        }
Exemplo n.º 13
0
    public void GeneratePerks(out Symptom[] symptoms, out Transmission[] transmissions)
    {
        symptoms      = new Symptom[SymptomsMaxLevel];
        transmissions = new Transmission[TransmissionMaxLevel];

        int pog = 500;

        while (CanUsePoints() && pog != 0)
        {
            int typ = Random.Range(0, 2);

            int subtype;

            switch (typ)
            {
            case 0:
                subtype = Random.Range(0, SymptomsSize / SymptomsMaxLevel);
                if (symptoms[subtype] == null)
                {
                    symptoms[subtype] = SymptomsPerks[subtype][0].Clone();
                    UsedPoints++;
                    //Debug.Log("Added " + symptoms[subtype].Name + " Points used: " + UsedPoints);
                }
                else
                {
                    if (symptoms[subtype].PerkLevel < SymptomsMaxLevel)
                    {
                        symptoms[subtype].EvolvePerk(SymptomsPerks[subtype][symptoms[subtype].PerkLevel]);
                        UsedPoints++;
                        //Debug.Log("Added " + symptoms[subtype].Name + " Points used: " + UsedPoints);
                    }
                }
                break;

            case 1:
                subtype = Random.Range(0, TransmissionSize / TransmissionMaxLevel);
                if (transmissions[subtype] == null)
                {
                    transmissions[subtype] = TransmissionPerks[subtype][0].Clone();
                    UsedPoints++;
                    //Debug.Log("Added " + transmissions[subtype].Name + " Points used: " + UsedPoints);
                }
                else
                {
                    if (transmissions[subtype].PerkLevel < TransmissionMaxLevel)
                    {
                        transmissions[subtype].EvolvePerk(TransmissionPerks[subtype][transmissions[subtype].PerkLevel]);
                        UsedPoints++;
                        //Debug.Log("Added " + transmissions[subtype].Name + " Points used: " + UsedPoints);
                    }
                }
                break;

            default:
                break;
            }

            pog--;
        }
    }
Exemplo n.º 14
0
        private async Task AddDiseaseFromString(string line)
        {
            if (line != null)
            {
                var values  = line.Split(", ");
                var disease = new Disease()
                {
                    DiseaseName = values[0]
                };
                await _uow.Diseases.AddAsync(disease);

                foreach (var name in values.Skip(1))
                {
                    var symptom = await _uow.Symptoms.FindByNameAsync(name);

                    if (symptom == null)
                    {
                        symptom = new Symptom()
                        {
                            SymptomName = name
                        };
                        await _uow.Symptoms.AddAsync(symptom);
                    }
                    await _uow.DiseaseSymptoms.AddAsync(new DiseaseSymptom()
                    {
                        Disease = disease, Symptom = symptom
                    });
                }
            }
            await _uow.SaveChangesAsync();
        }
Exemplo n.º 15
0
    public override void EvolvePerk(Perk PerkEvolved)
    {
        base.EvolvePerk(PerkEvolved);
        Symptom sym = PerkEvolved as Symptom;

        LethalityRate = sym.LethalityRate;
    }
Exemplo n.º 16
0
        public ServiceResult Update(Symptom s)
        {
            if (s == null)
            {
                return(ServiceResponse.Error("Invalid Symptom sent to server."));
            }

            SymptomManager symptomManager = new SymptomManager(Globals.DBConnectionKey, Request.Headers?.Authorization?.Parameter);

            var dbS = (Symptom)symptomManager.GetBy(s.UUID);

            if (dbS == null)
            {
                return(ServiceResponse.Error("Symptom was not found."));
            }

            if (dbS.DateCreated == DateTime.MinValue)
            {
                dbS.DateCreated = DateTime.UtcNow;
            }
            dbS.Deleted   = s.Deleted;
            dbS.Name      = s.Name;
            dbS.Status    = s.Status;
            dbS.SortOrder = s.SortOrder;

            return(symptomManager.Update(dbS));
        }
        public async Task <string> MakeAnAppointment(Appointment busyTime, DateTime selectedDate, TimeSpan receptionTime, List <string> symptoms)
        {
            busyTime.PredictedDiagnoses = PredicateDiagnoses(symptoms);
            busyTime.IdSymptoms         = Symptom.GetSymptomsString(symptoms);
            busyTime.EndTime            = busyTime.StartTime + receptionTime;
            busyTime.Day = new DateTime(DateTime.Now.Year, selectedDate.Month, selectedDate.Day);
            List <Appointment> checkTime = db.Appointments.Where(bt => bt.IdDoctor == busyTime.IdDoctor && bt.StartTime == busyTime.StartTime && bt.Day == busyTime.Day).ToList();

            if (checkTime.Count > 0)
            {
                return("<h3>Время приёма уже занято! Выберите другое время!</h3>");
            }
            List <Appointment> apps = db.Appointments.Where(app => app.IdPatient == busyTime.IdPatient && app.Day == busyTime.Day && !((app.StartTime < busyTime.StartTime && app.EndTime <= busyTime.StartTime) || (app.StartTime >= busyTime.EndTime && app.EndTime > busyTime.EndTime))).ToList <Appointment>();

            if (apps.Count != 0)
            {
                return("<h3>Извините, но на это время вы записаны к другому врачу!</h3>");
            }
            db.Appointments.Add(busyTime);
            await db.SaveChangesAsync();

            User patient = await db.Patients.FindAsync(busyTime.IdPatient);

            User doctor = await db.Doctors.FindAsync(busyTime.IdDoctor);

            MailSender sender = new MailSender(patient.Email);

            sender.SendMessageForMakeAppointment(doctor, selectedDate, busyTime.StartTime, MailSender.UserType.Patient, Url.Action("Doctor", "Home", new { id = busyTime.IdDoctor }, Request.Url.Scheme));
            sender.Recipient = doctor.Email;
            sender.SendMessageForMakeAppointment(patient, selectedDate, busyTime.StartTime, MailSender.UserType.Doctor);
            return($"<h3>Запись была осуществлена успешно!</h3><br/><a href={Url.Action("Index","Cabinet")}>В личный кабинет</a>");
        }
Exemplo n.º 18
0
        public async Task <Symptom> UpdateSymptomAsync(Symptom symptom)
        {
            _db.Entry(symptom).State = EntityState.Modified;
            await _db.SaveChangesAsync();

            return(symptom);
        }
Exemplo n.º 19
0
        public async Task <IActionResult> PutSymptom(int id, Symptom symptom)
        {
            if (id != symptom.Id)
            {
                return(BadRequest());
            }

            _context.Entry(symptom).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SymptomExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 20
0
        private double ConditionedSymptomsRefusal(Disease disease, string symptoms)
        {
            string[] uniqueSymptoms      = symptoms.Split(";");
            double   symptomsProbability = 1d;

            foreach (string symptom in uniqueSymptoms)
            {
                if (symptom.Equals(""))
                {
                    continue;
                }

                Symptom        symptomX       = _context.Symptoms.Where(sym => sym.SymptomName.Equals(symptom)).First();
                SymptomDisease symptomDisease = _context.SymptomDiseases.Where(symDis => symDis.DiseaseID.Equals(disease.Id) && symDis.SymptomID.Equals(symptomX.Id)).FirstOrDefault();
                if (symptomDisease != null)
                {
                    symptomsProbability *= (symptomX.OccurenceProbability - symptomDisease.OccurenceProbability * disease.GeneralProbability) / (1d - DiseaseGeneralProbability(disease));
                }
                else
                {
                    symptomsProbability *= 0.98d;
                }
            }

            return(symptomsProbability);
        }
Exemplo n.º 21
0
 public Symptom AddRoot(Symptom symptom)
 {
     if(symptom == null) {
         throw new WebFaultException(HttpStatusCode.BadRequest);
     }
     return _storage.CreateNode(symptom.Name, null);
 }
Exemplo n.º 22
0
 /// <summary>
 /// This method is used to transform a Symptom object to SymptomDTO object
 /// </summary>
 /// <param name="symptom">Symptom which we wish to transform</param>
 /// <returns>SymptomDTO which was transformed from input</returns>
 public static SymptomDTO Transform(Symptom symptom)
 {
     return(new SymptomDTO()
     {
         name = symptom.Name
     });
 }
Exemplo n.º 23
0
 public void Edit(Symptom entity)
 {
     if (AuthorizedUsers["Edit"].SingleOrDefault(x => x == Role) != null)
     {
         SymptomController.Edit(entity);
     }
 }
Exemplo n.º 24
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Body,WellBeing,ChestPain,SymptomList,RecordDate")] Symptom symptom)
        {
            if (id != symptom.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(symptom);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SymptomExists(symptom.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(symptom));
        }
Exemplo n.º 25
0
        public async Task <Symptom> UpdateAsync(Symptom updateModel)
        {
            var symptom = _context.Symptoms.Update(updateModel).Entity;
            await _context.SaveChangesAsync();

            return(symptom);
        }
Exemplo n.º 26
0
        public override ErrorList Validate()
        {
            var result = new ErrorList();

            result.AddRange(base.Validate());

            if (ReactionDateElement != null)
            {
                result.AddRange(ReactionDateElement.Validate());
            }
            if (Subject != null)
            {
                result.AddRange(Subject.Validate());
            }
            if (DidNotOccurFlagElement != null)
            {
                result.AddRange(DidNotOccurFlagElement.Validate());
            }
            if (Recorder != null)
            {
                result.AddRange(Recorder.Validate());
            }
            if (Symptom != null)
            {
                Symptom.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (Exposure != null)
            {
                Exposure.ForEach(elem => result.AddRange(elem.Validate()));
            }

            return(result);
        }
Exemplo n.º 27
0
        public void Core_MakeAllPills()
        {
            var dMock = new Mock <IDevice>();
            var rMock = new Mock <IRepository>();

            rMock.Setup(x => x.GetAll <Symptom>()).Returns(() =>
            {
                var s1 = new Symptom()
                {
                    Name = "S1"
                };
                s1.Wirkstoffe.Add(new Wirkstoff()
                {
                    Name = "W1"
                });
                s1.Wirkstoffe.Add(new Wirkstoff()
                {
                    Name = "W2"
                });

                //        var s2 = new Symptom() { Name = "S2" };
                //        s2.Wirkstoffe.Add(new Wirkstoff() { Name = "W3" });
                //        s2.Wirkstoffe.Add(new Wirkstoff() { Name = "W4" });

                return(new[] { s1, s1, s1 });
            });

            Core core = new Core(dMock.Object, rMock.Object);

            core.MakeAllPills();

            dMock.Verify(x => x.Machzeug(It.IsAny <IEnumerable <Wirkstoff> >()), Times.Exactly(3));
        }
        public async Task <Symptom> AddAsync(Symptom symptom)
        {
            await _context.Symptoms.AddAsync(symptom);

            await _context.SaveChangesAsync();

            return(symptom);
        }
Exemplo n.º 29
0
        public ActionResult DeleteConfirmed(string id)
        {
            Symptom symptom = db.Symptoms.Find(id);

            db.Symptoms.Remove(symptom);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 30
0
 /// <summary>
 /// This method is used to create a new SymptomsInDiseases from symptom and a disease
 /// </summary>
 /// <param name="symptom">Symptom which we will use to create a response</param>
 /// <param name="disease">Disease which we will use to create a response</param>
 /// <returns>SymptomsInDiseases which is made by two given inputs</returns>
 public SymptomsInDiseases createNew(Symptom symptom, Disease disease)
 {
     return(new SymptomsInDiseases()
     {
         Symptom = symptom,
         Disease = disease
     });
 }
Exemplo n.º 31
0
 public HttpResponseMessage<Symptom> AddRoot(Symptom symptom)
 {
     if (symptom == null) {
         throw new HttpResponseException(HttpStatusCode.BadRequest);
     }
     var newSymptom = _storage.CreateNode(symptom.Name, null);
     return BuildCreateMessage(newSymptom);
 }
Exemplo n.º 32
0
 public SymptomDTO Transform(Symptom s)
 {
     return(new SymptomDTO
     {
         Id = s.Id,
         Name = s.Name,
     });
 }
Exemplo n.º 33
0
 public Symptom AddChild(string nodeId, Symptom child)
 {
     Int32 id;
     if (child == null || !Int32.TryParse(nodeId, out id)) {
         throw new WebFaultException(HttpStatusCode.BadRequest);
     }
     var parent = _storage.GetNode(id);
     return _storage.CreateNode(child.Name, parent);
 }
Exemplo n.º 34
0
 public HttpResponseMessage<Symptom> AddChild(Int32 nodeId, Symptom child)
 {
     var parent = _storage.GetNode(nodeId);
     if (parent == null) {
         throw new HttpResponseException(HttpStatusCode.NotFound);
     }
     var newSymptom = _storage.CreateNode(child.Name, parent);
     return BuildCreateMessage(newSymptom);
 }
Exemplo n.º 35
0
	private HandbookSymptomListItem AddButton(Symptom symptom){
		GameObject handbookSymptomListItem = (GameObject)Instantiate (HandbookSymptomListItemPrefab);
		HandbookSymptomListItem handbookSymptom = handbookSymptomListItem.GetComponent<HandbookSymptomListItem> ();
		handbookSymptom.Symptom = symptom;
		handbookSymptom.HandbookManager = this;

		handbookSymptomListItem.transform.SetParent (transform);
		handbookSymptomListItem.transform.localPosition = new Vector3(0, 0, 0);
		handbookSymptomListItem.transform.localScale = new Vector3 (1f, 1f, 1f);
		handbookSymptomListItem.transform.localRotation = new Quaternion();

		return handbookSymptom;
	}
Exemplo n.º 36
0
        public void Seed(DiagnoseMeDbContext context)
        {
            if (context.Symptoms.Any())
            {
                return;
            }

            var symptomsNamesAsString = @"главоболие; виене на свят; разстройство на съня; мозъчна тромбоза с парализа на определена група мускули; смущения в говора;
влошаване на страничното периферно зрение; нарастване на размера на черепа; нарастване на носа; нарастване на ушните миди; нарастване на езика; задебеляване на устните;
бяла коса; розово-бяла кожа която не потъмнява от слънцето; сини или червени ириси на очите;
кихане; течащ или запушен нос; сърбежи на очите и кожата;
повръщане; висока температура; болки в корема; повръщане на кръв; тежка диария; настинка; пъпки; язва;
суха кашлица; кихане; хрема; болки в гърлото; температура;
болки във венците; кървене на венците;
чувство на умора; повишена температура; болка в мускулите и ставите; главоболие и възпалено гърло; повръщане; диария; болки в корема;
тремор в покой(най-често по пръстите на ръцете); ригор; ступор; когнитивни дефицити; депресия; деменция;
синузит; главоболие;
кашлица с оскъдни жилави белезникави храчки; кръвохрачене; задух при усилие и в покой; болки и бодежи в гръдния кош; туберкулоза; белодробно сърце; дихателна и сърдечна недостатъчност с прогресиращ ход;
повишена функция на щитовидната жлеза; неправилно хранене (особено в детската възраст);
влажна кашлица; температура; втрисане; недостиг на въздух; остра или пронизваща болка в гърдите при дълбоко поемане на въздух и повишена дихателна честота;
зачервяване и оток на ушната мида; обилно отделяне на рядка ушна кал; сърбеж; дразнене; чувство за наличие на чуждо тяло в ухото; слаби болки; намаляване на слуха;
втрисане с изпотяване и рязко влошаване на общото състояние; нарастваща слабост; загуба на апетит; хеморагична диатеза – епистаксис; гингиворагии; подкожни кръвоизливи; генитални кръвоизливи;
слабост; отпадналост; дискомфорт; слаба концентрация; диспнея (затруднено дишане);
болка в долния десен край на корема; ускорен пулс; повишена телесна температура (до 38°С); гадене; повръщане;
болки в колената; подуване; зачервяване на лакътя или коляното; затопляне на мястото; ограничаване на движенията; усещане за триене;
отпадналост; лесна уморяемост; главоболие; намален мускулен тонус; отслабени сухожилни рефлекси; двойно виждане (диплопия); фотофобия; разширяване на зениците; нистагъм; страбизъм; диспнея (затруднено дишане); неподвижност на мекото небце; дисфагия (затруднено преглъщане); пресипване на гласа (афония); липса на гълтателен рефлекс;
бяло течение; кръвотечение; болки в половите органи; горещина и отичане на половите органи;
слепване между гланса и препуциума; подуване при уриниране;
голяма чувствителност; спазъм при който съвкуплението става невъзможно; остра болка; треперене; сърцебиене;
тъпи болки в таза ирадииращи към ануса, тестисите или вътрешната част на бедрата; проблеми с ерекцията; парене и болка при уриниране и еякулация";

            var symptomsNamesAsList = new HashSet<string>(
                                            symptomsNamesAsString
                                                .Split(';')
                                                .Select(x => x.Trim())
                                                .ToList());

            foreach (var symptomName in symptomsNamesAsList)
            {
                var symptom = context.Symptoms.SingleOrDefault(x => x.Name == symptomName);

                if (symptom == null)
                {
                    symptom = new Symptom { Name = symptomName, Diseases = null };
                    context.Symptoms.AddOrUpdate(x => x.Name, symptom);
                    context.SaveChanges();
                }
            }
        }
Exemplo n.º 37
0
 private HttpResponseMessage<Symptom> BuildCreateMessage(Symptom s)
 {
     var response = new HttpResponseMessage<Symptom>(s, HttpStatusCode.Created);
     string relativeUri = Url.Route("DefaultAPI", new { nodeId = s.ID });
     Uri baseUri = new Uri(String.Format("{0}://{1}", Request.RequestUri.Scheme, Request.RequestUri.Authority));
     response.Headers.Location = new Uri(baseUri, relativeUri);
     return response;
 }
Exemplo n.º 38
0
        internal IList<Allergy> toAllergiesFromXmlNode(XmlNode node)
        {
            IList<Allergy> allergies = new List<Allergy>();

            int total = verifyTopLevelNode(node);
            if (total == 0)
            {
                return allergies;
            }

            XmlNodeList allergyNodes = node.SelectNodes("/allergy");
            if (allergyNodes == null || allergyNodes.Count == 0)
            {
                return allergies;
            }

            foreach (XmlNode allergyNode in allergyNodes)
            {
                Allergy allergy = new Allergy();

                XmlNodeList drugClassesNodes = allergyNode.SelectNodes("drugClasses/drugClass");
                if (drugClassesNodes != null && drugClassesNodes.Count > 0)
                {
                    allergy.DrugClasses = new StringDictionary();
                    foreach (XmlNode drugClassNode in drugClassesNodes)
                    {
                        string vuid = XmlUtils.getXmlAttributeValue(drugClassNode, "/", "vuid");
                        string name = XmlUtils.getXmlAttributeValue(drugClassNode, "/", "name");
                        if (!String.IsNullOrEmpty(vuid))
                        {
                            allergy.DrugClasses.Add(vuid, name);
                        }
                    }
                }

                XmlNodeList drugIngredientsNodes = allergyNode.SelectNodes("drugIngredients/drugIngredient");
                if (drugIngredientsNodes != null && drugIngredientsNodes.Count > 0)
                {
                    allergy.DrugIngredients = new StringDictionary();
                    foreach (XmlNode drugIngredientNode in drugIngredientsNodes)
                    {
                        string vuid = XmlUtils.getXmlAttributeValue(drugIngredientNode, "/", "vuid");
                        string name = XmlUtils.getXmlAttributeValue(drugIngredientNode, "/", "name");
                        if (!String.IsNullOrEmpty(vuid))
                        {
                            allergy.DrugIngredients.Add(vuid, name);
                        }
                    }
                }

                XmlNodeList reactionsNodes = allergyNode.SelectNodes("reactions/reaction");
                if (reactionsNodes != null && reactionsNodes.Count > 0)
                {
                    allergy.Reactions = new List<Symptom>();
                    foreach (XmlNode reactionNode in reactionsNodes)
                    {
                        Symptom symptom = new Symptom();
                        symptom.Name = XmlUtils.getXmlAttributeValue(reactionNode, "/", "name");
                        symptom.Id = XmlUtils.getXmlAttributeValue(reactionNode, "/", "vuid");
                        allergy.Reactions.Add(symptom);
                    }
                }

                allergy.Timestamp = XmlUtils.getXmlAttributeValue(allergyNode, "entered", "value");
                allergy.AllergenId = XmlUtils.getXmlAttributeValue(allergyNode, "id", "value");
                allergy.AllergenName = XmlUtils.getXmlAttributeValue(allergyNode, "name", "value");
                allergy.AllergenType = XmlUtils.getXmlAttributeValue(allergyNode, "type", "name");
                allergy.Comment = XmlUtils.getXmlAttributeValue(allergyNode, "assessment", "value");
                allergy.Facility = new SiteId(XmlUtils.getXmlAttributeValue(allergyNode, "facility", "code"), XmlUtils.getXmlAttributeValue(allergyNode, "facility", "name"));

                allergies.Add(allergy);
            }

            return allergies;
        }
Exemplo n.º 39
0
        public void SeedDisease(DiagnoseMeDbContext context, DiseaseSeedModel model)
        {
            var symptomsNames = new HashSet<string>(model.Symptoms.Split(';').Select(x => x.Trim()).ToList());

            // Build the Symptoms
            var symptoms = new HashSet<Symptom>();
            foreach (var symptomName in symptomsNames)
            {
                var symptom = this.ExtractedSymptoms.SingleOrDefault(x => x.Name == symptomName);

                // If symptom not found in our list => get it from database
                if (symptom == null)
                {
                    symptom = context.Symptoms.SingleOrDefault(x => x.Name == symptomName);

                    // If symptom not found in db => create and insert it
                    if (symptom == null)
                    {
                        symptom = new Symptom() { Name = symptomName };
                        context.Symptoms.AddOrUpdate(x => x.Name, symptom);
                    }

                    this.ExtractedSymptoms.Add(symptom);
                }

                symptoms.Add(symptom);
            }

            // Build the Disease
            var disease = new Disease()
            {
                Name = model.Name,
                Description = model.Description,
                Occurrence = model.Occurrence,
                Target = model.Target,
                Symptoms = symptoms
            };

            context.Diseases.AddOrUpdate(x => x.Name, disease);
            context.SaveChanges();
        }
    protected void getSymptomSummary()
    {
        DateTime from;
        DateTime to = DateTime.Now;
        String from_date_string = from_date.Text;
        if (String.IsNullOrEmpty(from_date_string))
            from = DateTime.Now.AddDays(-14);
        else
            from = DateTime.Parse(from_date_string + " 00:00:01 AM");

        HealthRecordSearcher searcher = PersonInfo.SelectedRecord.CreateSearcher();
        HealthRecordFilter filter = new HealthRecordFilter(Condition.TypeId);
        filter.CreatedDateMax = to;
        filter.CreatedDateMin = from;
        searcher.Filters.Add(filter);

        HealthRecordItemCollection items = searcher.GetMatchingItems()[0];
        foreach (Condition condition in items)
        {
            if (isSymptom(condition))
            {
                Symptom symptom = new Symptom();
                symptom.SymptomName = condition.Name.Text;
                symptom.SymptomValue = Convert.ToInt32(condition.Status.Text);
                symptom.When = DateTime.Parse(condition.OnsetDate.ToString());
                if (symptom.When >= from)
                    symptoms.Add(symptom);
            }
        }
        symptoms.Sort(delegate(Symptom p1, Symptom p2) { return p1.When.CompareTo(p2.When); });
    }