public void TestObservationLab() { var obs = new Observation(); obs.Id.Add(new II().Init("2.16.840.1.113883.2.10.1.4.5", "E157300-466-1")); obs.Code.Code = "369"; obs.Code.CodeSystem = "2.16.840.1.113883.2.10.1.1.3"; obs.Code.DisplayName = "HEMATOCRITO"; obs.Code.OriginalText.Reference.Value = "#a1"; obs.StatusCode.Code = "completed"; obs.EffectiveTime.Value = "20061106171200"; obs.Value.Add(new PQ() { Unit = "1", Value = 39 }); var referenceRange = obs.ReferenceRange.Append(); var ivl = new IVL_PQ(); ivl.Init(low: new IVXB_PQ() { Unit = "%", Value = 37.0 }); referenceRange.ObservationRange.Value = ivl; referenceRange = obs.ReferenceRange.Append(); ivl = new IVL_PQ(); ivl.Init(high: new IVXB_PQ() { Unit = "%", Value = 47.0 }); referenceRange.ObservationRange.Value = ivl; this.TestContext.WriteLine(obs.Xml); }
//<referenceRange typeCode="REFV"> //<observationRange classCode="OBS" moodCode="EVN.CRT"> //<interpretationCode code="N"/> //<value xsi:type="IVL_PQ"> //<low value="4.50" unit="10*6/mm3"/> //<high value="6.00" unit="10*6/mm3"/> //</value> //<lab:precondition typeCode="PRCN"> //<lab:criterion classCode="COND"> //<lab:code code="SEX"/> //<lab:value xsi:type="CD" code="M" codeSystem="2.16.840.1.113883.5.1"/> //</lab:criterion> //</lab:precondition> //</observationRange> //</referenceRange> public POCD_MT000040ReferenceRange ToPocd() { POCD_MT000040ReferenceRange returnVal = new POCD_MT000040ReferenceRange(); // *** Create the observation range *** returnVal.observationRange = new POCD_MT000040ObservationRange() { classCode = "OBS", moodCode = "EVN.CRT" }; // *** Create interpretation code *** returnVal.observationRange.interpretationCode = new CE() { code = "N" }; // *** Create working lists *** List <PQ> itemsList = new List <PQ>(); List <ItemsChoiceType> itemNameList = new List <ItemsChoiceType>(); // *** Create a value for the range *** IVL_PQ val = new IVL_PQ(); // *** Add low and high values *** IVXB_PQ pq = new IVXB_PQ() { value = this.Low, unit = this.Units }; itemsList.Add(pq); itemNameList.Add(ItemsChoiceType.low); pq = new IVXB_PQ() { value = this.High, unit = this.Units }; itemsList.Add(pq); itemNameList.Add(ItemsChoiceType.high); val.Items = itemsList.ToArray(); val.ItemsElementName = itemNameList.ToArray(); returnVal.observationRange.value = val; return(returnVal); }