Inspiration
Inspired by a childhood of reading choose your own adventure novels and role-playing.
What it does
Which Doctor provides instructional simulation for the decision making process of doctors in the vein of a choose your own adventure novel. These simulation stories are community made, and provide a means for the sharing of different clinical, managerial, and social philosophies for doctors.
For example, in geriatrics, patient-doctor relationships and interactions are extremely important for determining what is important to the patient (quality of life/ longevity/ pain management/ autonomy). What may be correct in a purely clinical context with the aim of increasing longevity by any means possible, may not be correct for treating a patient who wishes to remain living in their own home. How would a doctor know which course of action to suggest unless they were asking the right questions? Which Doctor provides practice for doctors who want to ask the right questions.
How I built it
Challenges I ran into
The branching and self-referential nature of a text adventure requires a peculiar referential database, where models have the potential to own themselves, and many other records of the same model. This was my first time working on a project where I was working on models of this nature.
Going in, I had assumed that the pages within a story would require the accepting of nested attributes, since it is a convenient out-of-the-box feature of Rails. A lot of time was spent trying to force this square shaped box into a circular hole. Eventually, I realized that I did not need this built in feature, and had a much easier time creating a system of AJAX requests that accomplished my goals.
Accomplishments that I'm proud of
Honestly, being able to juggle the creating this application single-handedly, and navigating my school work. It is very difficult to pursue personal interests while engaged in academics, and I am proud that I was and am able to do so.
What I learned
Since my application front-loads stories, the navigation of pages within a story must be done with Javascript. The story is converted into a custom JSON object that is then parsed in javascript. Essentially, this project taught me how to use javascript as a querying tool. My knowledge of javascript has grown greatly from this.
Additionally, I learned how to develop forms for the aforementioned self-referential models.
What's next for Which Doctor
Which Doctor provides an infrastructure that can be easily applied to other genres of decision based story-telling, such as fantasy role-playing and instructional simulation in other industries. In a similar vein to the Stack-Overflow family of forums, I will create a family of applications that are structurally the same, yet are varied in genre.
Log in or sign up for Devpost to join the conversation.