public void GenerateFunctionalStatusEntry(FunctionalStatus ptfunctionalStatus, int refid, III hl7III, Factory hl7factory) { var Entry = functionalStatus.Section.Entry.Append(); Entry.AsObservation.MoodCode = x_ActMoodDocumentObservation.EVN; Entry.AsObservation.ClassCode = "OBS"; hl7III = Entry.AsObservation.TemplateId.Append(); hl7III.Init("2.16.840.1.113883.10.20.22.4.68"); hl7III = Entry.AsObservation.Id.Append(); hl7III.Init(Guid.NewGuid().ToString()); if (Convert.ToString(ptfunctionalStatus.Description).ToLower().Contains("finding")) { Entry.AsObservation.Code.Code = "404684003"; } else if (Convert.ToString(ptfunctionalStatus.Description).ToLower().Contains("disease")) { Entry.AsObservation.Code.Code = "282291009"; } else { Entry.AsObservation.Code.Code = "409586006"; } Entry.AsObservation.Code.CodeSystem = "2.16.840.1.113883.6.96"; if (Convert.ToString(ptfunctionalStatus.Description).ToLower().Contains("finding")) { Entry.AsObservation.Code.DisplayName = "Finding"; } else if (Convert.ToString(ptfunctionalStatus.Description).ToLower().Contains("disease")) { Entry.AsObservation.Code.DisplayName = "Diagnosis"; } else { Entry.AsObservation.Code.DisplayName = "Complaint"; } IVXB_TS low = new IVXB_TS(); low.Init(Convert.ToDateTime(ptfunctionalStatus.StatusDate)); Entry.AsObservation.Code.OriginalText.Reference.Value = ("#fs" + (refid + 1)); Entry.AsObservation.StatusCode.Code = "completed"; Entry.AsObservation.EffectiveTime = new IVL_TS().Init(low: low); //Entry.AsObservation.Code.Code = IIf(InStr(Convert.ToString(ptfunctionalStatus.Description).ToLower(), "finding"), "404684003", IIf(InStr(Convert.ToString(ptfunctionalStatus.Description).ToLower(), "disease"), "282291009", "409586006")); //Entry.AsObservation.Code.CodeSystem = "2.16.840.1.113883.6.96"; //Entry.AsObservation.Code.DisplayName = IIf(InStr(Convert.ToString(ptfunctionalStatus.Description).ToLower(), "finding"), "Finding", IIf(InStr(Convert.ToString(ptfunctionalStatus.Description).ToLower(), "disease"), "Diagnosis", "Complaint")); //Entry.AsObservation.Code.OriginalText.Reference.Value = "#fs" + (refid + 1); //Entry.AsObservation.StatusCode.Code = "completed"; //Entry.AsObservation.EffectiveTime.Init(low: new IVXB_TS().Init(ptfunctionalStatus.StatusDate)); CD obsValueAsCD = new CD(); obsValueAsCD.OriginalText.Reference.Value = "#fs" + (refid + 1); obsValueAsCD.Code = ptfunctionalStatus.Code; obsValueAsCD.CodeSystem = "2.16.840.1.113883.6.96"; obsValueAsCD.CodeSystemName = "SNOMED CT"; obsValueAsCD.DisplayName = ptfunctionalStatus.Description; Entry.AsObservation.Value.Add(obsValueAsCD); }
/// <summary> /// Patient Functional Status Information /// </summary> /// <param name="dataArr"></param> /// <returns></returns> public List <FunctionalStatus> GetFunctionalStatus(Dictionary <string, ArrayList> dataArr) { List <FunctionalStatus> functionalStatus = new List <FunctionalStatus>(); if (dataArr.Count > 0) { for (int i = 0; i < dataArr.Count; i++) { FunctionalStatus ptfunctionalStatus = new FunctionalStatus(); ArrayList itemfunctional = dataArr[i.ToString()]; ptfunctionalStatus.StatusDate = itemfunctional[2].ToString() == "null" ? null : new DateTime?(Convert.ToDateTime(itemfunctional[2].ToString()));; ptfunctionalStatus.Description = itemfunctional[1].ToString(); functionalStatus.Add(ptfunctionalStatus); } } return(functionalStatus); }
public List <FunctionalStatus> FillFunctionalStatus(IEntryCollection entryCollection) { List <FunctionalStatus> functionalStatus = new List <FunctionalStatus>(); foreach (IEntry entryitem in entryCollection) { IObservation entryObservation = entryitem.AsObservation; IIVL_TS effectiveDate = entryObservation.EffectiveTime; IANY functionalValue = entryObservation.Value[0]; ICD cD = (ICD)functionalValue; FunctionalStatus ptfunctionalStatus = new FunctionalStatus(); ptfunctionalStatus.StatusDate = effectiveDate != null ? effectiveDate.Low != null ? effectiveDate.Low.Value != null ? new DateTime?(effectiveDate.Low.AsDateTime) : null : null : null; ptfunctionalStatus.Description = cD.DisplayName; ptfunctionalStatus.Code = cD.Code; functionalStatus.Add(ptfunctionalStatus); } return(functionalStatus); }