public int UpdatePatientTreatmentSupporter(PatientTreatmentSupporter patientTreatmentSupporter) { using (UnitOfWork _unitOfWork = new UnitOfWork(new PersonContext())) { SqlParameter personIdParameter = new SqlParameter("personIdParameter", SqlDbType.Int); personIdParameter.Value = patientTreatmentSupporter.PersonId; SqlParameter supporterIdParameter = new SqlParameter("supporterIdParameter", SqlDbType.Int); supporterIdParameter.Value = patientTreatmentSupporter.SupporterId; SqlParameter mobileNumberParameter = new SqlParameter("mobileNumberParameter", SqlDbType.VarBinary); mobileNumberParameter.Value = Encoding.ASCII.GetBytes(patientTreatmentSupporter.MobileContact); SqlParameter userId = new SqlParameter("UserId", SqlDbType.Int); userId.Value = patientTreatmentSupporter.CreatedBy; SqlParameter deleteFlag = new SqlParameter("DeleteFlag", SqlDbType.Bit); deleteFlag.Value = patientTreatmentSupporter.DeleteFlag; SqlParameter id = new SqlParameter("Id", SqlDbType.Int); id.Value = patientTreatmentSupporter.Id; _unitOfWork.PersonContactRepository.ExecuteProcedure( "exec PatientTreatmentSupporter_Update @personIdParameter, @supporterIdParameter, @mobileNumberParameter, @UserId, @DeleteFlag, @Id", personIdParameter, supporterIdParameter, mobileNumberParameter, userId, deleteFlag, id); _result = _unitOfWork.Complete(); _unitOfWork.Dispose(); return(_result); //_unitOfWork.PatientTreatmentSupporterRepository.Add(patientTreatmentSupporter); // _result = _unitOfWork.Complete(); //_unitOfWork.Dispose(); //return _result; } }
public int DeletePatientTreatmentSupporter(int id) { using (UnitOfWork _unitOfWork = new UnitOfWork(new PersonContext())) { _patienPersonTreatmentSupporter = _unitOfWork.PatientTreatmentSupporterRepository.GetById(id); _unitOfWork.PatientTreatmentSupporterRepository.Remove(_patienPersonTreatmentSupporter); _result = _unitOfWork.Complete(); _unitOfWork.Dispose(); return(_result); } }
public int AddPatientTreatmentSupporter(int personId, int supporterId, string mobileConatct, int userId) { PatientTreatmentSupporter supporter = new PatientTreatmentSupporter() { PersonId = personId, SupporterId = supporterId, MobileContact = mobileConatct, CreatedBy = userId }; _result = _mgr.AddPatientTreatmentSupporter(supporter); return(_result); }
public static string Update(string firstName, string middleName, string lastName, int personSex, int personId, int patientId, int?ptn_pk, DateTime dateOfBirth, bool DOB_Precision, string nationalId, int facilityId, int entryPointId, DateTime enrollmentDate, string cccNumber, PatientLookup patient, string godsNumber, int matStatusId, string village, int wardId, int subCountyId, int countyId, string nearestLandMark, string postalAdress, string phoneNumber, DateTime?deathDate, List <NEXTOFKIN> nextofkin, int userId) { try { //todo: fetch assigning facility from the message string assigning_Facility = ""; PersonManager personManager = new PersonManager(); var patientManager = new PatientManager(); var patientEntryPointManager = new PatientEntryPointManager(); var patientIdentifierManager = new PatientIdentifierManager(); var patientEnrollmentManager = new PatientEnrollmentManager(); var personIdentifierManager = new PersonIdentifierManager(); PersonMaritalStatusManager personMaritalStatusManager = new PersonMaritalStatusManager(); PersonLocationManager locationManager = new PersonLocationManager(); PersonContactManager contactManager = new PersonContactManager(); var personContactLookUp = new PersonContactLookUpManager(); var patientTreatmentlookupManager = new PatientTreatmentSupporterLookupManager(); var treatmentSupporterManager = new PatientTreatmentSupporterManager(); personManager.UpdatePerson(firstName, middleName, lastName, personSex, userId, patient.PersonId, dateOfBirth, DOB_Precision); if (!string.IsNullOrWhiteSpace(godsNumber)) { IdentifierManager identifierManager = new IdentifierManager(); Identifier identifier = identifierManager.GetIdentifierByCode("GODS_NUMBER"); var personIdentifiers = personIdentifierManager.GetPersonIdentifiers(personId, identifier.Id); if (personIdentifiers.Count == 0) { personIdentifierManager.AddPersonIdentifier(personId, identifier.Id, godsNumber, userId, assigning_Facility); } } if (matStatusId > 0) { var currentMaritalStatus = personMaritalStatusManager.GetCurrentPatientMaritalStatus(personId); if (currentMaritalStatus != null) { currentMaritalStatus.MaritalStatusId = matStatusId; personMaritalStatusManager.UpdatePatientMaritalStatus(currentMaritalStatus); } else { personMaritalStatusManager.AddPatientMaritalStatus(personId, matStatusId, userId); } } if (wardId > 0 && subCountyId > 0 && countyId > 0) { var currentLocation = locationManager.GetCurrentPersonLocation(personId); if (currentLocation.Count > 0) { currentLocation[0].DeleteFlag = true; locationManager.UpdatePersonLocation(currentLocation[0]); } locationManager.AddPersonLocation(personId, countyId, subCountyId, wardId, village, "", "", nearestLandMark, nearestLandMark, userId); } if (postalAdress != null || phoneNumber != null) { var contacts = personContactLookUp.GetPersonContactByPersonId(personId); if (contacts.Count > 0) { PersonContact perContact = new PersonContact(); perContact.Id = contacts[0].Id; perContact.PersonId = contacts[0].PersonId; perContact.PhysicalAddress = (postalAdress); perContact.MobileNumber = (phoneNumber); perContact.AlternativeNumber = ""; perContact.EmailAddress = ""; contactManager.UpdatePatientContact(perContact); } else { contactManager.AddPersonContact(personId, postalAdress, phoneNumber, "", "", userId); } } if (nextofkin.Count > 0) { foreach (var kin in nextofkin) { if (kin.CONTACT_ROLE == "T") { //Get Gender string gender = kin.SEX == "F" ? "Female" : "Male"; //IQCare Sex LookupLogic lookupLogic = new LookupLogic(); int sex = lookupLogic.GetItemIdByGroupAndItemName("Gender", gender)[0].ItemId; var listPatientTreatmentSupporter = patientTreatmentlookupManager.GetAllPatientTreatmentSupporter(personId); if (listPatientTreatmentSupporter.Count > 0) { personManager.UpdatePerson(kin.NOK_NAME.FIRST_NAME, kin.NOK_NAME.MIDDLE_NAME, kin.NOK_NAME.LAST_NAME, sex, userId, listPatientTreatmentSupporter[0].SupporterId); if (listPatientTreatmentSupporter[0].SupporterId > 0) { var treatmentSupporter = patientTreatmentlookupManager.GetAllPatientTreatmentSupporter(personId); if (treatmentSupporter.Count > 0) { PatientTreatmentSupporter supporter = new PatientTreatmentSupporter() { Id = treatmentSupporter[0].Id, PersonId = personId, SupporterId = listPatientTreatmentSupporter[0].SupporterId, MobileContact = kin.PHONE_NUMBER, CreatedBy = treatmentSupporter[0].CreatedBy, DeleteFlag = treatmentSupporter[0].DeleteFlag }; treatmentSupporterManager.UpdatePatientTreatmentSupporter(supporter); } } } else { int supporterId = personManager.AddPersonTreatmentSupporterUiLogic(kin.NOK_NAME.FIRST_NAME, kin.NOK_NAME.MIDDLE_NAME, kin.NOK_NAME.LAST_NAME, sex, userId); if (supporterId > 0) { treatmentSupporterManager.AddPatientTreatmentSupporter(personId, supporterId, kin.PHONE_NUMBER, userId); } } } } } List <PatientLookup> patientLookups = new List <PatientLookup>(); patientLookups.Add(patient); var entity = patientLookups.ConvertAll(x => new PatientEntity { Id = x.Id, Active = x.Active, DateOfBirth = x.DateOfBirth, ptn_pk = x.ptn_pk, PatientType = x.PatientType, PatientIndex = x.PatientIndex, NationalId = x.NationalId, FacilityId = x.FacilityId }); var patientAuditData = AuditDataUtility.AuditDataUtility.Serializer(entity); PatientEntity updatePatient = new PatientEntity(); updatePatient.ptn_pk = ptn_pk; updatePatient.DateOfBirth = dateOfBirth; updatePatient.DobPrecision = DOB_Precision; updatePatient.NationalId = nationalId; updatePatient.FacilityId = facilityId; updatePatient.AuditData = patientAuditData; patientManager.UpdatePatient(updatePatient, patientId); List <PatientEntryPoint> entryPoints = patientEntryPointManager.GetPatientEntryPoints(patient.Id, 1); if (entryPoints.Count > 0) { string entryPointAuditData = null; entryPointAuditData = AuditDataUtility.AuditDataUtility.Serializer(entryPoints); entryPoints[0].EntryPointId = entryPointId; entryPoints[0].AuditData = entryPointAuditData; patientEntryPointManager.UpdatePatientEntryPoint(entryPoints[0]); } else { patientEntryPointManager.addPatientEntryPoint(patientId, entryPointId, userId); } var identifiersByPatientId = patientIdentifierManager.GetPatientEntityIdentifiersByPatientId(patientId, 1); if (identifiersByPatientId.Count > 0) { foreach (var entityIdentifier in identifiersByPatientId) { int enrollmentId = entityIdentifier.PatientEnrollmentId; PatientEntityEnrollment entityEnrollment = patientEnrollmentManager.GetPatientEntityEnrollment(enrollmentId); List <PatientEntityEnrollment> listEnrollment = new List <PatientEntityEnrollment>(); listEnrollment.Add(entityEnrollment); var enrollmentAuditData = AuditDataUtility.AuditDataUtility.Serializer(listEnrollment); entityEnrollment.EnrollmentDate = enrollmentDate; entityEnrollment.AuditData = enrollmentAuditData; patientEnrollmentManager.updatePatientEnrollment(entityEnrollment); var entityIdentifierAuditData = AuditDataUtility.AuditDataUtility.Serializer(identifiersByPatientId); entityIdentifier.IdentifierValue = cccNumber; entityIdentifier.AuditData = entityIdentifierAuditData; patientIdentifierManager.UpdatePatientIdentifier(entityIdentifier, facilityId, false); if (deathDate.HasValue) { PatientMasterVisitManager masterVisitManager = new PatientMasterVisitManager(); PatientCareEndingManager careEndingManager = new PatientCareEndingManager(); LookupLogic lookupLogic = new LookupLogic(); int itemId = lookupLogic.GetItemIdByGroupAndItemName("CareEnded", "Death")[0].ItemId; int patientMasterVisitId = masterVisitManager.GetLastPatientVisit(patientId).Id; careEndingManager.AddPatientCareEndingDeath(patientId, patientMasterVisitId, enrollmentId, itemId, deathDate.Value, deathDate.Value, "", null, null); PatientEntityEnrollment entityEnrollmentCareEnded = patientEnrollmentManager.GetPatientEntityEnrollment(enrollmentId); entityEnrollmentCareEnded.CareEnded = true; patientEnrollmentManager.updatePatientEnrollment(entityEnrollmentCareEnded); } } } else { var assigningFacility = cccNumber.Substring(0, 5); int patientEnrollmentId = patientEnrollmentManager.addPatientEnrollment(patientId, enrollmentDate.ToString(), userId); int patientEntryPointId = patientEntryPointManager.addPatientEntryPoint(patientId, entryPointId, userId); int patientIdentifierId = patientIdentifierManager.addPatientIdentifier(patientId, patientEnrollmentId, 1, cccNumber, facilityId, assigningFacility, false); if (deathDate.HasValue) { PatientMasterVisitManager masterVisitManager = new PatientMasterVisitManager(); PatientCareEndingManager careEndingManager = new PatientCareEndingManager(); LookupLogic lookupLogic = new LookupLogic(); int itemId = lookupLogic.GetItemIdByGroupAndItemName("CareEnded", "Death")[0].ItemId; int patientMasterVisitId = masterVisitManager.GetLastPatientVisit(patientId).Id; careEndingManager.AddPatientCareEndingDeath(patientId, patientMasterVisitId, patientEnrollmentId, itemId, deathDate.Value, deathDate.Value, "", null, null); PatientEntityEnrollment entityEnrollmentCareEnded = patientEnrollmentManager.GetPatientEntityEnrollment(patientEnrollmentId); entityEnrollmentCareEnded.CareEnded = true; patientEnrollmentManager.updatePatientEnrollment(entityEnrollmentCareEnded); } } return("Successfully updated patient"); } catch (Exception e) { throw new Exception(e.Message); } }
public int UpdatePatientTreatmentSupporter(PatientTreatmentSupporter supporter) { _result = _mgr.UpdatePatientTreatmentSupporter(supporter); return(_result); }
public string AddPatientTreatmentSupporter(int patientId, string firstName, string middleName, string lastName, int gender, string mobile, int userId) { var patientLogic = new PatientLookupManager(); var patient = patientLogic.GetPatientDetailSummary(patientId); var personId = patient.PersonId; var personLogic = new PersonManager(); var personTreatmentSupporterId = personLogic.AddPersonTreatmentSupporterUiLogic(firstName, middleName, lastName, gender, userId); Session["PersonTreatmentSupporterId"] = personTreatmentSupporterId; if (personTreatmentSupporterId > 0) { msg += "<p>New Treatment Supporter Person Added Successfully!</p>"; var treatmentSupporter = new PatientTreatmentSupporterManager(); //var treatment = treatmentSupporter.GetPatientTreatmentSupporter(personId); var treatmentSupporterLookup = new PatientTreatmentSupporterLookupManager(); var treatmentlookup = treatmentSupporterLookup.GetAllPatientTreatmentSupporter(personId); if (treatmentlookup.Count > 0) { //treatmentlookup[0].DeleteFlag = true; PatientTreatmentSupporter treatment = new PatientTreatmentSupporter(); treatment.DeleteFlag = true; treatment.Id = treatmentlookup[0].Id; treatment.MobileContact = treatmentlookup[0].MobileContact; treatment.SupporterId = treatmentlookup[0].SupporterId; treatment.PersonId = treatmentlookup[0].PersonId; treatmentSupporter.UpdatePatientTreatmentSupporter(treatment); } var result = treatmentSupporter.AddPatientTreatmentSupporter(personId, personTreatmentSupporterId, mobile, userId); if (result > 0) { msg += "<p>Person Treatement Supported Added Successfully!</p>"; } if (patient != null) { MessageEventArgs args = new MessageEventArgs() { PatientId = patient.Id, EntityId = patient.Id, MessageType = MessageType.UpdatedClientInformation, EventOccurred = "Patient Enrolled Identifier = ", FacilityId = patient.FacilityId }; Publisher.RaiseEventAsync(this, args).ConfigureAwait(false); } } return(msg); }