Skip to content

Commit fd66620

Browse files
committed
Add measures projects for QICore 2025 and CMS 2025
1 parent da292ec commit fd66620

File tree

90 files changed

+105531
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+105531
-4
lines changed

Cql-Sdk-All.sln

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CqlSdkExamples", "Examples\
144144
EndProject
145145
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CqlSdkExamplesPreview", "Examples\CqlSdkExamplesPreview\CqlSdkExamplesPreview.csproj", "{A1234567-89AB-CDEF-1234-567890ABCDEF}"
146146
EndProject
147+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Measures.ecqm-content-cms-2025", "Demo\Measures.ecqm-content-cms-2025\Measures.ecqm-content-cms-2025.csproj", "{4125CA3B-A8E7-23C9-4E7B-DAA8D5226E9E}"
148+
EndProject
149+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Measures.ecqm-content-qicore-2025", "Demo\Measures.ecqm-content-qicore-2025\Measures.ecqm-content-qicore-2025.csproj", "{32AF150E-FA7A-DACF-B262-49754A42D628}"
150+
EndProject
147151
Global
148152
GlobalSection(SolutionConfigurationPlatforms) = preSolution
149153
Debug|Any CPU = Debug|Any CPU
@@ -270,6 +274,14 @@ Global
270274
{A1234567-89AB-CDEF-1234-567890ABCDEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
271275
{A1234567-89AB-CDEF-1234-567890ABCDEF}.Release|Any CPU.ActiveCfg = Release|Any CPU
272276
{A1234567-89AB-CDEF-1234-567890ABCDEF}.Release|Any CPU.Build.0 = Release|Any CPU
277+
{4125CA3B-A8E7-23C9-4E7B-DAA8D5226E9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
278+
{4125CA3B-A8E7-23C9-4E7B-DAA8D5226E9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
279+
{4125CA3B-A8E7-23C9-4E7B-DAA8D5226E9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
280+
{4125CA3B-A8E7-23C9-4E7B-DAA8D5226E9E}.Release|Any CPU.Build.0 = Release|Any CPU
281+
{32AF150E-FA7A-DACF-B262-49754A42D628}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
282+
{32AF150E-FA7A-DACF-B262-49754A42D628}.Debug|Any CPU.Build.0 = Debug|Any CPU
283+
{32AF150E-FA7A-DACF-B262-49754A42D628}.Release|Any CPU.ActiveCfg = Release|Any CPU
284+
{32AF150E-FA7A-DACF-B262-49754A42D628}.Release|Any CPU.Build.0 = Release|Any CPU
273285
EndGlobalSection
274286
GlobalSection(SolutionProperties) = preSolution
275287
HideSolutionNode = FALSE
@@ -316,6 +328,8 @@ Global
316328
{BAEF695A-5581-B3EE-B352-CBF447240E55} = {1AF2E4B2-99C5-4678-B926-D224CC83A8F7}
317329
{93532653-75AF-025F-00F7-1B34C75DF1C1} = {14ED22C5-F918-42DB-A301-04B3AED51EBC}
318330
{A1234567-89AB-CDEF-1234-567890ABCDEF} = {14ED22C5-F918-42DB-A301-04B3AED51EBC}
331+
{4125CA3B-A8E7-23C9-4E7B-DAA8D5226E9E} = {85401759-2C64-414D-9882-4DB1EA41C2ED}
332+
{32AF150E-FA7A-DACF-B262-49754A42D628} = {85401759-2C64-414D-9882-4DB1EA41C2ED}
319333
EndGlobalSection
320334
GlobalSection(ExtensibilityGlobals) = postSolution
321335
SolutionGuid = {366252DE-C2FB-4EAC-96EE-22210BD43DE2}

Cql-Sdk-Demos-Examples.slnf

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222
"Demo\\CLI\\CLI.csproj",
2323
"Demo\\Cql\\Cql.csproj",
2424
"Demo\\Measures.Authoring\\Measures.Authoring.csproj",
25-
"Demo\\Measures.ecqm-content-qicore-2024\\Measures.ecqm-content-qicore-2024.csproj",
2625
"Demo\\Measures.Demo\\Measures.Demo.csproj",
26+
"Demo\\Measures.ecqm-content-cms-2025\\Measures.ecqm-content-cms-2025.csproj",
27+
"Demo\\Measures.ecqm-content-qicore-2024\\Measures.ecqm-content-qicore-2024.csproj",
28+
"Demo\\Measures.ecqm-content-qicore-2025\\Measures.ecqm-content-qicore-2025.csproj",
2729
"Demo\\Test.Measures.Demo\\Test.Measures.Demo.csproj",
2830
"Examples\\CqlSdkExamplesPreview\\CqlSdkExamplesPreview.csproj",
2931
"Examples\\CqlSdkExamples\\CqlSdkExamples.csproj"

Demo/Cql/Cql.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
<Import Project="..\cql-demo.props" />
44

55
<PropertyGroup>
6-
<CqlToElmEnabled>true</CqlToElmEnabled>
6+
<!-- <CqlToElmEnabled>true</CqlToElmEnabled> -->
77
</PropertyGroup>
8-
9-
<Import Project="Build\Mvn.Targets.xml" />
8+
9+
<Import Project="Build\Mvn.Targets.xml" />
1010

1111
<ItemGroup>
1212
<ProjectReference Include="..\..\Cql\PackagerCLI\PackagerCLI.csproj" />
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
using System;
2+
using System.Linq;
3+
using System.Collections.Generic;
4+
using Hl7.Cql.Runtime;
5+
using Hl7.Cql.Primitives;
6+
using Hl7.Cql.Abstractions;
7+
using Hl7.Cql.ValueSets;
8+
using Hl7.Cql.Iso8601;
9+
using System.Reflection;
10+
using Hl7.Cql.Operators;
11+
using Hl7.Fhir.Model;
12+
using Range = Hl7.Fhir.Model.Range;
13+
using Task = Hl7.Fhir.Model.Task;
14+
15+
[System.CodeDom.Compiler.GeneratedCode(".NET Code Generation", "3.1.0.0")]
16+
[CqlLibrary("AdultOutpatientEncounters", "4.19.000")]
17+
public partial class AdultOutpatientEncounters_4_19_000 : ILibrary, ISingleton<AdultOutpatientEncounters_4_19_000>
18+
{
19+
private AdultOutpatientEncounters_4_19_000() {}
20+
21+
public static AdultOutpatientEncounters_4_19_000 Instance { get; } = new();
22+
23+
#region ILibrary Implementation
24+
25+
public string Name => "AdultOutpatientEncounters";
26+
public string Version => "4.19.000";
27+
public ILibrary[] Dependencies => [FHIRHelpers_4_4_000.Instance, QICoreCommon_4_0_000.Instance, Status_1_15_000.Instance];
28+
29+
#endregion ILibrary Implementation
30+
31+
#region ValueSets
32+
33+
[CqlValueSetDefinition("Annual Wellness Visit", valueSetId: "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240", valueSetVersion: null)]
34+
public CqlValueSet Annual_Wellness_Visit(CqlContext _) => _Annual_Wellness_Visit;
35+
private static readonly CqlValueSet _Annual_Wellness_Visit = new CqlValueSet("http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240", null);
36+
37+
[CqlValueSetDefinition("Home Healthcare Services", valueSetId: "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016", valueSetVersion: null)]
38+
public CqlValueSet Home_Healthcare_Services(CqlContext _) => _Home_Healthcare_Services;
39+
private static readonly CqlValueSet _Home_Healthcare_Services = new CqlValueSet("http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016", null);
40+
41+
[CqlValueSetDefinition("Office Visit", valueSetId: "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", valueSetVersion: null)]
42+
public CqlValueSet Office_Visit(CqlContext _) => _Office_Visit;
43+
private static readonly CqlValueSet _Office_Visit = new CqlValueSet("http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", null);
44+
45+
[CqlValueSetDefinition("Virtual Encounter", valueSetId: "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089", valueSetVersion: null)]
46+
public CqlValueSet Virtual_Encounter(CqlContext _) => _Virtual_Encounter;
47+
private static readonly CqlValueSet _Virtual_Encounter = new CqlValueSet("http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089", null);
48+
49+
[CqlValueSetDefinition("Preventive Care Services Established Office Visit, 18 and Up", valueSetId: "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", valueSetVersion: null)]
50+
public CqlValueSet Preventive_Care_Services_Established_Office_Visit__18_and_Up(CqlContext _) => _Preventive_Care_Services_Established_Office_Visit__18_and_Up;
51+
private static readonly CqlValueSet _Preventive_Care_Services_Established_Office_Visit__18_and_Up = new CqlValueSet("http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", null);
52+
53+
[CqlValueSetDefinition("Preventive Care Services Initial Office Visit, 18 and Up", valueSetId: "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", valueSetVersion: null)]
54+
public CqlValueSet Preventive_Care_Services_Initial_Office_Visit__18_and_Up(CqlContext _) => _Preventive_Care_Services_Initial_Office_Visit__18_and_Up;
55+
private static readonly CqlValueSet _Preventive_Care_Services_Initial_Office_Visit__18_and_Up = new CqlValueSet("http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", null);
56+
57+
[CqlValueSetDefinition("Telephone Visits", valueSetId: "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080", valueSetVersion: null)]
58+
public CqlValueSet Telephone_Visits(CqlContext _) => _Telephone_Visits;
59+
private static readonly CqlValueSet _Telephone_Visits = new CqlValueSet("http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080", null);
60+
61+
#endregion ValueSets
62+
63+
#region Parameters
64+
65+
[CqlParameterDefinition("Measurement Period")]
66+
public CqlInterval<CqlDateTime> Measurement_Period(CqlContext context)
67+
{
68+
object a_ = context.ResolveParameter("AdultOutpatientEncounters-4.19.000", "Measurement Period", null);
69+
70+
return (CqlInterval<CqlDateTime>)a_;
71+
}
72+
73+
74+
#endregion Parameters
75+
76+
#region Functions and Expressions
77+
78+
[CqlExpressionDefinition("Patient")]
79+
public Patient Patient(CqlContext context)
80+
{
81+
IEnumerable<Patient> a_ = context.Operators.Retrieve<Patient>(new RetrieveParameters(default, default, default, "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient"));
82+
Patient b_ = context.Operators.SingletonFrom<Patient>(a_);
83+
84+
return b_;
85+
}
86+
87+
88+
[CqlExpressionDefinition("Qualifying Encounters")]
89+
public IEnumerable<Encounter> Qualifying_Encounters(CqlContext context)
90+
{
91+
CqlValueSet a_ = this.Office_Visit(context);
92+
IEnumerable<Encounter> b_ = context.Operators.Retrieve<Encounter>(new RetrieveParameters(default, a_, default, "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"));
93+
CqlValueSet c_ = this.Annual_Wellness_Visit(context);
94+
IEnumerable<Encounter> d_ = context.Operators.Retrieve<Encounter>(new RetrieveParameters(default, c_, default, "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"));
95+
IEnumerable<Encounter> e_ = context.Operators.Union<Encounter>(b_, d_);
96+
CqlValueSet f_ = this.Preventive_Care_Services_Established_Office_Visit__18_and_Up(context);
97+
IEnumerable<Encounter> g_ = context.Operators.Retrieve<Encounter>(new RetrieveParameters(default, f_, default, "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"));
98+
CqlValueSet h_ = this.Preventive_Care_Services_Initial_Office_Visit__18_and_Up(context);
99+
IEnumerable<Encounter> i_ = context.Operators.Retrieve<Encounter>(new RetrieveParameters(default, h_, default, "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"));
100+
IEnumerable<Encounter> j_ = context.Operators.Union<Encounter>(g_, i_);
101+
IEnumerable<Encounter> k_ = context.Operators.Union<Encounter>(e_, j_);
102+
CqlValueSet l_ = this.Home_Healthcare_Services(context);
103+
IEnumerable<Encounter> m_ = context.Operators.Retrieve<Encounter>(new RetrieveParameters(default, l_, default, "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"));
104+
CqlValueSet n_ = this.Virtual_Encounter(context);
105+
IEnumerable<Encounter> o_ = context.Operators.Retrieve<Encounter>(new RetrieveParameters(default, n_, default, "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"));
106+
IEnumerable<Encounter> p_ = context.Operators.Union<Encounter>(m_, o_);
107+
IEnumerable<Encounter> q_ = context.Operators.Union<Encounter>(k_, p_);
108+
CqlValueSet r_ = this.Telephone_Visits(context);
109+
IEnumerable<Encounter> s_ = context.Operators.Retrieve<Encounter>(new RetrieveParameters(default, r_, default, "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"));
110+
IEnumerable<Encounter> t_ = context.Operators.Union<Encounter>(q_, s_);
111+
IEnumerable<Encounter> u_ = Status_1_15_000.Instance.isEncounterPerformed(context, t_);
112+
bool? v_(Encounter ValidEncounter)
113+
{
114+
CqlInterval<CqlDateTime> x_ = this.Measurement_Period(context);
115+
Period y_ = ValidEncounter?.Period;
116+
CqlInterval<CqlDateTime> z_ = FHIRHelpers_4_4_000.Instance.ToInterval(context, y_);
117+
bool? aa_ = context.Operators.IntervalIncludesInterval<CqlDateTime>(x_, z_, "day");
118+
119+
return aa_;
120+
};
121+
IEnumerable<Encounter> w_ = context.Operators.Where<Encounter>(u_, v_);
122+
123+
return w_;
124+
}
125+
126+
127+
#endregion Functions and Expressions
128+
129+
}

0 commit comments

Comments
 (0)