Heather Kaplan of the Cincinnati Children’s Hospital, with a little help from the rest of us, published a highlight of the state of our work on the Personalized Learning System via HBS’s online blog. The article emphasizes the patient-physician collaboration model we’ve been working on and that I teased at MedicineX last week.

Nearly one quarter of US adults read patient-generated health information found on blogs, forums and social media; many say they use this information to influence everyday health decisions. Topics of discussion in online forums are often poorly-addressed by existing, clinical research, so patient’s reported experiences are the only evidence. No rigorous methods exist to help patients leverage anecdotal evidence to make better decisions.

This dissertation reports on multiple prototype systems that help patients augment anecdote with data to improve individual decision making, optimize healthcare delivery, and accelerate research. The web-based systems were developed through a multi-year collaboration with individuals, advocacy organizations, healthcare providers, and biomedical researchers. The result of this work is a new scientific model for crowdsourcing health insights: Aggregated Self-Experiments.

The self-experiment, a type of single-subject (n-of-1) trial, validates the effectiveness of an intervention on a single person. Aggregating the outcomes of multiple trials can improve the efficiency of future trials and enable users to prioritize the sequencing of trials for a given condition. Successful outcomes from many patients will yield evidence to motivate future clinical research. Aggregated Personal Experiments enables user communities to replace anecdotes with repeatable trials that can be run in the context of their daily life. The properties and viability of the model were evaluated through user studies, secondary data analyses, and experience with real-world deployments.

The juxtaposition of verdicts in the Zimmerman and Alexander cases, and the unapologetic, non-reflective response of most of our political leadership leaves me wondering what I, as a concerned citizen I can do in the face of a pervasive national moral cowardice. As a citizen of a republic, I could choose to move to Florida or Mississippi and cast my vote against the representatives of injustice, misogyny, ignorance and racism who seem to frequent the media. But would that really have an impact proportionate to the personal sacrifice involved? Unlikely.

Earlier this week I joined NEA entrepreneur Jared Hyman of crowdmed.com and “the current” host Anna Maria Tremonti of the Canadian Broadcasting Corporation in a discussion of crowd sourcing in Healthcare. A brief summary and audiocast of the show is available.

‘C-c C-i’ inspects the var at point, or any value returned by eval of an arbitrary expression in the current buffer’s active namespace,

a simple model for recursing into sub-objects based on a value index map maintained in the middleware during serialization of the value, and

a rendering method extensible for custom types.

My goal is to be able to stack navigate a Datomic database given an Entity, the example in the repository should support that with just a little more work.

Please note, while I use this in my day to day development, but it’s not yet well packaged and has been minimally tested. It currently does not truncate maps or sequences, so please don’t inspect ‘(repeat 1)’!

Last week, my collaborators from Lybba and I posted a blog entry describing my Personal Experiments project. Please enjoy this little introductory demo. Also, I’ll be announcing a new study on the platform next week; participants will receive a free Jawbone UP!

[NOTE: The release of cider deprecates much of the content here. I will post an update on Clojure Debugging ’14 early in the near year]

I’m ramping up for a new set of development projects in 2013 and 2014. My 2010 era setup with slime and swank-clojure is unlikely to remain a viable approach throughout the project. I’ve decided it is time to join the nREPL community as well as take advantage of some of architecture innovations there which may make it easier to debug the distributed systems I’m going to be working on.

Features I’m accustomed to from common lisp slime/swank:

Code navigation via Meta-. and Meta-,

Fuzzy completion in editor windows and the repl

Documentation help in mini-buffer

Object inspector. Ability to walk any value in the system

Walkable backtraces with one-key navigation to offending source

Evaluate an expression in a specific frame, inspect result

Easy tracing of functions to the repl or a trace buffer (in emacs)

Trigger a continuable backtrace via watchpoint or breakpoint

Only the first three of these features is available in the stock nrepl. The rest of this post will discuss how to setup a reasonable approximation to this feature set in Emacs using nREPL middleware providers as of May 2013.