Beispiel #1
0
        private void PreparePatientList()
        {
            //Read the dataset of dummy patient and add this as default WLM Response
            DicomFile dcmFile       = new DicomFile();
            string    definitionDir = Environment.GetEnvironmentVariable("COMMONPROGRAMFILES") + @"\DVTk\Definition Files\DICOM\";
            string    defFile       = definitionDir + "Allotherattributes.def";

            dcmFile.Read(Application.StartupPath + @"\data\worklist\WLM RSP\DummyPatient.dcm", defFile);
            DicomMessage dummyPatient = new DicomMessage(DvtkData.Dimse.DimseCommand.CFINDRSP);

            dummyPatient.Set("0x00000002", DvtkData.Dimse.VR.UI, "1.2.840.10008.5.1.4.31");
            dummyPatient.DataSet.DvtkDataDataSet = dcmFile.DataSet.DvtkDataDataSet;

            dummyPatientMWLItem = new DicomQueryItem(-1, dummyPatient.Clone());
            wlmQueryRspItems.Add(dummyPatientMWLItem);

            //Add all received WLM Query response items
            if ((queryRspItems != null) && (queryRspItems.Count > 0))
            {
                foreach (DicomQueryItem mwlItem in queryRspItems)
                {
                    wlmQueryRspItems.Add(mwlItem);
                }
            }
            else
            {
                this.Text = "Please Select Dummy patient";
            }

            //Update the patient listbox for display
            foreach (DicomQueryItem mwlItem in wlmQueryRspItems)
            {
                HLI.Attribute schAETitleAttr = null;
                if (mwlItem.DicomMessage.DataSet.Exists("0x00400100[1]/0x00400001"))
                {
                    schAETitleAttr = mwlItem.DicomMessage.DataSet["0x00400100[1]/0x00400001"];
                    if (schAETitleAttr.Values.Count > 1)
                    {
                        ListViewItem emptyItem = new ListViewItem("");
                        emptyItem.SubItems.Add("");
                        emptyItem.SubItems.Add("");
                        emptyItem.SubItems.Add("");
                        emptyItem.SubItems.Add("");
                        emptyItem.SubItems.Add("");
                        emptyItem.SubItems.Add("");
                        listViewMWLRsp.Items.Add(emptyItem);
                        continue;
                    }
                }

                HLI.Attribute patientNameAttr = null;
                if (mwlItem.DicomMessage.DataSet.Exists("0x00100010"))
                {
                    patientNameAttr = mwlItem.DicomMessage.DataSet["0x00100010"];
                }

                ListViewItem item = new ListViewItem(patientNameAttr.Values[0]);

                if (mwlItem.DicomMessage.DataSet.Exists("0x00100020"))
                {
                    HLI.Attribute patientIDAttr = mwlItem.DicomMessage.DataSet["0x00100020"];
                    item.SubItems.Add(patientIDAttr.Values[0]);
                }

                if (mwlItem.DicomMessage.DataSet.Exists("0x00080050"))
                {
                    HLI.Attribute accNrAttr = mwlItem.DicomMessage.DataSet["0x00080050"];
                    item.SubItems.Add(accNrAttr.Values[0]);
                }

                if (mwlItem.DicomMessage.DataSet.Exists("0x00401001"))
                {
                    HLI.Attribute reqProcIDAttr = mwlItem.DicomMessage.DataSet["0x00401001"];
                    item.SubItems.Add(reqProcIDAttr.Values[0]);
                }

                if (mwlItem.DicomMessage.DataSet.Exists("0x00400100[1]/0x00400002"))
                {
                    HLI.Attribute schProcAttr = mwlItem.DicomMessage.DataSet["0x00400100[1]/0x00400002"];
                    item.SubItems.Add(schProcAttr.Values[0]);
                }

                if (mwlItem.DicomMessage.DataSet.Exists("0x00400100[1]/0x00080060"))
                {
                    HLI.Attribute modalityAttr = mwlItem.DicomMessage.DataSet["0x00400100[1]/0x00080060"];
                    item.SubItems.Add(modalityAttr.Values[0]);
                }

                if (mwlItem.DicomMessage.DataSet.Exists("0x00400100[1]/0x00400001"))
                {
                    HLI.Attribute schStationAETitleAttr = mwlItem.DicomMessage.DataSet["0x00400100[1]/0x00400001"];
                    item.SubItems.Add(schStationAETitleAttr.Values[0]);
                }

                listViewMWLRsp.Items.Add(item);
            }
        }