Example #1
0
        /// <summary>
        /// Initialises this instance.
        /// </summary>
        public static void Initialize()
        {
            TerminologyManager.TerminologyProviderClient = new TerminologyProviderClient();

            SnomedConcepts.Initialized += new EventHandler <BaseTerminologyEventArgs>(SnomedConcepts_Initialized);
            SnomedConcepts.Initialize();
        }
Example #2
0
        /// <summary>
        /// Calls out to service provider to get the ConceptDetails needed for laterality, negation and refinable characteristics.
        /// </summary>
        public static void Initialize()
        {
            TerminologyProviderClient terminologyProviderClient = new TerminologyProviderClient();

            terminologyProviderClient.GetConceptDetailsCompleted += delegate(object sender, GetConceptDetailsCompletedEventArgs e)
            {
                if (e.Error == null && e.Result != null)
                {
                    int index = (int)e.UserState;

                    SnomedConcepts.postCoordinationConceptsList[index] = new PostCoordinationConcept(e.Result, true);

                    SnomedConcepts.CheckInitialized();
                }
                else
                {
                    if (SnomedConcepts.Initialized != null)
                    {
                        SnomedConcepts.Initialized(null, new BaseTerminologyEventArgs(false));
                    }
                }
            };

            for (int i = 0; i < SnomedConcepts.postCoordinationConceptsList.Count; i++)
            {
                ConceptDetail conceptDetail = SnomedConcepts.postCoordinationConceptsList[i].ConceptDetail;

                if (conceptDetail != null && !string.IsNullOrEmpty(conceptDetail.SnomedConceptId))
                {
                    terminologyProviderClient.GetConceptDetailsAsync(conceptDetail.SnomedConceptId, TerminologyManager.LocaleString, i);
                }
            }
        }
Example #3
0
        /// <summary>
        /// Checks the initialized.
        /// </summary>
        private static void CheckInitialized()
        {
            bool initialized = false;

            foreach (PostCoordinationConcept postCoordinationConcept in SnomedConcepts.postCoordinationConceptsList)
            {
                if (postCoordinationConcept != null && postCoordinationConcept.IsInitialized)
                {
                    initialized = true;
                }
                else
                {
                    initialized = false;
                    break;
                }
            }

            if (initialized && SnomedConcepts.Initialized != null)
            {
                SnomedConcepts.Initialized(null, new BaseTerminologyEventArgs(true));
            }
        }
Example #4
0
        /// <summary>
        /// Raises the additional text box completed event and doesn't strip laterality results.
        /// </summary>
        /// <param name="results">The results.</param>
        /// <param name="searchState">User state of search.</param>
        private static void RaiseAdditionalTextBoxCompleted(ObservableCollection <AdditionalTextBoxResult> results, SearchState searchState)
        {
            ObservableCollection <AdditionalTextBoxResult> newResults = new ObservableCollection <AdditionalTextBoxResult>();

            foreach (AdditionalTextBoxResult additionalTextBoxResult in results)
            {
                if (additionalTextBoxResult.IsSide && searchState.LateralityFindingSites.Count > 0)
                {
                    additionalTextBoxResult.FindingSites   = searchState.LateralityFindingSites;
                    additionalTextBoxResult.AlternateItems = SnomedConcepts.FindPostCoordinationConcept(additionalTextBoxResult.SelectedItem.Parents[0].SnomedConceptId).Children;
                    newResults.Add(additionalTextBoxResult);
                }
                else if (!additionalTextBoxResult.IsSide)
                {
                    newResults.Add(additionalTextBoxResult);
                    additionalTextBoxResult.AlternateItems = SnomedConcepts.FindPostCoordinationConcept(additionalTextBoxResult.SelectedItem.Parents[0].SnomedConceptId).Children;
                }
            }

            if (TerminologyManager.AdditionalTextBoxParseCompleted != null)
            {
                TerminologyManager.AdditionalTextBoxParseCompleted(null, new AdditionalTextBoxParseCompletedEventArgs(searchState.SearchTextOriginal, newResults, searchState.ConceptDetail.SnomedConceptId));
            }
        }