Open joiskash opened 7 months ago
Bryn : There is a Postman collection with plan definition apply tests. There are 3 open source engines and 2 closed source that can be tested by this collection. Content from CPG, SMART Guidelines etc. have been used.
Jing: We should have similar tests in the SDK, this should be platform agnostic.
We need to check if the guideline was followed in actual use. This testing framework could provide the methodology / reusable tools to evaluate an audit trail generated by an L4 application executing SMART Guidelines
@brynrhodes can you please share a link to the POSTMAN collection that you are talking about. We can have a look at it to understand what it does.
https://github.com/cqframework/pd-apply/tree/main/connectathon/postman There are two folders in there, one for the ActivityDefinition, and one for the PlanDefinition tests
Constraint:
I don't know how platform agnostic this could be, but I think that the L3 validation is meant for desktop platforms, because that is where the authoring itself works, right? concretely, I would like to add some of this validation to the pipelines (e.g. github).
That makes sense.
The android FHIR SDK internally uses org.opencds.cqf.fhir.cr.plandefinition.r4.PlanDefinitionProcessor (and other classes from org.opencds.cqf.fhir.cr.plandefinition.r4) to run $apply. So if we can maintain a FHIR server with org.opencds.cqf.fhir pointing to the same version as that used in the android fhir sdk then we are good to go. This could be part of android fhir sdks github pipeline. Any change in in the dependency could trigger creation of a docker image for a FHIR server with the right cqf dependency and the $apply api. The docker image can be run locally on authors machine / on a server. We can then write a script (not sure which language) which can run pointing to the SMART guideline IG to pick up content to test the PlanDefinitions, Measures etc. We need to think about the content here. Will the SMART guideline contain examples that can be used to test all the logic? What is the scope of all the tests? Happy scenario vs complicated use cases?
We can take a similar approach as described above with org.hl7.fhir.r4.utils.StructureMapUtilities. This is assuming that all extraction logic will be written using StructureMaps. Definition based is slightly more difficult since this logic is written in the android fhir sdk.
SOP mentions that examples scenarios / test results etc. are supposed to be packaged in the SMART guideline.
Initial scope can be small but we should make sure it is extendable. Call out the different type of tests that we do CQL evaluation, StructureMap extract etc. Need to complete this list.
Where will this docker image be hosted? WHO dockerhub? - revisit.
Create a base image - we could start from hapi-fhir-jpaserver-starter - any other suggestions? Operations that need to be supported in the server:
Create a script that can change pom.xml to include same dependencies used in a particular Android FHIR SDK release. If we find official docker images that use the same libraries as the android SDK for FHIR operations then we can just create a compose with those.
Which SMART guideline is ready to start building this out? Need someone to help note down the exact test cases. Who will help with this?SMART Immunizations Measles
List Test Framework -
Questions:
Constraints:
Objectives: