Skip to content

Commit

Permalink
Merge pull request #59 from FirelyTeam/prepare-for-release
Browse files Browse the repository at this point in the history
Last tidbits found while documenting.
  • Loading branch information
ewoutkramer authored Sep 7, 2023
2 parents 04e83d5 + 4f18968 commit c8834a8
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 9 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -393,3 +393,4 @@ VSCodeExtension/ncqa-cql-engine-workspace/test/*/*/results/*.json
/Demo/Test/Resources
/Demo/Elm/build.txt
/Demo/Cql/Build/target/**/*.*
/Demo/build.txt
4 changes: 2 additions & 2 deletions Cql/PackagerCLI/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -208,9 +208,9 @@ private static int ShowHelp()
Console.WriteLine();
Console.WriteLine($"\t--elm <directory>\tLibrary root path");
Console.WriteLine($"\t--cql <directory>\tCQL root path");
Console.WriteLine($"\t--fhir <file>\tResource location, either file name or directory");
Console.WriteLine($"\t[--fhir] <file>\tResource location, either file name or directory");
Console.WriteLine($"\t[--cs] <file>\tC# output location, either file name or directory");
Console.WriteLine($"\t[--d] true|false\t\tProduce as a debug assmebly");
Console.WriteLine($"\t[--d] true|false\t\tProduce as a debug assembly");
Console.WriteLine($"\t[--f] true|false\tIf output file already exists, overwrite");
Console.WriteLine();
return -1;
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,21 @@
This is NCQA's and Firely's official support SDK for working with [CQL][cql-spec] on the Microsoft .NET (dotnet) platform. It contains an engine for executing ELM, and/or turning the contents of an ELM file into a .NET assembly so it can be called statically.

## Release notes ##
We are preparing to release version 1.0 of the engine. The engine has been tested by running it against the current NCQA HEDIS measures. There is quite some variation in how CQL is written and interpreted, so it is likely at this early stage that there will be deviations from other engines currently available. As well, we expect parts of the public interface can to change.
This is release version 1.0 (release candidate) of the engine. The engine has been tested by running it against the current NCQA HEDIS measures. There is quite some variation in how CQL is written and interpreted, so it is likely at this early stage that there will be deviations from other engines currently available. As well, we expect parts of the public interface can to change.

The releases notes
at [firely-cql-sdk/releases](https://github.com/FirelyTeam/firely-cql-sdk/releases) for each major version will document these changes and (major) issues we have encountered.

## Getting Started ##

* Read how to [get started with the Demo solution](docs/getting-started.md) included in the repository.
* There is a great presentation on the engine from DevDays 2023 (TODO: need approval to publish link)
* There is a great presentation on the engine from [DevDays 2023](https://youtu.be/CkTbgfbttJc).
* [The CQL section](https://docs.fire.ly/projects/Firely-NET-SDK/cql.html) in the .NET SDK documentation
* A [word document](cql/CQL%20Engine%20Architecture.docx) with background documentation on the design. May be somewhat outdated.
* A [graphic](docs/CQL%20Engine%20v2.png) showing the main (internal) parts of the engine. May be somewhat outdated.


The presentation is a good place to start, but note that we have made some minor changes to the public surface, so the names of the classes in the presentation will differ from the examples in the Demo project itself.

## Dev Start
During development, new alpha releases will appear on Firely's Github Package feed, to be able to use pre-release packages within the cql solution. To use theses packages you must add ```https://nuget.pkg.github.com/FirelyTeam/index.json``` to your NuGet sources:
Expand Down
6 changes: 3 additions & 3 deletions cql-sdk.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

<!-- Solution-wide properties for NuGet packaging -->
<PropertyGroup>
<VersionPrefix>0.9.0</VersionPrefix>
<VersionSuffix>rc2</VersionSuffix>
<VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix>rc1</VersionSuffix>
<Authors>NCQA, Firely ([email protected]) and contributors</Authors>
<Copyright>Copyright 2013-2023 NCQA, Firely. Contains materials (C) HL7 International</Copyright>
<Copyright>Copyright 2013-2023 NCQA, Firely. Contains materials (C) HL7 International</Copyright>
<PackageProjectUrl>https://github.com/FirelyTeam/cql-sdk</PackageProjectUrl>
<RepositoryUrl>https://github.com/FirelyTeam/cql-sdk</RepositoryUrl>
<RepositoryType>git</RepositoryType>
Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ With the measures generated, we can now build the other projects: two sample pro
## Evaluating measures
The demo project showcases four ways to use the CQL SDK to execute measures in `MeasuresTest.cs`. No matter how the CQL expressions in each CQL file are invoked, you need to create an instance of a `CqlContext` first,
which holds the basic external inputs to the function call:
* The data to run the function on, either as a `Bundle` FHIR resource, or an implementation of `IDataRetriever`. (default: empty data)
* The data to run the function on, either as a `Bundle` FHIR resource, or an implementation of `IDataSource`. (default: empty data)
* The parameters passed to the measure (default: none).
* A set of external valuesets (default: no valuesets).
* The date to server as "today" (default: today)

This is most easily done by calling one of the overloads of the factory method `FirelyCqlContext.Create()`. When the `CqlContext` is created,
This is most easily done by calling one of the overloads of the factory method `FhirCqlContext.Create()`. When the `CqlContext` is created,
we can now invoke the defined functions in the measure:

1. Directly call the generated measure. This is shown in `BCSEHEDIS2022_Numerator`. Calling a CQL expression directly requires the measures to be known in advance as a pre-compiled assembly.
Expand Down

0 comments on commit c8834a8

Please sign in to comment.