public void GetInpatientList() { var cs = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString; var inPatientList = new List <GetPatientDetails>(); using (var con = new SqlConnection(cs)) { var cmd = new SqlCommand("SPGetInpatientDetails", con) { CommandType = CommandType.StoredProcedure }; con.Open(); var dr = cmd.ExecuteReader(); while (dr.Read()) { var inpatient = new GetPatientDetails { PatientID = Convert.ToInt32(dr[0].ToString()), PatientFirstName = dr[1].ToString(), PatientLastName = dr[2].ToString(), PatientDisease = dr[3].ToString(), PatientGender = dr[4].ToString(), PatientEmailId = dr[5].ToString(), PatientPhoneNumber = dr[6].ToString(), PatientDOB = Convert.ToDateTime(dr[7].ToString()) }; inPatientList.Add(inpatient); } } var js = new JavaScriptSerializer(); Context.Response.Write(js.Serialize(inPatientList)); }
public async Task <Result <EnrollClientResponse> > Handle(EnrollClientCommand request, CancellationToken cancellationToken) { try { RegisterPersonService registerPersonService = new RegisterPersonService(_unitOfWork); var patientIdentifier = await registerPersonService.EnrollPatient(request.ClientEnrollment.EnrollmentNo, request.ClientEnrollment.PatientId, request.ClientEnrollment.ServiceAreaId, request.ClientEnrollment.CreatedBy, request.ClientEnrollment.DateOfEnrollment); GetPatientDetails patientDetails = new GetPatientDetails(_unitOfWork); var patientLookup = await patientDetails.GetPatientByPatientId(request.ClientEnrollment.PatientId); if (patientLookup.Count > 0 && patientLookup[0].ptn_pk == null) { var dobPrecision = "EXACT"; var dob = DateTime.Now; if (patientLookup[0].DobPrecision.HasValue) { dobPrecision = patientLookup[0].DobPrecision.Value ? "ESTIMATED" : "EXACT"; } if (patientLookup[0].DateOfBirth.HasValue) { dob = patientLookup[0].DateOfBirth.Value; } var response = await registerPersonService.InsertIntoBlueCard( patientLookup[0].FirstName, patientLookup[0].LastName, patientLookup[0].MidName, request.ClientEnrollment.DateOfEnrollment, patientLookup[0].MaritalStatusName, patientLookup[0].PhysicalAddress, patientLookup[0].MobileNumber, patientLookup[0].Gender, dobPrecision, dob, request.ClientEnrollment.CreatedBy, request.ClientEnrollment.PosId ); if (response.Count > 0) { await registerPersonService.UpdatePatient(request.ClientEnrollment.PatientId, request.ClientEnrollment.DateOfEnrollment, request.ClientEnrollment.PosId); } } return(Result <EnrollClientResponse> .Valid(new EnrollClientResponse() { IdentifierId = patientIdentifier.Id, IdentifierValue = request.ClientEnrollment.EnrollmentNo })); } catch (Exception e) { Log.Error(e.Message); return(Result <EnrollClientResponse> .Invalid(e.Message)); } //using (var trans = _unitOfWork.Context.Database.BeginTransaction()) //{ // try // { // var previouslyIdentifiers = await _unitOfWork.Repository<PatientIdentifier>().Get(y => // y.IdentifierValue == request.ClientEnrollment.EnrollmentNo && y.IdentifierTypeId == 8) // .ToListAsync(); // if (previouslyIdentifiers.Count > 0) // { // var exception = new Exception("No: " + request.ClientEnrollment.EnrollmentNo + " already exists"); // throw exception; // } // var enrollmentVisitType = await _unitOfWork.Repository<LookupItemView>().Get(x => x.MasterName == "VisitType" && x.ItemName == "Enrollment").FirstOrDefaultAsync(); // int? visitType = enrollmentVisitType != null ? enrollmentVisitType.ItemId : 0; // var patientMasterVisit = new PatientMasterVisit() // { // PatientId = request.ClientEnrollment.PatientId, // ServiceId = request.ClientEnrollment.ServiceAreaId, // Start = DateTime.Now, // End = null, // Active = false, // VisitDate = DateTime.Now, // VisitType = visitType, // Status = 1, // CreateDate = DateTime.Now, // DeleteFlag = false, // CreatedBy = request.ClientEnrollment.CreatedBy // }; // await _unitOfWork.Repository<PatientMasterVisit>().AddAsync(patientMasterVisit); // await _unitOfWork.SaveAsync(); // var patientEnrollment = new PatientEnrollment() // { // PatientId = request.ClientEnrollment.PatientId, // ServiceAreaId = request.ClientEnrollment.ServiceAreaId, // EnrollmentDate = request.ClientEnrollment.DateOfEnrollment, // EnrollmentStatusId = 0, // TransferIn = false, // CareEnded = false, // DeleteFlag = false, // CreatedBy = request.ClientEnrollment.CreatedBy, // CreateDate = DateTime.Now // }; // await _unitOfWork.Repository<PatientEnrollment>().AddAsync(patientEnrollment); // await _unitOfWork.SaveAsync(); // var patientIdentifier = new PatientIdentifier() // { // PatientId = request.ClientEnrollment.PatientId, // PatientEnrollmentId = patientEnrollment.Id, // IdentifierTypeId = 8, // IdentifierValue = request.ClientEnrollment.EnrollmentNo, // DeleteFlag = false, // CreatedBy = request.ClientEnrollment.CreatedBy, // CreateDate = DateTime.Now, // Active = true // }; // await _unitOfWork.Repository<PatientIdentifier>().AddAsync(patientIdentifier); // await _unitOfWork.SaveAsync(); // GetPatientDetails patientDetails = new GetPatientDetails(_unitOfWork); // LookupLogic lookupLogic = new LookupLogic(_unitOfWork); // var patientLookup = await patientDetails.GetPatientByPatientId(request.ClientEnrollment.PatientId); // if (patientLookup.Count > 0) // { // Facility facility = await _unitOfWork.Repository<Facility>().Get(x => x.DeleteFlag == 0).FirstOrDefaultAsync(); // var referralId = await lookupLogic.GetDecodeIdByName("VCT", 17); // var maritalStatusId = await lookupLogic.GetDecodeIdByName(patientLookup[0].MaritalStatusName, 17); // var address = patientLookup[0].PhysicalAddress == null ? " " : patientLookup[0].PhysicalAddress; // var phone = patientLookup[0].MobileNumber == null ? " " : patientLookup[0].MobileNumber; // var dobPrecision = patientLookup[0].DobPrecision ? 1 : 0; // var gender = 0; // if (patientLookup[0].Gender == "Male") // { // gender = 16; // } // else if (patientLookup[0].Gender == "Female") // { // gender = 17; // } // StringBuilder sql = new StringBuilder(); // sql.Append("exec pr_OpenDecryptedSession;"); // sql.Append("Insert Into mst_Patient(FirstName, LastName, MiddleName, LocationID, PatientEnrollmentID, ReferredFrom, RegistrationDate, Sex, DOB, DobPrecision, MaritalStatus, Address, Phone, UserID, PosId, Status, DeleteFlag, CreateDate,MovedToPatientTable)"); // sql.Append("Values("); // sql.Append($"ENCRYPTBYKEY(KEY_GUID('Key_CTC'),'{patientLookup[0].FirstName}'),"); // sql.Append($"ENCRYPTBYKEY(KEY_GUID('Key_CTC'),'{patientLookup[0].LastName}'),"); // sql.Append($"ENCRYPTBYKEY(KEY_GUID('Key_CTC'),'{patientLookup[0].MidName}'),"); // sql.Append($"'{facility.FacilityID}',"); // sql.Append("' ',"); // sql.Append($"'{referralId}',"); // sql.Append($"'{request.ClientEnrollment.DateOfEnrollment.ToString("yyyy-MM-dd")}',"); // sql.Append($"'{gender}',"); // sql.Append($"'{patientLookup[0].DateOfBirth.ToString("yyyy-MM-dd")}',"); // sql.Append($"'{dobPrecision}',"); // sql.Append($"'{maritalStatusId}',"); // sql.Append($"ENCRYPTBYKEY(KEY_GUID('Key_CTC'),'{address}'),"); // sql.Append($"ENCRYPTBYKEY(KEY_GUID('Key_CTC'),'{phone}'),"); // sql.Append($"'{request.ClientEnrollment.CreatedBy}',"); // sql.Append($"'{facility.PosID}',"); // sql.Append("0,"); // sql.Append("0,"); // sql.Append($"'{request.ClientEnrollment.DateOfEnrollment.ToString("yyyy-MM-dd")}',"); // sql.Append("1"); // sql.Append(");"); // sql.Append("SELECT Ptn_Pk, CAST(DECRYPTBYKEY([FirstName]) AS VARCHAR(50)) AS FirstName, CAST(DECRYPTBYKEY([LastName]) AS VARCHAR(50)) AS LastName, LocationID FROM [dbo].[mst_Patient] WHERE [Ptn_Pk] = SCOPE_IDENTITY();"); // sql.Append("exec [dbo].[pr_CloseDecryptedSession];"); // var result = await _unitOfWork.Repository<MstPatient>().FromSql(sql.ToString()); // StringBuilder sqlBuilder = new StringBuilder(); // sqlBuilder.Append("Insert Into Lnk_PatientProgramStart(Ptn_pk, ModuleId, StartDate, UserID, CreateDate)"); // sqlBuilder.Append("Values("); // sqlBuilder.Append($"'{result[0].Ptn_Pk}',"); // sqlBuilder.Append("283,"); // sqlBuilder.Append($"'{request.ClientEnrollment.DateOfEnrollment.ToString("yyyy-MM-dd")}',"); // sqlBuilder.Append($"'{request.ClientEnrollment.CreatedBy}',"); // sqlBuilder.Append($"'{request.ClientEnrollment.DateOfEnrollment.ToString("yyyy-MM-dd")}'"); // sqlBuilder.Append(");"); // var insertResult = await _unitOfWork.Context.Database.ExecuteSqlCommandAsync(sqlBuilder.ToString()); // StringBuilder sqlPatient = new StringBuilder(); // sqlPatient.Append($"UPDATE Patient SET ptn_pk = '{result[0].Ptn_Pk}' WHERE Id = '{request.ClientEnrollment.PatientId}';"); // var updateResult = await _unitOfWork.Context.Database.ExecuteSqlCommandAsync(sqlPatient.ToString()); // } // trans.Commit(); // _unitOfWork.Dispose(); // return Result<EnrollClientResponse>.Valid(new EnrollClientResponse // { // IdentifierValue = request.ClientEnrollment.EnrollmentNo, // IdentifierId = patientIdentifier.Id // }); // } // catch (Exception ex) // { // trans.Rollback(); // return Result<EnrollClientResponse>.Invalid(ex.Message); // } //} }
public async Task <Result <EnrollClientResponse> > Handle(EnrollClientCommand request, CancellationToken cancellationToken) { try { var transferIn = false; if (request.ClientEnrollment.transferIn) { transferIn = true; } RegisterPersonService registerPersonService = new RegisterPersonService(_unitOfWork); await registerPersonService.DynamicEnrollment(request.ClientEnrollment.PatientId, request.ClientEnrollment.ServiceAreaId, request.ClientEnrollment.CreatedBy, request.ClientEnrollment.DateOfEnrollment, request.ClientEnrollment.ServiceIdentifiersList, transferIn); /*var patientIdentifier = await registerPersonService.EnrollPatient(request.ClientEnrollment.EnrollmentNo, * request.ClientEnrollment.PatientId, request.ClientEnrollment.ServiceAreaId, * request.ClientEnrollment.CreatedBy, request.ClientEnrollment.DateOfEnrollment);*/ string cccNumber = String.Empty; int moduleId = 283; foreach (var item in request.ClientEnrollment.ServiceIdentifiersList) { if (item.IdentifierId == 1) { cccNumber = item.IdentifierValue; moduleId = 203; } } GetPatientDetails patientDetails = new GetPatientDetails(_unitOfWork); var patientLookup = await patientDetails.GetPatientByPatientId(request.ClientEnrollment.PatientId); if (patientLookup.Count > 0 && (patientLookup[0].ptn_pk == 0 || patientLookup[0].ptn_pk == null)) { var dobPrecision = "EXACT"; var dob = DateTime.Now; if (patientLookup[0].DobPrecision.HasValue) { dobPrecision = patientLookup[0].DobPrecision.Value ? "ESTIMATED" : "EXACT"; } if (patientLookup[0].DateOfBirth.HasValue) { dob = patientLookup[0].DateOfBirth.Value; } var response = await registerPersonService.InsertIntoBlueCard( patientLookup[0].FirstName, patientLookup[0].LastName, patientLookup[0].MidName, request.ClientEnrollment.DateOfEnrollment, cccNumber, moduleId, patientLookup[0].MaritalStatusName, patientLookup[0].PhysicalAddress, patientLookup[0].MobileNumber, patientLookup[0].Gender, dobPrecision, dob, request.ClientEnrollment.CreatedBy, request.ClientEnrollment.PosId ); if (response.Count > 0) { await registerPersonService.UpdatePatient(request.ClientEnrollment.PatientId, request.ClientEnrollment.DateOfEnrollment, request.ClientEnrollment.PosId); } } else { if (moduleId == 203) { await registerPersonService.UpdateBlueCard(patientLookup[0].ptn_pk, cccNumber, moduleId); } } return(Result <EnrollClientResponse> .Valid(new EnrollClientResponse() { Message = "Success" })); } catch (Exception e) { Log.Error(e.Message); return(Result <EnrollClientResponse> .Invalid(e.Message)); } }