示例#1
0
        private CharacteristicQuantificationType IdentifyCharQuantificationType(CharacteristicQuantification characteristicQuantification)
        {
            Debug.Assert(characteristicQuantification.Numerical != null ||
                         characteristicQuantification.Quantile != null ||
                         characteristicQuantification.NonQuantifiable != null ||
                         characteristicQuantification.Scale != null ||
                         characteristicQuantification.Interval != null);

            if (characteristicQuantification.Numerical != null && characteristicQuantification.Numerical.Count != 0)
            {
                return(CharacteristicQuantificationType.Numerical);
            }

            if (characteristicQuantification.Quantile != null)
            {
                return(CharacteristicQuantificationType.Quantile);
            }

            if (characteristicQuantification.Scale != null)
            {
                return(CharacteristicQuantificationType.Scale);
            }

            if (characteristicQuantification.Interval != null && characteristicQuantification.Interval.Count != 0)
            {
                return(CharacteristicQuantificationType.Interval);
            }

            if (characteristicQuantification.NonQuantifiable != null)
            {
                return(CharacteristicQuantificationType.NonQuantifiable);
            }

            return(CharacteristicQuantificationType.NonQuantifiable);
        }
示例#2
0
        private void InitializeCharQuantificationControls(CharacteristicQuantification characteristicQuantification)
        {
            var selectionItems = new List <object>();

            if (characteristicQuantification.NonQuantifiable != null && characteristicQuantification.NonQuantifiable.Count > 0)
            {
                selectionItems.Add(new CodeSequenceListItem(null));
                foreach (var nonQuantifiable in characteristicQuantification.NonQuantifiable)
                {
                    selectionItems.Add(new CodeSequenceListItem(
                                           new StandardCodeSequence(nonQuantifiable.CodeValue, nonQuantifiable.CodeMeaning, nonQuantifiable.CodingSchemeDesignator,
                                                                    nonQuantifiable.CodingSchemeVersion)));
                }
            }

            switch (CharacteristicQuantificationType)
            {
            case CharacteristicQuantificationType.Numerical:
            {
                foreach (var numerical in characteristicQuantification.Numerical)
                {
                    selectionItems.Add(new NumericalListItem(numerical.Value, numerical.Operator, numerical.UcumString));
                }
            }
            break;

            case CharacteristicQuantificationType.Quantile:
            {
                for (var i = 0; i < characteristicQuantification.Quantile.Bins; i++)
                {
                    selectionItems.Add(new QuantileListItem(i));
                }
            }
            break;

            case CharacteristicQuantificationType.Scale:
            {
                _scaleComment     = characteristicQuantification.Scale.Comment;
                _scaleDescription = characteristicQuantification.Scale.Description;
                foreach (var ordinalLevel in characteristicQuantification.Scale.OrdinalLevel)
                {
                    selectionItems.Add(new ScaleListItem(ordinalLevel.IntegerValue, ordinalLevel.Description));
                }
            }
            break;

            case CharacteristicQuantificationType.Interval:
            {
                foreach (var interval in characteristicQuantification.Interval)
                {
                    selectionItems.Add(new IntervalListItem(interval.MinValue, interval.MaxValue, interval.MinOperator, interval.MaxOperator, interval.UcumString));
                }
            }
            break;

            case CharacteristicQuantificationType.NonQuantifiable:
                break;
            }

            var lastControl = LastControl;
            var ptX         = _lblName.Location.X;
            var ptY         = lastControl.Location.Y + lastControl.Height + lastControl.Margin.Bottom;

            var ddlQuantificationItems = new ComboBox();

            ddlQuantificationItems.Anchor            = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
            ddlQuantificationItems.DropDownStyle     = ComboBoxStyle.DropDownList;
            ddlQuantificationItems.FormattingEnabled = true;
            ddlQuantificationItems.Margin            = new Padding(4);
            ddlQuantificationItems.Location          = new System.Drawing.Point(ptX, ptY + ddlQuantificationItems.Margin.Top);
            ddlQuantificationItems.Name     = "_ddlQuantificationItems";
            ddlQuantificationItems.Size     = new System.Drawing.Size(Width - Margin.Horizontal, ddlQuantificationItems.Height);
            ddlQuantificationItems.TabIndex = lastControl.TabIndex + 1;

            foreach (var item in selectionItems)
            {
                ddlQuantificationItems.Items.Add(item);
            }
            if (ddlQuantificationItems.Items.Count > 0)
            {
                ddlQuantificationItems.SelectedIndex = 0;
            }
            ddlQuantificationItems.DropDown             += OnDropDown;
            ddlQuantificationItems.SelectedIndexChanged += OnSelectedIndexChanged;

            Controls.Add(ddlQuantificationItems);
            Height += ddlQuantificationItems.Height + ddlQuantificationItems.Margin.Top;
        }
示例#3
0
        public CharacteristicQuantificationDetailsControl(StandardValidTerm characteristicCode, CharacteristicQuantification characteristicQuantification)
        {
            InitializeComponent();

            _characteristicCode = characteristicCode;
            _txtName.Text       = string.IsNullOrEmpty(characteristicQuantification.Name) ? @"Name is missing" : characteristicQuantification.Name;
            _quantificationType = IdentifyCharQuantificationType(characteristicQuantification);

            SuspendLayout();

            InitializeCharQuantificationControls(characteristicQuantification);

            if (characteristicQuantification.AnnotatorConfidence)
            {
                _confidenceControl = InitializeConfidenceControl();
                Controls.Add(_confidenceControl);
                Height += _confidenceControl.Height;
            }

            ResumeLayout(false);
            PerformLayout();
        }