Пример #1
0
        public static DElementList getProtocolContextSequenceItem()
        {
            DElementList list = new DElementList();

            DElement ValueType = list.Add(new DElement(0x0040, 0xA040, DVR.CS, DValueType.Type1));

            DElement ConceptNameCodeSequence = new DElement(0x0040, 0xA043, DVR.SQ, DValueType.Type1);

            ConceptNameCodeSequence.Sequence.Add(getCodeElementList());
            list.Add(ConceptNameCodeSequence);

            DElement DateTime   = list.Add(new DElement(0x0040, 0xA120, DVR.DT, DValueType.Type1));
            DElement PersonName = list.Add(new DElement(0x0040, 0xA123, DVR.PN, DValueType.Type1));
            DElement TextValue  = list.Add(new DElement(0x0040, 0xA160, DVR.UT, DValueType.Type1));

            DElement ConceptCodeSequence = new DElement(0x0040, 0xA168, DVR.SQ, DValueType.Type1);

            ConceptCodeSequence.Sequence.Add(getCodeElementList());
            list.Add(ConceptCodeSequence);

            DElement MeasurementUnitsCodeSequence = new DElement(0x0040, 0x08EA, DVR.SQ, DValueType.Type1);

            MeasurementUnitsCodeSequence.Sequence.Add(getCodeElementList());
            list.Add(MeasurementUnitsCodeSequence);

            return(list);
        }
Пример #2
0
        public static DElementList getScheduledProcedureStepSequenceItem(params DElementList[] ScheduledProtocolCodeSequenceItems)
        {
            DElementList list = new DElementList();

            DElement ScheduledStationAETitle    = list.Add(new DElement(0x0040, 0x0001, DVR.AE, DValueType.Type1));
            DElement ScheduledProcedureStepDate = list.Add(new DElement(0x0040, 0x0002, DVR.DA, DValueType.Type1));
            DElement ScheduledProcedureStepTime = list.Add(new DElement(0x0040, 0x0003, DVR.TM, DValueType.Type1));
            DElement Modality = list.Add(new DElement(0x0008, 0x0060, DVR.CS, DValueType.Type1));
            DElement ScheduledPerformingPhysiciansName = list.Add(new DElement(0x0040, 0x0006, DVR.PN, DValueType.Type2));
            DElement ScheduledProcedureStepDescription = list.Add(new DElement(0x0040, 0x0007, DVR.LO, DValueType.Type1));
            DElement ScheduledStationName           = list.Add(new DElement(0x0040, 0x0010, DVR.SH, DValueType.Type2));
            DElement ScheduledProcedureStepLocation = list.Add(new DElement(0x0040, 0x0011, DVR.SH, DValueType.Type2));

            if (ScheduledProtocolCodeSequenceItems.Length > 0)
            {
                DElement ScheduledProtocolCodeSequence = new DElement(0x0040, 0x0008, DVR.SQ, DValueType.Type1);
                foreach (DElementList sqList in ScheduledProtocolCodeSequenceItems)
                {
                    ScheduledProtocolCodeSequence.Sequence.Add(sqList);
                }
                list.Add(ScheduledProtocolCodeSequence);
            }
            DElement PreMedication                = list.Add(new DElement(0x0040, 0x0012, DVR.LO, DValueType.Type2C));
            DElement ScheduledProcedureStepID     = list.Add(new DElement(0x0040, 0x0009, DVR.SH, DValueType.Type1));
            DElement RequestContrastAgent         = list.Add(new DElement(0x0032, 0x1070, DVR.LO, DValueType.Type2C));
            DElement ScheduledProcedureStepStatus = list.Add(new DElement(0x0040, 0x0020, DVR.CS, DValueType.Type3));

            return(list);
        }
Пример #3
0
        private void ParseISOMessage(string IncomeMsg)
        {
            string FBitMap;
            string SBitMap = string.Empty;
            string DElement;
            int    DElemetCount = 0;

            //var base64EncodeByte = Convert.FromBase64String(IncomeMsg);
            //IncomeMsg = Encoding.ASCII.GetString(base64EncodeByte);

            txtMTI.Text    = IncomeMsg.Substring(10, 4);
            txtHeader.Text = IncomeMsg.Substring(0, 10);
            FBitMap        = IncomeMsg.Substring(14, 64);
            if (FBitMap.Substring(0, 1) == "1")
            {
                SBitMap = IncomeMsg.Substring(78, 64);
            }

            byte[] ba = HexStringToBytes(IncomeMsg.Substring(txtHeader.Text.Length + txtMTI.Text.Length + FBitMap.Length + SBitMap.Length));
            DElement = Encoding.ASCII.GetString(ba);

            for (int i = 1; i < FBitMap.Length; i++)
            {
                if (FBitMap[i] == '1')
                {
                    this.Controls[1].Controls["txtB" + (i + 1)].Text = DElement.Substring(DElemetCount * 10, 10).Trim();
                }
                DElemetCount++;
            }
        }
Пример #4
0
        public static DElementList getReferencedPatientSequenceItem()
        {
            DElementList list = new DElementList();

            DElement ReferencedSOPClassUID    = list.Add(new DElement(0x0008, 0x1150, DVR.UI, DValueType.Type1));
            DElement ReferencedSOPInstanceUID = list.Add(new DElement(0x0008, 0x1155, DVR.UI, DValueType.Type1));

            return(list);
        }
Пример #5
0
        public static DElementList getExposureDoseSequenceItem()
        {
            DElementList list = new DElementList();

            DElement KVP                 = list.Add(new DElement(0x0018, 0x0060, DVR.DS, DValueType.Type3));
            DElement ExposureTime        = list.Add(new DElement(0x0018, 0x1150, DVR.IS, DValueType.Type3));
            DElement XRayTubeCurrentInuA = list.Add(new DElement(0x0018, 0x8151, DVR.DS, DValueType.Type3));

            return(list);
        }
Пример #6
0
        public static DElement getExposureDoseSequence(params DElementList[] ExposureDoseSequenceItems)
        {
            DElement ele = new DElement(0x0040, 0x030E, DVR.SQ, DValueType.Type3);

            foreach (DElementList sqList in ExposureDoseSequenceItems)
            {
                ele.Sequence.Add(sqList);
            }
            return(ele);
        }
Пример #7
0
        public static DElement getReferencedPatientSequence(params DElementList[] ReferencedPatientSequenceItems)
        {
            DElement ele = new DElement(0x0008, 0x1120, DVR.SQ, DValueType.Type2);

            foreach (DElementList sqList in ReferencedPatientSequenceItems)
            {
                ele.Sequence.Add(sqList);
            }
            return(ele);
        }
Пример #8
0
        public static DElement getRequestProcedureCodeSequence(params DElementList[] RequestProcedureCodeSequenceItems)
        {
            DElement ele = new DElement(0x0032, 0x1064, DVR.SQ, DValueType.Type1);

            foreach (DElementList sqList in RequestProcedureCodeSequenceItems)
            {
                ele.Sequence.Add(sqList);
            }
            return(ele);
        }
Пример #9
0
        public static DElementList getCodeElementList()
        {
            DElementList list                 = new DElementList();
            DElement     CodeValue            = list.Add(new DElement(0x0008, 0x0100, DVR.SH, DValueType.Type1));
            DElement     CodeSchemeDesignator = list.Add(new DElement(0x0008, 0x0102, DVR.SH, DValueType.Type1));
            DElement     CodeSchemeVersion    = list.Add(new DElement(0x0008, 0x0103, DVR.SH, DValueType.Type3));
            DElement     CodeMeaning          = list.Add(new DElement(0x0008, 0x0104, DVR.LO, DValueType.Type3));

            return(list);
        }
Пример #10
0
        public static DElement getScheduledProcedureStepSequence(params DElementList[] ScheduledProcedureStepSequenceItems)
        {
            DElement ele = new DElement(0x0040, 0x0100, DVR.SQ, DValueType.Type1);

            foreach (DElementList sqList in ScheduledProcedureStepSequenceItems)
            {
                ele.Sequence.Add(sqList);
            }
            return(ele);
        }
Пример #11
0
        public static DElementList getScheduledProtocolCodeSequenceItem(params DElementList[] ProtocolContextSequenceItems)
        {
            DElementList list = new DElementList();

            DElement CodeValue            = list.Add(new DElement(0x0008, 0x0100, DVR.SH, DValueType.Type1));
            DElement CodeSchemeDesignator = list.Add(new DElement(0x0008, 0x0102, DVR.SH, DValueType.Type1));
            DElement CodeSchemeVersion    = list.Add(new DElement(0x0008, 0x0103, DVR.SH, DValueType.Type3));
            DElement CodeMeaning          = list.Add(new DElement(0x0008, 0x0104, DVR.LO, DValueType.Type3));

            if (ProtocolContextSequenceItems.Length > 0)
            {
                DElement ProtocolContextSequence = new DElement(0x0040, 0x0440, DVR.SQ, DValueType.Type3);
                foreach (DElementList sqList in ProtocolContextSequenceItems)
                {
                    ProtocolContextSequence.Sequence.Add(sqList);
                }
                list.Add(ProtocolContextSequence);
            }

            return(list);
        }