コード例 #1
0
        private static async Task <FhirTypedElementToSearchValueConverterManager> CreateFhirTypedElementToSearchValueConverterManagerAsync()
        {
            var types = typeof(ITypedElementToSearchValueConverter)
                        .Assembly
                        .GetTypes()
                        .Where(x => typeof(ITypedElementToSearchValueConverter).IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface);

            var referenceSearchValueParser = new ReferenceSearchValueParser(new FhirRequestContextAccessor());
            var codeSystemResolver         = new CodeSystemResolver(ModelInfoProvider.Instance);
            await codeSystemResolver.StartAsync(CancellationToken.None);

            var fhirElementToSearchValueConverters = new List <ITypedElementToSearchValueConverter>();

            foreach (Type type in types)
            {
                // Filter out the extension converter because it will be added to the converter dictionary in the converter manager's constructor
                if (type.Name != nameof(FhirTypedElementToSearchValueConverterManager.ExtensionConverter))
                {
                    var x = (ITypedElementToSearchValueConverter)Mock.TypeWithArguments(type, referenceSearchValueParser, codeSystemResolver);
                    fhirElementToSearchValueConverters.Add(x);
                }
            }

            return(new FhirTypedElementToSearchValueConverterManager(fhirElementToSearchValueConverters));
        }
コード例 #2
0
        public LightweightReferenceToElementResolverTests()
        {
            ReferenceSearchValueParser referenceSearchValueParser = Mock.TypeWithArguments <ReferenceSearchValueParser>();

            _resolver  = new LightweightReferenceToElementResolver(referenceSearchValueParser, ModelInfoProvider.Instance);
            _encounter = Samples.GetJsonSample <Encounter>("Encounter-For-Patient-f001");
            _context   = new FhirEvaluationContext
            {
                ElementResolver = _resolver.Resolve,
            };
            FhirPathCompiler.DefaultSymbolTable.AddFhirExtensions();
        }
コード例 #3
0
        private static async Task <FhirTypedElementToSearchValueConverterManager> CreateFhirTypedElementToSearchValueConverterManagerAsync()
        {
            var types = typeof(ITypedElementToSearchValueConverter)
                        .Assembly
                        .GetTypes()
                        .Where(x => typeof(ITypedElementToSearchValueConverter).IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface);

            var referenceSearchValueParser = new ReferenceSearchValueParser(new FhirRequestContextAccessor());
            var codeSystemResolver         = new CodeSystemResolver(ModelInfoProvider.Instance);
            await codeSystemResolver.StartAsync(CancellationToken.None);

            var fhirElementToSearchValueConverters =
                types.Select(x => (ITypedElementToSearchValueConverter)Mock.TypeWithArguments(x, referenceSearchValueParser, codeSystemResolver));

            return(new FhirTypedElementToSearchValueConverterManager(fhirElementToSearchValueConverters));
        }
コード例 #4
0
        public static FhirNodeToSearchValueTypeConverterManager CreateFhirElementToSearchValueTypeConverterManager()
        {
            var types = typeof(IFhirNodeToSearchValueTypeConverter)
                        .Assembly
                        .GetTypes()
                        .Where(x => typeof(IFhirNodeToSearchValueTypeConverter).IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface);

            var referenceSearchValueParser = new ReferenceSearchValueParser(new FhirRequestContextAccessor());
            var codeSystemResolver         = new CodeSystemResolver(ModelInfoProvider.Instance);

            codeSystemResolver.Start();

            var fhirNodeToSearchValueTypeConverters =
                types.Select(x => (IFhirNodeToSearchValueTypeConverter)Mock.TypeWithArguments(x, referenceSearchValueParser, codeSystemResolver));

            return(new FhirNodeToSearchValueTypeConverterManager(fhirNodeToSearchValueTypeConverters));
        }
コード例 #5
0
        public ReferenceSearchValueParserTests()
        {
            _fhirRequestContextAccessor.FhirRequestContext.BaseUri.Returns(BaseUri);

            _referenceSearchValueParser = new ReferenceSearchValueParser(_fhirRequestContextAccessor);
        }