Database Systems
CTIS254

-

Fundamentals

Of

Database Systems






INPATRAS

Project Group 1

Section 03



Abdullah Arslan : 20102348

Erman Ebren      : 20200826

Emrah Sağlık     : 20200991

Rasim Yutcan    : 20102416





















Intelligent Patient Tracking System

(INPATRAS)



INPATRAS is a patient tracking system to be used in a hospital by the doctors, test laboratory personnel and the hospital management staff.


It is a very efficient system that is used to keep the data for events which is occuring  in hospital.


Our system is a small example of real hospital database. (Most of the details are not included).


This system based on two main parts. The first part is the randezvous class between the doctor and patient. The second part is based on personal records by using person class.


We have PERSON class which is parent class of Employee and Patient classes. The Doctor and Laborant classes are child classes of the Employee class.


The other part consist of aplication information such as anlysis, randezvous. Anlysis can be two type : Blood and Radiology .













Data Dictionary :


Table of Entity Classes

ENTITY

DESCRIPTION

Person

All the users, including workers and patients

Employee

People who work in the hospital including laborants and doctors

Department

Departments of the hospital

Doctor

The doctor in the hospital

Laborant

The laboratory assists in the hospital

Patient

The patients who come to the hospital

AnalysisInfo

Information about lab results of the patients

RandezvousInfo

Appointment information about the patients and doctors

Blood

Keeps the results of the blood test

Radiology

Keeps the results of the radiology test



Table of Attributes

ENTITY CLASS

ATTRIBUTE

CONSTRAINTS

Person

identityNo

Key

name

String ,Not Null

surname

String ,Not Null

addresses

Multivalued composite with components; city , street , zipCode, no

gender

‘M’,’F’

birthDate

Date, Not Null

phoneNumbers

Multivalued

Employee

roomNo

Number

roomPhoneNumber

Number

StartingDate

Date, Not Null

Department

id

Key

name

String, Not null

Doctor

title

String

specification

String, Not Null

Laborant

specification

String, Not Null

Patient

applicationDate

Date, Not Null

ssnNo

Number

h_ins_company

String

AnalysisInfo

analysisId

Key, Number

analysisType

String, Not Null

analysisDate

Date

Blood Results

type

String

result

String

Radiology

type

String ,Not Null

bodyPart

String, Not Null

diagnosis

String, Not Null

Randezvous Info

randezvousDate

Date, Not Null, partial key

diagnosis

String

complaints

String

prescription

String



Relationship types

Relationship types


Entity class

Entity class

Cardinality Ratio

Attribute

Needs

Randezvous info

Analysis Info

One to Many


Has randezvous

Doctor

Randezvous Info

One to many


Has randezvous

Patient 

Randezvous Info

One to many


Makes

Laborant

Analysis Info

One to Many


Works

Doctor

Department

One to Many


manages

Doctor

Department

One to One














Schemas:


Person: (identityNo number, name string, surname string, gender string, birthDate date)

Addresses: (identityNo number references Person, city string, street string, no number, zipCode string)

Phonenumbers: (identityNo number references Person, phoneNumber string)

Employee: (identityNo number references Person, startingDate date, roomNo number, roomPhoneNumber string)

Doctor: (identityNo number references Employee, departmentId references Department, title string, specification string)

Department: (id number, name string, managerNumber number references Doctor)

Patient: (identityNo number references Person, h_ins_company string, ssnNo number, applicationDate date)

Laborant: (identityNo number references Employee, specification string)

Analysisinfo: (analysisId number, patientId number references Patient, randezveousdate date references Randezveousinfo, laborantId number references Laborant, analysisDate date, analysisType string)

BloodResults: (analysisId number references Analysisinfo, type string, result string)

Radiology: (analysisId number references Analysisinfo, type string,bodypart string,diagnosis string)

Randezveousinfo: (patientId number references Patient, doctorId number references doctor, randezveousDate date, complaints string, diagnosis string, prescription string)


Behavioral Model

·        A doctor may not have more than one randezvous at the same time.

·        A doctor may not have more than 15 randezvous at a day.

·        Randezvous Informations are kept for 50 years and then deleted.

·        A department may not have more then 100 randezvous in a day.

·        A laborant may not have more than 50 analysis at same day.


QUERIES;


Department-Doctor List


By using this query, we can reach our doctor list by viewing their departments in any time. In addition to these by showing their room phone numbers and room numbers we can reach to them easily.


Employee Locations in Hospital;


This query helps us abour reaching to our employees in a needed situation. In addition to these we can easily see our emplyees position in hospital building.


Employees Who Live in Ankara Query;


            This query helps us to learn about our employees which are living in Ankara. By showing their addresses we can easşky reach them whenever we want.

           

List of Child Patients;

           

            By this query we can easily see our child patients.


            Note for instructor: We made a calculated field, normally it was working. But when we change our database  to Access 97 format. It began not to working. Then we understood that “Date()” function gives error in our comp.  According to our database we have to use “Date()” function to make a calculated field.  We left it in the working situation. I hope it doesn’t give error in your computer.


List of Female Patients;


            By this query we can easily see our female patients.


List of Male Patients;


By this query we can easily see our male patients.


Patient List;


            This query helps us to see our patients. By showing their gender and Birth Dates we can learn more about them.


Patients with Blood type "A+";


            By using this query in an emergency situation we can easily find needed blood from our patients.





Radiology Analysis;


            This query shows us patients’ name and surnames who had radiology analysis with their analysis types.


The Randezvouses of Doctor Suleyman Demirel in May 2004;


            This query shows us randezvouses dates of our Doctor Suleyman Demirel in May 2004.


Reports;


Patient List Report;


By this report we can easily see our patients with their gender and Birth Dates in a proper printable format.


Department-Doctor Report;


            By this report we can see our doctors according to their departments in a proper and printable format;


Queries in Relational Algebra Form;


 List of Female Patients;


p Patient.IdentityNo,Person.name,surname,gender (Patient ><identitynoPerson); where gender=”f”


List of Child Patients;

p Patient.IdentityNo,Person.name,surname (Patient ><identitynoPerson) where Age: ((Date()-Person.BirthDate)/365 ) < 18;


List of male Patients;


p Patient.IdentityNo,Person.name,surname,gender (Patient ><identitynoPerson); where gender=”m”


SQL QUERIES


Emrah Main query:

            This query is used to show records in our Person class with the name Emrah;

Patient Phone number query:

            It is used to learn patients’ telephone numbers as a list.

Patient age query:

            By this query we can learn the ages of our patients and can take as a list.


Number male records in our database query:

            This query shows us the number of male records in our database.

Doctor randezvous count query:

            This query shows us the number of randezvous of each doctor according to grouping doctor id.

Ssk patients query:

            We use this query to learn which are our patients are registered to SSK.

 
< Prev   Next >
RocketTheme Joomla Templates