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

Improve the interface for inputting data on the pathway to make more user friendly #19

Open
JRPearson500 opened this issue Dec 30, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@JRPearson500
Copy link
Member

The Alpha data model was built to be as pathway-agnostic as possible - we did not want the model to rely on having a pre-defined
pathway graph (such as the Synthea approach - https://github.com/synthetichealth/synthea)..

The pathway manifests itself through the decisions made by the Intelligence Layer. Each interaction calculates a distribution over the environments, this distribution is then sampled and thus the next Environment is chosen.

One downside to this approach is that if a user does want to apply the simulation to a particular pathway, they would need to be
proficient enough at python in order to write the functionality to calculate these transition probabilities. This raises a barrier to
entry for non-technical users who wish to use the model on a particular pathway.

A way to ameliorate this issue would be to design an interface that makes it easy to define a pathway graph (and possibly the
transition probabilities) as part of the model configuration. The graph and probabilities would then need to be parsed by the model
and fed into Intelligence Layer.

An issue would still be that the probabilities of transitioning between environments would change over time, and would depend on
the Patient state - these probabilities would be unlikely to equal the initial input probabilities, so the Intelligence Layer would still need to compute the changing distributions (that is, if a realistic and somewhat flexible model was still desired).

There could be several ways to capture and encode the graphical data:

  • Using a tool like neo4j or networkX
  • Defining an adjacency matrix
  • Each environment could hold a list of “next_environment_ids”*

Finally, to make the template language generally more robust, a tool like Jinja could be employed.

@JRPearson500 JRPearson500 added the enhancement New feature or request label Dec 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant