Beispiel #1
0
        public List <Patient> GetAllData()
        {
            gdcm.DataSetArrayType wynik = PatientQuery();
            // pokaż wyniki
            foreach (gdcm.DataSet x in wynik)
            {
                PatientDataReader de = new PatientDataReader(x.toString());

                FramesQuery(de.PatientID);

                patientList.Add(new Patient(de.PatientID, de.PatientName, ImageNames, Images, dane, Datas));
            }
            return(patientList);
        }
Beispiel #2
0
        private gdcm.DataSetArrayType PatientQuery()
        {
            // typ wyszukiwania (rozpoczynamy od pacjenta)
            gdcm.ERootType typ = gdcm.ERootType.ePatientRootType;

            // do jakiego poziomu wyszukujemy
            gdcm.EQueryLevel poziom = gdcm.EQueryLevel.ePatient; // zobacz inne

            // klucze (filtrowanie lub określenie, które dane są potrzebne)
            gdcm.KeyValuePairArrayType klucze = new gdcm.KeyValuePairArrayType();
            //gdcm.Tag tag = new gdcm.Tag(0x0010, 0x0010);
            gdcm.KeyValuePairType klucz1 = new gdcm.KeyValuePairType(new gdcm.Tag(0x0010, 0x0010), "*");
            klucze.Add(klucz1);
            klucze.Add(new gdcm.KeyValuePairType(new gdcm.Tag(0x0010, 0x0020), ""));

            // skonstruuj zapytanie
            gdcm.BaseRootQuery zapytanie = gdcm.CompositeNetworkFunctions.ConstructQuery(typ, poziom, klucze);

            gdcm.DataSetArrayType wynik = new gdcm.DataSetArrayType();

            // sprawdź, czy zapytanie spełnia kryteria
            if (!zapytanie.ValidateQuery())
            {
                MessageBox.Show("Wrong patient query.", "Error");
            }
            else
            {
                // wykonaj zapytanie

                bool stan = gdcm.CompositeNetworkFunctions.CFind(ip, port, zapytanie, wynik, aet, call);

                // sprawdź stan
                if (!stan)
                {
                    MessageBox.Show("PACS server doesn't work.", "Error");
                }
            }
            return(wynik);
        }
Beispiel #3
0
        private void GetData()
        {
            data.Clear();
            gdcm.DataSetArrayType wynik = PatientQuery();
            List <string>         ex1   = new List <string>();

            // pokaż wyniki
            foreach (gdcm.DataSet x in wynik)
            {
                EyeStation.PACSDAO.PatientDataReader de = new EyeStation.PACSDAO.PatientDataReader(x.toString());

                string dane;
                string name;
                string segmentation_name;
                Dictionary <string, Dictionary <string, string> > Datas;

                FramesQuery(de.PatientID, out dane, out name, out Datas, out segmentation_name);

                data.Add(new PACSDAO.Patient(de.PatientID, de.PatientName, name, dane, Datas, segmentation_name));
                ex1.Add(String.Format("{0}", name));
                ex1.Add(String.Format("{0}", segmentation_name));
            }
            DCMTK.DCM2JPG(ex1);
        }