Org Web Adapter

journals/2019_01_30.org

Wednesday, 01/30/2019

ID
bc62130e-53b8-4245-8da0-1c80176de6d4

18:28 Tired

Today was a clusterfuck at work. We were supposed to end a sprint, and Ed

managed to cram a really important ticket in and wanted it done before we eneded

the sprint. All that came to pass, but in our stand up today (fucking standup),

Andrew gave us a peek at the next sprint and how we're addressing Box

integration removal from the codebase. Complete with already written user

stories.

Ed was pissed. And he ought to be. There's no looking beyond our feet at this

company. Everyone is running as fast as they can and it's only a matter of time

until we all wipe out.

I'm pretty convinced that the bulk of the stress is born from the micromanaging

and general know-it-all-ism of Kyna and Conan. They both rule with a "tell them

what we're doing next" attitude, rather than asking their reports what they're

working on and gently moving them towards the goals set forth.

Amateur night at the Apollo.

23:48 Tasks

Going to try something new, where tasks completed in a day go in my journal

entry. Both stops files from blowing up as tasks are completed, and also a nice chronology of when things get done.

DONE Pickup Troubles from the library

@errand

CLOSED: SCHEDULED:

DONE Pop Health Jan 15 Sprint [11/11]:PROJECT:SPRINT:@work:

CLOSED: DEADLINE:

DONE Properly filter physicians when exporting CQM reports RM-4322
@workreportingticket

CLOSED:

JIRA
https://elationhealth.atlassian.net/browse/RM-4322

+ Mon, 1/28

+ Luis pushed up a fix quickily and I got it reviewed, next is QA

+ Passed it off to Luis to take a look at how the front-end code looks up physicians

+ Fri, 1/25

+ Andrew thought maybe this was a frontend issue. I'm not so sure.

+ It's hard to reproduce.

+ This is tricker than it seems

+ Turns out we were always sending all physicians

+ Worse than that, we were always sending all the data.

+ So the filtering by individual physicians was doing nothing

DONE Debug why Dobin failed QRDA3 submission again RM-4321
PROJECT@workreporting

CLOSED:

JIRA
https://elationhealth.atlassian.net/browse/RM-4321

+ Monday, 1/28

+ After disucussing this, relatized it's probably related to RM-4322 and will

test accordingly

+ Going to sync with Ayhan and Anna later today to figure this out

+ Asked him to show me what he did to generate this error

+ google search turned up nothing about a 'nationalProviderIdentifier' key required for the 'ClinicalDocument' namespace.

DONE [#A] Sync with Anna and Ayhan to reproduce the issues
@workreporting

CLOSED:

DONE Add space to CPC+ ids for QRDA exports RM-4320
reporting@computerticket

CLOSED: SCHEDULED:

Thought about using a templatetag, but this ended up being trivial to do in the

view before sending the value to the templates. Then it only has to get done in

one place as well.

DONE Support QRDA3 testing with Anna and Lucy
qrda@computer

CLOSED: SCHEDULED:

REF
https://elationhealth.atlassian.net/wiki/spaces/PROD/pages/336953366/WIP+QRDA+2019+Submission+Testing+Overview?focusedTaskId=20

[[file:~/src/elation/hippo-tethys/static/js/el8/app/data/decisionSupports.js::return%20{]]

DONE Add ability to exclude non-qpp compatible measures from CQM report
cqmelation@computer

CLOSED: SCHEDULED: <2019-01-17 Thu 9:30>

:LOGBOOK:

CLOCK: -- => 5:20

CLOCK: -- => 2:30

:END:

#+BEGIN_SRC python Get practices

practice = Practice.objects.get(id="12970393927684")

[phy.__dict__ for phy in practice.physicians.all()]

[phy.physician.firstName for phy in practice.physicians.all()]

[phy.physician.lastName for phy in practice.physicians.all()]

uids = [phy.physician.access_user.userprofile.id for phy in practice.physicians.all()]

",".join([str(int(i)) for i in uids])

#+END_SRC

https://stage-west.elationemr.com/reports/cqm/qrda3/12970393927684/CALENDAR_YEAR/2018/-/-/measure_set/MIPS/?physician_ids=12970397597698,75980223217666,76000954482690,76003917037570,78385287200770

DONE Talk with Ed about sprint planning for care gap epic finish
@computercaregaps

CLOSED: SCHEDULED:

:LOGBOOK:

CLOCK: -- => 0:40

:END:

+ https://elationhealth.atlassian.net/secure/RapidBoard.jspa?rapidView=11&view=planning.nodetail&epics=visible&selectedEpic=RM-4100

+ Talked about making that epic up there reflect the reality of what needs to be

done in caregaps

+ Ed said his primary concern is making sure we're not storing the whole csv in

memory when we process the files and have working reporting

DONE Ensure that TIN and NPI fields do not include spaces or dashes when saved
@next@computerelationqrda

CLOSED: SCHEDULED:

:LOGBOOK:

CLOCK: -- => 0:25

CLOCK: -- => 1:28

:END:

Getting an error where hyphens are not removed from NPI ... strange.

DONE Late merge the two report tickets for QRDA
2018reporting@computer

CLOSED: SCHEDULED:

DONE Review Ed's FIGmd integration plan
@nextfigmd@computer

CLOSED: SCHEDULED:

LINK
https://elationhealth.atlassian.net/wiki/spaces/~685953667/pages/340885602/DRAFT+FIGmd+Integration+Battle+Plan+Informal

:LOGBOOK:

CLOCK: -- => 0:19

:END:*** WONTDO Document how to cause a manual CDS refresh in kube :cds:@computer:

SCHEDULED:

JIRA
https://elationhealth.atlassian.net/browse/SWAT-952

:LOGBOOK:

CLOCK: -- => 1:04

CLOCK: -- => 36:00

CLOCK: -- => 2:07

CLOCK: -- => 2:34

CLOCK: -- => 0:31

CLOCK: -- => 0:18

:END:

I think both of these issues relate to the refresh of practice-level

participation, which does not happen when CDS is updated, generally. Somehow we

have to cause more than just cqmRefresh to be triggered when opening and closing

visit notes.

Two flows seem incorrect:

1. Gaps and draft note already in patient chart, uploading additional care gaps

1. Create patient. Create note and save as draft.

2. Upload gaps. Confirm gaps appear in existing draft note.

3. Upload additional gaps.

4. Open chart and open existing draft note. Check that new gaps have been

added.

2. Gaps and draft note already in patient chart, uploaded file to close a few gaps that were already imported

1. Create patient. Create note and save as draft.

2. Upload gaps. Confirm gaps appear in existing draft note.

3. Upload file to close gaps.

4. Open chart and open existing draft note. Some gaps should no longer appear (i.e. be closed).

#+BEGIN_SRC python

from datetime import datetime

mds = MeasureDefinition.objects.filter(measure_code__in=['CCHCA-HEDIS-COA2', 'CCHCA-HEDIS-COA4', 'CCHCA-HEDIS-COA3', 'CCHCA-HEDIS-CBP', 'CCHCA-HEDIS-MRP'])

for m in mds:

m.reporting_start_date = datetime(2019,1,1)

m.reporting_end_date = datetime(2020,1,1)

m.save()

#+END_SRC

Looking over things more carefully this weekend, this appears to be more a

result of not triggering patient recalculations when care gaps are imported

immediately.

#+BEGIN_SRC sql

CREATE TABLE `analytics_decisionsupport` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`identifier` varchar(100) NOT NULL,

`nqf_identifier` varchar(100) NOT NULL,

`prompt_label` varchar(255) NOT NULL,

`settings_label` varchar(255) NOT NULL,

`skip_option_prompt` tinyint(1) NOT NULL DEFAULT '0',

`is_configurable` tinyint(1) NOT NULL,

PRIMARY KEY (`id`),

KEY `analytics_decisionsupport_8203544a` (`nqf_identifier`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#+END_SRC

I spent a while reproducing your results consistently on my local machine. What

I can conclude is that the behavior you are seeing is not the result of of this

fix being implemented incorrectly, but a constraint on how we recalculate

patient charts after care gap import.

When we import care gaps, we delay recalculation until the over-night bulk

recalc, because doing it immediately on import could spam the real-time

recalculations and, depending on the time day, cause a degradation in the

production application.

So if you have a draft note open already, and simply save it as a draft and

re-open it, nothing has changed on the chart, so no recalculation is done. We

refresh CDS now, so if a recalculation has occurred for some other reason, the

new results will be shown. But it’s not a simple matter to force a recalc of

every patient whenever a draft visit note re-opened is touched, because it would

generate a lot of real-time recalculation, most of which would happen for no

reason (no new care gaps, or other measures).

The short term solution may be to do instant recalculations for some threshold

of “small” care gap imports, and only do the bulk recalcs on large imports. But

we’d need some way to define what a small import is, and it still wouldn’t

address these issues with large imports.

DONE Make sure care gaps are deleted or merged when merging charts
@computercaregaps

CLOSED: SCHEDULED:

JIRA
https://elationhealth.atlassian.net/browse/RM-3536
ID
72398BE0-9875-4F71-82F7-9F683B11A70F

:LOGBOOK:

CLOCK: -- => 0:43

CLOCK: -- => 41:46

CLOCK: -- => 1:01

:END:

DONE Review 2018 reporting tickets in backlog for relvnce/context
2018reporting@computer

CLOSED: SCHEDULED:

***WONTDO Remove AvailabeCDS models RM-2292 :ticket:cds:@computer:

:LOGBOOK:

CLOCK: -- => 1:38

:END:

I was able to rebase the branch successully. But the open question is whether

the migrations are in a place to be run safely. I think I ought to remove the

destructive aspects of the move so we can revert if we have to. Otherwise I

think it's pretty safe.

DONE Engineering Initiatives Jan 15 Sprint [2/2]

PROJECTSPRINT@work

CLOSED: DEADLINE:

DONE Read through Porting python3
elation@computerpy3

CLOSED: SCHEDULED:

http://python3porting.com/

DONE Review Stavros' PR cleaning bytestrings in migrations
py3@workcodereview

CLOSED:

GITHUB
https://github.com/elationemr/hippo/pull/4243

DONE [#A] Review Ed's PR so he can merge before end of sprint

prreview@workcaregaps

CLOSED:

https://github.com/elationemr/hippo/pull/4261/files

DONE Submit homestead exemption form

@home

CLOSED:

DONE [#B] Get Emma's signature on homestead exepmtion form
@home

CLOSED:

DONE Return homestead exemption form to town hall
@errand

CLOSED:

DONE [#C] Review mutual aid draft with Maine Maritime

mutualaid@selectp

CLOSED:

https://mail.google.com/mail/u/2/#inbox/FMfcgxwBVWFzTBhjzrFLpnCDbTfKwHph?projector=1&messagePartId=0.1