Challenge Overview
Welcome to the “PseudoVet - Convert Aging Algorithm Proof Into REST API Python Challenge” .
Overview
PseudoVet is an automated patient data fabrication engine which provides a set of active synthetic patients and clinical data that can be used for healthcare software development. Development against real patient data unnecessarily exposes patient health information (PHI) and personally identifiable information (PII) and cannot be used by developers outside of the VA network. However, fully functional, realistic data sets can be used safely in development, testing, training and other non-production environments in compliance with the Health Information Technology for Economic and Clinical Health Act (HITECH Act) and other regulations. Development against current fabricated data is not useful because the data sets are outdated, which requires development teams to spend time developing data sets to use in lieu of writing code or require licenses and cannot be shared.
Challenge Requirements
We’ve run multiple challenges for this project so far to build an algorithm for generating aging and morbidity data. We first launched a challenge to build an algorithm for generating patient data. This was followed up with another challenge to convert the algorithm to use an updated dataset that includes morbidity data.
The algorithm code resides in our private Github repo (request access via forums) and we now want to convert the algorithm into a set of API endpoints that we can then call from a web application (refer here for the spec for design of this web app)
We’ve provided the following architectural artefacts for this challenge.
-
TCUML
-
Swagger
Note - the architecture was done assuming Node.js as the implementation framework. Please use corresponding constructs for Python. Your submission needs to implement all endpoints defined in the swagger file.
General Note
-
Logging, validation, error handling must be properly implemented.
-
All sensitive information, and environment specific information should be configurable.
Technology
-
- Python version 3.x running on Ubuntu
Abstracting and Design Patterns
Please make sure to create helper/interface to include the common code/functionality.
Also please make sure your design is flexible, use facade design pattern and adapter design pattern (and any other proper design pattern) to enable future extensibility of the solution.
Coding Standard
Follow python coding best practices : PEP 8 for the main text, and PEP 257 for docstring conventions
Documentation
Your solution must be well documented.
Readme
-
Provide a Readme with all Configuration & Verification Steps
Please note, we're judging this competition not just on the code, but also on the quality of the documentation, and ease of use.
Final Submission Guidelines
Submission
-
Upload documentation for how to run your submissionInclude a Postman collection for testing the various endpoints defined in Swagger file
-
Demo video of how to configure and run your submission