Professional Documents
Culture Documents
Project On
Hospital Management System
Submitted by
Registration #: 227086
_______________A-Levels________________
Submitted in partial fulfillment of the requirements for qualifying DOEACC ‘A’ Levels
Executive Director
DOEACC Society
6, CGO Complex,
Lodhi Road,
New Delhi – 110003
Thanking you.
Yours faithfully,
Aasiya Amin
CERTIFICATE
This is to certify that this report titled Care N Cure embodies the original work
Coordinator:
Arshid Hussain
B. E. (Electronics & Communication)
Specialization in C/C++ under Unix System
Work Experience: About 8 years
Address: Karan Nagar, Srinagar (J & K) Dated: 07-04-2004
# Description Page #
1 Introduction ---------------------------------------------------------------------- 1
9 E – R Diagram -------------------------------------------------------------------- 16
15 Conclusion------------------------------------------------------------------------- 99
atmosphere and new diseases, the job is becoming more complex and difficult. So
this profession also needs some of backup, which can help in identifying disease,
There is one dimension where computers play an important part. This is the
The main problem of the present system in the hospital is that it is still
managed manually. This manual management takes a lot of time in effort. This
project is to automate the existing system so that the time can be saved.
It is our sincere hope that this project namely “CARE N CURE” system will
thinking of new ideas, some of which go nowhere but some of which become the
corner stone of future products and have massive impact on the industry and
users telling which in turns out to be easier to do in hindsight than in real time.
When MS-Dos was introduced as an operating system no one had predicted that it
system.
paper work and also saves lots of energy and time. The system is being developed
with the object to eliminate big files and forms and to organize the information
effectively and systematically. It reduces not only paper work but maintains huge
1. Automation (Computerization) of the system will save the unnecessary effort i.e it
reduces paper work and maintains huge data with least efforts.
2. The system has GUI thus completely user-friendly and easy to operate even by a
3. It reduces the probability of mistake occurrence which oftenly occur during data
entry.
4. User can access various types of information with in minutes with the help of
computers.
6. To deliver particular patients information using queries and searching with the help
of software.
7. It lightens the burden of many employees in hospital and maintains the record of
Client Details
Client Name: Gousia Hospital.
Address: Khanyar, Near Police Station.
Resource requirements
# Resource Name Why would you Where would you How long would you need
need the get the resource the resource
resource from
1 H/w (A personal For Personal Throughout the
Computer having at construction construction phase of
least 200 MHz of the system the project as well as
processor, 128 MB during the walkthrough
RAM and 1 GB free
Disk space,
Windows based
virus free, with a
CD-RW Drive,
preferable with a
floppy drive)
2 S/W (Microsoft For Personal Throughout the
Visual Studio.Net) construction construction phase of
the project as well as
during the walkthrough
3 MSDN Help For further Personal Through-out the
reference and construction phase of
Task List
# Task
1. Creating the database and database objects
2. Creating the necessary reusable components and testing them
3. Creating Windows forms
4. Designing reports
5. Creating Help files
To develop this project, different models like prototyping, RAD, JAD etc. were looked at. It was decided to
follow traditional waterfall or System Development Life Cycle. The reasons for using this model were
many. Firstly this model is the one that is followed by the most. Therefore the success rate is high. Besides
that having first hand experience in dealing with the existing system, there was more knowledge about user
requirements. Hence not much need for user interaction.
1. Systems Planning
2. Systems Analysis
3. Systems Design
4. Systems Implementation
5. Systems Maintenance
Planning
The main objective of this phase is to clearly identify the problem (problem definition. A preliminary
investigation report is produced at the end of this phase. A project can go ahead after this stage only when it
is approved.
This is fact-finding process. It involves gathering the facts and analyzing them to develop a specific plan,
known as Systems Requirement Document. All the functions of the existing system are analyzed to
recommend the necessary improvements.
Design
In this phase a design is developed which suits the requirements specified in the systems requirement
documents. The design is documented and the end report, known as the design specification, is submitted to
the client.
Implementation
During this phase, a complete system is developed and delivered. It involves a post implementation
evaluation to make sure that the system is working properly.
Maintenance
Changes are made to fix the problems identified by the end users.
Proper protocols will be followed to document the system and the findings. The reason for this is that it will
help in tracking/ evaluating the system and will also be helpful in updating/ expanding or even maintaining
the system.
DFD
ERD
Structure Chart
Module Specification
Data flow diagrams represent the flow of data in a system. The four entities that must be represented in a
DFD are:
E-R Diagram
The Entity – Relationship (E-R) data model is based on a perception of a real world that consists of a
collection of basic objects called entities and of relationships among these objects. An entity is a thing or
object in the real world that is distinguishable from other objects e.g. each person is an entity, bank accounts
can be considered to be entities. Entities are described in database by a set of attributes. A relationship is an
The overall structure of a database can be expressed graphically by an E-R diagram, which is built up from
the following components:
Structure Chart
3. The communication between modules is shown by small arrows with a circle at the tail of the arrow
shaft.
Module Specification
Development Tool
Since the System is to be developed for Windows platform, therefore, the best-suited development tool
available is Microsoft Visual Basic 6.0. Data Management is done using Microsoft Access as well as Oracle
SQL. The can be used both in Standalone Environment as well as in Network Environment. For that reason
for users of Standalone System Microsoft Access is available and for users of Network Environment Oracle
SQL is available.
We have vide range of Data Access Technologies available which are suitable for vide range of
environments. But the most powerful technology available today is ActiveX Data Object (ADO) technology,
which is meant for both standalone as well as network environment. Since Visual Basic has inbuilt support
for ADO technology, so I am using this technology in the system.
Context Diagram
Input Data
Input Data For Album Input Data
Apply
Validation
Rules
Retrieve
Input Data Records
Validate Input
Data
Input Title to
Input Title Search
Apply
Validation
Rules
Retrieve Generate
Data Source Records Report
Station Code
Code
Album ID
Type
1
Album Contain
Signatory
No. s
Album No
Recording
Company Year of
Manufacture
M Name
Product Year
Album Details Producer
Banner 1 Director
First Line
Category
Song ID
Remarks
Song Type
Raga
Approved
Duration
Artist1
Music Dir
Artist2
Lyrists
Artist3
Splash
Main Window
Login Dialog
Navigation Window
AlbumDetails
Patients
Name Type Meaning
Name Type Meaning
DetailID Number Detail ID
CardNo Text Card No
AlbumID Number Album ID
PtName Text Patient’s Name
FilmBased Number Film Based or not
PtParentage Text Patient’s Parentage
Name Text Name of Album/Film
PtAddress Text Patient’s Address
Producer Text Producer
Age Text Patient’s Age
Director Text Director
Sex Text Patient’s Gender
Banner Text Under Banner of
PtType Text Patient’s Type
ProductYear Date Year of Production
EDate Date Patient’s Entry Date
AlbumContent
Artist
Name Type Meaning
Name Type Meaning
SongID Number Song ID
Numbe
DetailID Number Detail ID ArtistID Artist ID
r
FirstLine Text First Line of Song ArtistName Text Name of Artist
Category Text Category of Song
Remarks Text Remarks about Song
Raga Text Raga Banner
Language Text Language of Song
Name Type Meaning
Artist1 Text Artist # 1
Numbe
BannerID Banner ID
Artist2 Text Artist # 2 r
Artist3 Text Artist # 3 Banner Text Banner
Lang
Name Type Meaning RecCompany
Numbe Name Type Meaning
LanguageID Language ID
r
Numbe Recording Company
Language Text Language of Song RecCompanyID
r ID
RecCompany Text Recording Company
Login
Name Type Meaning Remarks
UserName Text User ID Name Type Meaning
Lyrics
Name Type Meaning SongType
Numbe
LyricsID Lyricists ID Name Type Meaning
r
Lyrics Text Name of Lyricists Numbe
SongTypeID Song Type ID
r
SongType Text Type of Song
MusicDir
Name Type Meaning Type
Numbe
MusirDirID Music Director ID Name Type Meaning
r
MusirDir Text Music Director Type Text Type of Song Quality
Producer
Name Type Meaning
Numbe
ProducerID Producer ID
r
Producer Text Name of Producer
The application needs very little effort from the user to enter data, and hence avoids data entry mistakes to a
large extent. I have used user-friendly controls as much as possible, such as, Combo Boxes, Check Boxes,
Option Boxes, and Spinners etc. The field where date is to be entered, the user has to only select the date
from the calendar attached with the date control. Lot of work is done through mouse. There is very less
chance of Data Entry Errors.
Following Table Lists down any possible Data Entry Errors from user’s end and way of rectification of the
error.
Form: Logon
1. If a wrong user name and Any invalid An error message An error
password is entered, an user name and message
error message should be password
displayed
2. If in all 3 attempts a wrong Any invalid An error message in An error
user name and password is user name and first two attempts. message in first
specified, an error should password, Third time, a two attempts.
be displayed and the then click the message Third time, a
application should be Login button “Unauthorized message
terminated. three times access. Aborting…” “Unauthorized
access.
Aborting…”
3. If a valid user name and User Name: Navigation Form Navigation Form
password is provided, it Admin
should display the Password:
Navigation Form Admin
Form: Data Entry Album Form
1. Enter invalid number for Enter “12A” in Error – “Invalid Error – “Invalid
Album #, Album Code, any of the Data. Please Re- Data. Please Re-
Signatory # and Station Field and enter” enter”
Code press Tab
2. Enter valid number for Enter “123” in -- --
Album#, Album Code, any of Field
Signatory # and Station and press Tab
Code
Form: Data Enter Song Form
1. Enter invalid Side # Enter “A” in Error – “Invalid Error – “Invalid
Side field and Value for this Field” Value for this
Program Listings
Main Form
Form Properties
Property Value
Name ALMain
Code
Private Sub MDIForm_Load()
Dim i As Byte
blnLogin = False
getConnection
App.HelpFile = App.Path & "\ALMS Help.hlp"
cdlgALHelp.HelpCommand = &H3&
cdlgALHelp.HelpFile = App.Path & "\ALMS Help.hlp"
End Sub
Login Form
This form accepts user name and password and provides option for type of database to use. Only
valid user can move forward from this window. Login Form also provides list of built-in users also
called Application System User such as Admin, Guest and Super user. The other users are
automatically added to the list after first use.
Login Form
Form Properties
Property Value
Name frmLogin
BorderStyle Fixed
MDIChild True
Code
Private Sub cmdCancel_Click()
Unload Me
End Sub
strProvider = "ACCESS"
Me.optAccess.Value = True
Me.optOracle.Value = False
End Sub
Name frmMain
Caption Navigator
MDIChild True
KeyPreview True
Code
Dim intLeft As Integer
Dim intDiff As Integer
Dim blnForward As Boolean
Dim blnReverse As Boolean
Private Sub Form_KeyPress(KeyAscii As Integer)
Select Case Chr(KeyAscii)
Case "D", "d"
imgMain1_Click
Case "S", "s"
imgMain2_Click
Case "R", "r"
Form Properties
Property Value
Name frmAlbumNavigator
MDIChild True
KeyPreview True
Code
Private Sub cmdAlbumEntry_Click()
On Error GoTo errHandler
Load frmAlbum
frmAlbum.Show
Form Properties
Property Value
Name frmAlbum
Code
Dim rsRec As adodb.Recordset
Dim rsAlbum As adodb.Recordset
Form Properties
Property Value
Name frmTitleEntry
MDIChild True
Code
Dim rsAlbum As adodb.Recordset
Dim rsTemp As adodb.Recordset
Dim rsAlbumDetail As adodb.Recordset
Dim intAlbumID As Integer
Dim strStationCode As String
cmbAlbumCode.ListIndex = cmbAlbumNo.ListIndex
strQuery = "Select * from Album where Code = "
strQuery = strQuery + "'" + Trim(cmbAlbumCode.Text) + "'"
strQuery = strQuery + " AND AlbumNo = "
strQuery = strQuery + "'" + cmbAlbumNo.Text + "'"
Debug.Print strQuery
rsTemp.Open strQuery, conAudioLib, adOpenStatic,
adLockReadOnly, adCmdText
If Not (rsTemp.EOF And rsTemp.BOF) Then
intAlbumID = rsTemp!AlbumID
strStationCode = rsTemp!STNCode
strQuery = "Select Name from AlbumDetail Where AlbumID = "
strQuery = strQuery + CStr(rsTemp!AlbumID)
rsTemp1.Open strQuery, conAudioLib, adOpenKeyset,
adLockReadOnly, adCmdText
cmbTitle.Clear
Do While Not rsTemp1.EOF
'Connecting to DataBase
getConnection
Form Properties
Property Value
Name frmSongEntry
MDIChild True
Code
Dim intDetailID As Integer
Dim strStationCode As String
Dim rsSong As adodb.Recordset
Dim rsTempSong As adodb.Recordset
rsTempSong!SongID = intSongID
rsTempSong!detailid = intDetailID
rsTempSong!FirstLine = cmbSong.Text
If Not txtDuration.Text = "" Then
rsTempSong!Duration = CInt(txtDuration.Text)
End If
Form Properties
Property Value
Name frmSongSearchFL
Code
Private Sub cmdCancel_Click()
Unload Me
End Sub
strFirstLine = cmbFirstLine.Text
If strFirstLine = "" Then
Exit Sub
End If
strQuery = "Select Code, Name, Firstline, Artist1, Artist2 from
"
strQuery = strQuery & " Album, AlbumDetail, AlbumContent "
strQuery = strQuery & " where Album.AlbumID =
AlbumDetail.AlbumID "
strQuery = strQuery & " And AlbumDetail.DetailID =
AlbumContent.DetailID "
strQuery = strQuery & " And AlbumContent.Firstline in "
strQuery = strQuery & " (Select Distinct AlbumContent.FirstLine
from AlbumContent "
strQuery = strQuery & " Where FirstLine Like '" & strFirstLine
& "%')"
rsSongSearch.Open strQuery, conAudioLib, adOpenKeyset,
adLockOptimistic
Set rptSongSearch.DataSource = rsSongSearch
If rsSongSearch.RecordCount <= 0 Then
GoTo errHandler
getConnection
Set rsSongSearch = New adodb.Recordset
rsTemp.Open "Select FirstLine from AlbumContent", conAudioLib,
adOpenKeyset, adLockOptimistic
Do While Not rsTemp.EOF
cmbFirstLine.AddItem rsTemp!FirstLine
rsTemp.MoveNext
Loop
rsTemp.Close
Exit Sub
errHandler:
MsgBox Err.Description, vbOKOnly + vbInformation, "Error..."
End Sub
Report Centre Form
This form provides option to generate Reports for print outs in different six ways.
Form Properties
Property Value
Name frmReportCentre
MDIChild True
Code
Private Sub cmdChoice_Click()
frmSongSearchReport.Show
Unload Me
strReportCaption = "Films"
Set rsSongSearch = New adodb.Recordset
strFilmName = showDialog("Enter Film Name", "AlbumDetail",
"Name")
If strFilmName = "" Then
Exit Sub
Else
strQuery = "Select Album.Code, AlbumDetail.Name,
AlbumContent.FirstLine, "
strQuery = strQuery & "AlbumContent.Artist1,
AlbumContent.Artist2 From "
strQuery = strQuery & "(Album INNER JOIN AlbumDetail ON
Album.AlbumID = AlbumDetail.AlbumID) "
strQuery = strQuery & "INNER JOIN AlbumContent On
AlbumDetail.DetailID = AlbumContent.DetailID "
strQuery = strQuery & "Where AlbumDetail.Name = '" &
strFilmName & "'"
rsSongSearch.Open strQuery, conAudioLib, adOpenKeyset,
adLockOptimistic
Set rptFilmWise.DataSource = rsSongSearch
Set lblFilmName1 = rptFilmWise.Sections(2).Controls(1)
lblFilmName1.Caption = "Film Name : "
Set lblFilmName2 = rptFilmWise.Sections(2).Controls(2)
lblFilmName2.Caption = strFilmName
rptFilmWise.Show
End If
Exit Sub
errHandler:
MsgBox Err.Description & vbCrLf & "No Songs Matched", vbOKOnly
+ vbInformation, "Error..."
End Sub
strReportCaption = "Composers"
Set rsSongSearch = New adodb.Recordset
strComposerName = showDialog("Select Composer Name",
"MusicDir", "MusicDir")
If strComposerName = "" Then
Exit Sub
Else
strQuery = "Select Album.Code, AlbumDetail.Name,
AlbumContent.MusicDir, "
strQuery = strQuery & "AlbumContent.FirstLine,
AlbumContent.Artist1, "
strQuery = strQuery & "AlbumContent.Artist2 From "
strQuery = strQuery & "(Album INNER JOIN AlbumDetail ON
Album.AlbumID = AlbumDetail.AlbumID) "
strQuery = strQuery & "INNER JOIN Albumcontent ON
AlbumDetail.DetailID = AlbumContent.DetailID "
strQuery = strQuery & "Where (((AlbumContent.MusicDir)='" &
strComposerName & "'))"
rsSongSearch.Open strQuery, conAudioLib, adOpenKeyset,
adLockOptimistic
Set rptSongSearch.DataSource = rsSongSearch
Set lblComposerName1 = rptSongSearch.Sections(2).Controls(6)
lblComposerName1.Caption = "Composer Name : "
Set lblComposerName2 = rptSongSearch.Sections(2).Controls(7)
lblComposerName2.Caption = strComposerName
rptSongSearch.Show
End If
Exit Sub
strReportCaption = "Lyricists"
Set rsSongSearch = New adodb.Recordset
strLyricName = showDialog("Select Lyrcist Name", "Lyrics",
"Lyrics")
If strLyricName = "" Then
Exit Sub
Else
strQuery = "Select Album.Code, AlbumDetail.Name,
AlbumContent.Lyrics, "
strQuery = strQuery & "AlbumContent.FirstLine,
AlbumContent.Artist1, AlbumContent.Artist2 "
strQuery = strQuery & "From (Album INNER JOIN AlbumDetail ON
Album.AlbumID = AlbumDetail.AlbumID) "
strQuery = strQuery & "INNER JOIN AlbumContent ON
AlbumDetail.DetailID = AlbumContent.DetailID "
strQuery = strQuery & "Where AlbumContent.Lyrics = '" &
strLyricName & "'"
rsSongSearch.Open strQuery, conAudioLib, adOpenKeyset,
adLockOptimistic
Set rptSongSearch.DataSource = rsSongSearch
Set lblLyricName1 = rptSongSearch.Sections(2).Controls(6)
lblLyricName1.Caption = "Lyricist : "
Set lblLyricName2 = rptSongSearch.Sections(2).Controls(7)
lblLyricName2.Caption = strLyricName
rptSongSearch.Show
End If
Exit Sub
errHandler:
MsgBox "No Songs Matched", vbOKOnly + vbInformation, "Error..."
End Sub
strReportCaption = "Singers"
Set rsSongSearch = New adodb.Recordset
strSinger = showDialog("Select Singer Name", "Artist",
"ArtistName")
If strSinger = "" Then
Exit Sub
Else
strQuery = "Select Album.Code, AlbumDetail.Name,
AlbumContent.FirstLine, "
strQuery = strQuery & "AlbumContent.Artist1,
AlbumContent.Artist2, AlbumContent.Artist3 "
strQuery = strQuery & "From (Album INNER JOIN AlbumDetail ON
Album.AlbumID = AlbumDetail.AlbumID) "
strQuery = strQuery & "INNER JOIN AlbumContent ON
AlbumDetail.DetailID = AlbumContent.DetailID "
strQuery = strQuery & "Where (AlbumContent.Artist1 = '" &
strSinger & "') OR "
strQuery = strQuery & "(AlbumContent.Artist2 = '" &
strSinger & "') OR "
strQuery = strQuery & "(AlbumContent.Artist3 = '" &
strSinger & "')"
rsSongSearch.Open strQuery, conAudioLib, adOpenKeyset,
adLockOptimistic
Set rptGeneral.DataSource = rsSongSearch
Set lblSinger1 = rptGeneral.Sections(2).Controls(1)
lblSinger1.Caption = "Singer Name : "
Set lblSinger2 = rptGeneral.Sections(2).Controls(2)
lblSinger2.Caption = strSinger
rptGeneral.Show
End If
Exit Sub
errHandler:
MsgBox "No Songs Matched", vbOKOnly + vbInformation, "Error..."
strReportCaption = "Years"
Set rsSongSearch = New adodb.Recordset
strCurYear = Right(Format(Date, "Long Date"), 4)
Do While True
strYear = InputBox(vbCrLf & "Enter the Year" _
& vbCrLf & vbCrLf & _
"Year should be a 4-digit integer", _
"Year-Wise Report", strCurYear)
If strYear = "" Then
Exit Sub
ElseIf Not IsNumeric(strYear) Then
MsgBox "Wrong value for Year, Enter Year as 4 digit
Integer", , "Wrong Year"
ElseIf Len(strYear) <> 4 Then
MsgBox "Not a valid Year" & vbCrLf & "Enter Year as 4
digit Integer", , "Wrong Year"
Else
Exit Do
End If
Loop
Form Properties
Property Value
Name frmDialog
Caption <General>
Code
Private Sub cmdCancel_Click()
strSearchValue = ""
Form Properties
Property Value
Name frmSongSearchReport
MDIChild True
Code
Dim rsTempSong As New adodb.Recordset
Form Properties
Property Value
MDIChild True
Code
Dim rsTemp As adodb.Recordset
strProvider String Public Stores the name of the Data Provider. For
Oracle it is “MSDASQL” and for Access it is
“Microsoft.Jet.OLEDB.4.0”
addNewData() String ByVal strTableName(String) To adds new data item in the Two Column
Tables such as Artist Table, Director Table etc
ByVal strFieldName(String) in Data Entry Forms. This is invoked when
ellipses (…) is clicked in Data Entry Forms.
showDialog String ByVal strCaption(String) To fill up Combo List in General Dialog Form
with values from database.
Code
Public blnLogin As Boolean
Public conAudioLib As adodb.Connection
Public rsSongSearch As adodb.Recordset
Public strProvider As String
Public strSearchValue As String
Public strReportCaption As String
errHandler:
MsgBox Err.Description
addNewData = ""
End Function
strSql = "Select " & strFieldName & " From " & strTableName
getConnection
rsTemp.Open strSql, conAudioLib, adOpenKeyset, adLockOptimistic
Do While Not (rsTemp.EOF)
frmDialog.cmbGeneral.AddItem
rsTemp.Fields(strFieldName).Value & ""
rsTemp.MoveNext
Loop
frmDialog.Caption = strCaption
frmDialog.lblGeneral.Caption = strCaption
frmDialog.Show vbModal, ALMain
rsTemp.Close
showDialog = Trim(strSearchValue)
End Function
RptFilmWise
rptGeneral
rptSongSearch
There are two ways to generate Reports in ALMS:
1. By Song Search by First Line.
2. Reporting Centre
Song Search by First Line option retrieved the related songs from the database and generates a
Report, which displays all the songs satisfying the criteria.
Through Reporting Centre, a Report can be generated in following five ways:
1. By Year-wise.
2. By Selected Lyricist.
3. By Film-wise
4. By Selected Composer.
5. By Selected Singer.
In addition a Report can be generated in six different ways, using the Choice Songs in Reporting
Centre. These Six categories are:
1. General Song’s category.
2. Romantic Songs category.
3. Birthday Songs category.
4. Comedian Songs category.
5. Sad Songs category.
6. Remix Songs category.
ALMS Help
ALMS have On-Line Help support. A user can use the help support for choose Help menu or by
pressing F1 key.
Suggested Enhancements
1. We can provide hardware interface to automate the process of retrieving favorite song from the
database and then playing that song. We can provide the interface with the Audio Player used by
the Prasar Bharati.
2. We can provided network interface so that ALMS can run on multiple clients to connected different
stations across the country
3. There is a provision to included internet version for the Listener using Web Forms, wherein
Listeners can choose there favorite song and Listen to it from any where in the world.
4. Presently ALMS Help is not context sensitive. We can make the On-Line Help system context
sensitive, so that the help for specific topic can be obtained from any point.
5. We can automate the process of create ODBC Driver for oracle, so that user is not bothered to do
Conclusion
The concept of peer-reviews helped to rectify the problems as and when they
occurred and also helped me to get some valuable suggestions that were incorporated
by me.
The following points should be followed to install the project for the first time:
1. Insert the ALMS CD-ROM in DR-ROM Drive and choose Start->Run
2. Type “D:\setup”, assuming that your CD-ROM Drive letter is “D”. If your CD-ROM
Drive letter is different, then you must change the letter accordingly.
3. The setup program will start and follow the setup on the screen.
4. After this setup, ALMS installation will be complete.
You are now ready to use Audio Library Management System. Enjoy it!