Sie sind auf Seite 1von 15

Hospital Management System

Ruby on Rails | Winter Training Project




NSIT
Rahul Singh | Rahul Raj
315/CO/11 | 314/CO/11



Problem Statement

Hospital Management System provides the benefits of streamlined
operations, enhanced administration & control, superior patient care,
strict cost control and improved profitability. HMS is powerful,
flexible, and easy to use and is designed and developed to deliver
real conceivable benefits to hospitals. More importantly it is backed
by reliable and dependable support.

The project Hospital Management System is based on the database,
object oriented and networking techniques. As there are many areas
where we keep the records in database for which we are using SQLite
software which is one of the best and the easiest software to keep our
information. This project uses Ruby on Rails as the front-end software
and has connectivity with SQLite.

Hospital Management System is custom built to meet the specific
requirement of the small size hospitals across the globe. All the
required modules and features have been particularly built to just fit
in to your requirement. Entire application is web based and built on 3
tier architecture using the latest technologies. The sound database of
the application makes it more users friendly and expandable. The
package is highly customizable and can be modified as per the needs
and requirements of our clients. Prolonged study of the
functionalities of the hospital and its specific requirement has given
it a wonderful shape both technically and usability wise. It covers
all the required modules right from Patient Registration,
Prescriptions, Doctor/Admin, Record modification, News etc.




Problem Introduction

Lack of immediate retrievals:
The information is very difficult to retrieve and to find particular
information. This results in inconvenience and wastage of time.
Lack of immediate information storage:
The information generated by various transactions takes time and
efforts to be stored at right place.
Lack of prompt updating:
Various changes to information like patient details are difficult to
make as paper work is involved.
Error prone manual calculation:
Manual calculations are error prone and take a lot of time this may
result in incorrect information.









Scope of the Project
1) Information about Patients is done by just writing the Patients
name. Whenever the Patient comes up his information is stored
freshly.
2) Patient Prescription 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.
3) Information about various diseases is not kept as any document.
Doctors themselves do this job by remembering various medicines.

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 Requirement Specification
HARDWARE CONFIGURATION
Processor : Core 2 duo processor
Memory : 4 GB RAM
Display : 15 LCD
Hard disk Drive : 500 GB


SOFTWARE CONFIGURATION
Operating System : Windows 8 Professional
Environment : Ruby
Database : SQLite
Server : WEBrick (Rails Server)


















Front End Software


Ruby on Rails

Ruby on Rails, often simply Rails, is an open source web application
framework which runs via the Ruby programming language. It is a full-
stack framework: it allows creating pages and applications that gather
information from the web server, talk to or query the database, and
render templates out of the box. As a result, Rails features a routing
system that is independent of the web server.

Ruby on Rails emphasizes the use of well-known software engineering
patterns and principles, such as active record pattern, convention
over configuration (CoC), don't repeat yourself (DRY), and modelview
controller (MVC).




CSS

Cascading Style Sheets (CSS) is a style sheet language used for
describing the look and formatting of a document written in a markup
language. While most often used to style web pages and interfaces
written in HTML and XHTML, the language can be applied to any kind of
XML document, including plain XML, SVG and XUL. CSS is a cornerstone
specification of the web and almost all web pages use CSS style sheets
to describe their presentation.







BACK END Software

Ruby

Ruby is a dynamic, reflective, object-oriented, general-purpose
programming language. It supports multiple programming paradigms,
including functional, object-oriented, and imperative. It also has a
dynamic type system and automatic memory management.


SQLite
SQLite is a relational database management system contained in a C
programming library. In contrast to other database management systems,
SQLite is not a separate process that is accessed from the client
application, but an integral part of it.

SQLite is a popular choice as embedded database for local/client
storage in application software such as web browsers. It is arguably
the most widely deployed database engine, as it is used today by
several widespread browsers, operating systems, and embedded systems,
among others.SQLite has many bindings to programming languages.







System Design
What is a Methodology?
Software engineering is carry out of using preferred procedure
techniques to progress the quality of a software development effort. A
methodology is defined as a collection of procedures, techniques,
tools, and documentation aids which will help developers in their
efforts (both product and process related activities) to implement a
new system. For successful implementation, a well-organized and
systematic approach is crucial. Therefore, several methodologies were
developed to encourage the systematic approach to planning, analysis,
design, testing and implementation. Methodologies offer various
tools and techniques to assist in analysis, design and testing
in terms of detailed design of software, data flowcharts and
database design.
Why Methodology?
1. To complete a project within time and budget with the expected
scope and quality we need methodologies which provide for a
framework.
2. Most methodologies have a general planning, developing and
managing stages in common. They suggest the development team the
ways of thinking, learning and arriving at a regular feasible
solution.
To select an ideal methodology was based on project requirements and
goals.
Functional Decomposition: The methodology should have stages
according to the interrelated activities which can be grouped
into different functional areas.
Requirement Changes: If required, methodology provides scope to
change the requirement.
Manage Risks: Determined the risk is an important activity to
develop a project.
Iterative approach: Iteration allows refinement of requirement as
well as design.
Documentation: Methodology provides support for large
documentation.
Analysis and Design Support: A well defined structure of the
methodology helps for analysis and designing to development
process..
Implementation: The system should be implemented as per plan.
Testing Support: More testing, more reliable the product is.
Object Oriented Approach: Object oriented concepts will be used
in developing the project as it supports component reusability.
Suitable Methodologies:
Waterfall Methodology:
All projects can be managed better when segmented into a hierarchy of
chunks such as phases, stages, activities, tasks and steps. It follows
a linear structure starting from requirement analysis, through design,
implementation and maintenance. Most widely accepted methodology for
student projects, this model has been well tried and tested. Each
phase of it has sub phases which produce deliverables. Requirements
are fixed at initial stages before proceeding with development plans
in system development projects; the simplest rendition of this is
called the "waterfall" methodology, as shown in the following figure:

The graphic illustrates a few critical principles of a good
methodology:
Work is done in stages,
Content reviews are conducted between stages, and
Reviews represent quality gates and decision points for
continuing.
The waterfall provides an orderly sequence of development steps and
helps ensure the adequacy of documentation and design reviews to
ensure the quality, reliability, and maintainability of the developed
software. While almost everyone these days disparages the "waterfall
methodology" as being needlessly slow and cumbersome, it does
illustrate.




Ruby on Rails Framework
A framework is a program, set of programs, and/or code library that
writes most of your application for you. When you use a framework,
your job is to write the parts of the application that make it do the
specific things you want.
When you set out to write a Rails application, leaving aside
configuration and other housekeeping chores you have to perform three
primary tasks:
Describe and model your application's domain: The domain is the
universe of your application. The domain may be music store,
university, dating service, address book, or hardware inventory. So
here you to figure out what's in it, what entities exist in this
universe and how the items in it relate to each other. This is
equivalent to modeling database structure to keep the entities and
their relationship.
Specify what can happen in this domain: The domain model is static,
Now you have to get dynamic. Addresses can be added to an address
book. Musical scores can be purchased from music stores. Users can log
in to a dating service. Students can register for classes at a
university. You need to identify all the possible scenarios or actions
that the elements of your domain can participate in.
Choose and design the publicly available views of the domain: At this
point, you can start thinking in Web-browser terms. Once you've
decided that your domain has students, and that they can register for
classes, you can envision a welcome page, a registration page, and a
confirmation page etc. Each of these pages, or views, shows the user
how things stand at certain point.
Based on the above three tasks, Ruby on Rails deals with a
Model/View/Controller (MVC) framework.









Ruby on Rails MVC framework
The Model View Controller principle divides the work of an application
into three separate but closely cooperative subsystems.
Model (ActiveRecord) :
Maintains the relationship between Object and Database and handles
validation, association, transactions, and more.
This subsystem is implemented in ActiveRecord library which provides
an interface and binding between the tables in a relational database
and the Ruby program code that manipulates database records. Ruby
method names are automatically generated from the field names of
database tables, and so on.
View ( ActionView ) :
A presentation of data in a particular format, triggered by a
controller's decision to present the data. They are script based
templating systems like JSP, ASP, PHP and very easy to integrate with
AJAX technology.
This subsystem is implemented in ActionView library which is an
Embedded Ruby (ERb) based system for defining presentation templates
for data presentation. Every Web connection to a Rails application
results in the displaying of a view.
Controller ( ActionController ):
The facility within the application that directs traffic, on the one
hand querying the models for specific data, and on the other hand
organizing that data (searching, sorting, massaging it) into a form
that fits the needs of a given view.
This subsystem is implemented in ActionController which is a data
broker sitting between ActiveRecord (the database interface) and
ActionView (the presentation engine).
Pictorial Representation of MVC Framework:
:

Directory Representation of MVC Framework:
Assuming a standard, default installation over Linux, you can find
them like this:
tp> cd /usr/local/lib/ruby/gems/1.8/gems
tp> ls
You will see subdirectories including (but not limited to) the
following:
actionpack-x.y.z
activerecord-x.y.z
rails-x.y.z
Over a windows installation you can find them link this:
C:\>cd ruby\lib\ruby\gems\1.8\gems
C:\ruby\lib\ruby\gems\1.8\gems\>dir
You will see subdirectories including (but not limited to) the
following:
actionpack-x.y.z
activerecord-x.y.z
rails-x.y.z
ActionView and ActionController are bundled together under ActionPack.
ActiveRecord provides a range of programming techniques and shortcuts
for manipulating data from an SQL database. ActionController and
ActionView provide facilities for manipulating and displaying that
data. Rails ties it all together.

Das könnte Ihnen auch gefallen