Hospital Management System

Embed Size (px)

DESCRIPTION

dccsxsaxsacxsacscscscsacxzdawwsxzcxzvaefvasc

Citation preview

  • 5/26/2018 Hospital Management System

    1/15

    Hospital Management SystemRuby on Rails | Winter Training Project

    NSIT

    Rahul Singh | Rahul Raj

    315/CO/11 | 314/CO/11

  • 5/26/2018 Hospital Management System

    2/15

    Problem StatementHospital Management System provides the benefits of streamlinedoperations, 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 areaswhere 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.

  • 5/26/2018 Hospital Management System

    3/15

    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.

  • 5/26/2018 Hospital Management System

    4/15

    Scope of the Project1)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, whichcontains 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.

  • 5/26/2018 Hospital Management System

    5/15

    Software Requirement SpecificationHARDWARE 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)

  • 5/26/2018 Hospital Management System

    6/15

    Front End SoftwareRuby on Rails

    Ruby on Rails, often simply Rails, is an open source web applicationframework which runs via the Ruby programming language. It is a full-

    stack framework: it allows creating pages and applications that gatherinformation from the web server, talk to or query the database, andrender 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 engineeringpatterns and principles, such as active record pattern, convention

    over configuration (CoC), don't repeat yourself (DRY), and modelviewcontroller (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.

  • 5/26/2018 Hospital Management System

    7/15

    B CK END SoftwareRuby

    Ruby is a dynamic, reflective, object-oriented, general-purposeprogramming language. It supports multiple programming paradigms,

    including functional, object-oriented, and imperative. It also has adynamic 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 byseveral widespread browsers, operating systems, and embedded systems,

    among others.SQLite has many bindings to programming languages.

  • 5/26/2018 Hospital Management System

    8/15

    System DesignWhat 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 weredeveloped 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 expectedscope and quality we need methodologies which provide for a

    framework.

    2.Most methodologies have a general planning, developing andmanaging 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.

  • 5/26/2018 Hospital Management System

    9/15

    Functional Decomposition: The methodology should have stagesaccording to the interrelated activities which can be grouped

    into different functional areas.

    Requirement Changes: If required, methodology provides scope tochange the requirement.

    Manage Risks: Determined the risk is an important activity todevelop a project.

    Iterative approach: Iteration allows refinement of requirement aswell as design.

    Documentation: Methodology provides support for largedocumentation.

    Analysis and Design Support: A well defined structure of themethodology 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

  • 5/26/2018 Hospital Management System

    10/15

    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.

  • 5/26/2018 Hospital Management System

    11/15

    Ruby on Rails FrameworkA 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

  • 5/26/2018 Hospital Management System

    12/15

    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.

  • 5/26/2018 Hospital Management System

    13/15

    Ruby on Rails MVC frameworkThe 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

  • 5/26/2018 Hospital Management System

    14/15

    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:

    :

  • 5/26/2018 Hospital Management System

    15/15

    Directory Representation of MVC Framework:

    Assuming a standard, default installation over Linux, you can findthem like this:

    tp> cd /usr/local/lib/ruby/gems/1.8/gemstp> 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) thefollowing:

    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 shortcutsfor manipulating data from an SQL database. ActionController and

    ActionView provide facilities for manipulating and displaying thatdata. Rails ties it all together.