|
18 | 18 | using Hl7.Cql.Invocation.Toolkit;
|
19 | 19 | using Hl7.Cql.Invocation.Toolkit.Extensions;
|
20 | 20 | using Hl7.Cql.Fhir.Serialization;
|
21 |
| -using Hl7.Cql.Fhir.Serialization.Extensions; |
22 | 21 |
|
23 | 22 | namespace Test
|
24 | 23 | {
|
@@ -51,17 +50,20 @@ public void BCSEHEDIS2022_Numerator()
|
51 | 50 | [TestMethod]
|
52 | 51 | public void BCSEHEDIS2022_Numerator_FromResource_Passed()
|
53 | 52 | {
|
54 |
| - var lib = "BCSEHEDISMY2022"; |
55 |
| - var version = "1.0.0"; |
| 53 | + // The functionality to load a FHIR resource and its dependencies will be added back in issue: |
| 54 | + // https://github.com/FirelyTeam/firely-cql-sdk/issues/949 |
| 55 | + var libraryIdentifier = CqlVersionedLibraryIdentifier.ParseFromIdentifierAndVersion("BCSEHEDISMY2022", "1.0.0"); |
56 | 56 | var dir = LibrarySetsDirs.Demo.ResourcesDir;
|
57 |
| - var scope = CreateRuntimeScopeFromFhirResourceFile(dir, lib, version); |
| 57 | + using var scope = new InvocationToolkit() |
| 58 | + .AddAssemblyBinariesInFhirLibrariesFromDirectory(dir) |
| 59 | + .CreateLibrarySetInvoker(libraryIdentifier); |
58 | 60 |
|
59 | 61 | var patientEverything = new Bundle(); // Add data
|
60 | 62 | var valueSets = Enumerable.Empty<ValueSet>().ToValueSetDictionary(); // Add valuesets
|
61 | 63 | var ctx = FhirCqlContext.ForBundle(patientEverything, MY2023, valueSets);
|
62 | 64 |
|
63 | 65 | var results = scope
|
64 |
| - .SelectExpressionsForLibrary(CqlVersionedLibraryIdentifier.ParseFromIdentifierAndVersion(lib, version)) |
| 66 | + .SelectExpressionsForLibrary(libraryIdentifier) |
65 | 67 | .SelectResults(ctx)
|
66 | 68 | .ToDictionary(t => t.definitionInvoker.DefinitionName, t => t.invocationResult);
|
67 | 69 |
|
@@ -124,19 +126,6 @@ public void BCSEHEDIS2022_Numerator_FromElm()
|
124 | 126 | .ToDictionary(t => t.definitionInvoker.DefinitionName, t => t.invocationResult);
|
125 | 127 | }
|
126 | 128 |
|
127 |
| - private static LibrarySetInvoker CreateRuntimeScopeFromFhirResourceFile( |
128 |
| - DirectoryInfo dir, |
129 |
| - string lib, |
130 |
| - string version) |
131 |
| - { |
132 |
| - var libFile = new FileInfo(Path.Combine(dir.FullName, $"Library-{lib}-{version}.json")); // Library-BCSEHEDISMY2022-1.0.0 |
133 |
| - using var fs = libFile.OpenRead(); |
134 |
| - var library = fs.DeserializeJsonToFhir<Library>(); |
135 |
| - var allLibs = library.GetDependenciesAndSelf(dir); |
136 |
| - //Runtime |
137 |
| - return allLibs.ToLibrarySetInvoker(); |
138 |
| - } |
139 |
| - |
140 | 129 | private static LibrarySetInvoker CreateRuntimeScopeFromElmLibraryFile(
|
141 | 130 | DirectoryInfo elmDirectory,
|
142 | 131 | string lib,
|
|
0 commit comments