public void Save() { if (GameManager.ActivePatient != null) { GameManager.ActivePatient.Age = int.Parse(ageInput.text); GameManager.ActivePatient.Sex = (Sex)sexInput.value; GameManager.ActivePatient.Save(); } else { patientManager.AddPatient(nameInput.text, ageInput.text, sexInput.value); } sceneManager.LoadNewPatientMenu(); }
protected void btnTestRequst_Click(object sender, EventArgs e) { if (txtMobileNo.Text.Length != 11) { messageLabel.ForeColor = Color.Red; messageLabel.Text = "Please Enter valid mobile No."; return; } else { messageLabel.Text = ""; testList = (List <Tests>)ViewState["Test"]; string name = txtPatientName.Text; DateTime dateOfBirth = Convert.ToDateTime(txtDateOfBirth.Text); int mobileNo = Convert.ToInt32(txtMobileNo.Text); HiddenField1.Value = patientManager.Get8Digits(); string billNo = HiddenField1.Value; DateTime billDate = System.DateTime.Now; decimal totalFee = testList.Sum(x => x.testFee); decimal PaidBill = 0; Patients patient = new Patients(name, dateOfBirth, mobileNo, billNo, billDate, totalFee, PaidBill); try { patientManager.AddPatient(patient); } catch (Exception exception) { lblMessage.Visible = true; lblMessage.Text = exception.Message; } int PatientId = patientManager.GetAllPatient().Max(x => x.ID); foreach (var test in testList) { int patientID = PatientId; int testID = test.ID; PatientRequest testRequest = new PatientRequest(patientID, testID); TestRequestManager.AddTestRequest(testRequest); } Generate_PDF(); } }
private void btnAddNewPatient_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; if (btnAddNewPatient.Text == @"جديد") { ClearPatientData(); ShowOrHidePatientControls(AddExaminationFormMode.AddNew); btnAddNewPatient.Text = @"حفظ"; btnAddNewPatient.Image = Resources.Save; } else { if (string.IsNullOrEmpty(txtPatientName.Text.FullTrim())) { txtPatientName.BackColor = ErrorColor; Cursor = Cursors.Default; return; } Patient = new Patient { Name = txtPatientName.Text.FullTrim(), Birthdate = dtPatientBirthdate.Value != default(DateTime) ? dtPatientBirthdate.Value : (DateTime?)null, Gender = switchBtnPatientGender.Value ? "M" : "F", Phone = txtPatientPhone.Text.FullTrim(), Address = txtPatientAddress.Text.FullTrim(), BirthType = switchBtnPatientBirthType.Value ? (byte)1 : (byte)2, SucklingType = switchBtnPatientSucklingType.Value ? (byte)1 : (byte)2 }; PatientManager.AddPatient(Patient); ShowInfoMsg($"تم إضافة المريض بنجاح\nرقم المريض هو: {Patient.Id}"); ShowPatientData(Patient); btnAddNewPatient.Text = @"جديد"; btnAddNewPatient.Image = Resources.Add; } Cursor = Cursors.Default; }
public static string Add(string firstName, string middleName, string lastName, int sex, int userId, DateTime dob, bool dobPrecision, int facilityId, int patientType, string nationalId, int visitType, DateTime dateOfEnrollment, string cccNumber, int entryPointId, string godsNumber, int matStatusId, string village, int wardId, int subCountyId, int countyId, string nearestLandMark, string postalAdress, string phoneNumber, DateTime?deathDate, List <NEXTOFKIN> nextofkin) { try { PersonManager personManager = new PersonManager(); PatientManager patientManager = new PatientManager(); PatientMasterVisitManager patientMasterVisitManager = new PatientMasterVisitManager(); PatientEnrollmentManager patientEnrollmentManager = new PatientEnrollmentManager(); PatientEntryPointManager patientEntryPointManager = new PatientEntryPointManager(); PersonLookUpManager personLookUp = new PersonLookUpManager(); PersonContactLookUpManager personContactLookUpManager = new PersonContactLookUpManager(); MstPatientLogic mstPatientLogic = new MstPatientLogic(); PatientIdentifierManager patientIdentifierManager = new PatientIdentifierManager(); PersonMaritalStatusManager personMaritalStatusManager = new PersonMaritalStatusManager(); PersonLocationManager locationManager = new PersonLocationManager(); PersonContactManager contactManager = new PersonContactManager(); var treatmentSupporterManager = new PatientTreatmentSupporterManager(); LookupLogic lookupLogic = new LookupLogic(); var personIdentifierManager = new PersonIdentifierManager(); //todo: fetch assigning facility from the message string assigning_Facility = ""; var personContacts = new List <PersonContactLookUp>(); int ptn_Pk = 0; //Start Saving int personId = personManager.AddPersonUiLogic(firstName, middleName, lastName, sex, userId, dob, dobPrecision); if (matStatusId > 0) { personMaritalStatusManager.AddPatientMaritalStatus(personId, matStatusId, userId); } if (wardId > 0 && subCountyId > 0 && countyId > 0) { locationManager.AddPersonLocation(personId, countyId, subCountyId, wardId, village, "", "", nearestLandMark, nearestLandMark, userId); } if (postalAdress != null || phoneNumber != null) { contactManager.AddPersonContact(personId, postalAdress, phoneNumber, "", "", userId); } String sDate = DateTime.Now.ToString(); DateTime datevalue = Convert.ToDateTime(sDate); var patientIndex = datevalue.Year.ToString() + '-' + personId; 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 (nextofkin.Count > 0) { foreach (var kin in nextofkin) { if (kin.CONTACT_ROLE == "T") { //Get Gender string gender = kin.SEX == "F" ? "Female" : "Male"; //IQCare Sex int sexT = lookupLogic.GetItemIdByGroupAndItemName("Gender", gender)[0].ItemId; int supporterId = personManager.AddPersonTreatmentSupporterUiLogic(kin.NOK_NAME.FIRST_NAME, kin.NOK_NAME.MIDDLE_NAME, kin.NOK_NAME.LAST_NAME, sexT, 1); if (supporterId > 0) { treatmentSupporterManager.AddPatientTreatmentSupporter(personId, supporterId, kin.PHONE_NUMBER, userId); } } } } PatientEntity patientEntity = new PatientEntity(); patientEntity.PersonId = personId; patientEntity.ptn_pk = 0; patientEntity.FacilityId = facilityId; patientEntity.PatientType = patientType; patientEntity.PatientIndex = patientIndex; patientEntity.DateOfBirth = dob; patientEntity.NationalId = (nationalId); patientEntity.Active = true; patientEntity.CreatedBy = 1; patientEntity.CreateDate = DateTime.Now; patientEntity.DeleteFlag = false; patientEntity.DobPrecision = dobPrecision; int patientId = patientManager.AddPatient(patientEntity); var facility = lookupLogic.GetFacility(); //Add enrollment visit int patientMasterVisitId = patientMasterVisitManager.AddPatientMasterVisit(patientId, userId, visitType, facility.FacilityID); //Enroll Patient to service int patientEnrollmentId = patientEnrollmentManager.addPatientEnrollment(patientId, dateOfEnrollment.ToString(), userId); //Add enrollment entry point int patientEntryPointId = patientEntryPointManager.addPatientEntryPoint(patientId, entryPointId, userId); if (deathDate.HasValue) { PatientCareEndingManager careEndingManager = new PatientCareEndingManager(); int itemId = lookupLogic.GetItemIdByGroupAndItemName("CareEnded", "Death")[0].ItemId; careEndingManager.AddPatientCareEndingDeath(patientId, patientMasterVisitId, patientEnrollmentId, itemId, deathDate.Value, deathDate.Value, "", null, null); PatientEntityEnrollment entityEnrollment = patientEnrollmentManager.GetPatientEntityEnrollment(patientEnrollmentId); entityEnrollment.CareEnded = true; patientEnrollmentManager.updatePatientEnrollment(entityEnrollment); } //Get User Details to be used in BLUE CARD var patient_person_details = personLookUp.GetPersonById(personId); var greencardlookup = new PersonGreenCardLookupManager(); var greencardptnpk = greencardlookup.GetPtnPkByPersonId(personId); if (patient_person_details != null) { var maritalStatus = new PersonMaritalStatusManager().GetCurrentPatientMaritalStatus(personId); personContacts = personContactLookUpManager.GetPersonContactByPersonId(personId); var address = ""; var phone = ""; if (personContacts.Count > 0) { address = personContacts[0].PhysicalAddress; phone = personContacts[0].MobileNumber; } var MaritalStatusId = 0; if (maritalStatus != null) { MaritalStatusId = maritalStatus.MaritalStatusId; } var sexBluecard = 0; var enrollmentBlueCardId = ""; if (LookupLogic.GetLookupNameById(patient_person_details.Sex) == "Male") { sexBluecard = 16; } else if (LookupLogic.GetLookupNameById(patient_person_details.Sex) == "Female") { sexBluecard = 17; } enrollmentBlueCardId = cccNumber; if (greencardptnpk.Count == 0) { ptn_Pk = mstPatientLogic.InsertMstPatient((patient_person_details.FirstName), (patient_person_details.LastName), (patient_person_details.MiddleName), facilityId, enrollmentBlueCardId, entryPointId, dateOfEnrollment, sexBluecard, dob, 1, MaritalStatusId, address, phone, 1, facilityId.ToString(), 203, dateOfEnrollment, DateTime.Now); patientEntity.ptn_pk = ptn_Pk; patientManager.UpdatePatient(patientEntity, patientId); } else { ptn_Pk = greencardptnpk[0].Ptn_Pk; patientEntity.ptn_pk = greencardptnpk[0].Ptn_Pk; patientManager.UpdatePatient(patientEntity, patientId); } } if (patientMasterVisitId > 0) { var assigningFacility = cccNumber.Substring(0, 5); int patientIdentifierId = patientIdentifierManager.addPatientIdentifier(patientId, patientEnrollmentId, 1, cccNumber, facilityId, assigningFacility, false); if (greencardptnpk.Count == 0) { mstPatientLogic.AddOrdVisit(ptn_Pk, facilityId, DateTime.Now, 110, userId, DateTime.Now, 203); } } return("successfully saved"); } catch (Exception e) { throw new Exception(e.Message); } }
public async Task <Result <AddEnrollPatientResponse> > Handle(EnrollPatientCommand request, CancellationToken cancellationToken) { try { String sDate = DateTime.Now.ToString(); DateTime datevalue = Convert.ToDateTime(sDate); var patientMasterVisitManager = new PatientMasterVisitManager(); var patientEnrollmentManager = new PatientEnrollmentManager(); var personLookUp = new PersonLookUpManager(); var patientEntryPointManager = new PatientEntryPointManager(); var patientLookUpManager = new PatientLookupManager(); var patientManager = new PatientManager(); var patientIdentifierManager = new PatientIdentifierManager(); var personContactLookUpManager = new PersonContactLookupManager(); var lookupLogic = new LookupLogic(); var personContacts = new List <PersonContactLookUp>(); var identifiersObjects = request.identifiersList; List <PatientLookup> isPersonEnrolled = await Task.Run(() => patientLookUpManager.GetPatientByPersonId(request.PersonId)); string dobPrecision = String.IsNullOrEmpty(request.DobPrecision) ? "false" : "true"; foreach (var item in identifiersObjects) { var identifiers = await Task.Run(() => patientIdentifierManager.CheckIfIdentifierNumberIsUsed(item.Value, Convert.ToInt32(item.Key))); if (identifiers.Count > 0) { foreach (var items in identifiers) { if (isPersonEnrolled.Count > 0) { if (items.PatientId == isPersonEnrolled[0].Id) { } else { var exception = new Exception("No: " + item.Value + " already exists"); msg = exception.Message.ToString(); throw exception; } } else { var exception = new Exception("No: " + item.Value + " already exists"); msg = exception.Message.ToString(); throw exception; } } } } if (isPersonEnrolled.Count == 0) { List <PatientRegistrationLookup> patientsByPersonId = await Task.Run(() => patientManager.GetPatientIdByPersonId(request.PersonId)); var patientIndex = datevalue.Year.ToString() + '-' + request.PersonId; PatientEntity patient = new PatientEntity(); if (patientsByPersonId.Count > 0) { patient.FacilityId = request.facilityId; patient.DateOfBirth = DateTime.Parse(request.DateofBirth); patient.NationalId = request.nationalId; patient.ptn_pk = patientsByPersonId[0].ptn_pk > 0 ? patientsByPersonId[0].ptn_pk : 0; patientManager.UpdatePatient(patient, patientsByPersonId[0].Id); patientId = patientsByPersonId[0].Id; } else { patient.PersonId = request.PersonId; patient.ptn_pk = 0; patient.FacilityId = request.facilityId; patient.PatientType = request.PatientType; patient.PatientIndex = patientIndex; patient.DateOfBirth = DateTime.Parse(request.DateofBirth); patient.NationalId = (request.nationalId); patient.Active = true; patient.CreatedBy = request.UserId; patient.CreateDate = DateTime.Now; patient.DeleteFlag = false; patient.DobPrecision = bool.Parse(dobPrecision); patientId = patientManager.AddPatient(patient); } if (patientId > 0) { var visitTypes = await Task.Run(() => lookupLogic.GetItemIdByGroupAndItemName("VisitType", "Enrollment")); var visitType = 0; if (visitTypes.Count > 0) { visitType = visitTypes[0].ItemId; } //Add enrollment visit patientMasterVisitId = patientMasterVisitManager.AddPatientMasterVisit(patientId, request.UserId, visitType); //Enroll Patient to service patientEnrollmentId = patientEnrollmentManager.addPatientEnrollment(patientId, request.EnrollmentDate, request.UserId); //Add enrollment entry point patientEntryPointId = patientEntryPointManager.addPatientEntryPoint(patientId, request.EntryPointId, request.UserId); if (patientMasterVisitId > 0) { foreach (var item in identifiersObjects) { patientIdentifierId = await Task.Run(() => patientIdentifierManager.addPatientIdentifier(patientId, patientEnrollmentId, Convert.ToInt32(item.Key), item.Value, request.facilityId)); //Get User Details to be used in BLUE CARD } msg = "Succefully enrolled patient."; } } { var patientLookManager = new PatientLookupManager(); List <PatientLookup> patientlook = await Task.Run(() => patientLookManager.GetPatientByPersonId(request.PersonId)); if (patientlook.Count > 0) { int ptn_pk = patientlook[0].Id; List <PatientEntity> listPatient = new List <PatientEntity>(); var entity = await Task.Run(() => patientlook.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 = await Task.Run(() => AuditDataUtility.Serializer(entity)); PatientEntity updatePatient = new PatientEntity(); updatePatient.ptn_pk = patientlook[0].ptn_pk; updatePatient.DateOfBirth = patientlook[0].DateOfBirth; updatePatient.NationalId = request.nationalId; updatePatient.FacilityId = patientlook[0].FacilityId; //listPatient.Add(entity); updatePatient.AuditData = patientAuditData; //var enrollmentAuditData = AuditDataUtility.Serializer(patient); await Task.Run(() => patientManager.UpdatePatient(updatePatient, patientlook[0].Id)); int patientMasterVisitId = await Task.Run(() => patientMasterVisitManager.PatientMasterVisitCheckin(patientlook[0].Id, request.UserId)); int PatientMasterVisitId = patientMasterVisitId; List <PatientEntryPoint> entryPoints = await Task.Run(() => patientEntryPointManager.GetPatientEntryPoints(patientlook[0].Id)); if (entryPoints.Count > 0) { var entryPointAuditData = await Task.Run(() => AuditDataUtility.Serializer(entryPoints)); entryPoints[0].EntryPointId = request.EntryPointId; entryPoints[0].AuditData = entryPointAuditData; await Task.Run(() => patientEntryPointManager.UpdatePatientEntryPoint(entryPoints[0])); } foreach (var item in identifiersObjects) { var identifiersByPatientId = await Task.Run(() => patientIdentifierManager .GetPatientEntityIdentifiersByPatientId(patientlook[0].Id, Convert.ToInt32(item.Key))); if (identifiersByPatientId.Count > 0) { foreach (var entityIdentifier in identifiersByPatientId) { int enrollmentId = entityIdentifier.PatientEnrollmentId; PatientEntityEnrollment entityEnrollment = await Task.Run(() => patientEnrollmentManager.GetPatientEntityEnrollment(enrollmentId)); List <PatientEntityEnrollment> listEnrollment = new List <PatientEntityEnrollment>(); await Task.Run(() => listEnrollment.Add(entityEnrollment)); var enrollmentAuditData = await Task.Run(() => AuditDataUtility.Serializer(listEnrollment)); entityEnrollment.EnrollmentDate = DateTime.Parse(request.EnrollmentDate); entityEnrollment.AuditData = enrollmentAuditData; patientEnrollmentManager.updatePatientEnrollment(entityEnrollment); var entityIdentifierAuditData = AuditDataUtility.Serializer(identifiersByPatientId); entityIdentifier.IdentifierValue = item.Value; entityIdentifier.AuditData = entityIdentifierAuditData; patientIdentifierManager.UpdatePatientIdentifier(entityIdentifier, request.facilityId); } } else { patientEnrollmentId = await Task.Run(() => patientEnrollmentManager.addPatientEnrollment(patientlook[0].Id, request.EnrollmentDate, request.UserId)); patientEntryPointId = await Task.Run(() => patientEntryPointManager.addPatientEntryPoint(patientlook[0].Id, request.EntryPointId, request.UserId)); patientIdentifierId = await Task.Run(() => patientIdentifierManager.addPatientIdentifier(patientlook[0].Id, patientEnrollmentId, Convert.ToInt32(item.Key), item.Value, request.facilityId)); } } } } } return(Result <AddEnrollPatientResponse> .Valid(new AddEnrollPatientResponse() { IdentifierValue = Convert.ToString(patientEnrollmentId), IdentifierId = patientIdentifierId, PatientId = patientId, Message = msg } )); } catch (Exception ex) { return(Result <AddEnrollPatientResponse> .Invalid(ex.Message)); } }
public string AddPatient(int facilityId, int entryPointId, string enrollmentDate, string personDateOfBirth, string nationalId, int patientType, string dobPrecision, string identifiersList) { ExMessage message = new ExMessage(); try { PersonId = int.Parse(Session["PersonId"].ToString()); int userId = Convert.ToInt32(Session["AppUserId"]); var patientManager = new PatientManager(); var patientMasterVisitManager = new PatientMasterVisitManager(); var patientEnrollmentManager = new PatientEnrollmentManager(); var patientIdentifierManager = new PatientIdentifierManager(); var patientEntryPointManager = new PatientEntryPointManager(); var patientLookUpManager = new PatientLookupManager(); var mstPatientLogic = new MstPatientLogic(); var personContactLookUpManager = new PersonContactLookUpManager(); var personContacts = new List <PersonContactLookUp>(); var personLookUp = new PersonLookUpManager(); var lookupLogic = new LookupLogic(); //var identifiersObjects = JsonConvert.DeserializeObject<Dictionary<int, string>>(identifiersList); var identifiersObjects = new JavaScriptSerializer().Deserialize <Dictionary <string, string> >(identifiersList); String sDate = DateTime.Now.ToString(); DateTime datevalue = Convert.ToDateTime(sDate); PatientLookup isPersonEnrolled = patientLookUpManager.GetPatientByPersonId(PersonId); dobPrecision = String.IsNullOrWhiteSpace(dobPrecision) ? "false" : "true"; foreach (var item in identifiersObjects) { var identifiers = patientIdentifierManager.CheckIfIdentifierNumberIsUsed(item.Value, Convert.ToInt32(item.Key)); if (identifiers.Count > 0) { foreach (var items in identifiers) { if (isPersonEnrolled != null) { if (items.PatientId == isPersonEnrolled.Id) { } else { var exception = new SoapException("No: " + item.Value + " already exists", SoapException.ClientFaultCode); throw exception; } } else { var exception = new SoapException("No: " + item.Value + " already exists", SoapException.ClientFaultCode); throw exception; } } } } if (isPersonEnrolled != null) { List <PatientRegistrationLookup> patientsByPersonId = patientManager.GetPatientIdByPersonId(PersonId); var patientIndex = datevalue.Year.ToString() + '-' + PersonId; PatientEntity patient = new PatientEntity(); if (patientsByPersonId.Count > 0) { patient.FacilityId = facilityId; patient.DateOfBirth = DateTime.Parse(personDateOfBirth); patient.NationalId = nationalId; patient.ptn_pk = patientsByPersonId[0].ptn_pk > 0 ? patientsByPersonId[0].ptn_pk : 0; patientManager.UpdatePatient(patient, patientsByPersonId[0].Id); patientId = patientsByPersonId[0].Id; } else { patient.PersonId = PersonId; patient.ptn_pk = 0; patient.FacilityId = facilityId; patient.PatientType = patientType; patient.PatientIndex = patientIndex; patient.DateOfBirth = DateTime.Parse(personDateOfBirth); patient.NationalId = (nationalId); patient.Active = true; patient.CreatedBy = userId; patient.CreateDate = DateTime.Now; patient.DeleteFlag = false; patient.DobPrecision = bool.Parse(dobPrecision); patientId = patientManager.AddPatient(patient); } Session["PatientPK"] = patientId; if (patientId > 0) { var visitTypes = lookupLogic.GetItemIdByGroupAndItemName("VisitType", "Enrollment"); var visitType = 0; if (visitTypes.Count > 0) { visitType = visitTypes[0].ItemId; } //Add enrollment visit patientMasterVisitId = patientMasterVisitManager.AddPatientMasterVisit(patientId, userId, visitType); //Enroll Patient to service patientEnrollmentId = patientEnrollmentManager.addPatientEnrollment(patientId, enrollmentDate, userId); //Add enrollment entry point patientEntryPointId = patientEntryPointManager.addPatientEntryPoint(patientId, entryPointId, userId); //Get User Details to be used in BLUE CARD var patient_person_details = personLookUp.GetPersonById(PersonId); var greencardlookup = new PersonGreenCardLookupManager(); var greencardptnpk = greencardlookup.GetPtnPkByPersonId(PersonId); if (patient_person_details != null) { var maritalStatus = new PersonMaritalStatusManager().GetCurrentPatientMaritalStatus(PersonId); personContacts = personContactLookUpManager.GetPersonContactByPersonId(PersonId); var address = ""; var phone = ""; var facility = lookupLogic.GetFacility(); if (personContacts.Count > 0) { address = personContacts[0].PhysicalAddress; phone = personContacts[0].MobileNumber; } var MaritalStatusId = 0; if (maritalStatus != null) { MaritalStatusId = maritalStatus.MaritalStatusId; } var sex = 0; var enrollmentBlueCardId = ""; if (LookupLogic.GetLookupNameById(patient_person_details.Sex) == "Male") { sex = 16; } else if (LookupLogic.GetLookupNameById(patient_person_details.Sex) == "Female") { sex = 17; } foreach (var item in identifiersObjects) { if (Convert.ToInt32(item.Key) == 1) { enrollmentBlueCardId = item.Value; } } if (greencardptnpk.Count == 0) { ptn_Pk = mstPatientLogic.InsertMstPatient( (patient_person_details.FirstName), (patient_person_details.LastName), (patient_person_details.MiddleName), facility.FacilityID, enrollmentBlueCardId, entryPointId, DateTime.Parse(enrollmentDate), sex, DateTime.Parse(personDateOfBirth), 1, MaritalStatusId, address, phone, userId, Session["AppPosID"].ToString(), 203, DateTime.Parse(enrollmentDate), DateTime.Now); patient.ptn_pk = ptn_Pk; patientManager.UpdatePatient(patient, patientId); } else { ptn_Pk = greencardptnpk[0].Ptn_Pk; patient.ptn_pk = greencardptnpk[0].Ptn_Pk; patientManager.UpdatePatient(patient, patientId); } } Session["PatientMasterVisitId"] = patientMasterVisitId; if (patientMasterVisitId > 0) { foreach (var item in identifiersObjects) { patientIdentifierId = patientIdentifierManager.addPatientIdentifier(patientId, patientEnrollmentId, Convert.ToInt32(item.Key), item.Value, facilityId); var identifierManager = new IdentifierManager(); var identifierList = identifierManager.GetIdentifiersById(Convert.ToInt32(item.Key)); var hivtesting = _hivTestingManager.GetAll().OrderByDescending(y => y.Id).FirstOrDefault(n => n.PersonId == PersonId); if (identifierList.Count > 0) { if (identifierList[0].Code == "CCCNumber") { if (hivtesting != null) { hivtesting.ReferredToCare = true; _hivTestingManager.UpdatePatientHivTesting(hivtesting); PatientLinkage patLinkage = new PatientLinkage(); patLinkage.LinkageDate = DateTime.Parse(enrollmentDate); patLinkage.CCCNumber = item.Value; patLinkage.PersonId = PersonId; patLinkage.CreatedBy = userId; patLinkage.Enrolled = true; patLinkage.PatientId = patientId; linkageManager.AddPatientLinkage(patLinkage); } } } } if (greencardptnpk.Count == 0) { mstPatientLogic.AddOrdVisit(ptn_Pk, facilityId, DateTime.Now, 110, userId, DateTime.Now, 203); } message.errorcode = 0; message.msg += "<p>Successfully enrolled patient.</p>"; } } } else { var patientLookManager = new PatientLookupManager(); PatientLookup patient = patientLookManager.GetPatientByPersonId(PersonId); List <PatientLookup> pk = new List <PatientLookup>(); pk.Add(patient); if (patient != null) { Session["PatientPK"] = patient.Id; List <PatientEntity> listPatient = new List <PatientEntity>(); var entity = pk.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.Serializer(entity); PatientEntity updatePatient = new PatientEntity(); updatePatient.ptn_pk = patient.ptn_pk; updatePatient.DateOfBirth = patient.DateOfBirth; updatePatient.NationalId = nationalId; updatePatient.FacilityId = patient.FacilityId; //listPatient.Add(entity); updatePatient.AuditData = patientAuditData; //var enrollmentAuditData = AuditDataUtility.Serializer(patient); patientManager.UpdatePatient(updatePatient, patient.Id); int patientMasterVisitId = patientMasterVisitManager.PatientMasterVisitCheckin(patient.Id, userId); Session["PatientMasterVisitId"] = patientMasterVisitId; List <PatientEntryPoint> entryPoints = patientEntryPointManager.GetPatientEntryPoints(patient.Id); if (entryPoints.Count > 0) { var entryPointAuditData = AuditDataUtility.Serializer(entryPoints); entryPoints[0].EntryPointId = entryPointId; entryPoints[0].AuditData = entryPointAuditData; patientEntryPointManager.UpdatePatientEntryPoint(entryPoints[0]); } foreach (var item in identifiersObjects) { var identifiersByPatientId = patientIdentifierManager .GetPatientEntityIdentifiersByPatientId(patient.Id, Convert.ToInt32(item.Key)); 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.Serializer(listEnrollment); entityEnrollment.EnrollmentDate = DateTime.Parse(enrollmentDate); entityEnrollment.AuditData = enrollmentAuditData; patientEnrollmentManager.updatePatientEnrollment(entityEnrollment); var entityIdentifierAuditData = AuditDataUtility.Serializer(identifiersByPatientId); entityIdentifier.IdentifierValue = item.Value; entityIdentifier.AuditData = entityIdentifierAuditData; patientIdentifierManager.UpdatePatientIdentifier(entityIdentifier, facilityId); } } else { patientEnrollmentId = patientEnrollmentManager.addPatientEnrollment(patient.Id, enrollmentDate, userId); patientEntryPointId = patientEntryPointManager.addPatientEntryPoint(patient.Id, entryPointId, userId); patientIdentifierId = patientIdentifierManager.addPatientIdentifier(patient.Id, patientEnrollmentId, Convert.ToInt32(item.Key), item.Value, facilityId); } } } } } catch (SoapException ex) { message.errorcode = 1; message.msg = ex.Message; } return(Msg = new JavaScriptSerializer().Serialize(message)); }