Skip to content

Commit

Permalink
Updating cqf library
Browse files Browse the repository at this point in the history
  • Loading branch information
MJ1998 committed Apr 24, 2024
1 parent 6ff0643 commit 569c00d
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 41 deletions.
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

0 comments on commit 569c00d

Please sign in to comment.