Пример #1
0
        /// <summary>
        /// Get a list of all Coded Concepts from all loaded Context Groups that have the supplied
        /// Coding Scheme Designator and Code Value.
        /// </summary>
        /// <remarks>
        /// A dictionary is used internally for this purpose, so this method call should be fast.
        /// </remarks>
        /// <param name="codingSchemeDesignator">The Coding Scheme Designator.</param>
        /// <param name="codeValue">The Code Value.</param>
        /// <returns>A (possible empty) list of Coded Concepts.</returns>
        public IList<CodedConcept> GetCodedConcepts(string codingSchemeDesignator, string codeValue)
        {
            List<CodedConcept> codedConcepts = null;

            CodingSchemeDesignatorCodeValuePair codingSchemeDesignatorCodeValuePair = new CodingSchemeDesignatorCodeValuePair(codingSchemeDesignator, codeValue);

            if (!this.codedConceptDictionary.TryGetValue(codingSchemeDesignatorCodeValuePair, out codedConcepts))
            // Key not found and codedConcepts contains null;
            {
                codedConcepts = new List<CodedConcept>();
            }

            return (codedConcepts);
        }
Пример #2
0
        //
        // - Methods -
        //
        /// <summary>
        /// Add a Context Group this this instance.
        /// </summary>
        /// <param name="contextGroup">The Context Group to add.</param>
        private void AddCodedConceptsToDictionary(ContextGroup contextGroup)
        {
            foreach (CodedConceptOrInclude codedConceptOrInclude in contextGroup.CodedConceptsOrIncludes)
            {
                if (codedConceptOrInclude is CodedConcept)
                {
                    CodedConcept codedConcept = codedConceptOrInclude as CodedConcept;

                    CodingSchemeDesignatorCodeValuePair codingSchemeDesignatorCodeValuePair = new CodingSchemeDesignatorCodeValuePair(codedConcept.CodingSchemeDesignator, codedConcept.CodeValue);

                    List<CodedConcept> codedConcepts = null;

                    if (this.codedConceptDictionary.TryGetValue(codingSchemeDesignatorCodeValuePair, out codedConcepts))
                    {
                        codedConcepts.Add(codedConcept);
                    }
                    else
                    {
                        codedConcepts = new List<CodedConcept>();
                        codedConcepts.Add(codedConcept);
                        this.codedConceptDictionary.Add(codingSchemeDesignatorCodeValuePair, codedConcepts);
                    }
                }
            }
        }