Hl7.Cql.Packager
2.0.7-alpha
This is a prerelease version of Hl7.Cql.Packager.
dotnet tool install --global Hl7.Cql.Packager --version 2.0.7-alpha
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local Hl7.Cql.Packager --version 2.0.7-alpha
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Hl7.Cql.Packager&version=2.0.7-alpha&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Hl7.Cql.Packager --version 2.0.7-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
HL7 CQL Packager
A .NET tool that packages CQL, ELM, and build outputs into a FHIR Library resource.
Overview
The HL7 CQL Packager performs the following steps:
- Translation: Converts ELM JSON files into Linq.Expressions, then translates these expressions into C# code. Each ELM file is converted into a class, with each function within that file becoming a public method in the class.
- Compilation: Compiles the generated C# code into a single assembly per ELM file.
- Packaging: Packages the assembly (and optionally the original CQL, ELM, and C# source code) into a FHIR Library resource, creating one resource per original ELM file.
Getting Started
Installation
Install the packager tool globally using the following command:
dotnet tool install Hl7.Cql.Packager --global --prerelease
Note: The
--prerelease
option is required because only prerelease versions are currently available.
Prerequisites
The tool does not convert CQL into ELM. You need to use the existing Java-based tooling for this conversion.
Usage
Run the tool with the following command:
cql-package --elm <directory> --cql <directory> [options]
Mandatory Parameters
--elm <directory>
: Specifies the root directory for the ELM files. This parameter is required.--cql <directory>
: Specifies the root directory for the CQL files. This parameter is required.
Optional Parameters
[--fhir <directory>]
: Specifies the output directory for the FHIR resources[--cs <directory>]
: Specifies the output directory for generated C# code[--cs-typeformat <var|explicit>]
: Specifies whether to use 'var' (default) or explicit types in the generated C# output[--dll <directory>]
: Specifies the DLL output directory[--log-debug <true|false>]
: Enable debug logging or not (default)[--canonical-root-url <url>]
: Specifies the root url used for the resource canonical. If omitted a '#' will be used.[--override-utc-date-time <ISO8601-date-time>]
: Defines the UTC date to override in the generated FHIR resource libraries (example: 2000-12-31T23:59:59.99Z). If omitted the current date time will be used.
Example
cql-package --elm Elm\json --cql Cql\input --fhir c:\packager-output-fhir --cs c:\packager-output-cs
This command packages the ELM and CQL files from the specified directories and writes the generated FHIR Resources and C# code to the respective directories.
Further Reading
The CQL Packager tool is part of the Firely CQL SDK. More information can be found at Firely’s documentation site.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
2.0.7-alpha | 33 | 11/19/2024 |
2.0.4-alpha | 74 | 9/20/2024 |
2.0.3-alpha | 86 | 9/4/2024 |
2.0.2-alpha | 51 | 9/4/2024 |
2.0.1-alpha | 100 | 8/21/2024 |
2.0.0-alpha | 61 | 6/17/2024 |
1.0.0-rc3 | 57 | 7/10/2024 |
1.0.0-rc2 | 357 | 10/23/2023 |
1.0.0-rc1 | 97 | 9/7/2023 |