Tuesday, 3/19/2019
- ID
- 004c940a-e1e0-45a9-a10c-9ff845e8bf48
#+BEGIN: clocktable :scope file :maxlevel 2
#+CAPTION: Clock summary at
| Headline | Time | |
|--------------------+--------+------|
| *Total time* | *8:49* | |
|--------------------+--------+------|
| Tuesday, 3/19/2019 | 8:49 | |
| \_ Tasks | | 8:49 |
#+END:
Tasks
Today's meetings
:LOGBOOK:
CLOCK: -- => 1:46
:END:
One on one with Andrew
+ Demo issue, regarding uniquness of database table
+ Figured out flu vaccine CDS issue
+ Would love to see some tech talks on topics related to quality measures
+ Been trying to bootstrap a mentorship with Ed to level up my systems knowledge
+ Make progress on FIGmd while improving our CQM arch
+ Front office and workflow automation
+ Better migration paths between branches
Had an interesting discussion about next steps with integrations and workflow
automation. Andrew pointed out the need to automate things like CPT codes
being inserted for specific CDS flows. BMI is the particular one being worked
on right now, but Phill has five or six that ought to be pretty
straightforward. THe proble with Team IO is that with FIGmd and Hint
integrations we don't have the bandwidth to tackle some of these things right
now. So we'll have to work with Josh and Phill and others in the backend team
to make progress.
Team IO Standup
Ed noted that results for FIGmd seem to come in sequentially. Then there's a 30
second wait and the first response, then 20 seconds to the next response. After
a total of 70s, the final response comes. That looks like they're processing
them sequentially, not in parallel.
We have to be sure the mock data we have in Angora is what we'll get back from
FIGmd. If you send a request, it will send back a mock request from a file.
The blocker is understanding how FIGmd is going to do what needs to be done get
the response we need.
Move calculator to it's own python module.
Move CQM infra to talk with FIGmd, want to do some decoupling work at the same time.
Team IO story session
Spent most of the time walking through the PR that merges AvailableCDS into the
DecisionSupport model. Andrew pointed out a few places where things can be
cleaned up, and I need to get the migration path working again after many, many rebases
DONE Write in daily journal
DONE Get back to Inbox 0 in Protonmail
:LOGBOOK:
CLOCK: -- => 0:36
:END:
DONE Setup SSL on home proxy docker config
:LOGBOOK:
CLOCK: -- => 0:48
:END:
DONE Freeze MSFTACO and XOCOS measure definitions in the baseline db
SCHEDULED:
:LOGBOOK:
CLOCK: -- => 1:22
CLOCK: -- => 0:03
:END:
Started down the process here:
I had issues getting the CSV file inside the docker container at first. I ended
up having to mount my tmp dir to the cnotainer before I could install the gaps, like this:
#+BEGIN_SRC bash
docker run -i -t --link old_es_baseline:elasticsearch -w /opt/hippo/elation --link old_baseline:mysql -e HAYSTACK_HOST=elasticsearch -e DJANGO_DATABASE_HOST=mysql -v /tmp/:/tmp/gaps 570488747013.dkr.ecr.us-west-1.amazonaws.com/elation/hippo python manage.py install_caregap_defs MSFTACO /tmp/gaps/mstaco-measures.csv
#+END_SRC
There's a big elasticsearch update landing on staging right now, so I'd rather
not mess with refreshing such things at the moment. I'll double back on this
later today.
DONE Investigate issue with CPU bound CQM workers
SCHEDULED:
:LOGBOOK:
CLOCK: -- => 0:03
:END:
Considered https://elationhealth.atlassian.net/browse/RM-4917 which Phill
created after noticing that the BMI CDS was very slow to display. It turns out
we're hitting a bad expotential backoff bug where the CDS is bound by the CPU
time available.
DONE Clean up the RM-2292 branch so migrations work
SCHEDULED:
:LOGBOOK:
CLOCK: -- => 0:38
:END:
Turned out we were just missing some merge migrations, hooray!
DONE Experiment with pulling the calculator out of Hippo
:LOGBOOK:
CLOCK: -- => 1:43
:END:
Easy enough to pull the calculator directory out of quality_measures, but I
suspect there are a lot of places in our codebase that calls our calcuator code
directly, making it's pull out kind of painful.
While my initial thought had been to pull it out as some sort of web service
that could interact with Angora and Hippo. I'm wondering now whether it would be
more useful as a python library that was pip-installable, with an optional
rudimentary web API that could be built up around Angora over time.
That would allow the library to be iterated on separate from hippo.
DONE Fix misc issues in the care gap import process
SCHEDULED:
:LOGBOOK:
CLOCK: -- => 1:10
CLOCK: -- => 0:40
:END:
https://elationhealth.atlassian.net/browse/SWAT-1194
1. Link to download error report does not appear until you refresh the page. (does not automatically appear in Upload History table so I initially thought it wasn’t created). Would be nice to have a “refresh for error report” button or something to that effect.
2. If there are multiple errors in a row, only 1 error is identified in the summary table. Ex. in the attached spreadsheet, rows 4 and 14-18 have multiple errors, but only 1 error will be listed in the summary table.
3. If the provider NPI is incorrect, will not result in error. Ex. row 8 in attachment
4. If a column name is incorrect, error report will not say this. it will just exclude the column from the import.
DONE Write up developer journal and copy to Confluence
SCHEDULED:
https://elationhealth.atlassian.net/wiki/spaces/~colin.powell/pages/305823777/Work+log
Journal
Last night was interesting. Nabby, when I brought her up to bed around midnight,
did not want to settle. I resolved to try getting her to sleep for about 10
minutes but then would take her downstairs to the couch again. Lo and behold,
she didn't want to settle, so I ended up getting some sleep on the couch. Some
sleep, not enough sleep. I think I probably slept off and on and ended up with 4
or 5 hours total, of fitful sleep.
None of that helped that there was a raccoon in the havahart trap that Jess set
up the other day. With no real plan to deal with it, Emma called Bubba to come
help, and he ended up getting roped into taking it up, by himself, to the wood
lot to release it. I felt guilty as hell that all this was going on without me,
but I was having a hard enought time focusing on what I need to do this morning.
Then Emma and her mom decided to figure out why they weren't talking, and Emma
ended up in tears because Johanna is a hilariously myopic when it comes to moral
imagination and empathy. She spun it back at Emma as her fault pretty quickly,
even though she's the one who kicked things off by calling for a recipe she's
asked for four times already, at dinner time, on Jess' birthday.
Suffice it to say I'm already feeling pretty beat today. So we'll see how
everything else goes :)
Work log
I started the day by adding XOCOS and MSFTACO quality measure definitions to the
development database. This is always a perilous adventure, though having to do
it on a more regular basis makes the whole thing a bit more predictable. This
time I managed to only push one incorrect database image, when I failed to add
the names of the new quality programs.
I also spent a little time tightening up my local development environment. So far my proxy to the linux server was using an HTTP connection, which is fine when I'm working from home. But when I'm not at home, it's not great to be sending clear text passwords and such.
I then verified my findings on the flu vaccine bug and wrote up some
documentation so I can talk to Sam about it and get his take on wether the
measure is broken or I shouldn't be hacking reminders out of our measures.
I had a one-on-one meeting with Andrew where he outlined the delicate nature of
our work in Team IO right now. With Hint and FIGmd integrations taking up most
of our time, we'll need to find a way to coordinate with other teams to get some
high priority items related to workflow automation and CDS done at the same
time. That will likely involve working with some backend folks.
After that meeting we had our FIGmd standup and went straight into a story
session. That time was used to walk through the big RM-2292 PR, bringing
AvailableCDS and DecisionSupport models into the quality_measures app. We also
discovered that the branch didn't deploy properly. As soon as we got off the
call I was able confirm that there were missing merge migrations have I had
rebased on master a few times. I also walked through the PR afterward and fixed
a few things Andrew had questions about.
I spent the rest of my afternoon working on the miscellaneous care gap import
bugs that were called out as issues but not blockers after our big refactor
branch landed.
Later in the evening I started to play with the idea of building out our
calculator code in it's own repository with a API for interacting with Ed's
Angora project.