示例#1
0
 public Upload_controller()
 {
     lokalDB_      = new lokalDB();
     offentligDB_  = new OffentligDB();
     datasætListe_ = new List <DTO_Datasæt>();
     datasæt_      = new DTO_Datasæt();
 }
示例#2
0
        public vis_måling(gennemse_data frm, Gennemse_data_controller GennemseController)
        {
            InitializeComponent();

            Cursor = Cursors.WaitCursor;

            this.frm = frm;
            this.GennemseController = GennemseController;
            ipliste = new List <double>();
            count   = 0;
            ipTilbageKnap.Enabled = false;
            analyseretData.Annotations["IP"].Visible = false;

            datasæt_ = GennemseController.hentAnalyseretDatasæt();

            CPRTextBox.Text       = datasæt_.Pd_.CPRNummer_;
            fornavnTextBox.Text   = datasæt_.Pd_.Fornavn_;
            efternavnTextBox.Text = datasæt_.Pd_.Efternavn_;

            gammelkommentar();

            dataCountCorr = ((datasæt_.Data_.Count) - (datasæt_.Data_.Count % datasæt_.SampleRateHz_)) / datasæt_.SampleRateHz_;

            skrivTilGraf(0, true);
            ipTekstBox.Text = "" + datasæt_.Ip_.Count;

            Cursor = Cursors.Default;
        }
 public Gennemse_data_controller(string brugerId)
 {
     lokalDB_        = new lokalDB();
     dtoDatasæt_     = new DTO_Datasæt();
     dtoDatasætList_ = new List <DTO_Datasæt>();
     dtoPD_          = new DTO_PatientData();
     ipListe_        = new List <double>();
     brugerId_       = brugerId;
 }
示例#4
0
        //
        //Use-case 6
        //

        //Gemmer et datasæt i den lokale database.
        public bool gemDatasæt(DTO_Datasæt ds, bool annonymt)
        {
            try
            {
                if (annonymt)
                {
                    ds.Pd_.CPRNummer_ = "1234567890";
                    ds.Pd_.Fornavn_   = "N";
                    ds.Pd_.Efternavn_ = "N";
                }

                string sql = "INSERT INTO EKGMAELING(dato, antalmaalinger, " +
                             "sfp_maaltagermedarbjnr, sfp_mt_kommentar, sfp_ansvrmedarbjnr, " +
                             "sfp_ans_org, sfp_anskommentar, borger_fornavn, borger_efternavn, " +
                             "borger_cprnr)" +
                             "OUTPUT INSERTED.ekgmaaleid " +
                             "VALUES(CONVERT(DATETIME, '" + ds.Dato_.ToString("yyy-MM-dd HH:mm:ss") + "'), " + ds.AntalMålinger_ + ", '"
                             + ds.MåltagerBrugerId_ + "', '" + ds.printMåltagerKommentar() + "', '"
                             + ds.AnsvarstagerBrugerId_ + "', '" + ds.AnsvarstagerOrg_ + "', '"
                             + ds.printIP() + "" + ds.printAnsvarstagerKommentar() + "', '"
                             + ds.Pd_.Fornavn_ + "', '" + ds.Pd_.Efternavn_ + "', '" + ds.Pd_.CPRNummer_ + "')";

                cmd = new SqlCommand(sql, conn);

                conn.Open();

                long ekgMåleId = (long)cmd.ExecuteScalar();

                conn.Close();

                sql = "INSERT INTO EKGDATA(raa_data, samplerate_hz, interval_sec, " +
                      "data_format, bin_eller_tekst, maaleformat_type, start_tid, ekgmaaleid) "
                      + "VALUES(@data, " + ds.SampleRateHz_ + ", " + ds.IntervalSek_ + ", '"
                      + ds.DataFormat_ + "', '" + ds.BinEllerTxt_ + "', '" + ds.MåleformatType_ + "', "
                      + "CONVERT(DATETIME, '" + ds.StartTid_.ToString("yyy-MM-dd HH:mm:ss") + "'), " + ekgMåleId + ")";

                cmd = new SqlCommand(sql, conn);

                conn.Open();

                cmd.Parameters.AddWithValue("@data", ds.Data_.ToArray().SelectMany(value => BitConverter.GetBytes(value)).ToArray());

                cmd.ExecuteScalar();

                conn.Close();

                return(true);
            }
            catch (Exception ex)
            {
                conn.Close();
                System.Windows.Forms.MessageBox.Show("" + ex.Message);
                return(false);
            }
        }
示例#5
0
 public bool indlæsValgtDatasæt(int index, bool anonym)
 {
     datasæt_ = lokalDB_.hentDatasæt(datasætListe_[index]);
     if (offentligDB_.gemDatasæt(datasæt_, anonym))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
 public bool gemAnalyseretData(DTO_Datasæt ds)
 {
     try
     {
         lokalDB_.gemIP(ds);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
        public bool indlæsValgtDatasæt(int index)
        {
            datasæt_ = offentligDB_.downloadDataFraOffDB(datasætListe_[index]);

            if (!lokalDB_.findPatient(datasæt_.Pd_))
            {
                lokalDB_.tilføjPatient(datasæt_.Pd_);
            }

            if (lokalDB_.gemDatasæt(datasæt_))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#8
0
        //Skriver kommentar for ansvarstager til søgt ekg id
        public void gemKommentar(DTO_Datasæt ds)
        {
            try
            {
                string sql = "UPDATE EKGMAALING SET sfp_anskommentar = '"
                             + ds.printAnsvarstagerKommentar() + "', sfp_ansvrmedarbejnr = '"
                             + ds.AnsvarstagerBrugerId_ + "'  WHERE ekgmaaleid = " + ds.EkgId_;

                cmd = new SqlCommand(sql, conn);

                conn.Open();
                cmd.ExecuteScalar();
                conn.Close();
            }
            catch (Exception ex)
            {
                conn.Close();
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
        }
        public bool analyserValgtDatasæt(int index)
        {
            dtoDatasæt_ = lokalDB_.hentDatasæt(dtoDatasætList_[index]);
            try
            {
                if (dtoDatasætList_[index].Ip_.Count == 0)
                {
                    dtoDatasæt_.Ip_ = findRR(dtoDatasæt_.Data_);
                }
                else
                {
                    dtoDatasæt_.Ip_ = dtoDatasætList_[index].Ip_;
                }

                return(true);
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Kunne ikke hente datasæt" + ex.Message);
                return(false);
            }
        }
示例#10
0
        //Henter data tilhørende et valgt datasæt
        public DTO_Datasæt downloadDataFraOffDB(DTO_Datasæt ds)
        {
            try
            {
                string sql = "SELECT * FROM EKGDATA WHERE ekgmaaleid =" + ds.EkgId_;

                cmd = new SqlCommand(sql, conn);

                conn.Open();

                rdr = cmd.ExecuteReader();

                if (rdr.Read() && (long)rdr["ekgmaaleid"] == ds.EkgId_)
                {
                    ds.SampleRateHz_   = Convert.ToDouble(rdr["samplerate_hz"]);
                    ds.IntervalSek_    = (long)rdr["interval_sec"];
                    ds.DataFormat_     = (string)rdr["data_format"];
                    ds.BinEllerTxt_    = Convert.ToChar(rdr["bin_eller_tekst"]);
                    ds.MåleformatType_ = (string)rdr["maaleformat_type"];
                    ds.StartTid_       = Convert.ToDateTime(rdr["start_tid"]);

                    byte[] bytes = (byte[])rdr["raa_data"];

                    for (int i = 0; i < bytes.Length; i += 8)
                    {
                        ds.Data_.Add(BitConverter.ToDouble(bytes, i));
                    }
                }

                conn.Close();
                return(ds);
            }
            catch (Exception ex)
            {
                conn.Close();
                System.Windows.Forms.MessageBox.Show("" + ex.Message);
                return(null);
            }
        }
示例#11
0
        //Gemmer fundne interessepunkter til db
        public void gemIP(DTO_Datasæt ds)
        {
            try
            {
                string sql = "UPDATE EKGDATA SET interessepunkter = @data WHERE ekgmaaleid =" + ds.EkgId_;;

                cmd = new SqlCommand(sql, conn);

                conn.Open();

                cmd.Parameters.AddWithValue("@data", ds.Ip_.ToArray().SelectMany(value => BitConverter.GetBytes(value)).ToArray());

                cmd.ExecuteScalar();

                conn.Close();
            }
            catch (Exception ex)
            {
                conn.Close();
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
        }
示例#12
0
 public Preview_controller()
 {
     lokalDB_    = new lokalDB();
     dataListe_  = new List <double>();
     dtoDatasæt_ = new DTO_Datasæt();
 }
 public bool gemKommentar(DTO_Datasæt ds)
 {
     ds.AnsvarstagerBrugerId_ = brugerId_;
     lokalDB_.gemKommentar(ds);
     return(true);
 }
示例#14
0
        //
        // Use-case 5
        //

        //søger efter søgeord i offentlig database
        public List <DTO_Datasæt> søgIOffDB(string søgeord)
        {
            try
            {
                List <DTO_Datasæt> dsList = new List <DTO_Datasæt>();

                string sql = "DECLARE @searchString NVARCHAR(100) " +
                             "SET @searchString = '%" + søgeord + "%' " +
                             "SELECT * FROM EKGMAELING " +
                             "WHERE sfp_mt_kommentar LIKE @searchString " +
                             "OR sfp_anskommentar LIKE  @searchString " +
                             "OR borger_cprnr LIKE @searchString " +
                             "OR dato LIKE @searchString " +
                             "OR sfp_ans_org LIKE @searchString " +
                             "OR sfp_ansvrmedarbjnr LIKE @searchString " +
                             "OR sfp_maaltagermedarbjnr LIKE @searchString " +
                             "OR borger_fornavn LIKE @searchString " +
                             "OR borger_efternavn LIKE @searchString " +
                             "ORDER BY dato DESC";

                cmd = new SqlCommand(sql, conn);

                conn.Open();

                rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    DTO_Datasæt ds = new DTO_Datasæt();
                    if (rdr["borger_cprnr"] != DBNull.Value)
                    {
                        ds.Pd_.CPRNummer_ = (string)rdr["borger_cprnr"];
                    }
                    if (rdr["borger_fornavn"] != DBNull.Value)
                    {
                        ds.Pd_.Fornavn_ = (string)rdr["borger_fornavn"];
                    }
                    if (rdr["borger_efternavn"] != DBNull.Value)
                    {
                        ds.Pd_.Efternavn_ = (string)rdr["borger_efternavn"];
                    }

                    ds.EkgId_ = (long)rdr["ekgmaaleid"];

                    if (rdr["sfp_anskommentar"] != DBNull.Value)
                    {
                        ds.AnsvarstagerKommentar_.Add((string)rdr["sfp_anskommentar"]);
                    }

                    if (rdr["sfp_mt_kommentar"] != DBNull.Value)
                    {
                        ds.MåltagerKommentar_.Add((string)rdr["sfp_mt_kommentar"]);
                    }

                    ds.Dato_                 = Convert.ToDateTime(rdr["dato"]);
                    ds.AnsvarstagerOrg_      = (string)rdr["sfp_ans_org"];
                    ds.AnsvarstagerBrugerId_ = (string)rdr["sfp_ansvrmedarbjnr"];

                    if (rdr["sfp_maaltagermedarbjnr"] != DBNull.Value)
                    {
                        ds.MåltagerBrugerId_ = (string)rdr["sfp_maaltagermedarbjnr"];
                    }


                    ds.SøgeResultat_ = omskrivSøgeResultat(rdr, søgeord);

                    dsList.Add(ds);
                }

                conn.Close();
                return(dsList);
            }
            catch (Exception ex)
            {
                conn.Close();
                System.Windows.Forms.MessageBox.Show("" + ex.Message);
                return(null);
            }
        }
示例#15
0
        //Henter de valgte datasæt fra databasen
        public DTO_Datasæt hentDatasæt(DTO_Datasæt ds)
        {
            try
            {
                cmd = new SqlCommand("SELECT * FROM EKGMAALING WHERE ekgmaaleid =" + ds.EkgId_, conn);

                conn.Open();

                rdr = cmd.ExecuteReader();

                if (rdr.Read())
                {
                    ds.MåltagerKommentar_.Clear();
                    ds.AnsvarstagerKommentar_.Clear();
                    ds.MåltagerKommentar_.Add(Convert.ToString(rdr["sfp_mt_kommentar"]));
                    ds.AnsvarstagerKommentar_.Add(Convert.ToString(rdr["sfp_anskommentar"]));
                }
                conn.Close();


                cmd = new SqlCommand("SELECT * FROM EKGDATA WHERE ekgmaaleid =" + ds.EkgId_, conn);

                conn.Open();

                rdr = cmd.ExecuteReader();

                if (rdr.Read())
                {
                    if ((long)rdr["ekgmaaleid"] == ds.EkgId_)
                    {
                        ds.SampleRateHz_   = Convert.ToDouble(rdr["samplerate_hz"]);
                        ds.IntervalSek_    = Convert.ToInt64(rdr["interval_sec"]);
                        ds.DataFormat_     = (string)rdr["data_format"];
                        ds.BinEllerTxt_    = Convert.ToChar(rdr["bin_eller_tekst"]);
                        ds.MåleformatType_ = (string)rdr["maaleformat_type"];
                        ds.StartTid_       = Convert.ToDateTime(rdr["start_tid"]);

                        byte[] bytes = (byte[])rdr["raa_data"];

                        if (ds.Data_.Count == 0)
                        {
                            for (int i = 0; i < bytes.Length; i += 8)
                            {
                                ds.Data_.Add(BitConverter.ToDouble(bytes, i));
                            }
                        }


                        if (rdr["interessepunkter"] != DBNull.Value && ds.Ip_.Count == 0)
                        {
                            byte[] bytesIP = (byte[])rdr["interessepunkter"];

                            for (int i = 0; i < bytesIP.Length; i += 8)
                            {
                                ds.Ip_.Add(BitConverter.ToDouble(bytesIP, i));
                            }
                        }
                    }
                }

                conn.Close();
                return(ds);
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
                conn.Close();
                return(null);
            }
        }
示例#16
0
        //
        //Use-case 4
        //

        //Henter relevant data til visning, ud fra det søgte cpr
        public List <DTO_Datasæt> hentCPRData(string cpr)
        {
            try
            {
                //ekgmaaleid skal også sendes retur, da det er den vi skal bruge i findDatasæt til at finde ud af om den er analyseret eller ej.
                DTO_Datasæt        ds      = new DTO_Datasæt();
                List <DTO_Datasæt> dsListe = new List <DTO_Datasæt>();


                //Finder CPR, dato og ID for de tilgængelige datasæt, tilknyttet det søgte CPR
                cmd = new SqlCommand("SELECT * FROM EKGMAALING WHERE borger_cprnr ='" + cpr + "' ORDER BY dato DESC", conn);
                conn.Open();
                rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    if (Convert.ToString(rdr["borger_cprnr"]) == cpr)
                    {
                        ds                = new DTO_Datasæt();
                        ds.EkgId_         = (Convert.ToInt64(rdr["ekgmaaleid"]));
                        ds.Dato_          = (Convert.ToDateTime(rdr["dato"]));
                        ds.Pd_.CPRNummer_ = Convert.ToString(rdr["borger_cprnr"]);
                    }
                    dsListe.Add(ds);
                }

                conn.Close();


                //Tilføjer fornavn og efternavn til de fundne datasæt
                cmd = new SqlCommand("SELECT * FROM PatientData WHERE CPR ='" + cpr + "'", conn);
                conn.Open();
                rdr = cmd.ExecuteReader();

                if (rdr.Read())
                {
                    if (Convert.ToString(rdr["CPR"]) == cpr)
                    {
                        ds.Pd_.Fornavn_   = Convert.ToString(rdr["Fornavn"]);
                        ds.Pd_.Efternavn_ = Convert.ToString(rdr["Efternavn"]);

                        foreach (DTO_Datasæt e in dsListe)
                        {
                            e.Pd_.Fornavn_   = ds.Pd_.Fornavn_;
                            e.Pd_.Efternavn_ = ds.Pd_.Efternavn_;
                        }

                        if (dsListe.Count == 0)
                        {
                            ds.EkgId_ = 0;
                            dsListe.Add(ds);
                        }
                    }
                }

                conn.Close();

                return(dsListe);
            }
            catch (Exception ex)
            {
                conn.Close();
                System.Windows.Forms.MessageBox.Show(ex.Message);
                return(null);
            }
        }