/// <summary> /// Creates a problem diagnosis identification /// </summary> /// <param name="code">Problem diagnosis identification code</param> /// <param name="codeSystem">The code system associated with the code</param> /// <param name="displayName">The display name associated with the code</param> /// <param name="originalText">Original text, usually applicable in the absence of a code and display name</param> /// <returns>CodableText defining a problem diagnosis identification</returns> public static ICodableText CreateProblemDiagnosisIdentification(String code, CodingSystem?codeSystem, String displayName, String originalText) { var codableText = new CodableText(); if (codeSystem.HasValue) { codableText.DisplayName = displayName; codableText.Code = code; codableText.CodeSystemCode = codeSystem.Value.GetAttributeValue <NameAttribute, string>(a => a.Code); codableText.CodeSystemName = codeSystem.Value.GetAttributeValue <NameAttribute, string>(a => a.Name); codableText.CodeSystemVersion = codeSystem.Value.GetAttributeValue <NameAttribute, string>(a => a.Version); } if (!originalText.IsNullOrEmptyWhitespace()) { codableText.OriginalText = originalText; } return(codableText); }
public CodableText GetCodableText(XmlElement codeElement) { if (codeElement == null) { return(null); } var codableText = new CodableText(); // Get 'originalText' var originalText = codeElement.GetElementsByTagName("originalText"); if (originalText.Count == 1) { codableText.OriginalText = originalText[0].InnerText; } codableText.Code = GetString(codeElement.Attributes["code"]); codableText.CodeSystem = GetString(codeElement.Attributes["codeSystem"]); codableText.CodeSystemName = GetString(codeElement.Attributes["codeSystemName"]); codableText.CodeSystemVersion = GetString(codeElement.Attributes["codeSystemVersion"]); codableText.DisplayName = GetString(codeElement.Attributes["displayName"]); codableText.NullFlavor = GetString(codeElement.Attributes["nullFlavor"]); // Get 'translations' var translationNodes = codeElement.GetElementsByTagName("translation"); if (translationNodes.Count > 0) { List <CodableText> translations = new List <CodableText>(); foreach (XmlElement translationElem in codeElement.GetElementsByTagName("translation")) { translations.Add(GetCodableText(translationElem)); } codableText.Translations = translations; } return(codableText); }