Hospital Project Report
Hospital Project Report
(AFFILIATED TO BANGALORE UNIVERSITY) 19TH MAIN, 17th B CROSS, Sector-IV, HSR layout, Bangalore-560102 DEPARTMENT OF COMPUTER SCIENCE PROJECT REPORT ON HOSPITAL MANAGEMENT SYSTEM
Submitted in Practical Fulfillment of the Requirements for the degree Of BACHELOR OF COMPUTER SCIENCE Submitted by Maheshraj (10RNS75060) Nayak Ravi R (10RNS75062) UNDER THE GUIDANCE OF MR. C. GANESH (Assistant Professor)
2|Page
(AFFILIATED TO BANGALORE UNIVERSITY) 19TH MAIN,17TH B CROSS, Sector-IV, HSR layout, Bangalore- 560102 CERTIFICATE This is to certify that the project work entitled HOSPITAL MANAGEMENT SYSTEM has been successfully carried out by Maheshraj (10RNS75060) student of 6th semester B.Sc, submitted in the partial fulfillment of requirements prescribed by the Bangalore University for BACHELOR OF COMPUTER SCIENCE course during the year 2012-2013 Under The Guidance Of Head of the Department
Dr. J.Sebastian Nixon, PhD.,MCSE (Department of Computer Science) Signature of the Examiner
Date: 1) .
2) .
3|Page
Project Report On
4|Page
ACKNOWLEDGEMENT
The satisfaction that we feel at the successful completion of the project work titled Hospital Management System would be incomplete if we dont mention all the people, whose able guidance and encouragement made success a really for this project work. It is a great pleasure to express our gratitude and respect to all those who inspired and helped us in completion of this project. We are thankful to Mr. Vedhamurthy, Principal, The Oxford College of Science and Dr. J.Sebastian Nixon, H.O.D. of the Computer Science department, The Oxford College of Science, for their support and endurance of our working essentially for hours a day. We extend our sincere thanks to Mr. Ganesh C , for his valuable guidance and helping us a lot during the course of this project work. We would repeat our thanks to the entire staff members Computer Science department for the completion of successful project.
5|Page
CONTENTS
1. Introduction a. Purpose b. Scope c. Technologies used d. Overview 2. Overall Description a. Goals of Proposed System b. Background c. Project Requirements d. User Characteristics e. Constraints f. Definition of Problems g. Alternative Solutions 3. Feasibility Study a. Technical Feasibility b. Economical Feasibility c. Operational Feasibility d. Schedule Feasibility 4. Data Flow Diagrams 5. Entity Relationship Diagram 6. Data Tables 7. Snapshots 8. Conclusion 9. Bibliography
6|Page
1. Introduction
1.1) Purpose
The Software is for the automation of Hospital Management. It maintains two levels of users:-Administrator Level -User Level The Software includes:-Maintaining Patient details. -Providing Prescription, Precautions and Diet advice. -Providing and maintaining all kinds of tests for a patient. -Billing and Report generation.
1.2) Scope
It can be used in any Hospital, Clinic, Dispensary or Pathology labs for maintaining patient details and their test results.
7|Page
Access as backend. Database Design (Ms Access) Form Design (VB 6.0) Coding (VB 6.0) Testing (VB 6.0) Reporting Tool (Data Report)
1.4) Overview
Project is related to Hospital Management System. The project maintains two levels of users:-Administrator Level-Doctor -User Level-Data Entry Operator -Main facilities available in this project are:-Maintaining records of indoor/outdoor patients. -Maintaining patients diagnosis details, advised tests to be done. Providing different test facilities to a doctor for diagnosis of patients. -X-Ray -Urine Test -Stool Test -Sonography Test
8|Page
-Gastroscopy Test -Colonoscopy Test -Blood Test -Biochemistry Test -Maintaining patients injection entry records. -Maintaining patients prescription, medicine and diet advice details. -Providing billing details for indoor/outdoor patients. -Maintaining backup of data as per user requirements (between mentioned dates). -If user forgets his/her password then it can be retrieved by hint question. In this project collection of data is from different pathology labs. Results of tests, prescription, precautions and diet advice will be automatically updated in the database. Related test reports, patient details report, prescription and billing reports can be generated as per user requirements. User or Administrator can search a patients record by his/her name or their registration date. Patients diet advice can be provided in Kannada.
9|Page
2. Overall Description
2.1) Goals of proposed system
1. Planned approach towards working: - The working in the organization will be well planned and organized. The data will be stored properly in data stores, which will help in retrieval of information as well as its storage.
2. Accuracy: - The level of accuracy in the proposed system will be higher. All operation would be done correctly and it ensures that whatever information is coming from the center is accurate.
3. Reliability: - The reliability of the proposed system will be high due to the above stated reasons. The reason for the increased reliability of the system is that now there would be proper storage of information. 4. No Redundancy: - In the proposed system utmost care would be that no information is repeated anywhere, in storage or otherwise. This would assure economic use of storage space and consistency in the data stored.
5. Immediate retrieval of information: - The main objective of proposed system is to provide for a quick and efficient retrieval of information. Any type
10 | P a g e
6. Immediate storage of information: - In manual system there are many problems to store the largest amount of information.
7. Easy to Operate: - The system should be easy to operate and should be such that it can be developed within a short period of time and fit in the limited budget of the user.
2.2) Background
A Hospital is a place where Patients come up for general diseases. Hospitals provide facilities like:-Consultation by Doctors on Diseases. -Diagnosis for diseases. -Providing treatment facility. -Facility for admitting Patients (providing beds, nursing, medicines etc.) -Immunization for Patients/Children. Various operational works that are done in a Hospital are:- Recording information about the Patients that come.
11 | P a g e
-Generating bills. -Recording information related to diagnosis given to Patients. -Keeping record of the Immunization provided to children/patients. -Keeping information about various diseases and medicines available to cure them. -These are the various jobs that need to be done in a Hospital by the operational staff and -Doctors. All these works are done on papers. The work is done as follows:-Information about Patients is done by just writing the Patients name, age and gender. Whenever the Patient comes up his information is stored freshly. -Bills are generated by recording price for each facility provided to Patient on a separate sheet and at last they all are summed up. -Diagnosis information to patients is generally recorded on the document, which contains Patient information. It is destroyed after some time period to decrease the paper load in the office. -Immunization records of children are maintained in pre-formatted sheets, which are kept in a file. -Information about various diseases is not kept as any document. Doctors themselves do this job by remembering various medicines.
12 | P a g e
-All this work is done manually by the receptionist and other operational staff and lot of papers are needed to be handled and taken care of. Doctors have to remember various medicines available for diagnosis and sometimes miss better alternatives as they cant remember them at that time.
Software Requirements
13 | P a g e
2.5) Constraints
GUI is only in English. Login and password is used for identification of user and there is no facility for guest.
VISUAL BASIC STUDIO 2010 The most important language added in this version was the introduction of ginneries, which are similar in many aspects to C++ templates. This potentially increases the number of bugs caught at compile- time instead of run-time by encouraging the use of strict type checking in areas where it was not possible before, C++ also get a similar upgrade with the addition of C++/CLI which is slated to replace the use of managed C++. Other new features of visual studio 2012
14 | P a g e
include the Development Designer which allows application designs to be validated before deployments; an improved environment for web publishing when combined With ASP.NET and load testing to see application performance under various sorts of user loads.
NET FRAMEWORK SDK The .NET framework is an integral windows component that supports building and running the next generation of application and XML wed services. The key component of the .NET framework is the common language run-time and the .NET frame work class library, which includes ADO.NET, ASP.NET and windows forms. The .NET framework provides a managed execution environment simplified development and deployment and integration with a wide Varity of programming languages.
OVERVIEW OF .NET Microsoft introduced the .NET with the intention of bridging the gap interoperability between applications. It aims at integrating various programming
15 | P a g e
languages and services. It is designed to make significant improvements in codereuse, code specialization, resource management, multi-language development, security, deployment, and administration. The .NET is a new development platform that helps in creating Webapplications very fast. It allows the developers to write their applications/programs in any of the .NET languages with which they are most comfortable, asthey can share their applications /programs with those of their co-programmers, programming in another .Net compatible language. This features refers to ascross-language development, is the primary strength of the .NET platform. The languages supported by the .NET platform are called .NET languages. A fewof the common .NET languages are C#, Visual Basic.NET, Visual Java.NET. The .NET platform is centered on two basic components. These are 1. Common Language Runtime (CLR) 2. Base Class Libraries (BCL) 3. Common Language Runtime (CLR) A runtime is a component, which a computer must have, in order toexecute programs written in a particular programming language. The runtimecomponent of a language provides the basic features, needed by the programswritten in that
16 | P a g e
language to execute successfully. When a program is executed itlinks to the runtime component of the language in which it is written, to get thebasic functionality it requires the CLR is similar to the Java virtual machine. It provides the basic execution services and makes the .NET programwritten in any of the .NET languages executable on the .NET platform. When aprogram is written in .NET language is compiled, it produces Microsoft intermediate language Base class library (BCL) The .NET environment provides a base class library which canbe used by all .NET languages. In fact, the base class library provides the basicfunctionalities like console input/output, text manipulation, mathematical functionetc. to the various .NET languages. The class library, the other main componentof the .NET Framework, is a comprehensive, object-oriented. Advantages of .NET :1. Multiple Platform Support 2. Performance 3. Common Functionality 4. No More Language Functionality Debates
17 | P a g e
VISUAL BASIC 2010 Visual basic was designed to meet all the real world requirements with its key features, which are explained in the following paragraph.
SECURE
Today everyone is worried about safety and security. People feel that conducting commerce over the Internet is a safe as printing the credit card
18 | P a g e
number on the first page of a Newspaper. Threatening of viruses and system hackers also exists. To overcome all these fears visual basic has safety and security as its key design principle. Using Visual basic Compatible Browser, anyone can safely download visual basic applets without the fear of viral infection or malicious intent. Visual basic achieves this protection by confining a visual basic program to the visual basic execution environment and by making it inaccessible to other parts of the computer. We can download applets with confidence that no harm will be done and no security will be breached.
PORTABLE
In visual basic, the same mechanism that gives security also helps in portability. Many types of computers and operating systems are in use throughout the world and are connected to the internet. For downloading programs through different platforms connected to the internet, some portable, executable code is needed. Visual basics answer to these problems is its well designed architecture.
19 | P a g e
OBJECT-ORIENTED
Visual basic was designed to be source-code compatible with any other language. Visual basic team gave a clean, usable, realistic approach to objects. The object model in visual basic is simple and easy to extend, while simple types, such as integers, are kept as high-performance non -objects.
DYNAMIC
Visual basic programs carry with them extensive amounts of run-time information that is used to verify and resolve accesses to objects at run-time. Using this concept it is possible to dynamically link code. Dynamic property of visual basic adds strength to the applet environment, in which small fragments of byte code may be dynamically updated on a running system.
20 | P a g e
Collections offer a new way to solve several common programming problems. Various tools such as visual basicc, visual basic and visual basicdoc have been enhanced. Debugger and profiler interfaces for the JVM are available. Performance improvements have been made in several areas. A JUST-INTIME (JIT) compiler is included in the JDK. Digital certificates provide a mechanism to establish the identity of a user, which can be referred as electronic passports. Various security tools are available that enable the user to create the user to create and store cryptographic keys ad digital certificates, sign Visual basic Archive(JAR) files, and check the signature of a JAR file.
SWING
Swing components facilitate efficient graphical user interface (GUI) development. These components are a collection of lightweight visual components. Swing components contain a replacement for the heavyweight AWT components as well as complex user interface components such as Trees and Tables. Swing components contain a pluggable look and feel (PL & F). This allows all applications to run with the native look and feel on different
21 | P a g e
platforms. PL & F allows applications to have the same behaviour on various platforms. JFC contains operating system neutral look and feel. Swing components do not contain peers. Swing components allow mixing AWT heavyweight and Swing lightweight components in an application. The major difference between lightweight and heavyweight components is that lightweight components can have transparent pixels while heavyweight components are always opaque. Lightweight components can be non-rectangular while heavyweight components are always rectangular.
Swing components are Visual basicBean compliant. This allows components to be used easily in a Bean aware application building program. The root of the majority of the Swing hierarchy is the JComponent class. This class is an extension of the AWT Container class. Swing components comprise of a large percentage of the JFC release. The Swing component toolkit consists of over 250 pure Visual basic classes and 75 Interfaces contained in about 10 Packages. They are used to build lightweight user interfaces. Swing consists of User Interface (UI) classes and non- User Interface classes. The non-User Interface classes provide services and other operations for the UI classes.
22 | P a g e
Swing offers a number of advantages, which include Wide variety of Components Pluggable Look and Feel MVC Architecture Keystroke Handling Action Objects Nested Containers Virtual Desktops Compound Borders Customized Dialogues Standard Dialog Classes Structured Table and Tree Components Powerful Text Manipulation Generic Undo Capabilities Accessibility support
23 | P a g e
Visual Studio 2012 with C# source code Developer(s) Microsoft Visual Studio 2012 Update 2 Stable release (11.0.60315.01) (April 4, 2013; 9 days ago) [][1] Visual Studio 2012 Update 2 Preview release CTP4 (March 4, 2013; 40 days ago) [][2]
24 | P a g e
Written in
Operating system Microsoft Windows Chinese, English, French, Available in Portuguese, German, Italian, Japanese, Korean, Spanish and Russian Integrated development environment Proprietary software License Express edition: Freeware Other editions: Trialware[4] Website www.microsoft.com/visualstudio
Type
Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms or WPF applications, web sites, web applications, and web services in both native code together with managed code for all platforms
25 | P a g e
supported by Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework and Microsoft Silverlight. Visual Studio includes a code editor supporting IntelliSense as well as code refactoring. The integrated debugger works both as a source-level debugger and a machine-level debugger. Other built-in tools include a forms designer for building GUI applications, web designer, class designer, and database schema designer. It accepts plug-ins that enhance the functionality at almost every levelincluding adding support for source-control systems (like Subversion and Visual SourceSafe) and adding new toolsets like editors and visual designers for domain-specific languages or toolsets for other aspects of the software development lifecycle (like the Team Foundation Server client: Team Explorer). Visual Studio supports different programming languages by means of language services, which allow the code editor and debugger to support (to varying degrees) nearly any programming language, provided a language-specific service exists. Built-in languages include C/C++[5] (via Visual C++), VB.NET (via Visual Basic .NET), C# (via Visual C#), and F# (as of Visual Studio 2010[6]). Support for other languages such as M, Python, and Ruby among others is available via language services installed separately. It also supports XML/XSLT, HTML/XHTML, JavaScript and CSS. Individual language-specific versions of Visual Studio also
26 | P a g e
exist which provide more limited language services to the user: Microsoft Visual Basic, Visual J#, Visual C#, and Visual C++. Microsoft provides "Express" editions of its Visual Studio 2010 components Visual Basic, Visual C#, Visual C++, and Visual Web Developer at no cost. Visual Studio 2012, 2010, 2008 and 2005 Professional Editions, along with language-specific versions (Visual Basic, C++, C#, J#) of Visual Studio Express 2010 are available for free to students as downloads via Microsoft's DreamSpark program.
About Ms Access.
27 | P a g e
Stable release
Development status Active Operating system Type License Website Microsoft Windows DBMS Trialware office.microsoft.com/access
Microsoft Access, also known as Microsoft Office Access, is a database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of applications, included in the Professional and higher editions or sold separately.
28 | P a g e
Microsoft Access stores data in its own format based on the Access Jet Database Engine. It can also import or link directly to data stored in other applications and databases.[1] Software developers and data architects can use Microsoft Access to develop application software, and "power users" can use it to build software applications. Like other Office applications, Access is supported by Visual Basic for Applications, an object-oriented programming language that can reference a variety of objects including DAO (Data Access Objects), ActiveX Data Objects, and many other ActiveX components. Visual objects used in forms and reports expose their methods and properties in the VBA programming environment, and VBA code modules may declare and call Windows operating-system functions.
Project Omega
Microsoft's first attempt to sell a relational database product was during the mid1980s, when Microsoft obtained license to sell R:Base. In the late 1980s Microsoft developed its own solution codenamed Omega. It was confirmed in 1988 that a database product for Windows and OS/2 was in development. It was going to include "EB" Embedded Basic language, which was going to be the language for
29 | P a g e
writing macros in all Microsoft applications, but the unification of macro languages did not happen until the introduction of VBA. Omega was also expected to provide a front end to the Microsoft SQL Server. The application was very resource-hungry, and there were reports that it was working slowly on the 386 processors that were available at the time. It was scheduled to be released in the 1st quarter of 1990, but in 1989 the development of the product was reset and it was rescheduled to be delivered no sooner than in January 1991. Parts of the project were later used for other Microsoft projects: Cirrus (codename for Access) and Thunder (codename for Visual Basic, where the Embedded Basic engine was used). After Access's premiere, the Omega project was demonstrated in 1992 to several journalists and included features that were not available in Access.
Project Cirrus
After the Omega project was scrapped, some of its developers were assigned to the Cirrus project (most were assigned to the team which created Visual Basic).Its goal was to create a competitor for applications like Paradox or dBase that would work on Windows.[3] After Microsoft acquired FoxPro, there were rumors that the Microsoft project might get replaced with it,[4] but the company decided to develop them in parallel. It was assumed that the project would make use of
30 | P a g e
Extensible Storage Engine (Jet Blue)[5] but, in the end, only support for Microsoft Jet Database Engine (Jet Red) was provided. The project used some of the code from both the Omega project and a pre-release version of Visual Basic.[6] In July 1992, betas of Cirrus shipped to developers[7] and the name Access became the official name of the product.[8]
Timeline
1992: Microsoft released Access version 1.0 on 13 November 1992, and an Access 1.1 release in May 1993 to improve compatibility with other Microsoft products and to include the Access Basic programming language. 1993: Microsoft specified the minimum hardware requirements for Access v2.0 as: Microsoft Windows v3.1 with 4 MB of RAM required, 6 MB RAM recommended; 8 MB of available hard disk space required, 14 MB hard disk space recommended. The product shipped on seven 1.44 MB diskettes. The manual shows a 1993 copyright date. Originally, the software worked well with relatively small databases but testing showed that some circumstances caused data corruption. For example, file sizes over 10 MB proved problematic (note that most hard disks held less than 500 MB at the time this was in wide use), and the Getting Started manual warns about a
31 | P a g e
number of circumstances where obsolete device drivers or incorrect configurations can cause data loss. With the phasing out of Windows 95, 98 and ME, improved network reliability, and Microsoft having released 8 service packs for the Jet Database Engine, the reliability of Access databases has improved[when?] and it supports both more data and a larger number of users. With Office 95, Microsoft Access 7.0 (a.k.a. "Access 95") became part of the Microsoft Office Professional Suite, joining Microsoft Excel, Word, and PowerPoint and transitioning from Access Basic to Visual Basic for Applications (VBA). Since then, Microsoft has released new versions of Microsoft Access with each release of Microsoft Office. This includes Access 97 (version 8.0), Access 2000 (version 9.0), Access 2002 (version 10.0), Access 2003 (version 11.5), Access 2007 (version 12.0), and Access 2010 (version 14.0). Versions 3.0 and 3.5 of Microsoft Jet database engine (used by Access 7.0 and the later-released Access 97 respectively) had a critical issue which made these versions of Access unusable on a computer with more than 1 GB of memory.[9] While Microsoft fixed this problem for Jet 3.5/Access 97 post-release, it never fixed the issue with Jet 3.0/Access 95. The native Access database format (the Jet MDB Database) has also evolved over the years. Formats include Access 1.0, 1.1, 2.0, 7.0, 97, 2000, 2002, 2007, and
32 | P a g e
2010. The most significant transition was from the Access 97 to the Access 2000 format; which is not backward compatible with earlier versions of Access. As of 2011 all newer versions of Access support the Access 2000 format. New features were added to the Access 2002 format which can be used by Access 2002, 2003, 2007, and 2010. MS Access 2007 introduced a new database format: ACCDB. ACCDB supports complex data types such as multivalue and attachment fields. These new field types are essentially recordsets in fields and allow the storage of multiple values in one field. With Access 2010, a new version of the ACCDB format supports hosting on a SharePoint 2010 server for exposure to the web. Prior to the introduction of Access, Borland (with Paradox and dBase) and Fox (with FoxPro) dominated the desktop database market. Microsoft Access was the first mass-market database program for Windows. With Microsoft's purchase of FoxPro in 1992 and the incorporation of Fox's Rushmore query optimization routines into Access, Microsoft Access quickly became the dominant database for Windows - effectively eliminating the competition which failed to transition from the MS-DOS world.[10] Access's initial codename was Cirrus; the forms engine was called Ruby. This was before Visual Basic - Bill Gates saw the prototypes and decided that the BASIC
33 | P a g e
language component should be co-developed as a separate expandable application, a project called Thunder. The two projects were developed separately. Access was also the name of a communications program from Microsoft, meant to compete with ProComm and other programs. This proved a failure and was dropped. Years later, Microsoft reused the name for its database software.
Uses
In addition to using its own database storage file, Microsoft Access also may be used as the 'front-end' with other products as the 'back-end' tables, such as Microsoft SQL Server and non-Microsoft products such as Oracle and Sybase. Multiple backend sources can be used by a Microsoft Access Jet Database (accdb and mdb formats). Similarly, some applications will only use the Microsoft Access tables and use another product as a front-end, such as Visual Basic or ASP.NET. Microsoft Access may be only part of the solution in more complex applications, where it may be integrated with other technologies such as Microsoft Excel, Microsoft Outlook or ActiveX Data Objects. Access tables support a variety of standard field types, indices, and referential integrity. Access also includes a query interface, forms to display and enter data,
34 | P a g e
and reports for printing. The underlying Jet database, which contains these objects, is multiuser-aware and handles record-locking and referential integrity including cascading updates and deletes. Repetitive tasks can be automated through macros with point-and-click options. It is also easy to place a database on a network and have multiple users share and update data without overwriting each other's work. Data is locked at the record level which is significantly different from Excel which locks the entire spreadsheet. There are template databases within the program and for download from their website. These options are available upon starting Access and allow users to enhance a database with predefined tables, queries, forms, reports, and macros. Templates do not include VBA code. Programmers can create solutions using the programming language Visual Basic for Applications (VBA), which is similar to Visual Basic 6.0 (VB6) and used throughout the Microsoft Office programs such as Excel, Word, Outlook and PowerPoint. Most VB6 code, including the use of Windows API calls, can be used in VBA. Power users and developers can extend basic end-user solutions to a professional solution with advanced automation, data validation, error trapping, and multi-user support.
35 | P a g e
The number of simultaneous users that can be supported depends on the amount of data, the tasks being performed, level of use, and application design. Generally accepted limits are solutions with 1 GB or less of data (Access supports up to 2 GB) and performs quite well with 100 or fewer simultaneous connections (255 concurrent users are supported). This capability is often a good fit for department solutions. If using an Access database solution in a multi-user scenario, the application should be "split". This means that the tables are in one file called the back end (typically stored on a shared network folder) and the application components (forms, reports, queries, code, macros, linked tables) are in another file called the front end. The linked tables in the front end point to the back end file. Each user of the Access application would then receive his or her own copy of the front end file. Applications that run complex queries or analysis across large datasets would naturally require greater bandwidth and memory. Microsoft Access is designed to scale to support more data and users by linking to multiple Access databases or using a back-end database like Microsoft SQL Server. With the latter design, the amount of data and users can scale to enterprise-level solutions. Microsoft Access's role in web development prior to version 2010 is limited. User interface features of Access, such as forms and reports, only work in Windows. In
36 | P a g e
versions 2000 through 2003 an Access object type called Data Access Pages created publishable web pages. Data Access Pages are no longer supported. The Microsoft Jet Database Engine, core to Access, can be accessed through technologies such as ODBC or OLE DB. The data (i.e., tables and queries) can be accessed by web-based applications developed in ASP.NET, PHP, or Java. Access 2010 allows databases to be published to SharePoint 2010 web sites running Access Services. These web-based forms and reports run in any modern web browser. The resulting web forms and reports, when accessed via a web browser, don't require any add-ins or extensions (e.g. ActiveX, Silverlight). A compiled version of an Access database (File extensions: .MDE /ACCDE or .ADE; ACCDE only works with Access 2007 or later) can be created to prevent user from accessing the design surfaces to modify module code, forms, and reports. An MDE/ACCDE file is a Microsoft Access database file with all modules compiled and all editable source code removed. An ADE file is an Access project file with all modules compiled and all editable source code removed. Both the .MDE/ACCDE and .ADE versions of an Access database are used when end-user modifications are not allowed or when the applications source code should be kept confidential.
37 | P a g e
Microsoft offers a runtime version of Microsoft Access 2007 for download. This allows people to create Access solutions and distribute it for use by non-Microsoft Access owners (similar to the way DLLs or EXEs are distributed). Unlike the regular version of Access, the runtime version allows users to use the Access application but they cannot use its design surfaces. Microsoft also offers developer extensions for download to help distribute Access applications, create database templates, and integrate source code control with Microsoft Visual SourceSafe.
Features
Users can create tables, queries, forms and reports, and connect them together with macros. Advanced users can use VBA to write rich solutions with advanced data manipulation and user control. Access also has report creation features that can work with any data source that Access can "access". The original concept of Access was for end users to be able to "access" data from any source. Other features include: the import and export of data to many formats including Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server, Oracle, ODBC, etc. It also has the ability to link to data in its existing location and use it for viewing, querying, editing, and reporting. This allows the existing data
38 | P a g e
to change while ensuring that Access uses the latest data. It can perform heterogeneous joins between data sets stored across different platforms. Access is often used by people downloading data from enterprise level databases for manipulation, analysis, and reporting locally. There is also the Jet Database format (MDB or ACCDB in Access 2007) which can contain the application and data in one file. This makes it very convenient to distribute the entire application to another user, who can run it in disconnected environments. One of the benefits of Access from a programmer's perspective is its relative compatibility with SQL (structured query language) queries can be viewed graphically or edited as SQL statements, and SQL statements can be used directly in Macros and VBA Modules to manipulate Access tables. Users can mix and use both VBA and "Macros" for programming forms and logic and offers objectoriented possibilities. VBA can also be included in queries. Microsoft Access offers parameterized queries. These queries and Access tables can be referenced from other programs like VB6 and .NET through DAO or ADO. From Microsoft Access, VBA can reference parameterized stored procedures via ADO.
39 | P a g e
The desktop editions of Microsoft SQL Server can be used with Access as an alternative to the Jet Database Engine. This support started with MSDE (Microsoft SQL Server Desktop Engine), a scaled down version of Microsoft SQL Server 2000, and continues with the SQL Server Express versions of SQL Server 2005 and 2008. Microsoft Access is a file server-based database. Unlike clientserver relational database management systems (RDBMS), Microsoft Access does not implement database triggers, stored procedures, or transaction logging. Access 2010 includes table-level triggers and stored procedures built into the ACE data engine. Thus a Client-server database system is not a requirement for using stored procedures or table triggers with Access 2010. Tables, queries, Forms, reports and Macros can now be developed specifically for web base application in Access 2010. Integration with Microsoft SharePoint 2010 is also highly improved.
40 | P a g e
SharePoint Server 2010 via Access Services allows for Access 2010 databases to be published to SharePoint, thus enabling multiple users to interact with the database application from any standards-compliant Web browser. Access Web databases published to SharePoint Server can use standard objects such as tables, queries, forms, macros, and reports. Access Services stores those objects in SharePoint.
41 | P a g e
4. Error prone manual calculation: - Manual calculations are error prone and take a lot of time this may result in incorrect information. For example calculation of patients bill based on various treatments. 5. Preparation of accurate and prompt reports: - This becomes a difficult task as information is difficult to collect from various registers.
42 | P a g e
2. Batch System:Another alternative solution can be used of computer based batch system for maintaining the information regarding purchase details, customers and employees. A batch system refers to a system in which data is processed in a periodical basis. The batch system is able to achieve most of the goals and sub goals. But a batch system data is processed in sequential basis. Therefore batch system is not suggested.
3. Online System:This system (HMS) provides online storage/ updations and retrieval facility. This system promises very less or no paper work and also provides help to Doctor and operational staff. In this system everything is stored electronically so very less amount of paper work is required and information can be retrieved very easily without searching here and there into registers. This system is been discussed here.
43 | P a g e
3. Feasibility Study
Depending on the results of the initial investigation the survey is now expanded to a more detailed feasibility study. FEASIBILITY STUDY is a test of system proposal according to its workability, impact of the organization, ability to meet needs and effective use of the resources. It focuses on these major questions: 1. What are the users demonstrable needs and how does a candidate system meet them? 2. What resources are available for given candidate system? 3. What are the likely impacts of the candidate system on the organization? 4. Whether it is worth to solve the problem? During feasibility analysis for this project, following primary areas of interest are to be considered. Investigation and generating ideas about a new system does this.
44 | P a g e
- Define and identify characteristics of proposed system. - Determine and evaluate performance and cost effective of each proposed system. - Weight system performance and cost data. - Select the best-proposed system. - Prepare and report final project directive to management.
45 | P a g e
An important issue for the development of a project is the selection of suitable front-end and back-end. When we decided to develop the project we went through an extensive study to determine the most suitable platform that suits the needs of the organization as well as helps in development of the project. The aspects of our study included the following factors. Front-end selection: 1. It must have a graphical user interface that assists employees that are not from IT background. 2. Scalability and extensibility. 3. Flexibility. 4. Robustness. 5. According to the organization requirement and the culture. 6. Must provide excellent reporting features with good printing support. 7. Platform independent. 8. Easy to debug and maintain. 9. Event driven programming facility. 10. Front end must support some popular back end like Ms Access. According to the above stated features we selected VB6.0 as the front-end for developing our project.
46 | P a g e
Back-end Selection: 1. Multiple user support. 2. Efficient data handling. 3. Provide inherent features for security. 4. Efficient data retrieval and maintenance. 5. Stored procedures. 6. Popularity. 7. Operating System compatible. 8. Easy to install. 9. Various drivers must be available. 10. Easy to implant with the Front-end. According to above stated features we selected Ms-Access as the backend. The technical feasibility is frequently the most difficult area encountered at this stage. It is essential that the process of analysis and definition be conducted in parallel with an assessment to technical feasibility. It centers on the existing computer system (hardware, software etc.) and to what extent it can support the proposed system.
47 | P a g e
Economic justification is generally the Bottom Line consideration for most systems. Economic justification includes a broad range of concerns that includes cost benefit analysis. In this we weight the cost and the benefits associated with the candidate system and if it suits the basic purpose of the organization i.e. profit making, the project is making to the analysis and design phase. The financial and the economic questions during the preliminary investigation are verified to estimate the following: The cost to conduct a full system investigation. The cost of hardware and software for the class of application being considered. The benefits in the form of reduced cost. The proposed system will give the minute information, as a result the performance is improved which in turn may be expected to provide increased profits. This feasibility checks whether the system can be developed with the available funds. The Hospital Management System does not require enormous amount of money to be developed. This can be done economically if planned judicially, so it is economically feasible. The cost of project depends upon the number of man hours required.
48 | P a g e
49 | P a g e
50 | P a g e
2. User
51 | P a g e
3. Patient
52 | P a g e
4. Room Information
53 | P a g e
5. Staff
54 | P a g e
6. Check Out
55 | P a g e
7. Hospitalisation
56 | P a g e
57 | P a g e
58 | P a g e
59 | P a g e
60 | P a g e
61 | P a g e
62 | P a g e
63 | P a g e
6.Coding
Home Page
Public Class frmMain Sub Load_Hospitalization() Panel1.Controls.Clear() Dim objHospitalization As New Hospitalization() objHospitalization.Size = Panel1.Size objHospitalization.TopLevel = False objHospitalization.Parent = Panel1 objHospitalization.Show() End Sub Sub Load_PatientCheckOut() Panel1.Controls.Clear() Dim objPatientCheckOut As New PatientCheckOut() objPatientCheckOut.Size = Panel1.Size objPatientCheckOut.TopLevel = False objPatientCheckOut.Parent = Panel1 objPatientCheckOut.Show() End Sub Sub Load_Room() Panel1.Controls.Clear()
64 | P a g e
Dim objRoom As New Room() objRoom.Size = Panel1.Size objRoom.TopLevel = False objRoom.Parent = Panel1 objRoom.Show() End Sub Sub Load_NewRoom() Panel1.Controls.Clear() Dim objNewRoom As New NewRoom() objNewRoom.Size = Panel1.Size objNewRoom.TopLevel = False objNewRoom.Parent = Panel1 objNewRoom.Show() End Sub Sub Load_Patient() Panel1.Controls.Clear() Dim objPatient As New Patient() objPatient.Size = Panel1.Size objPatient.TopLevel = False objPatient.Parent = Panel1 objPatient.Show() End Sub Sub Load_NewUser()
65 | P a g e
Panel1.Controls.Clear() Dim objNewUser As New NewUser() objNewUser.Size = Panel1.Size objNewUser.TopLevel = False objNewUser.Parent = Panel1 objNewUser.Show() End Sub Sub Load_Staff() Panel1.Controls.Clear() Dim objStaff As New Staff() objStaff.Size = Panel1.Size objStaff.TopLevel = False objStaff.Parent = Panel1 objStaff.Show() End Sub Sub Load_User() Panel1.Controls.Clear() Dim objUser As New User() objUser.Size = Panel1.Size objUser.TopLevel = False objUser.Parent = Panel1 objUser.Show() End Sub
66 | P a g e
Private Sub cmdHospitalization_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHospitalization.Click Load_Hospitalization() cmdHospitalization.Enabled = True cmdPatientCheckOut.Enabled = True cmdRoom.Enabled = True cmdNewRoom.Enabled = True cmdPatient.Enabled = True cmdNewUser.Enabled = True cmdStaff.Enabled = True Button1.Enabled = True cmdHospitalization.Enabled = False End Sub
Private Sub cmdPatientCheckOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPatientCheckOut.Click Load_PatientCheckOut() cmdHospitalization.Enabled = True cmdPatientCheckOut.Enabled = True cmdRoom.Enabled = True cmdNewRoom.Enabled = True cmdPatient.Enabled = True cmdNewUser.Enabled = True
67 | P a g e
Private Sub cmdRoom_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRoom.Click Load_Room() cmdHospitalization.Enabled = True cmdPatientCheckOut.Enabled = True cmdRoom.Enabled = True cmdNewRoom.Enabled = True cmdPatient.Enabled = True cmdNewUser.Enabled = True cmdStaff.Enabled = True Button1.Enabled = True cmdRoom.Enabled = False
End Sub
Private Sub cmdNewRoom_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNewRoom.Click Load_NewRoom()
68 | P a g e
cmdHospitalization.Enabled = True cmdPatientCheckOut.Enabled = True cmdRoom.Enabled = True cmdNewRoom.Enabled = True cmdPatient.Enabled = True cmdNewUser.Enabled = True cmdStaff.Enabled = True Button1.Enabled = True cmdNewRoom.Enabled = False End Sub
Private Sub cmdPatient_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPatient.Click Load_Patient() cmdHospitalization.Enabled = True cmdPatientCheckOut.Enabled = True cmdRoom.Enabled = True cmdNewRoom.Enabled = True cmdPatient.Enabled = True cmdNewUser.Enabled = True cmdStaff.Enabled = True Button1.Enabled = True cmdPatient.Enabled = False
69 | P a g e
End Sub
Private Sub cmdNewUser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNewUser.Click Load_NewUser() cmdHospitalization.Enabled = True cmdPatientCheckOut.Enabled = True cmdRoom.Enabled = True cmdNewRoom.Enabled = True cmdPatient.Enabled = True cmdNewUser.Enabled = True cmdStaff.Enabled = True Button1.Enabled = True cmdNewUser.Enabled = False End Sub
Private Sub cmdStaff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStaff.Click Load_Staff() cmdHospitalization.Enabled = True cmdPatientCheckOut.Enabled = True cmdRoom.Enabled = True cmdNewRoom.Enabled = True
70 | P a g e
cmdPatient.Enabled = True cmdNewUser.Enabled = True cmdStaff.Enabled = True Button1.Enabled = True cmdStaff.Enabled = False
End Sub
Private Sub cmdAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAbout.Click About.Show() End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Load_User() cmdHospitalization.Enabled = True cmdPatientCheckOut.Enabled = True cmdRoom.Enabled = True cmdNewRoom.Enabled = True cmdPatient.Enabled = True cmdNewUser.Enabled = True cmdStaff.Enabled = True
71 | P a g e
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub
Private Sub frmMain_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown About.Show() End Sub
72 | P a g e
Public Class NewRoom Dim cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim n As Integer ' Hello Guy this is my first code to show u about 'Hospital Management system .. 'In this Project it just Version 1. 'And I'm developing it to the next version as soon as 'And for more information about me visit me at ' Website: www.khmermega.blogspot.com ' Email : [email protected] ' Facebook : www.facebook.com/somdara 'If u want have any question relate to this Please, kindly contact me .. ' Thanks .. !
73 | P a g e
Private Sub NewRoom_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load cboBuilding.Items.Add("A") cboBuilding.Items.Add("B") cboRoomType.Items.Add("Normal") cboRoomType.Items.Add("Medium") cboRoomType.Items.Add("VIP") txtRoomNo.ReadOnly = True cnn.Open("Provider = Microsoft.ace.oledb.12.0 ; data source = dbStore.accdb") rs.Open("tblRoom", cnn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
End Sub
Private Sub cboBuilding_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles cboBuilding.KeyPress If Char.IsLetter(e.KeyChar) = False Then If e.KeyChar = CChar(ChrW(Keys.Back)) Or e.KeyChar = CChar(ChrW(Keys.Space)) Then e.Handled = False
74 | P a g e
Private Sub cboBuilding_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboBuilding.SelectedIndexChanged If cboBuilding.Text = "A" Then cboFloor.Items.Clear() cboFloor.Items.Add("Ground Floor") cboFloor.Items.Add("First Floor") ElseIf cboBuilding.Text = "B" Then cboFloor.Items.Clear() cboFloor.Items.Add("Ground Floor") cboFloor.Items.Add("First Floor") 'cboFloor.Items.Add("Second Floor") 'cboFloor.Items.Add("3")
75 | P a g e
Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click 'On Error GoTo 1 Try If cboBuilding.Text = "" Then MsgBox("Please, Select Building !", MsgBoxStyle.Information) cboBuilding.DroppedDown = True ElseIf cboFloor.Text = "" Then MsgBox("Please, Select Floor !", MsgBoxStyle.Information) cboFloor.DroppedDown = True ElseIf txtRoomNo.Text = "" Then MsgBox("Please, input RoomNo!", MsgBoxStyle.Information) txtRoomNo.Focus() ElseIf cboRoomType.Text = "" Then MsgBox("Please, Select RoomType !", MsgBoxStyle.Information) cboRoomType.DroppedDown = True ElseIf txtNumberOfBed.Text = "" Then MsgBox("Please, Input Number of Bed !", MsgBoxStyle.Information) txtNumberOfBed.Focus() ElseIf txtUnitPrice.Text = "" Then MsgBox("Please, Input Unite Price !", MsgBoxStyle.Information) txtUnitPrice.Focus() Else
76 | P a g e
rs.AddNew() rs.Fields(0).Value = txtRoomNo.Text rs.Fields(1).Value = cboBuilding.Text rs.Fields(2).Value = cboRoomType.Text rs.Fields(3).Value = txtNumberOfBed.Text rs.Fields(4).Value = txtUnitPrice.Text Call cboFloor_LostFocus(sender, e) rs.Fields(5).Value = n rs.Fields(6).Value = "Free" rs.Update() 'Call Reset() txtRoomNo.Text = "" : txtNumberOfBed.Text = "" : txtUnitPrice.Text = "" cboBuilding.Text = "" : cboRoomType.Text = "" : cboFloor.Text = "" MsgBox("Data Has been save !", MsgBoxStyle.Information)
77 | P a g e
Private Sub cmdClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClose.Click Me.Close() Main.Show() Main.cmdNewRoom.Enabled = True End Sub
Private Sub cboFloor_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles cboFloor.KeyPress If Char.IsLetter(e.KeyChar) = False Then If e.KeyChar = CChar(ChrW(Keys.Back)) Or e.KeyChar = CChar(ChrW(Keys.Space)) Then e.Handled = False
78 | P a g e
If cboFloor.Text = "Ground Floor" Then n=0 ElseIf cboFloor.Text = "First Floor" Then n=1 End If End Sub
Private Sub cboFloor_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboFloor.SelectedIndexChanged Call cboFloor_LostFocus(sender, e) txtRoomNo.Text = NewRoomNo("RoomNo", "tblRoom", cboBuilding.Text, n) End Sub
Private Sub cboRoomType_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles cboRoomType.KeyPress If Char.IsLetter(e.KeyChar) = False Then If e.KeyChar = CChar(ChrW(Keys.Back)) Or e.KeyChar = CChar(ChrW(Keys.Space)) Then e.Handled = False
79 | P a g e
Private Sub txtNumberOfBed_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNumberOfBed.KeyPress If Char.IsNumber(e.KeyChar) = False Then If e.KeyChar = CChar(ChrW(Keys.Back)) Or e.KeyChar = CChar(ChrW(Keys.Space)) Then e.Handled = False
80 | P a g e
Private Sub txtUnitPrice_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtUnitPrice.KeyPress If Char.IsNumber(e.KeyChar) = False Then If e.KeyChar = CChar(ChrW(Keys.Back)) Or e.KeyChar = CChar(ChrW(Keys.Space)) Then e.Handled = False
End If Else 'Do nothing By Mr Dara End If End Sub End Class
81 | P a g e
7. Snapshots
1. Login Form
82 | P a g e
2. Home Page
83 | P a g e
84 | P a g e
85 | P a g e
86 | P a g e
6. Room Information
87 | P a g e
88 | P a g e
89 | P a g e
9. Staff Information
90 | P a g e
91 | P a g e
8. Conclusion
The project Hospital Management System (HMS) is for computerizing the working in a hospital. The software takes care of all the requirements of an average hospital and is capable to provide easy and effective storage of information related to patients that come up to the hospital. It generates test reports; provide prescription details including various tests, diet advice, and medicines prescribed to patient and doctor. It also provides injection details and billing facility on the basis of patients status whether it is an indoor or outdoor patient. The system also provides the facility of backup as per the requirement.
92 | P a g e
9. Bibliography
1. Mastering VB 6.0 2. SMS hospital.