예제 #1
0
        public void getRoomList(ref Patient patient, ref Visit visit)
        // Attaches the room(s) associated with this patient visit
        {
            string procedureName = "getStaysIn";

            List <SqlParameter> parameters = new List <SqlParameter>();

            parameters.Add(new SqlParameter("@roomNumber", ""));
            parameters.Add(new SqlParameter("@patientId", patient.getSSN()));
            parameters.Add(new SqlParameter("@visitEntryDate", visit.getEntryDate()));
            SqlDataReader reader = executeStoredProcedure(procedureName, parameters);

            int         count = 0;
            List <Room> rooms = visit.getRoomList();

            rooms.Clear(); // make sure we clear the room list, as we are adding room(s) back on

            SortedList <string, DateTime> roomDataHolder = new SortedList <string, DateTime>();

            while (reader.Read() && count < QUERY_LIMIT)
            {
                string   roomNum           = reader.GetString((int)staysInCol.RoomNumber);
                DateTime roomEffectiveDate = reader.GetDateTime((int)staysInCol.RoomEffectiveDate);

                roomDataHolder.Add(roomNum, roomEffectiveDate);


                /* Console.WriteLine("Room Number: " + reader.GetString((int)staysInCol.RoomNumber)
                 + "Room Effective Date: " + reader.GetDateTime((int)staysInCol.RoomEffectiveDate)
                 + "Patient SSN: " + reader.GetString((int)staysInCol.PatientId));
                 + Console.WriteLine("\tVisit Entry Date: " + reader.GetDateTime((int)staysInCol.VisitEntryDate)
                 + "Room Entry Date: " + reader.GetDateTime((int)staysInCol.RoomEntryDateTime)
                 + "Room Exit Date: " + reader.GetDateTime((int)staysInCol.RoomExitDateTime)); */

                count++;
            }
            closeReader(ref reader);

            foreach (KeyValuePair <string, DateTime> kvp in roomDataHolder)
            {
                Room room = getRoom(kvp.Key, kvp.Value);

                visit.addRoom(room);
            }
        }
예제 #2
0
        private void submitButton_Click(object sender, EventArgs e)
        {
            newRoom = new Room(RoomListView.SelectedItems[0].SubItems[0].Text, Decimal.Parse(RoomListView.SelectedItems[0].SubItems[1].Text), DateTime.Parse(RoomListView.SelectedItems[0].SubItems[2].Text));

            DBConnectionObject conn = DBConnectionObject.getInstance();

            foreach (RADGSHALibrary.Room r in selectedVisit.getRoomList())
            {
                conn.getRoomEntryExitDates(selectedPatient, selectedVisit, r, out DateTime entry, out DateTime roomExit, out bool stillInRoom);
                if (stillInRoom)
                {
                    conn.closeStaysIn(selectedPatient, selectedVisit, r, DateTime.Now);
                }
            }

            conn.addStaysIn(newRoom, selectedPatient, selectedVisit, DateTime.Now);
            selectedVisit.addRoom(newRoom);
            Close();
        }
예제 #3
0
        private void displayPatient()
        {
            patientFirstNameTextBox.Text     = selectedPatient.getFirstName();
            PatientMiddleInitialTextBox.Text = selectedPatient.getMiddleInitial().ToString();
            patientLastNameTextBox.Text      = selectedPatient.getLastName();
            patientAddressLine1TextBox.Text  = selectedPatient.getAddressLine1();
            patientAddressLine2TextBox.Text  = selectedPatient.getAddressLine2();
            patientCityTextBox.Text          = selectedPatient.getCity();
            patientStateTextBox.Text         = selectedPatient.getState();
            patientZipTextBox.Text           = selectedPatient.getZipcode();
            patientGenderTextBox.Text        = selectedPatient.getGender().ToString();
            patientSSN.Text       = selectedPatient.getSSN();
            patientInsurerID.Text = selectedPatient.getInsurer();

            if (selectedPatient.getDoNotResuscitateStatus())
            {
                patientDNR.Text = "True";
            }
            else
            {
                patientDNR.Text = "False";
            }
            if (selectedPatient.getOrganDonorStatus())
            {
                patientOrganDonor.Text = "True";
            }
            else
            {
                patientOrganDonor.Text = "False";
            }


            //patientBirthdateTextBox.Text = selectedPatient.getBirthDate().ToString("MM/dd/yyyy");
            dateBirthdate.Value = selectedPatient.getBirthDate();
            if (selectedVisit == null)
            {
                EntryDatePicker.Visible       = false;
                changeRoomButton.Enabled      = false;
                diagnosisWizardButton.Enabled = false;
                useInventoryButton.Enabled    = false;
            }
            else
            {
                EntryDatePicker.Visible = true;
                EntryDatePicker.Value   = selectedVisit.getEntryDate();

                if (selectedVisit.getRoomList().Count > 0)
                {
                    visitRoomNumber.Text = selectedVisit.getRoomList()[selectedVisit.getRoomList().Count - 1].getRoomNumber();
                }
                textSymptoms.Text = "";
                foreach (string s in selectedVisit.getSymptomList())
                {
                    textSymptoms.Text += s + "\r\n";
                }
                VisitDiagnosisTextBox.Text    = selectedVisit.getDiagnosis();
                textAttendingPhy.Text         = selectedVisit.getAttendingPhysician();
                visitNotes.Text               = selectedVisit.getNote();
                changeRoomButton.Enabled      = true;
                diagnosisWizardButton.Enabled = true;
                useInventoryButton.Enabled    = true;
                //roomNumber.Items = selectedVisit.getRoomList()
            }
            listPreviousVisits.Items.Clear();


            for (int i = selectedPatient.getVisitList().Count - 1; i >= 0; i--) // selectedPatient.getVisitList.Count Visit v in selectedPatient.getVisitList())
            {
                Visit v = selectedPatient.getVisitList()[i];
                if (selectedVisit != null && selectedVisit.getEntryDate() == v.getEntryDate())
                {
                    continue;                                                                            // we don't want to display current visit in previous visit list
                }
                Console.WriteLine("Adding previous visit at date: " + v.getEntryDate().ToShortDateString());

                ListViewItem previousVisit = new ListViewItem(v.getEntryDate().ToString());
                previousVisit.SubItems.Add(v.getAttendingPhysician());
                previousVisit.SubItems.Add(v.getDiagnosis());

                // previousVisitList.Items.Add(previousVisit);
                listPreviousVisits.Items.Add(previousVisit);
            }

            if (selectedVisit == null)
            {
                textSymptoms.Enabled          = true;
                VisitDiagnosisTextBox.Enabled = true;
                textAttendingPhy.Enabled      = true;
                visitNotes.Enabled            = true;
            }
            else
            {
                textSymptoms.Enabled          = false;
                VisitDiagnosisTextBox.Enabled = false;
                textAttendingPhy.Enabled      = false;
                visitNotes.Enabled            = false;
            }
        }