Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating cqf library version #2527

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Updating cqf library
  • Loading branch information
MJ1998 committed Apr 24, 2024
commit 569c00d8c7a90d6227b84093099e28a2a8bfac27
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ object Dependencies {
}

object Cql {
const val clinicalReasoning = "3.0.0-PRE9-SNAPSHOT"
const val clinicalReasoning = "3.4.0"
}

object Kotlin {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2022-2023 Google LLC
* Copyright 2022-2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -21,7 +21,6 @@ import ca.uhn.fhir.context.FhirVersionEnum
import ca.uhn.fhir.rest.api.EncodingEnum
import java.io.IOException
import org.hl7.fhir.instance.model.api.IBaseResource
import org.hl7.fhir.instance.model.api.IPrimitiveType
import org.hl7.fhir.r4.model.Bundle
import org.hl7.fhir.r4.model.CarePlan
import org.hl7.fhir.r4.model.CommunicationRequest
Expand All @@ -38,10 +37,11 @@ import org.junit.Assert.fail
import org.opencds.cqf.fhir.api.Repository
import org.opencds.cqf.fhir.cql.EvaluationSettings
import org.opencds.cqf.fhir.cql.LibraryEngine
import org.opencds.cqf.fhir.cr.plandefinition.r4.PlanDefinitionProcessor
import org.opencds.cqf.fhir.utility.repository.IGLayoutMode
import org.opencds.cqf.fhir.cr.plandefinition.PlanDefinitionProcessor
import org.opencds.cqf.fhir.utility.monad.Eithers
import org.opencds.cqf.fhir.utility.repository.InMemoryFhirRepository
import org.opencds.cqf.fhir.utility.repository.Repositories
import org.opencds.cqf.fhir.utility.repository.ig.IgConventions
import org.skyscreamer.jsonassert.JSONAssert

object PlanDefinition : Loadable() {
Expand Down Expand Up @@ -152,7 +152,7 @@ object PlanDefinition : Loadable() {
IGInputStreamStructureRepository(
fhirContext,
repositoryPath ?: ".",
IGLayoutMode.TYPE_PREFIX,
IgConventions.FLAT, // ===>>> Not sure is this is right.
EncodingEnum.JSON,
)
if (dataRepository == null && contentRepository == null && terminologyRepository == null) {
Expand Down Expand Up @@ -200,14 +200,12 @@ object PlanDefinition : Loadable() {

return GeneratedBundle(
buildProcessor(repository)
.applyR5<IPrimitiveType<String>>(
/* id = */ IdType("PlanDefinition", planDefinitionID),
/* canonical = */ null,
/* planDefinition = */ null,
/* patientId = */ patientID,
/* encounterId = */ encounterID,
/* practitionerId = */ practitionerID,
/* organizationId = */ null,
.applyR5(
/* planDefinition = */ Eithers.forMiddle3(IdType("PlanDefinition", planDefinitionID)),
/* subject = */ patientID,
/* encounter = */ encounterID,
/* practitioner = */ practitionerID,
/* organization = */ null,
/* userType = */ null,
/* userLanguage = */ null,
/* userTaskContext = */ null,
Expand Down Expand Up @@ -253,10 +251,8 @@ object PlanDefinition : Loadable() {

return GeneratedCarePlan(
(buildProcessor(repository)
.apply<IPrimitiveType<String>>(
IdType("PlanDefinition", planDefinitionID),
null,
null,
.apply(
Eithers.forMiddle3(IdType("PlanDefinition", planDefinitionID)),
patientID,
encounterID,
practitionerID,
Expand All @@ -280,10 +276,8 @@ object PlanDefinition : Loadable() {
val repository = overrideRepository ?: buildRepository()
return GeneratedPackage(
(buildProcessor(repository)
.packagePlanDefinition<IPrimitiveType<String>>(
IdType("PlanDefinition", planDefinitionID),
null,
null,
.packagePlanDefinition(
Eithers.forMiddle3(IdType("PlanDefinition", planDefinitionID)),
true,
) as Bundle),
null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import org.opencds.cqf.fhir.cql.LibraryEngine
import org.opencds.cqf.fhir.cr.measure.MeasureEvaluationOptions
import org.opencds.cqf.fhir.cr.measure.common.MeasureReportType
import org.opencds.cqf.fhir.cr.measure.r4.R4MeasureProcessor
import org.opencds.cqf.fhir.cr.plandefinition.r4.PlanDefinitionProcessor
import org.opencds.cqf.fhir.cr.plandefinition.PlanDefinitionProcessor
import org.opencds.cqf.fhir.utility.monad.Eithers
import org.opencds.cqf.fhir.utility.repository.ProxyRepository

Expand Down Expand Up @@ -120,6 +120,7 @@ internal constructor(
subjectId: String? = null,
practitioner: String? = null,
additionalData: IBaseBundle? = null,
parameters: Parameters? = null,
): MeasureReport {
val subject =
if (!practitioner.isNullOrBlank()) {
Expand All @@ -139,6 +140,7 @@ internal constructor(
/* reportType = */ reportType,
/* subjectIds = */ listOf(subject),
/* additionalData = */ additionalData,
/* parameters = */ parameters,
)

// add subject reference for non-individual reportTypes
Expand Down Expand Up @@ -180,13 +182,11 @@ internal constructor(
encounterId: String?,
): IBaseResource {
return planDefinitionProcessor.apply(
/* id = */ IdType("PlanDefinition", planDefinitionId),
/* canonical = */ null,
/* planDefinition = */ null,
/* planDefinition = */ Eithers.forMiddle3(IdType("PlanDefinition", planDefinitionId)),
/* subject = */ subject,
/* encounterId = */ encounterId,
/* practitionerId = */ null,
/* organizationId = */ null,
/* encounter = */ encounterId,
/* practitioner = */ null,
/* organization = */ null,
/* userType = */ null,
/* userLanguage = */ null,
/* userTaskContext = */ null,
Expand Down Expand Up @@ -218,13 +218,11 @@ internal constructor(
prefetchData: IBaseParameters? = null,
): IBaseResource {
return planDefinitionProcessor.apply(
/* id = */ null,
/* canonical = */ planDefinition,
/* planDefinition = */ null,
/* planDefinition = */ Eithers.forLeft3(planDefinition),
/* subject = */ subject,
/* encounterId = */ encounterId,
/* practitionerId = */ practitionerId,
/* organizationId = */ organizationId,
/* encounter = */ encounterId,
/* practitioner = */ practitionerId,
/* organization = */ organizationId,
/* userType = */ userType,
/* userLanguage = */ userLanguage,
/* userTaskContext = */ userTaskContext,
Expand Down Expand Up @@ -256,13 +254,11 @@ internal constructor(
prefetchData: IBaseParameters? = null,
): IBaseResource {
return planDefinitionProcessor.apply(
/* id = */ null,
/* canonical = */ null,
/* planDefinition = */ planDefinition,
/* planDefinition = */ Eithers.forRight3(planDefinition),
/* subject = */ subject,
/* encounterId = */ encounterId,
/* practitionerId = */ practitionerId,
/* organizationId = */ organizationId,
/* encounter = */ encounterId,
/* practitioner = */ practitionerId,
/* organization = */ organizationId,
/* userType = */ userType,
/* userLanguage = */ userLanguage,
/* userTaskContext = */ userTaskContext,
Expand Down
Loading