Example #1
0
        public Participation(DataTypes.Text.DvText function,
            DataTypes.Quantity.DvInterval<DataTypes.Quantity.DateTime.DvDateTime> time,
            DataTypes.Text.DvCodedText mode, PartyProxy performer)
            : this()
        {
            Check.Require(function != null, "function must not be null.");
            Check.Require(mode != null, "mode must not be null");
            Check.Require(performer != null, "performer must not be null");

            this.function = function;
            this.time = time;
            this.mode = mode;
            this.performer = performer;

            this.CheckStrictInvariants();
        }
Example #2
0
        public Participation(DataTypes.Text.DvText function,
                             DataTypes.Quantity.DvInterval <DataTypes.Quantity.DateTime.DvDateTime> time,
                             DataTypes.Text.DvCodedText mode, PartyProxy performer)
            : this()
        {
            Check.Require(function != null, "function must not be null.");
            Check.Require(mode != null, "mode must not be null");
            Check.Require(performer != null, "performer must not be null");

            this.function  = function;
            this.time      = time;
            this.mode      = mode;
            this.performer = performer;

            this.CheckStrictInvariants();
        }
Example #3
0
        internal static DataTypes.Basic.DataValue CreateInterval(string intervalType)
        {
            Check.Require(!string.IsNullOrEmpty(intervalType), "intervalType must not be null or empty");

            DataTypes.Basic.DataValue interval = null;

            switch (intervalType)
            {
            case "DV_QUANTITY":
                interval = new DataTypes.Quantity.DvInterval <DataTypes.Quantity.DvQuantity>();
                break;

            case "DV_COUNT":
                interval = new DataTypes.Quantity.DvInterval <DataTypes.Quantity.DvCount>();
                break;

            case "DV_ORDINAL":
                interval = new DataTypes.Quantity.DvInterval <DataTypes.Quantity.DvOrdinal>();
                break;

            case "DV_PROPORTION":
                interval = new DataTypes.Quantity.DvInterval <DataTypes.Quantity.DvProportion>();
                break;

            case "DV_DURATION":
                interval = new DataTypes.Quantity.DvInterval <DataTypes.Quantity.DateTime.DvDuration>();
                break;

            case "DV_DATE_TIME":
                interval = new DataTypes.Quantity.DvInterval <DataTypes.Quantity.DateTime.DvDateTime>();
                break;

            case "DV_DATE":
                interval = new DataTypes.Quantity.DvInterval <DataTypes.Quantity.DateTime.DvDate>();
                break;

            case "DV_TIME":
                interval = new DataTypes.Quantity.DvInterval <DataTypes.Quantity.DateTime.DvTime>();
                break;

            default:
                throw new NotImplementedException(intervalType);
            }

            Check.Ensure(interval != null, "interval must not be null");
            return(interval);
        }
Example #4
0
        internal void ReadXml(XmlReader reader)
        {
            reader.ReadStartElement();
            reader.MoveToContent();

            Check.Assert(reader.LocalName == "function",
                         "Expected LocalName is 'function' not " + reader.LocalName);
            string functionType = RmXmlSerializer.ReadXsiType(reader);

            if (!string.IsNullOrEmpty(functionType))
            {
                this.function = RmFactory.DataValue(functionType) as DataTypes.Text.DvText;
            }
            else
            {
                this.function = new OpenEhr.RM.DataTypes.Text.DvText();
            }
            this.function.ReadXml(reader);
            reader.MoveToContent();

            Check.Assert(reader.LocalName == "performer",
                         "Expected LocalName is 'performer' not " + reader.LocalName);
            string performerType = RmXmlSerializer.ReadXsiType(reader);

            this.performer = RmFactory.PartyProxy(performerType);

            this.performer.ReadXml(reader);

            if (reader.LocalName == "time")
            {
                this.time = new OpenEhr.RM.DataTypes.Quantity.DvInterval <OpenEhr.RM.DataTypes.Quantity.DateTime.DvDateTime>();
                this.time.ReadXml(reader);
            }

            Check.Assert(reader.LocalName == "mode", "Expected LocalName is 'mode' not " + reader.LocalName);
            this.mode = new OpenEhr.RM.DataTypes.Text.DvCodedText();
            this.mode.ReadXml(reader);

            DesignByContract.Check.Assert(reader.NodeType == System.Xml.XmlNodeType.EndElement,
                                          "Expected endElement of PartyIdentified.");
            reader.ReadEndElement();
            reader.MoveToContent();
        }
Example #5
0
        internal static DataTypes.Basic.DataValue CreateInterval(string intervalType)
        {
            Check.Require(!string.IsNullOrEmpty(intervalType), "intervalType must not be null or empty");

            DataTypes.Basic.DataValue interval = null;

            switch (intervalType)
            {
                case "DV_QUANTITY":
                    interval = new DataTypes.Quantity.DvInterval<DataTypes.Quantity.DvQuantity>();
                    break;
                case "DV_COUNT":
                    interval = new DataTypes.Quantity.DvInterval<DataTypes.Quantity.DvCount>();
                    break;
                case "DV_ORDINAL":
                    interval = new DataTypes.Quantity.DvInterval<DataTypes.Quantity.DvOrdinal>();
                    break;
                case "DV_PROPORTION":
                    interval = new DataTypes.Quantity.DvInterval<DataTypes.Quantity.DvProportion>();
                    break;
                case "DV_DURATION":
                    interval = new DataTypes.Quantity.DvInterval<DataTypes.Quantity.DateTime.DvDuration>();
                    break;
                case "DV_DATE_TIME":
                    interval = new DataTypes.Quantity.DvInterval<DataTypes.Quantity.DateTime.DvDateTime>();
                    break;
                case "DV_DATE":
                    interval = new DataTypes.Quantity.DvInterval<DataTypes.Quantity.DateTime.DvDate>();
                    break;
                case "DV_TIME":
                    interval = new DataTypes.Quantity.DvInterval<DataTypes.Quantity.DateTime.DvTime>();
                    break;
                default:
                    throw new NotImplementedException(intervalType);
            }

            Check.Ensure(interval != null, "interval must not be null");
            return interval;
        }
Example #6
0
        internal void ReadXml(XmlReader reader)
        {
            reader.ReadStartElement();
            reader.MoveToContent();

            Check.Assert(reader.LocalName == "function",
                "Expected LocalName is 'function' not " + reader.LocalName);
            string functionType = RmXmlSerializer.ReadXsiType(reader);
            if (!string.IsNullOrEmpty(functionType))
            {
                this.function = RmFactory.DataValue(functionType) as DataTypes.Text.DvText;
            }
            else
                this.function = new OpenEhr.RM.DataTypes.Text.DvText();
            this.function.ReadXml(reader);
            reader.MoveToContent();

            Check.Assert(reader.LocalName == "performer",
                "Expected LocalName is 'performer' not " + reader.LocalName);
            string performerType = RmXmlSerializer.ReadXsiType(reader);
            this.performer = RmFactory.PartyProxy(performerType);

            this.performer.ReadXml(reader);

            if (reader.LocalName == "time")
            {
                this.time = new OpenEhr.RM.DataTypes.Quantity.DvInterval<OpenEhr.RM.DataTypes.Quantity.DateTime.DvDateTime>();
                this.time.ReadXml(reader);
            }

            Check.Assert(reader.LocalName == "mode", "Expected LocalName is 'mode' not " + reader.LocalName);
            this.mode = new OpenEhr.RM.DataTypes.Text.DvCodedText();
            this.mode.ReadXml(reader);

            DesignByContract.Check.Assert(reader.NodeType == System.Xml.XmlNodeType.EndElement,
                "Expected endElement of PartyIdentified.");
            reader.ReadEndElement();
            reader.MoveToContent();
        }