android-fhir
android-fhir copied to clipboard
Update the clinical reasoning version to v3.1.0
Is your feature request related to a problem? Please describe.
- The clinical reasoning library was updated to add the ability to generate unique serialized IDs for resources on the
$apply
results. This makes it easier to persist these resources to the DB. - Here is a ticket for the same https://github.com/cqframework/clinical-reasoning/issues/420
Describe the solution you'd like
- We need to update this version to allow the testing of this fix on the SDK-implementing apps
Would you like to work on the issue? Please state if this issue should be assigned to you or who you think could help to solve this issue.
@jingtang10 @aditya-07
looks good @dubdabasoduba do you have time to do this?
No we don't have capacity to work on this
Hi, I updated the clinical-reasoning version from 3.0.0-PRE9-SNAPSHOT
to the latest 3.2.0
locally but after upgradation, got the following errors on some files.
-
FhirOperator
- PlanDefinitionProcessor require re-import because it package has been changed.
- Need to update evaluateMeasure method and add missing param.
- Need to update all 3 $apply methods.
-
IGInputStreamStructureRepository
- IGLayoutMode and ResourceCategory no longer exists in latest library.
-
PlanDefinition
- need to update $applyR5 method.
cc: @jingtang10 @dubdabasoduba @pld @MJ1998 @santosh-pingle
Hi, I updated the clinical-reasoning version from
3.0.0-PRE9-SNAPSHOT
to the latest3.2.0
locally but after upgradation, got the following errors on some files.
- PlanDefinitionProcessor require re-import because it package has been changed.
- Need to update evaluateMeasure method and add missing param.
- Need to update all 3 $apply methods.
IGInputStreamStructureRepository
- IGLayoutMode and ResourceCategory no longer exists in latest library.
- need to update $applyR5 method.
cc: @jingtang10 @dubdabasoduba @pld @MJ1998 @santosh-pingle
@vitorpamplona is this something you can support on?
Comment from Vitor:-
Just make sure all dependencies align. You might need to update HAPI's base version to whichever version the clinical reasoning uses.
Updating PlanDefinitionProcessor and evaluateMeasure is easy.
To update apply APIs I think it will require adding knowledge manager(KM) as a dependency in workflow. Then we will have repository implementations from KM.
For IgLayoutMode and ResourceCategory this is the relevant PR in the CQF library repo where these were removed. Can you figure out how to transition. They mention something like flat structure.
applyR5 will be updated similarly like the other apply methods in FhirOperator, right ?
@dubdabasoduba @aditya-07
My bad, I got confused between this and another issue in KM. We don't need to add KM as a dependency.
This is how you can resolve the apply funciton:-
return planDefinitionProcessor.apply(
/* planDefinition = */ Eithers.forMiddle3 (IdType("PlanDefinition", planDefinitionId)),
/* subject = */ subject,
/* encounter = */ encounterId,
/* practitioner = */ null,
/* organization = */ null,
/* userType = */ null,
/* userLanguage = */ null,
/* userTaskContext = */ null,
/* setting = */ null,
/* settingContext = */ null,
/* parameters = */ null,
/* useServerData = */ null,
/* bundle = */ null,
/* prefetchData = */ null,
libraryProcessor,
) as IBaseResource
My bad, I got confused between this and another issue in KM. We don't need to add KM as a dependency.
This is how you can resolve the apply funciton:-
return planDefinitionProcessor.apply( /* planDefinition = */ Eithers.forMiddle3 (IdType("PlanDefinition", planDefinitionId)), /* subject = */ subject, /* encounter = */ encounterId, /* practitioner = */ null, /* organization = */ null, /* userType = */ null, /* userLanguage = */ null, /* userTaskContext = */ null, /* setting = */ null, /* settingContext = */ null, /* parameters = */ null, /* useServerData = */ null, /* bundle = */ null, /* prefetchData = */ null, libraryProcessor, ) as IBaseResource
This makes sense. Looking forward to testing the PR
Closing this as fixed by #2637
Noting that we're now using v3.8.0. Pls see our version catalog: https://github.com/google/android-fhir/blob/9bd76c8358a534e0e403e65b81921e1a301f59e0/gradle/libs.versions.toml#L29