internal void DeletePatient(PatientMemberRecord patientMemberRecord)
        {
            string storedProc = "[Patient].[usp_DeletePatient]";

            try
            {
                using (SqlConnection conn = new SqlConnection(GetConnectionString()))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(storedProc, conn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    cmd.Parameters.Add(new SqlParameter("@Source", patientMemberRecord.source));
                    cmd.Parameters.Add(new SqlParameter("@MedicalRecordNumber", patientMemberRecord.medicalRecordNumber));
                    cmd.Parameters.Add(new SqlParameter("@FirstName", patientMemberRecord.firstName));
                    cmd.Parameters.Add(new SqlParameter("@LastName", patientMemberRecord.lastName));
                    cmd.Parameters.Add(new SqlParameter("@SocialSecurityNumber", patientMemberRecord.socialSecurityNumber));
                    cmd.Parameters.Add(new SqlParameter("@Address1", patientMemberRecord.address.AddressLine1));
                    cmd.Parameters.Add(new SqlParameter("@Address2", patientMemberRecord.address.AddressLine2));
                    cmd.Parameters.Add(new SqlParameter("@City", patientMemberRecord.address.City));
                    cmd.Parameters.Add(new SqlParameter("@State", patientMemberRecord.address.State));
                    cmd.Parameters.Add(new SqlParameter("@ZipCode", patientMemberRecord.address.ZipCode));

                    cmd.ExecuteScalar();
                }

                return;
            }
            catch (Exception ex)
            {
                logger.Info($"Exception in PatientProject.DataAccessProvider.DeletePatient {Environment.NewLine} Exception: {DateTime.Now}: {JsonConvert.SerializeObject(ex)} {Environment.NewLine} Parameters: {DateTime.Now}: {JsonConvert.SerializeObject(patientMemberRecord)}");
                return;
            }
        }
Exemple #2
0
        public static void testRepo(PatientContext dbc)
        {
            System.Console.WriteLine("must start with new database using args of --init true");

            PatientRepo pr = new PatientRepo(dbc, null);

            //Get many
            System.Console.WriteLine("Get many");
            IEnumerable <Patient> allrecords = pr.getPatients("", "");

            System.Console.WriteLine("records: " + allrecords.Count());
            foreach (var record in allrecords)
            {
                System.Console.WriteLine("record: " + record.enterpriseId + "=" + record.memberRecords.Count());
            }
            Debug.Assert(allrecords.Count() == 1);

            //Get none
            System.Console.WriteLine("Get none");
            IEnumerable <Patient> norecords = pr.getPatients("a", "b");

            System.Console.WriteLine("records: " + norecords.Count());
            Debug.Assert(norecords.Count() == 0);

            //Get one
            System.Console.WriteLine("Get one");
            IEnumerable <Patient> records = pr.getPatients("JHU", "123x");

            System.Console.WriteLine("records: " + records.Count());
            Debug.Assert(records.Count() == 1);
            foreach (var record in records)
            {
                System.Console.WriteLine("record: " + record.enterpriseId + "=" + record.memberRecords.Count());
            }

            //Add
            System.Console.WriteLine("add");
            bool result = pr.addPatient(new Patient()
            {
                memberRecords = new List <PatientMemberRecord>()
                {
                    PatientRepo.createPatientMemberRecord("JHU", "123xz"),
                    PatientRepo.createPatientMemberRecord("JHU", "123xy")
                }
            }, null);

            System.Console.WriteLine("result: " + result);
            Debug.Assert(result);

            //Add duplicate (expected failure)
            System.Console.WriteLine("add failure");
            result = pr.addPatient(new Patient()
            {
                memberRecords = new List <PatientMemberRecord>()
                {
                    PatientRepo.createPatientMemberRecord("JHU", "123xz"),
                    PatientRepo.createPatientMemberRecord("JHU", "123xx")
                }
            }, null);
            System.Console.WriteLine("result: " + result);
            Debug.Assert(!result);

            //Get one (multiple memberRecords)
            System.Console.WriteLine("Get one");
            records = pr.getPatients("JHU", "123xy");
            System.Console.WriteLine("records: " + records.Count());
            foreach (var record in records)
            {
                System.Console.WriteLine("record: " + record.enterpriseId + "=" + record.memberRecords.Count());
            }
            Debug.Assert(records.Count() > 0);
            Debug.Assert(records.First().memberRecords.Count() == 2);

            //Update
            System.Console.WriteLine("Update");
            bool b = false;

            PatientMemberRecord changedRecord = PatientRepo.createPatientMemberRecord("JHU", "123xz");

            changedRecord.firstName = "Rob";
            Patient changedPatient = new Patient
            {
                memberRecords = new List <PatientMemberRecord> {
                    changedRecord,
                    PatientRepo.createPatientMemberRecord("JHU", "123xx")
                }
            };
            string eid = records.First().enterpriseId;

            Debug.Assert(pr.updatePatient(changedPatient, eid, ref b));

            records = pr.getPatients("JHU", "123xx");
            Debug.Assert(records.Count() > 0);
            Debug.Assert(records.First().memberRecords.Count() == 2);
            Debug.Assert(records.First().enterpriseId == eid);

            //Delete
            System.Console.WriteLine("Delete");
            Debug.Assert(pr.deletePatient("xyz"));

            allrecords = pr.getPatients("", "");
            Debug.Assert(allrecords.Count() == 1);
            Debug.Assert(allrecords.First().enterpriseId == eid);
        }