public void DeletePatientFamilyTestings(int id)
        {
            PatientFamilyTesting familyTesting = _unitOfWork.PatientFamilyTestingRepository.GetById(id);

            _unitOfWork.PatientFamilyTestingRepository.Remove(familyTesting);
            _result = _unitOfWork.Complete();
        }
예제 #2
0
        private PatientFamilyDisplay MapMembers(PatientFamilyTesting member)
        {
            ILookupManager        mgr               = (ILookupManager)ObjectFactory.CreateInstance("BusinessProcess.CCC.BLookupManager, BusinessProcess.CCC");
            string                relationship      = "";
            string                baselineHivStatus = "";
            string                hivStatus         = "";
            string                sex               = "";
            List <LookupItemView> relationships     = mgr.GetLookItemByGroup("Relationship");
            var s = relationships.FirstOrDefault(n => n.ItemId == member.RelationshipId);

            if (s != null)
            {
                relationship = s.ItemDisplayName;
            }
            List <LookupItemView> reasons = mgr.GetLookItemByGroup("BaseLineHivStatus");
            var r = reasons.FirstOrDefault(n => n.ItemId == member.BaseLineHivStatusId);

            if (r != null)
            {
                baselineHivStatus = r.ItemDisplayName;
            }
            List <LookupItemView> areas = mgr.GetLookItemByGroup("HivTestingResult");
            var sa = areas.FirstOrDefault(n => n.ItemId == member.HivTestingResultsId);

            if (sa != null)
            {
                hivStatus = sa.ItemDisplayName;
            }
            List <LookupItemView> genders = mgr.GetLookItemByGroup("Gender");
            var x = genders.FirstOrDefault(n => n.ItemId == member.Sex);

            if (x != null)
            {
                sex = x.ItemDisplayName;
            }

            PatientFamilyDisplay familyMemberDisplay = new PatientFamilyDisplay()
            {
                FirstName             = member.FirstName,
                MiddleName            = member.MiddleName,
                LastName              = member.LastName,
                Sex                   = sex,
                DateOfBirth           = member.DateOfBirth,
                DobPrecision          = member.DobPrecision,
                Relationship          = relationship,
                BaseLineHivStatus     = baselineHivStatus,
                BaseLineHivStatusDate = member.BaselineHivStatusDate,
                HivStatusResult       = hivStatus,
                HivStatusResultDate   = member.HivTestingResultsDate,
                CccReferal            = member.CccReferal.ToString(),
                CccReferalNumber      = member.CccReferaalNumber,
                PersonRelationshipId  = member.PersonRelationshipId,
                HivTestingId          = member.HivTestingId,
                PersonId              = member.PersonId,
                LinkageDate           = member.LinkageDate
            };

            return(familyMemberDisplay);
        }
예제 #3
0
        public List <PatientFamilyTesting> GetPatientFamilyList(int patientId)
        {
            List <PatientFamilyTesting> patientFamilyTestings = new List <PatientFamilyTesting>();
            PatientFamilyTesting        familyTesting         = null;
            List <PersonRelationship>   personRelationships   = _personRelationshipManager.GetAllPersonRelationship(patientId);
            Utility utility = new Utility();

            foreach (var relationship in personRelationships)
            {
                var          hivTesting = _hivTestingManager.GetAll().OrderByDescending(y => y.Id).FirstOrDefault(n => n.PersonId == relationship.PersonId);
                PersonLookUp person     = personLookUp.GetPersonById(relationship.PersonId);
                var          linkage    = linkageManager.GetPatientLinkage(relationship.PersonId).FirstOrDefault();

                if (person != null)
                {
                    familyTesting = new PatientFamilyTesting()
                    {
                        FirstName             = (person.FirstName),
                        MiddleName            = (person.MiddleName),
                        LastName              = (person.LastName),
                        Sex                   = person.Sex,
                        DateOfBirth           = person.DateOfBirth,
                        DobPrecision          = person.DobPrecision,
                        PersonId              = relationship.PersonId,
                        RelationshipId        = relationship.RelationshipTypeId,
                        BaseLineHivStatusId   = relationship.BaselineResult,
                        BaselineHivStatusDate = relationship.BaselineDate,
                        //HivTestingResultsId = hivTesting.TestingResult,
                        //HivTestingResultsDate = hivTesting.TestingDate,
                        //CccReferal = hivTesting.ReferredToCare,
                        //CccReferaalNumber = linkage.CCCNumber,
                        //LinkageDate = linkage.LinkageDate,
                        PersonRelationshipId = relationship.Id
                                               //HivTestingId = hivTesting.Id
                    };

                    if (hivTesting != null)
                    {
                        familyTesting.HivTestingResultsId   = hivTesting.TestingResult;
                        familyTesting.HivTestingResultsDate = hivTesting.TestingDate;
                        familyTesting.CccReferal            = hivTesting.ReferredToCare;
                        familyTesting.HivTestingId          = hivTesting.Id;
                    }

                    if (linkage != null)
                    {
                        familyTesting.CccReferaalNumber = linkage.CCCNumber;
                        familyTesting.LinkageDate       = linkage.LinkageDate;
                    }
                    patientFamilyTestings.Add(familyTesting);
                }
            }
            return(patientFamilyTestings);
        }
예제 #4
0
        public string UpdatePatientFamilyTesting(int patientId, int patientMasterVisitId, string firstName, string middleName, string lastName, int sex, string dob, int relationshipId, int baselineHivStatusId, DateTime baselineHivStatusDate, string hivTestingresultId, string hivTestingresultDate, bool cccreferal, string cccReferalNumber, int userId, int personRelationshipId, int hivTestingId, int personId, string cccReferalModDate)
        {
            firstName  = GlobalObject.unescape(firstName);
            middleName = GlobalObject.unescape(middleName);
            lastName   = GlobalObject.unescape(lastName);
            int hivresultId = hivTestingresultId == "" ? 0 : Convert.ToInt32(hivTestingresultId);
            //DateTime? testingResultsDate = hivTestingresultDate == "" ?  : DateTime.Parse(hivTestingresultDate);
            PatientFamilyTesting patientAppointment = new PatientFamilyTesting()
            {
                PatientId            = patientId,
                PatientMasterVisitId = patientMasterVisitId,
                FirstName            = firstName,
                MiddleName           = middleName,
                LastName             = lastName,
                Sex                   = sex,
                DateOfBirth           = DateTime.Parse(dob),
                RelationshipId        = relationshipId,
                BaseLineHivStatusId   = baselineHivStatusId,
                BaselineHivStatusDate = baselineHivStatusDate,
                //HivTestingResultsDate = testingResultsDate,
                HivTestingResultsId  = hivresultId,
                CccReferal           = cccreferal,
                CccReferaalNumber    = cccReferalNumber,
                PersonRelationshipId = personRelationshipId,
                HivTestingId         = hivTestingId,
                PersonId             = personId
            };

            if (hivTestingresultDate != "")
            {
                patientAppointment.HivTestingResultsDate = DateTime.Parse(hivTestingresultDate);
            }
            if (cccReferalModDate != "")
            {
                patientAppointment.LinkageDate = DateTime.Parse(cccReferalModDate);
            }

            try
            {
                var testing = new PatientFamilyTestingManager();
                Result = testing.UpdatePatientFamilyTestings(patientAppointment, userId);
                if (Result > 0)
                {
                    Msg = "Patient family testing Updated Successfully!";
                }
            }
            catch (Exception e)
            {
                Msg = e.Message;
            }
            return(Msg);
        }
예제 #5
0
        public int UpdatePatientFamilyTestings(PatientFamilyTesting p, int userId)
        {
            PersonManager pm       = new PersonManager();
            int           personId = p.PersonId;
            //pm.UpdatePerson(p.FirstName, p.MiddleName, p.LastName, p.Sex, userId, p.PersonId, p.DateOfBirth);
            //Person person = new Person()
            //{
            //    FirstName = _utility.Encrypt(p.FirstName),
            //    MidName = _utility.Encrypt(p.MiddleName),
            //    LastName = _utility.Encrypt(p.LastName),
            //    Sex = p.Sex,
            //    //DateOfBirth = p.DateOfBirth,
            //};
            // int personId = _personManager.UpdatePerson(person, p.PersonId);

            //PersonRelationship relationship = new PersonRelationship()
            //{
            //    Id = p.PersonRelationshipId,
            //    PersonId = personId,
            //    PatientId = p.PatientId,
            //    //RelatedTo = p.PatientId,
            //    RelationshipTypeId = p.RelationshipId
            //};
            //_personRelationshipManager.UpdatePersonRelationship(relationship);

            PatientHivTesting familyTesting = new PatientHivTesting()
            {
                PersonId             = personId,
                PatientMasterVisitId = p.PatientMasterVisitId,
                TestingResult        = p.HivTestingResultsId,
                TestingDate          = p.HivTestingResultsDate,
                ReferredToCare       = p.CccReferal,
                CreatedBy            = userId
            };

            int hivTestingId = _hivTestingManager.AddPatientHivTesting(familyTesting);

            if (p.CccReferal == true)
            {
                PatientLinkage patientLinkage = new PatientLinkage()
                {
                    PersonId    = personId,
                    LinkageDate = (DateTime)p.LinkageDate,
                    CCCNumber   = p.CccReferaalNumber,
                    CreatedBy   = userId
                };

                linkageManager.AddPatientLinkage(patientLinkage);
            }
            return(hivTestingId);
        }
예제 #6
0
        public int AddPatientFamilyTestings(PatientFamilyTesting p, int userId)
        {
            PersonManager pm       = new PersonManager();
            int           personId = pm.AddPersonUiLogic(p.FirstName, p.MiddleName, p.LastName, p.Sex, userId, p.DateOfBirth, p.DobPrecision);

            PersonRelationship relationship = new PersonRelationship()
            {
                PersonId           = personId,
                PatientId          = p.PatientId,
                BaselineResult     = p.BaseLineHivStatusId,
                BaselineDate       = p.BaselineHivStatusDate,
                RelationshipTypeId = p.RelationshipId,
                CreatedBy          = userId
            };

            _personRelationshipManager.AddPersonRelationship(relationship);

            DateTime?testingDate = p.HivTestingResultsDate;

            if (testingDate == DateTime.MinValue)
            {
                testingDate = null;
            }

            PatientHivTesting familyTesting = new PatientHivTesting()
            {
                PersonId             = personId,
                PatientMasterVisitId = p.PatientMasterVisitId,
                TestingResult        = p.HivTestingResultsId,
                TestingDate          = testingDate,
                ReferredToCare       = p.CccReferal,
                CreatedBy            = userId
            };
            int hivTestingId = _hivTestingManager.AddPatientHivTesting(familyTesting);

            if (p.CccReferal == true)
            {
                PatientLinkage patientLinkage = new PatientLinkage()
                {
                    PersonId    = personId,
                    LinkageDate = (DateTime)p.LinkageDate,
                    CCCNumber   = p.CccReferaalNumber,
                    CreatedBy   = userId
                };

                linkageManager.AddPatientLinkage(patientLinkage);
            }

            return(hivTestingId);
        }
 public int UpdatePatientFamilyTestings(PatientFamilyTesting p)
 {
     _unitOfWork.PatientFamilyTestingRepository.Update(p);
     _result = _unitOfWork.Complete();
     return(_result);
 }
        public PatientFamilyTesting GetPatientFamilyTestings(int id)
        {
            PatientFamilyTesting familyTesting = _unitOfWork.PatientFamilyTestingRepository.GetById(id);

            return(familyTesting);
        }
예제 #9
0
        public int AddPatientFamilyTestingsExisting(PatientFamilyTesting p, int userId, int RelationshipPersonId)
        {
            int personId = RelationshipPersonId;

            PersonRelationship personrrel = _personRelationshipManager.GetSpecificRelationship(personId, p.PatientId);

            if (personrrel != null)
            {
                personrrel.PersonId           = personId;
                personrrel.PatientId          = p.PatientId;
                personrrel.BaselineResult     = p.BaseLineHivStatusId;
                personrrel.BaselineDate       = p.BaselineHivStatusDate;
                personrrel.RelationshipTypeId = p.RelationshipId;
                personrrel.CreatedBy          = userId;


                _personRelationshipManager.UpdatePersonRelationship(personrrel);
            }
            else
            {
                PersonRelationship relationship = new PersonRelationship()
                {
                    PersonId           = personId,
                    PatientId          = p.PatientId,
                    BaselineResult     = p.BaseLineHivStatusId,
                    BaselineDate       = p.BaselineHivStatusDate,
                    RelationshipTypeId = p.RelationshipId,
                    CreatedBy          = userId
                };
                outcome = _personRelationshipManager.AddPersonRelationship(relationship);
            }
            if (p.CccReferaalNumber != null)
            {
                string value = (p.CccReferaalNumber == null)? "" : p.CccReferaalNumber.ToString();

                if (String.IsNullOrEmpty(value) == true)
                {
                    DateTime?testingDate = p.HivTestingResultsDate;
                    if (testingDate == DateTime.MinValue)
                    {
                        testingDate = null;
                    }


                    PatientHivTesting familyTesting = new PatientHivTesting()
                    {
                        PersonId             = personId,
                        PatientMasterVisitId = p.PatientMasterVisitId,
                        TestingResult        = p.HivTestingResultsId,
                        TestingDate          = testingDate,
                        ReferredToCare       = p.CccReferal,
                        CreatedBy            = userId
                    };
                    outcome = _hivTestingManager.AddPatientHivTesting(familyTesting);

                    if (p.CccReferal == true)
                    {
                        PatientLinkage patientLinkage = new PatientLinkage()
                        {
                            PersonId    = personId,
                            LinkageDate = (DateTime)p.LinkageDate,
                            CCCNumber   = p.CccReferaalNumber,
                            CreatedBy   = userId
                        };

                        linkageManager.AddPatientLinkage(patientLinkage);
                    }
                }
            }

            return(outcome);
        }
예제 #10
0
        public string AddPatientFamilyTesting(string familyMembers)
        {
            int      patientId; int patientMasterVisitId; string firstName; string middleName; string lastName; int sex; string dob; int relationshipId; int baselineHivStatusId; string baselineHivStatusDate; /*string hivTestingresultId;*/ string hivTestingresultDate; bool cccreferal; string cccReferalNumber;  int userId;
            DateTime?linkageDate;
            bool     dobPrecision;

            //FamilyMembers[] familyMembrs = JsonConvert.DeserializeObject<FamilyMembers[]>(familyMembers);
            FamilyMembers[] familyMembrs = new JavaScriptSerializer().Deserialize <FamilyMembers[]>(familyMembers);

            int count = familyMembrs.Length;

            for (int i = 0; i < count; i++)
            {
                patientId            = int.Parse(HttpContext.Current.Session["PatientPK"].ToString());
                patientMasterVisitId = int.Parse(Session["PatientMasterVisitId"].ToString());
                userId = Convert.ToInt32(Session["AppUserId"]);

                firstName  = GlobalObject.unescape(familyMembrs[i].firstName);
                middleName = GlobalObject.unescape(familyMembrs[i].middleName);
                lastName   = GlobalObject.unescape(familyMembrs[i].lastName);
                int hivresultId = familyMembrs[i].hivTestingresultId == "" ? 0 : Convert.ToInt32(familyMembrs[i].hivTestingresultId);
                sex                   = familyMembrs[i].sex;
                dob                   = familyMembrs[i].dob;
                dobPrecision          = Convert.ToBoolean(familyMembrs[i].dobPrecision);
                relationshipId        = familyMembrs[i].relationshipId;
                baselineHivStatusId   = familyMembrs[i].baselineHivStatusId;
                baselineHivStatusDate = familyMembrs[i].baselineHivStatusDate;
                cccreferal            = familyMembrs[i].cccreferal;
                cccReferalNumber      = familyMembrs[i].cccReferalNumber;
                hivTestingresultDate  = familyMembrs[i].hivTestingresultDate;
                linkageDate           = familyMembrs[i].cccReferalDate;

                PatientFamilyTesting patientFamilyTesting = new PatientFamilyTesting()
                {
                    PatientId            = patientId,
                    PatientMasterVisitId = patientMasterVisitId,
                    FirstName            = firstName,
                    MiddleName           = middleName,
                    LastName             = lastName,
                    Sex                 = sex,
                    DateOfBirth         = DateTime.Parse(dob),
                    DobPrecision        = dobPrecision,
                    RelationshipId      = relationshipId,
                    BaseLineHivStatusId = baselineHivStatusId,
                    //BaselineHivStatusDate = baselineHivStatusDate,
                    //HivTestingResultsDate = hivTestingresultDate,
                    HivTestingResultsId = hivresultId,
                    CccReferal          = cccreferal,
                    CccReferaalNumber   = cccReferalNumber,
                    LinkageDate         = linkageDate
                };

                if (hivTestingresultDate != "")
                {
                    patientFamilyTesting.HivTestingResultsDate = DateTime.Parse(hivTestingresultDate);
                }
                if (baselineHivStatusDate != "")
                {
                    patientFamilyTesting.BaselineHivStatusDate = DateTime.Parse(baselineHivStatusDate);
                }

                try
                {
                    var testing = new PatientFamilyTestingManager();
                    var fam     =
                        testing.GetPatientFamilyList(patientId)
                        .Where(
                            x =>
                            x.FirstName == firstName && x.MiddleName == middleName && x.LastName == lastName &&
                            x.RelationshipId == relationshipId);
                    if (!fam.Any())
                    {
                        Result = testing.AddPatientFamilyTestings(patientFamilyTesting, userId);
                        if (Result > 0)
                        {
                            Msg = "Patient family testing Added Successfully!";
                        }
                    }
                    else
                    {
                        Msg = firstName + " " + middleName + " " + lastName + " Not saved. Family member already exists!";
                    }
                }
                catch (Exception e)
                {
                    Msg = e.Message;
                }
            }


            return(Msg);
        }