Medical gadgets to keep at home to track your health regularly

It helps a lot if you are able to provide accurate and consistent data about your data to your doctor. Along with regular health checkups, it becomes easy for the doctor to diagnose any illness or ailment if there’s proper data available about your health. Low-cost gadgets which help in tracking your vitals like blood pressure, blood oxygen levels, respiration rate, pulse rate and others come handy at times.

When it comes to buying medical gadgets for personal usage, it is highly recommended that you talk to your doctor to get the right advice. Here are seven medical gadgets you may want to keep at home to track your health regularly.

Note: This article doesn’t recommend any particular device from any brand. Talk to your doctor or medical professional on the correct usage and accuracy levels before using any healthcare device. This article is simply intended to inform readers about basic personal health tracking devices that are available in India and in no way provides any information vetted by a medical professional or organisation. Also, note that some devices may interfere with pacemakers or other devices, so do talk to your doctor before using any device.

<%@ Page Title="MultipleFileUplode" Language="C#" Async="true" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="MultipleFileAttachment.aspx.cs" Inherits="MultipleFileuplodeSendMailAsyncMultipleFileAttachment.MultipleFileAttachment" %>  
<asp:Content ID="Content1" ContentPlaceHolderID="titleContent" runat="server">Send Asynchronous Mail with Multiple File Attachment and Multiple File Upload using ASP.NET 4.5  
</asp:Content>  
<asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server">  
     <script type="text/javascript">  
         function validationCheck() {  
             var summary = "";  
             summary += isvalidName();  
             summary += isvalidEmail();  
             summary += isvalidSubject();  
             summary += isvalidMessage();  
             if (summary != "") {  
                 alert(summary);  
                 return false;  
             }  
             else {  
                 return true;  
             }  
         }  
         function isvalidName() {  
             var id;  
             var temp = document.getElementById("<%=txtName.ClientID %>");  
            id = temp.value;  
            if (id == "") {  
                return ("Please enter Name" + "\n");  
            }  
            else {  
                return "";  
            }  
        }  
        function isvalidEmail() {  
            var id;  
            var temp = document.getElementById("<%=txtEmail.ClientID %>");  
            id = temp.value;  
            var re = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;  
            if (id == "") {  
                return ("Please Enter Email" + "\n");  
            }  
            else if (re.test(id)) {  
                return "";  
            }  
  
            else {  
                return ("Email should be in the form abc@xyz.com" + "\n");  
            }  
        }  
        function isvalidSubject() {  
            var id;  
            var temp = document.getElementById("<%=txtSubject.ClientID %>");  
             id = temp.value;  
             if (id == "") {  
                 return ("Please enter Subject" + "\n");  
             }  
             else {  
                 return "";  
             }  
         }  
         function isvalidMessage() {  
             var id;  
             var temp = document.getElementById("<%=txtMessage.ClientID %>");  
            id = temp.value;  
            if (id == "") {  
                return ("Please enter Message" + "\n");  
            }  
            else {  
                return "";  
            }  
        }  
  
    </script>  
  
</asp:Content>  
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">  
     <table style="width: 100%;">  
        <tr>  
            <td>Name:</td>  
            <td>  
                <asp:TextBox ID="txtName" runat="server" CssClass="txt"></asp:TextBox></td>  
            <td> </td>  
        </tr>  
        <tr>  
            <td>Email ID:</td>  
            <td>  
                <asp:TextBox ID="txtEmail" runat="server" CssClass="txt"></asp:TextBox></td>  
            <td> </td>  
        </tr>  
        <tr>  
            <td>Subject:</td>  
            <td>  
                <asp:TextBox ID="txtSubject" runat="server" CssClass="txt"></asp:TextBox></td>  
            <td> </td>  
        </tr>  
         <tr>  
             <td>Attach a file:</td>  
             <td>  
                 <asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="true" />  
             </td>  
             <td></td>  
         </tr>  
        <tr>  
            <td>Message:</td>  
            <td>  
                <asp:TextBox ID="txtMessage" runat="server" Height="100px" Width="200px" CssClass="textarea" TextMode="MultiLine" ></asp:TextBox>  
            </td>  
            <td> </td>  
        </tr>  
        <tr>  
            <td></td>  
            <td>  
                <asp:Button ID="btnSendMail" runat="server" Text="Send Mail" CssClass="button" OnClick="btnSendMail_Click"  /></td>  
        </tr>  
    </table>  
</asp:Content>
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
//Using namespaces  
using System.IO;  
using System.Net;  
using System.Net.Mail;  
using System.Net.Mime;  
using System.Threading;  
using System.ComponentModel;  
using System.Text;  
using System.Web.Util;  
  
namespace MultipleFileuplodeSendMailAsyncMultipleFileAttachment  
{  
    public partial class MultipleFileAttachment : System.Web.UI.Page  
    {  
        protected void Page_Load(object sender, EventArgs e)  
        {  
            try  
            {  
                if (!Page.IsPostBack)  
                {  
                    Deletefolder(); CreatesFolder();  
                    btnSendMail.Attributes.Add("onclick", "javascript:return validationCheck()");  
                }  
            }  
            catch (Exception ex)  
            {  
                ShowMessage(ex.Message);  
            }  
        }  
 
        #region show message  
        /// <summary>  
        /// This function is used for show message.  
        /// </summary>  
        /// <param name="msg"></param>  
        void ShowMessage(string msg)  
        {  
            ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('" + msg + "');</script>");  
        }  
        #endregion  
        #region SendAsyncCancel  
        /// <summary>  
        /// this code used to SmtpClient.SendAsyncCancel Method  
        /// </summary>  
        // static bool mailSent = false;  
        void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)  
        {  
            if (e.Cancelled)  
            {  
                ShowMessage("Send canceled.");  
            }  
            if (e.Error != null)  
            {  
                ShowMessage(e.Error.ToString());  
            }  
            else  
            {  
                ShowMessage("Email sent successfully");  
            }  
        }  
        #endregion  
        #region SendMailAsync  
        /// <summary>  
        /// this code used to SmtpClient.SendCompleted Event and Multiple File Attachment   
        /// </summary>  
        /// <param name="sender"></param>  
        /// <param name="e"></param>  
        protected void btnSendMail_Click(object sender, EventArgs e)  
        {  
            try  
            {  
                MailMessage message = new MailMessage();  
                message.To.Add(txtEmail.Text.Trim());  
                message.From = new MailAddress("YouEmailID@gmail.com", "Sendmailasync with Attachment");  
                message.Subject = txtSubject.Text.Trim();  
                message.Body = txtMessage.Text.Trim();  
                message.IsBodyHtml = true;  
                //Multiple File Upload and Save all Attachment File  
                if (FileUpload1.HasFiles)  
                {  
                    foreach (HttpPostedFile uploadedFile in FileUpload1.PostedFiles)  
                    {  
                        uploadedFile.SaveAs(System.IO.Path.Combine(Server.MapPath("~/UploadedFiles/"), uploadedFile.FileName));                          
                    }  
                }  
                //Multiple File Attachment   
                string Uplodefile = Request.PhysicalApplicationPath + "UploadedFiles\\";  
                string[] S1 = Directory.GetFiles(Uplodefile);  
                foreach (string fileName in S1)  
                {  
                    message.Attachments.Add(new Attachment(fileName));  
                }  
                SmtpClient smtp = new SmtpClient();  
                smtp.Host = "smtp.gmail.com";  
                smtp.Credentials = new System.Net.NetworkCredential("YouEmailID@gmail.com", "YouPassword");  
                smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);  
                smtp.EnableSsl = true;  
                smtp.SendMailAsync(message);  
            }  
            catch (Exception ex)  
            {  
                ShowMessage(ex.Message);  
            }  
            clear();   
        }  
        #endregion  
        #region clear,Deletefolder and CreatesFolder  
        /// <summary>  
        /// This Function is used TextBox Empty.  
        /// </summary>  
        void clear()  
        {  
            txtName.Text = string.Empty; txtEmail.Text = string.Empty; txtSubject.Text = string.Empty; txtMessage.Text = string.Empty;  
            txtName.Focus();  
        }  
        /// <summary>  
        /// This Function used to Directory Folder Delete (UploadedFiles)  
        /// </summary>  
        void Deletefolder()  
        {              
            DirectoryInfo thisFolder = new DirectoryInfo(Server.MapPath("UploadedFiles"));  
            if (thisFolder.Exists)  
            {  
                thisFolder.Delete(true);  
            }  
        }  
        /// <summary>  
        /// This Code used to Directory Folder Create (UploadedFiles)  
        /// </summary>  
        void CreatesFolder()  
        {  
            DirectoryInfo thisFolder = new DirectoryInfo(Server.MapPath("UploadedFiles"));  
            if (!thisFolder.Exists)  
            {  
                thisFolder.Create();  
            }  
        }  
        #endregion  
    }  
}