site

files for beauhilton.com
git clone https://git.beauhilton.com/site.git
Log | Files | Refs

commit e310963b5fe3291d89af7fb3fe4c9926c7bd7a85
parent 34dc579e867c937baeed32cad2e4fbe12b1f86fc
Author: Beau <cbeauhilton@gmail.com>
Date:   Thu, 29 Dec 2022 00:25:09 -0600

add some posts

Diffstat:
Mindex.json | 20++++++++++++++++++++
Asite/posts/medical-humanities-org.md | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asite/posts/oo-et-al.md | 123+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asite/posts/vimbook-org.md | 8++++++++
4 files changed, 223 insertions(+), 0 deletions(-)

diff --git a/index.json b/index.json @@ -1,5 +1,25 @@ [ { + "url": "/posts/medical-humanities-org", + "page_file": "site/posts/medical-humanities-org.md", + "nav_path": [ + "posts" + ], + "excerpt": "About making the med hum website.", + "date": "2023-01-22", + "title": "<a href=\"https://medical-humanities.org\">medical-humanities.org</a>" + }, + { + "url": "/posts/vimbook-org", + "page_file": "site/posts/vimbook-org.md", + "nav_path": [ + "posts" + ], + "excerpt": "About making the Vimbook.", + "date": "2023-01-22", + "title": "vimbook" + }, + { "url": "/posts/thanks", "page_file": "site/posts/thanks.md", "nav_path": [ diff --git a/site/posts/medical-humanities-org.md b/site/posts/medical-humanities-org.md @@ -0,0 +1,72 @@ +# [medical-humanities.org](https://medical-humanities.org) + +This post is a work in progress. + +<time id="post-date">2023-01-22</time> + +<p id="post-excerpt"> +I made a static website as an electronic learning system and forum, +with the option for password protected posts and a controlled editing workflow, +for free and without a dedicated server. This post has the highlights. +</p> + + +## First, free as in beer + + +New educational endeavors are, in my experience anyway, +almost always bootstrapped. +They start with an idea, passion, even erudition, +but rarely with money. + +This was no different. + +There's some funding coming in, +including some I'm grateful for as it will recompense +the time I spent building the website, +but overall this thing needs to run for free. + +Because of that, I used the best suite of free tools I know of: +GitHub, GitHub Actions, Netlify's free tier, NetlifyCMS, Hugo, and digital elbow grease. + + +## Second, free as in freedom (of speech, and the ability to choose what to share on the open web) + + +While we have a strict policy against violating HIPAA, +we also want an open forum that can be honest, +vulnerable, critical if need be. + +Though the students are encouraged to make their writing available for all to read, +forming a kind of living magazine from the assignments, +we also want to make it very easy to keep the assignments +just within the group if desired. + +This combination of desired features led to a need for selective password protection +of certain pages, opted into or out of by each student writer. + +Usually, password protection on a website is akin to a lock on a door, +beyond which is a table that has the stuff you want to read. +The routes to sensitive data are locked by the server, +you need the key to get into the room, +but once you get in the room you are free to wander over to the table and leaf through the dusty stack of papers. +Since I'm not paying for a server I fully control, +this approach is not going to work. +Every route is accessible by the whole internet, +every door is open. +So, instead of worrying about a door and a lock, +we trade the dusty stack of papers for a Rubix cube with a million facets, +containing a message that only comes to light when you match up all the pieces. +Anybody can come and check out the toy, +but unless you know the secret to solving it, +it's just a jumble. + +To build the Rubix cube I used [Pagecrypt](https://github.com/Greenheart/pagecrypt), +which encrypts individual HTML pages and provides a dialogue to enter a password to decrypt it. +To mark which pages should be encrypted, +I used a simple front-matter key, which a `grep` command picks out on every site rebuild. + +Another neat aspect of this is that the *entire* page is encrypted, +even the comments section, so if a student wants to make a post somewhat private +and have a personal conversation with the other members of the class, +it's comfortably hidden from the view of the public internet. diff --git a/site/posts/oo-et-al.md b/site/posts/oo-et-al.md @@ -0,0 +1,123 @@ +# good machine learning in medicine + +<time id="post-date">2022-12-29</time> + +<p id="post-excerpt"> +Because most machine learning in medicine sucks, I thought you might like to see an example of it done well. +</p> + +<https://doi.org/10.1056/CAT.22.0214> + +At least on the surface, this looks good. +The article is paywalled so I haven't gotten to dig into their methods yet, +but will update when I am able to read the whole thing. +The approach is the thing I'm keyed in on - +implementation details of course matter, +but the biggest problem with machine learning in medicine is not technique, but angle. +Too often, ML is a new shiny, +no meat on its bones +(I'm not discounting some of the delightful advances in e.g. automatic read of ophthalmologic images, +that's kickass tech and truly practice-changing, +but it does amount to image processing. +The stuff I'm talking about here is not a smarter camera, +but automated gestalt handed to you by a mechanical Turk). + + +## ML is mostly for automation, but automating medicine is scary + + +The big idea is that +while machine learning is great for many things, +the most important thing in industrial machine learning is +teaching a machine to make independent decisions +to make things easier for humans who already have too much cognitive load, +or not enough hands, +and a pesky attachment to oxygen, food, and sleep. +E.g. if there's a knob someone needs to turn when a certain complex set of things happens, +and sometimes the human forgets because they were occupied with all the switches and buttons instead, +or they were on lunch, +or sleeping off the Superbowl party, +it sure would be nice to make an algorithm +that can independently assess whether the complex condition has been sufficiently met, +and go ahead and turn the knob for you +(and maybe, while it's at it, get you a few ibuprofen for that hangover headache). + +In medicine we usually don't want a bot making independent decisions, +but this paper from UPMC is a great example of the kind of independent decision we could stomach, or even welcome. + + +## build a model that is high-yield and low-risk + + +This system builds a mortality model, which is fun in itself, but then goes to the next level to automate an e-consult to the palliative care team for patients at highest risk of mortality after discharge. + +(Avati et al did the same basic thing at Stanford using a neural network, +which is a fine technology, +but their explanatory models were these shitty, +ugly text-based tables that make you want to stab yourself in the eyes - <https://doi.org/10.1186%2Fs12911-018-0677-8>). + +It's beautiful. +Nothing bad bubbles up if the algorithm falls down altogether (we're just back where we were before the model went live). +Nothing horrible happens if the algorithm makes a weird claim (every consult will still be triaged through a human). +Possible positives are numerous. +The conversation itself may be one of the most pivotal in the patient's end-of-life journey, +the hospital system will likely have reduced readmissions for cases that should be managed at home with hospice, +and we will have more data to put towards figuring out how to identify the modifiable risk factors for early post-discharge death. + +This team used the same tech I did when I built a mortality model for CCF, +my favorite kind of algorithm, +tree-based models called gradient-boosting machines (GBMs). + + +## interpretability - gotta do it, maybe they did + + +What I can't see yet is if they took the next obvious step, +which is to apply interpretability models on top. +The main reason to use a GBM, +in my mind, other than they're fast to train compared to neural networks +and perform the same if there's enough data and you tune them properly, +is that they're inherently compatible with the best meta-models that allow you to interrogate, +both on a per-prediction and cohort level, +why the model is saying whatever it's saying - +they're actually less of a black box than many standard statistical models, +believe it or not. + +The best tool for doing this is called SHAP, +and the output is gorgeous - [check it out](https://shap.readthedocs.io/en/latest/example_notebooks/overviews/An%20introduction%20to%20explainable%20AI%20with%20Shapley%20values.html). +We used it here, +I think to lovely effect: +<https://www.nature.com/articles/s41746-020-0249-z>, +and it's only gotten better since then) + +The other thing I love about pairing the interpretability models +with the predictive models +is now you have something you can really learn from, and, hence, teach from. + + +## but, will this worsen burnout? + + +The main issue, (given that the model works and has been proven trustworthy) +and which I don't think I've heard anyone talk about in great depth, +is the new alert fatigue this kind of system would make, +for already overworked palliative care teams, +and what mitigations they are taking to keep the firehose of new possible consults manageable. +One thing we could do, +and I have faith our house staff could do it well, +would be to implement the same system and have it first trigger an alert to the primary team, +with a recommendation to have the convo and reach out to pall care if there is any hint of a loose end, +or an automated pivot to pall care if the notes don't document GOC within a certain number of days of the alert +(or could pop up one of those boxes we love so fucking much with a radio button asking you if you've had "the talk" yet). + +Anywho, +I'm not saying I want to actually do this project, +I've got other stuff going on, +but if you're reading this you're the kind of person who is interested in what tech can do for a hospital system, +and this is a model combination of the very cutting edge of tech +and the oldest technique we have, +which is to offer a hand to the dying and with them face the abyss. +My vision of the future is less Skynet, cold and isolated, +but rather humans forefront, +with machines that run in the background to nudge us into and help make room for more +(non-digital, non-Apple mediated) facetime. diff --git a/site/posts/vimbook-org.md b/site/posts/vimbook-org.md @@ -0,0 +1,8 @@ +# vimbook + +<time id="post-date">2023-01-22</time> + +<p id="post-excerpt"> +About making the Vimbook. +</p> +