public async Task <ParseInteractions.Model> Handle(ParseInteractions.Query request, CancellationToken cancellationToken)
        {
            var interactions = new List <MedicationInteractionPair>();

            await foreach (var drug in DrugInteractionParserAsync.ParseDrugInteractionsAsync(request.Jstring))
            {
                request.Meds.Where(r => r.RxCui == drug.MedicationPair.Item1.RxCui)
                .Select(z => (drug.MedicationPair.Item1.DisplayName = z.Text,
                              drug.MedicationPair.Item1.TimeOrdered = z.TimeOrdered,
                              drug.MedicationPair.Item1.Prescriber = z.Prescriber,
                              drug.MedicationPair.Item1.FhirType = z.FhirType,
                              drug.MedicationPair.Item1.ResourceId = z.ResourceId)).ToList();
                request.Meds.Where(r => r.RxCui == drug.MedicationPair.Item2.RxCui)
                .Select(z => (drug.MedicationPair.Item2.DisplayName = z.Text,
                              drug.MedicationPair.Item2.TimeOrdered = z.TimeOrdered,
                              drug.MedicationPair.Item2.Prescriber = z.Prescriber,
                              drug.MedicationPair.Item2.FhirType = z.FhirType,
                              drug.MedicationPair.Item2.ResourceId = z.ResourceId)).ToList();
                interactions.Add(drug);
            }

            return(new ParseInteractions.Model()
            {
                Interactions = interactions
            });
        }
        public void FirstInteractionTest()
        {
            //var interactions = _client.GetInteractionList(rxCUIs);

            // var reader = new StreamReader(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"TestJsonText\MultiDrugString.txt"));
            var jstring      = reader.ReadToEnd();
            var interactions = DrugInteractionParserAsync.ParseDrugInteractionsAsync(jstring);


            //Test for JAMIA interaction inclusion. All DrugBank interactions have "N/A" as severity
            Assert.Equal("Fentanyl 0.6 MG Oral Lozenge", interactions.ToListAsync().GetAwaiter().GetResult()
                         .First().MedicationPair.Item1.DisplayName);
        }
        public void SeverityTest()
        {
            //var interactions = _client.GetInteractionList(rxCUIs);

            // var reader = new StreamReader(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"TestJsonText\MultiDrugString.txt"));
            var jstring      = reader.ReadToEnd();
            var interactions = DrugInteractionParserAsync.ParseDrugInteractionsAsync(jstring);


            //Test for JAMIA interaction inclusion. All DrugBank interactions have "N/A" as severity
            Assert.True(interactions.ToListAsync().GetAwaiter().GetResult()
                        .SelectMany(x => x.DrugInteractionDetails
                                    .Select(o => o.Severity))
                        .Any(s => s == "high"));
        }