Maaz A.

asked • 05/02/23

Develop an application that interviews a patient for general medical history data


Please show steps clearly. Do it in Apache Netbeams or VS CODE


1. Develop an application that interviews a patient for general medical history data using a

binary tree to drive the interview process. The data collected from the interview must be

stored in a mySQL database and a log file created to record the interview. Think of the

interview as a digital physician that asks the user questions regarding their medical history. A

graphical user-interface (GUI) must be developed to select a patient and display a patient’s

demographic information and general medical history.

2. Implement the application using the Java programming language and the Java Swing library

for building the graphical user interface. Use a MySQL database to store the data and a text

file for logging the interview.

3. The scope of the interview will be limited to the following:

a. Interview for General Medical History

i. Blood Type

ii. Rh Factor

iii. Marital Status

iv. Alcohol Use – Type and Quantity, and Duration (e.g., wine twice a week)

v. Tobacco Use – Type and Quantity, and Duration (e.g., cigar once a week)

vi. Drug Usage – Type and Duration

4. The following tables need to be built in the MySQL database:

a. GeneralMedicalHistoryTable

b. PatientTable

5. Create a graphical user-interface that includes forms for: 1) Patient Selection, 2) Patient

Demographics, and 3) General Medical Histor.

a. The Patient Demographics and General Medical History forms must comply with the

following:

i. The frame (form) must have fields to display all the data from each associated

database table (patient, general history) The General Medical History form will

must display one record from the associated table for a specific patient.

ii. The form must have buttons for Edit, New, Save, Delete, and Close.

iii. The form should open in a “View” mode where the retrieved data can be

viewed, but not edited (the fields should be locked). The background of the text

fields should be a light gray color. When you click the Edit or New buttons, then

the form changes to “Edit” mode where the fields can be editable. Change the

text field background to white when in “Edit” mode.

iv. When the Save button is clicked, save changes to the database and restore the

mode of the form to “View” mode.

v. The New button should set the form to “Edit” mode and all the fields must be

cleared of any data so that a new record of data can be added.

vi. The Close button should close the screen and go back to the patient selection

screen.

b. The following specific forms must also have a button to start the automated interview:

i. The General Medical History form must have a button to start the automated

interview for specific general medical history data.

ii. The patient form must have a button that starts an interview for general

medical history.

c. The GUI must include the functionality to select a patient. Patient selection can be done

via a separate form or be included in the patient demographics form. Upon selection of

a patient the patient demographics form must display the demographic information

specific to the selected patient. Navigation from the patient demographics form to

general medical history forms must also display the selected patient’s medical data.

d. The patient demographics form must have buttons to go to a:

1. General Medical History form.

2. Invoke the automated interview for all general medical history

information.

6. Use a binary tree structure to implement the interview. Each node must include a question and

depending on a YES/NO or TRUE/FALSE answer navigate to either the right or left branch of the

tree to ask the next question. Suggestion: You may want to create many binary trees for

specific interview subsets rather than one extremely large tree. For example, a tree specific to

getting general medical history data or specific trees for asking questions regarding specific

general medical history data such as blood type, another for specifically for questions on alcohol

consumption, etc. You will have a lot of flexibility on how to implement this tree(s) but must

show that the interview is driven by a binary tree(s).

7. Save the interview results to the respective database tables.

8. Database Table Fields

Patient Table (patient demographics)

CREATE TABLE `patienttable` (

`PatientID` int(11) NOT NULL AUTO_INCREMENT,

`PtLastName` varchar(128) DEFAULT NULL,

`PtFirstName` varchar(128) DEFAULT NULL,

`HomeAddress1` varchar(128) DEFAULT NULL,

`HomeAddress2` varchar(128) DEFAULT NULL,

`HomeCity` varchar(128) DEFAULT NULL,

`HomeState/Province/Region` varchar(50) DEFAULT NULL,

`HomeZip` varchar(15) DEFAULT NULL,

`Country` varchar(75) DEFAULT NULL,

`Citizenship` varchar(75) DEFAULT NULL,

`PtPhone` varchar(14) DEFAULT NULL,

`EmergencyPhoneNumber` varchar(14) DEFAULT NULL,

`EmailAddress` varchar(128) DEFAULT NULL,

`PtSS#` varchar(12) DEFAULT NULL,

`DOB` datetime DEFAULT NULL,

`Gender` varchar(50) DEFAULT NULL

`EthnicAssociation` varchar(75) DEFAULT NULL,

`MaritalStatus` varchar(25) DEFAULT NULL,

`CurrentPrimaryHCP` varchar(128) DEFAULT NULL,

`Active` tinyint(1) DEFAULT '1',

`Comments` varchar(254) DEFAULT NULL,

`NextOfKin` varchar(128) DEFAULT NULL,

`NextOfKinRelationshipToPatient` varchar(50) DEFAULT NULL,

PRIMARY KEY (`PatientID`),

KEY `I_PtLastFirstName` (`PtLastName`,`PtFirstName`),

KEY `I_HomePhone` (`PtHomePhone`),

KEY `I_SSN` (`PtSS#`)

) ;

General Medical History

CREATE TABLE `generalmedicalhistorytable` (

`GeneralMedicalHistoryID` int(11) NOT NULL AUTO_INCREMENT,

`PatientID` int(11) DEFAULT NULL,

`Tobacco` varchar(50) DEFAULT NULL,

`TobaccoQuantity` varchar(75) DEFAULT NULL,

`Tobaccoduraton` varchar(75) DEFAULT NULL,

`Alcohol` varchar(50) DEFAULT NULL,

`AlcoholQuantity` varchar(75) DEFAULT NULL,

`Alcoholduration` varchar(75) DEFAULT NULL,

`Drug` varchar(25) DEFAULT NULL,

`DrugType` varchar(254) DEFAULT NULL,

`Drugduration` varchar(75) DEFAULT NULL,

`BloodType` varchar(10) DEFAULT NULL,

`Rh` varchar(10) DEFAULT NULL,

`deleted` tinyint(1) DEFAULT '0',

PRIMARY KEY (`GeneralMedicalHistoryID`),

KEY `GeneralMedHxPatientIDIndex` (`PatientID`)

) ;

1 Expert Answer

By:

Rui K. answered • 05/05/23

Tutor
New to Wyzant

Seasoned Online Tutor & JavaScript Expert

Still looking for help? Get the right answer, fast.

Ask a question for free

Get a free answer to a quick problem.
Most questions answered within 4 hours.

OR

Find an Online Tutor Now

Choose an expert and meet online. No packages or subscriptions, pay only for the time you need.