/// <summary> /// Gets the concept detail. /// </summary> /// <param name="snomedConceptId">The SNOMED concept id.</param> /// <param name="locale">The locale.</param> /// <returns>Concept Details of the given SNOMED CT concept id.</returns> public ConceptDetail GetConceptDetails(string snomedConceptId, string locale) { if (!TerminologyProvider.initialized) { TerminologyProvider.Initialize(); } // Getting First rather than Select as for a snomedConceptId multiple entries can be found TermResult termResult = TerminologyProvider.searchByDescriptionTerms.FirstOrDefault <TermResult>(entry => entry.Concept.SnomedConceptId == snomedConceptId); ConceptDetail conceptDetail = null; if (termResult != null) { ConceptResult concept = termResult.Concept; if (concept != null) { conceptDetail = new ConceptDetail() { SnomedConceptId = snomedConceptId, PreferredTerm = concept.PreferredTerm, FullySpecifiedName = concept.FullySpecifiedName, Parents = concept.Parents, AlternateDescriptions = concept.AlternateDescriptions, Children = new ObservableCollection <ConceptResult>(), RefinableCharacteristics = new ObservableCollection <RefinableCharacteristic>(), Relations = new ObservableCollection <RelationResult>() }; } } if (null == conceptDetail) { conceptDetail = new ConceptDetail() { SnomedConceptId = snomedConceptId, PreferredTerm = "Sample Concept Preferred Term", FullySpecifiedName = "Sample Concept (Fully Specified Name)", Parents = new ObservableCollection <ConceptItem>() { new ConceptItem() { SnomedConceptId = snomedConceptId, FullySpecifiedName = "A Sample Concept (SampleConcept)", PreferredTerm = "A Sample Concept" }, new ConceptItem() { SnomedConceptId = snomedConceptId, FullySpecifiedName = "Another Sample Concept (SampleConcept)", PreferredTerm = "Another Sample Concept" } }, AlternateDescriptions = new ObservableCollection <TermItem>() { new TermItem() { Description = "A sample synonym", SnomedDescriptionId = snomedConceptId }, new TermItem() { Description = "Another sample synonym", SnomedDescriptionId = snomedConceptId } }, Children = new ObservableCollection <ConceptResult>(), RefinableCharacteristics = new ObservableCollection <RefinableCharacteristic>(), Relations = new ObservableCollection <RelationResult>() }; } return(conceptDetail); }
/// <summary> /// Gets the concept detail. /// </summary> /// <param name="snomedConceptId">The SNOMED concept id.</param> /// <param name="locale">The locale.</param> /// <returns>Concept Details of the given SNOMED CT concept id.</returns> public ConceptDetail GetConceptDetails(string snomedConceptId, string locale) { if (!TerminologyProvider.initialized) { TerminologyProvider.Initialize(); } // Getting First rather than Select as for a snomedConceptId multiple entries can be found TermResult termResult = TerminologyProvider.searchByDescriptionTerms.FirstOrDefault<TermResult>(entry => entry.Concept.SnomedConceptId == snomedConceptId); ConceptDetail conceptDetail = null; if (termResult != null) { ConceptResult concept = termResult.Concept; if (concept != null) { conceptDetail = new ConceptDetail() { SnomedConceptId = snomedConceptId, PreferredTerm = concept.PreferredTerm, FullySpecifiedName = concept.FullySpecifiedName, Parents = concept.Parents, AlternateDescriptions = concept.AlternateDescriptions, Children = new ObservableCollection<ConceptResult>(), RefinableCharacteristics = new ObservableCollection<RefinableCharacteristic>(), Relations = new ObservableCollection<RelationResult>() }; } } if (null == conceptDetail) { conceptDetail = new ConceptDetail() { SnomedConceptId = snomedConceptId, PreferredTerm = "Sample Concept Preferred Term", FullySpecifiedName = "Sample Concept (Fully Specified Name)", Parents = new ObservableCollection<ConceptItem>() { new ConceptItem() { SnomedConceptId = snomedConceptId, FullySpecifiedName = "A Sample Concept (SampleConcept)", PreferredTerm = "A Sample Concept" }, new ConceptItem() { SnomedConceptId = snomedConceptId, FullySpecifiedName = "Another Sample Concept (SampleConcept)", PreferredTerm = "Another Sample Concept" } }, AlternateDescriptions = new ObservableCollection<TermItem>() { new TermItem() { Description = "A sample synonym", SnomedDescriptionId = snomedConceptId }, new TermItem() { Description = "Another sample synonym", SnomedDescriptionId = snomedConceptId } }, Children = new ObservableCollection<ConceptResult>(), RefinableCharacteristics = new ObservableCollection<RefinableCharacteristic>(), Relations = new ObservableCollection<RelationResult>() }; } return conceptDetail; }