Esempio n. 1
0
        /// <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);
        }