Click here to Skip to main content
15,897,187 members
Articles / Mobile Apps / Windows Mobile

Pocket Personal Health Record

Rate me:
Please Sign up or sign in to vote.
4.75/5 (4 votes)
17 Feb 2009Ms-PL2 min read 28.8K   1.1K   24  
Personal Pocket Health Record (PPHR) application helps to store and track a user's personal details and visits information on Windows powered pocket PC.
//**************************************************************************//
// Copyright (C) Abdul Rasheed. All rights Reserved.                        //
// rasheedat.blogspot.com                                                   //
//**************************************************************************//
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using PPHR.Common;
using PPHR.DataAccess;
namespace PPHR.DataLogic
{
    /// <summary>
    /// Holds all report queries
    /// </summary>
    public class ReportsDataLogic
    {
        DBConnection dbCon = new DBConnection();

        /// <summary>
        /// Get all visit details as single table
        /// </summary>
        /// <param name="PVData"></param>
        /// <returns></returns>
        public DataTable VisitReport(VisitReportData PVData)
        {
            DataTable dt = null;
            try
            {
                string sql = string.Empty;
                string where = string.Empty;
                sql = "SELECT ";
                sql += "  V.VisitNumber, V.VisitDate, MC.Description AS VisitType, V.ConsultantName, V.FacilityName, ";
                sql += "  V.VisitDetail, VP.PrescriptionDocument, VP.Note AS PreNote, VD.DoctorVoiceComment, ";
                sql += "  VD.Note AS DrNote, VA.AdditionalInformationDocument, VA.Note AS AddNote";
                sql += " FROM";
                sql += " VisitPrescription VP RIGHT OUTER JOIN";
                sql += "   VisitDoctorVoice VD RIGHT OUTER JOIN";
                sql += "     VisitAdditionalInfo VA RIGHT OUTER JOIN";
                sql += "       MasterCodes MC INNER JOIN";
                sql += "         VisitDetail V ";
                sql += "       ON V.VisitType = MC.Code And MC.CodeGroup = 'VISITTYP'";
                sql += "     ON V.VisitNumber = VA.VisitID ";
                sql += "   ON V.VisitNumber = VD.VisitID ";
                sql += " ON V.VisitNumber = VP.VisitNumber";
                if (!PVData.DrName.Trim().Equals(string.Empty))
                {
                    where += " AND V.ConsultantName like '%" + PVData.DrName.Trim() + "%'";
                }
                if (!PVData.FacilityName.Trim().Equals(string.Empty))
                {
                    where += " AND V.FacilityName like '%" + PVData.FacilityName.Trim() + "%'";
                }
                if (PVData.StartDate != null)
                {
                    where += " AND V.VisitDate >='" + PVData.StartDate + "'";
                }
                if (PVData.EndDate != null)
                {
                    where += " AND V.VisitDate <='" + PVData.EndDate + "'";
                }
                if (!where.Trim().Equals(string.Empty))
                {
                    sql += " Where 1=1 " + where;
                }
                sql += " Order By V.VisitDate DESC";
                dt = dbCon.ExecuteQueryAndGetDataTable(sql);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.InnerException.ToString(), ex);
            }
            return dt;
        }
       
        /// <summary>
        /// Get visit information
        /// </summary>
        /// <param name="PVData">Report filter criteria</param>
        /// <returns></returns>
        public DataTable VisitReportHeader(VisitReportData PVData)
        {
            DataTable dt = null;
            try
            {
                string sql = string.Empty;
                string where = string.Empty;
                sql = "SELECT ";
                sql += "  V.VisitNumber, V.VisitDate, MC.Description AS VisitType, V.ConsultantName, V.FacilityName, ";
                sql += "  V.VisitDetail ";
                sql += " FROM";
                sql += "       MasterCodes MC INNER JOIN";
                sql += "         VisitDetail V ";
                sql += "       ON V.VisitType = MC.Code And MC.CodeGroup = 'VISITTYP'";
                if (!PVData.DrName.Trim().Equals(string.Empty))
                {
                    where += " AND V.ConsultantName like '%" + PVData.DrName.Trim() + "%'";
                }
                if (!PVData.FacilityName.Trim().Equals(string.Empty))
                {
                    where += " AND V.FacilityName like '%" + PVData.FacilityName.Trim() + "%'";
                }
                if (PVData.StartDate != null && !PVData.StartDate.ToString().Equals("1/1/01 12:00:00 AM"))
                {
                    where += " AND V.VisitDate >='" + PVData.StartDate + "'";
                }
                if (PVData.EndDate != null && !PVData.StartDate.ToString().Equals("1/1/01 12:00:00 AM"))
                {
                    where += " AND V.VisitDate <='" + PVData.EndDate + "'";
                }
                if (!PVData.VisitType.Trim().Equals(string.Empty))
                {
                    where += " AND V.VisitType ='" + PVData.VisitType+ "'";
                }
                if (!where.Trim().Equals(string.Empty))
                {
                    sql += " Where 1=1 " + where;
                }
                sql += " Order By V.VisitDate DESC";
                dt = dbCon.ExecuteQueryAndGetDataTable(sql);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.InnerException.ToString(), ex);
            }
            return dt;
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
India India
Called as Rasheed. Completed Master of Computer science. Working as Senior Consultant in Chennai, India.

Try to achive in different stream

Comments and Discussions