ABBI PULL WG Meeting Materials 2013-3-12

advertisement
Automate Blue Button Initiative
Pull Workgroup Meeting
March 12, 2013
Meeting Etiquette
•
•
•
•
Remember: If you are not speaking, please keep your phone on
mute
Do not put your phone on hold. If you need to take a call, hang
up and dial in again when finished with your other call
o Hold = Elevator Music = frustrated speakers and participants
This meeting is being recorded
o Another reason to keep your phone on mute when not
speaking
Use the “Chat” feature for questions, comments and items you
would like the moderator or other participants to know.
o Send comments to All Panelists so they can be addressed
publically in the chat, or discussed in the meeting (as
From S&I Framework to Participants:
appropriate).
Hi everyone: remember to keep your phone
on mute 
All Panelists
2
Agenda
Topic
Time Allotted
Welcome and Announcements
5 minutes
HIMSS Summary and Recap
5 minutes
Review Summary Endpoint & Search Endpoint
10 minutes
Patient directed exchange vs. Patient mediated exchange
(Adrian G.)
20 minutes
Next Steps for ABBI Pull
5 minutes
3
HIMSS Summary and Recap
• Bill Clinton & Farzad M. had a BlueButton+ mention in their keynote
speeches. \o/
• Quest Diagnostics announced that they are going to adopt BlueButton+
[both Care 360 (point of care) and Gazelle (mobile app)]
– THIS IS BECAUSE OF YOUR HARD WORK!!!!
• Thanks to all great demonstrations at the interoperability showcase (4
kiosks, 100’s of people / traffic through the demonstrations).
• BlueButton+ presentations were also conducted on the Interoperability
Showcase stage (huge turnout!); leadership (Pierce G-J) also participated
in a panel on consumer engagement.
• Adrian G. connected with the MITRE consent team about moving BB+
into HIE.
• Demonstrations of C-CDA Generation / from the data side was very good.
Some were generating ~80% on the C-CDA ScoreCard.
• NEW: Keith has additional POCs to add for potential data holders.
• FIHR: Some discussion in HL7 booth, but not much activity at that venue.
• ACTION: (ABBI Community) Let us know if you are doing follow-up
blogs / etc. about HIMSS demo results and we’ll cross post / tweet
Next Steps / Agendas for ABBI Pull
• Feb 28 2013 Meeting
– (Keith) Endpoint API Pieces [2-28-2013]
– BlueButton+ for Pull Summary Discussion [2-28-2013]
– Josh – quick review of demo from Push [2-28-2013]
• March 12 2013 Meeting
– Review Endpoint API Pieces from 2-28
– (Adrian) – Patient directed exchange vs. Patient mediated
exchange
– (Keith) Comments on OAuth Documentation
• https://abbi-motorcycleguy.rhcloud.com/ABBI/api/doc/OAuth2-0.htm
Endpoint APIs
(Summary Endpoint, Search Endpoint)
• Assumptions
– Focus on the single patient record for view /
download
– BB with structured data
– Format is C-CDA (C-CDA required, plus other
options)
– Use OAuth Workflows
Summary Endpoint Discussion
• Summary Endpoint
• Definition: The thing that you would get to support the MU
requirements for View / Download
– Assumption: Document will contain MU core data, in a viewable
format, in a the ‘standard’ (C-CDA) format
– Question: MU specifies the content of the C-CDA in a TOC situation,
that is the C-CDA represented by the summary endpoint?
– Response: There is a C-CDA required to give the Pt for V/D
(electronically); this doesn’t prevent providers from including all of the
content from the TOC document.
• “Certified systems need to be able to generate C-CDA for data
portability”
– Comment (Carlos): Not sure what the summary endpoint does for me?
– Response: Record provides the total set of data available, so that it can
be explored to find the data relative to the app / search query being
used.
Search Endpoint Discussion
• Search Endpoint
– Capability will be based on HL7 FHIR Restful Search API
• Group agreed with that specification and has an action to migrate
it to the API documentation that has been produced thus far and
continue to work out the OAuth details.
• Comment: FHIR is also currently working on those ‘better’
endpoints (e.g. query for blood pressure, HW, O2, Rx, etc. but is just
a bit behind the ‘give me the whole document’ work)
– Format can be specified; C-CDA should be required, but
with other options (e.g. I want html, I want C-CDA, I want
XML)
• Question: What about Data Segmentation?
• Response: Recommend looking at what UMA has done with
permissions bundling re: scope + authorization. Also –
segmentation is under the data holders control and up to them for
how they apply their access policies and permissions.
Propose:
1 – Change the role of the master patient index so that it is populated in a
way that is transparent to the user (e.g. no probabilistic component)
2 – Be associated with a Direct email address (regardless of issuerer)
Note: Phase 1 is live, and pure Direct.
Central HIE will be available via web
server. Tech: exchange creates &
publishes certificates (acting as a HISP).
Q: Where would the master index reside? A: Utilize infrastructure (@ State HIE) in a way that
addresses privacy and does not expose them to high risk.
Discussion
• OAuth tokens are representations of a patients authorization (e.g. a
consent) for sharing information.
• Recommend moving away from policy and instead use the available
OAuth 2.0 technology to express ‘patient has consented’.
• BB+ Pull Scope: define the technical and content standards (in an
Implementation Guide) to access and provide patient summary
data.
• Concern: is ability to capture patient consent and send it to a
central location out of scope? Yes.
• Comment: Recommend focus on how OAuth 2.0 will be
implemented to support ABBI Pull.
• Summary: There is interest in adding a patient component (@ State
HIE), but we can address again as we move forward through the
development of the IG; it is worth having the discussion down the
road
Discussion (cont’d)
• Guidance re: OA 2.0 – work with existing systems that
are implementing, etc.
– What libraries are people using to implement OAuth 2.0
on the client / application side that might be worth
targeting for the authorization piece?
– (Josh M.) None – am building static Java apps (nothing that
requires a server side library)
– (Gordon R.) Using Spring Security
– (Adam G.) From IOS end, H-reader (app from HIMSS)
doing a similar process to what Josh described -minimal
code that forms the request by hand.
• ACTION: (Community) Please provide any code
samples of using OAuth 2.0 [Send to
jenniferbrush@esacinc.com]
Next Steps / Actions
• ACTION: (All) Send OAuth code samples to Jenny to
share with the team (jennifer.brush@esacinc.com)
• ACTION: Update Summary Document on Search /
Summary Endpoint (Keith)
– https://abbi-motorcycleguy.rhcloud.com/ABBI/api/doc/
• ACTION: Contact POCs from HIMSS after work group
has stable API document (e.g. mid-April)
• Josh’s idea re: simplifying access for Push
• Adrian – on agenda for next time (March 12): Patient
directed exchange vs. Patient mediated exchange
• Meet up during Interoperability Showcase @ HIMSS
face-to-face.
• Next meeting is March 26
Meeting Reminders
• Meeting Reminders
– The next PULL Workgroup Meeting is Tuesday, March 26, 2013 @
3:00 pm Eastern.
– Event: Consolidated CDA telecon/presentation on April 2 @ 12:00
Eastern
• Useful Links
– http://wiki.siframework.org/Automate+Blue+Button+Initiative
• Contact Information
– Initiative Coordinator: Pierce Graham-Jones (pierce.grahamjones@hhs.gov)
– Presidential Innovation Fellow: Ryan Panchadsaram
(ryan.panchadsaram@hhs.gov)
– Project Manager: Jennifer Brush (jennifer.brush@esacinc.com)
– S&I Admin: Apurva Dharia (apurva.dharia@esacinc.com)
13
Appendix – Reference Slides from Previous Meetings
• Appendix – Reference Slides from Previous
Meetings
Pull IG Discussion and Updates
• Pull Implementation Guidance (IG)
– Summary Comments
• Facilitators: Josh Mandel & Adrian Gropper
• (google doc) https://docs.google.com/document/d/1ZPeZfVf-qa_8CdPx2oXXCxc9jZ0NxYcdYZv3J7LSzo/edit
– OAuth Workflows (Updated!)
• Facilitator: Keith Boone
• (embedded doc)
ABBI Pull Challenge
•
ABBI Pull Challenge: We need dataholders to commit to being reference
implementers of Pull.
– Comment (Keith): Organizations are focused on meeting requirements for MU II; find it
difficult to tie it to ABBI Pull, AND they need it ‘yesterday’. Makes it difficult to find
organizations with the capacity to be reference implementers.
– Solution: Consider additional messaging/marketing language to promote ABBI Pull as
facilitating MU II (e.g. V/D/T). “5% of patients need to V/D/T their data.”
– How to make Pull + Authorization ‘easy’?
– Comment (Adrian): ‘Hang-out’ summary – the concerns that Keith has expressed hearing from
his customers was similar to what was expressed during the meeting earlier today. They are
focused on meeting increasingly difficult MU requirements and what is ONC doing to help.
Recommend presenting ABBI as a way to create effective ACO’s.
– Comment (Keith): ABBI Pitch from last week (as a source for language / marketing material):
http://motorcycleguy.blogspot.com/2013/02/abbi-pitch.html
– Challenge: Recruit and identify dataholders to participate as RI in Pull  what do we tell them
they need to be able to do / implement? What is the ask?
•
•
•
•
•
(Adrian) PPR’s ask to data holders is to put the decision of V/D/T in the hands of the physician and the
patient, rather than the institution and the EHR vendor.
(Josh) When we talk about data holders, we are talking about vendors [too]. Consider the hook of
programmatically extracting a C-CDA from their systems.
(Ryan) Some vendors have APIs that they have opened up OAuth as Pull. (Pierce) Greenway
announced they have a consumer API they are providing access to.
(Keith) There are more vendors that support CDA than C-CDA right now. Perhaps we can ask them to
focus on CDA (now) and C-CDA in the future. Provide a patient with a way to pull their current medical
summary or search for the documents they have available.
(Adrian) Mass gave $1M for vendors to create the APIs into the HIE; some vendors kept their
interfaces proprietary instead.
Pull Implementation Guide – Outline DRAFT
• Giving a patient a web address to PULL from
– Unique URL for pull functionality
• Authentication
– Existing login credentials, using OAuth
• Authorization
–
–
–
–
OAuth
How long do authorizations last / ability to cancel
Synchronization of request / granting access
What does a sample patient consent to PULL look like
• API guidelines
– Generalize across APIs presented to the group
– Date ranges (Send me everything, send me info for last 3 years, send me only the
latest, etc.)
– Frequencies and triggers
• Comment: potentially confusing? Our original scope statement was on-demand (~n times)
– Document types
• Trusting third parties with PULL access
– Trust framework necessary for a dataholder to implement PULL. What are
criteria for being included in trust group? How is it governed and managed?
• Audit Capability (based on BB logging?)
OAuth Workflows
(Keith Boone)
• OAuth 2.0 with ABBI
– Locating Endpoints
– Registering Your Application
– Obtaining the Authorization Token
– Obtaining an Access Token
– Making ABBI Requests
Comments / Feedback
(Carlos Eberhardt 20130128)
•
1) Are we only allowing dynamic client registration for OAuth? The doc gave me
that impression. It's not used much in the wild as far as I know and is fairly
complex. I realize it is an attempt to solve the many apps/many providers problem,
and for that purpose is as good as anything I've come across (although I haven't
looked far and wide). But, should we also consider a non-dynamic client
registration and allow developers to deal with the OAuth they are used to if they
choose? This might make their apps less flexible but I believe that should be the
developer's choice, not someone else's. I would start with instructions on attaining
keys that way, then introduce the dynamic registration.
•
2) I think we should make the doc a bit friendlier. I realize it's an early draft so
perhaps I'm jumping the gun on this. Getting adoption is a big goal, so making the
documentation as accessible as possible should be a priority. That means no word
docs, no "download and read." Here are a couple of examples of friendlier
developer documentation.
– http://developer.github.com/v3
– https://developers.tradeking.com/documentation/getting-started
– http://developer.wordnik.com/docs (not much auth-related, but a fancy UI)
•
I would suggest using the wiki to start the documentation rather than working in
an offline doc format, just to get used to it. It's easier than trying to convert it later,
in my experience.
Comments / Feedback
(Josh Mandel - 20130122)
•
I think most of Keith's proposal is spot-on and represents a tremendous effort in
producing a concrete, readable document. So please forgive me for focusing on
two points of dispute. But there are two key areas where I would push back (and
see my inline comments for more detail):
•
1. The "registrar" component is a major source of unnecessary complexity. It's a
new invention that (as far as I can tell) hasn't been used in the context of OAuth
registration before. (Please correct me if I'm wrong here.) And the registrar is
necessarily a trusted component that talks to multiple apps, their instances, and
authorization servers. At its heart, any added security offered by registrar relies on
"mechanisms not described by this specification" to verify "a legitimate instance"
of an application. And I have trouble seeing how this would happen in an
environment with diverse apps running on multiple platforms. My
recommendation is to eliminate the registrar component from ABBI's specification,
and simply have each authorization server provide dynamic client registration
services per IETF's draft-ietf-oauth-dyn-reg spec.
•
2. I maintain that ABBI should provide first-class support for pure browser-based
apps that are incapable of maintaining a secret. For such apps, security essentially
comes from being hosted at pre-registered HTTPS URLs. Browser-based apps
should use OAuth 2's "implicit grant" workflow to obtain tokens. For this type of
app, implicit grant is not less secure than other workflows -- and to my mind (and
no pun intended) it makes *explicit* the fact such apps are operating as public
clients.
Notes (Page 1)
General Discussion
•
Note: Keith found out more about dynamic app registration and will be editing
that section to reflect the new information.
– Comments about app registration?
– Assumes a collection of endpoints
•
WG Admin – Suggestion to move this group to Bi-weekly? (once every two weeks)
– No objections.
•
•
•
•
•
Comment (Chris B): Would like to suggest that the group also consider
Notifications (similar to comment from Push WG 1-28-2013 – will copy comment
from other meeting); don’t currently have known examples.
Comment (Fred): Doesn’t seem like the structured endpoints need to change; you
are pushing a very small bit of content and we should have a discussion about
what that content looks like, but for now it’s a small amount of data. Notification
may say nothing more than a change has occurred and you might want to go pull
it. Push notification would necessarily go to a server, then that server would
dispatch individual push notifications to each device.
Comment (Ryan): ACTION – research the equivalent somewhere. Agree that
notification should be discussed and on the table.
Comment (Adrian): Alternative way to look at notification (not to surprise the
patient) when pull is set up and someone (provider) uses it, it would be pleasant
for all of us to be notified as patients that the on-demand pull authorization has
been exercised.
[Similar to being told someone has changed / attempted to change your password
for a given secure site? Message via email.]
Notes (Page 2)
OAuth Endpoints Document
•
•
•
•
Notes: We’ve noticed that much of the agreement from the group is around the
pattern of access. E.g. OAuth, some mechanism for apps to dynamically access,
etc. Area where we are seeing less consensus is actually describing what these
endpoints look like. Key question is ‘who is going to build this?’ Although we
always want to find a balance between standardization and innovation, one of the
ways to maximize those for this effort is to avoid being proscriptive about the
endpoints, let the community experiment with the guidance, and see what comes
out of the community over the next few months. Push’s success is in part because
of the paradigm of assembling things off the shelf in a particular way. Pull only has
OAuth on the ‘shelf’, so pointing to endpoints might be difficult. Recommend
focusing on the “Pattern of Access” using OAuth and delegation.
Thoughts? Recommend sending out this discussion starter in an email for
discussion.
Comment (Adrian): re: Endpoint discovery, I did suggest early on that we link
endpoint discovery to DIRECT email addresses at the endpoint. That would in
effect bring in the benefits of DIRECT (which are already being worked through on
the Push side). This could be used then to boot-strap the OAuth connection.
Screen mock-ups were used to demonstrate how that could happen. This remains
one possibility if we are willing to discuss endpoints giving themselves a DIRECT
address.
Response: It is difficult to prescribe a path that no one is taking yet. Perhaps we
could take the endpoint description and keep them, but focus on the OAuth
component which we know is going to be the popularized way of making that
connection (e.g. like RHex Project). We certainly wouldn’t say using DIRECT to
boot-strap is bad, but we need to wait for those innovations to happen.
Notes (Page 3)
OAuth Endpoints Document
•
•
•
•
•
Comment (Adrian): Agree, however, to the extent that we (ONC) would issue guidance saying that the
accounting for disclosures should be part of a patient accessible screen on the portal, the rest sort of falls
into place and you don’t have to specify much else, because that brings information about what endpoints
will be shared, and with who. I don’t think we need very prescriptive standards beyond OAuth 2.0 and
DIRECT; however, what’s missing is specificity around the consent mechanism as reflected in the accounting
for disclosures – that policy guidance isn’t standard for implementation issues. This issue of specifying
accounting for disclosures for patients has come up in the HIE committee meeting today and remains a
problem. [Paul Tang Rule: “If you’re surprising the patient, you aren’t doing a good job”] -- At the HIE meeting
today, there was discussion around the problem of consent (opt-in/opt-out) when you try to do health
information exchange on a national scale. Everyone has the issue of dealing with a finite number of
endpoints within their geographic location. But as soon as you talk about larger regions, like a whole country
– people are stuck in terms of adjusting and arriving at common governance and common policy for how to
handle it.
Comment (Ryan): If there aren’t answers to question around policy for disclosure, we certainly have the
ability to ask them.
Comment (Adrian): If we took the accounting for disclosures and the Paul Tang rule and presented it to the
appropriate committee in the right way, then all of the other pieces about defining an endpoint could fall
into place.
Question (Ryan): Have you thought about what the disclosure / accountability screen would look at, what are
the metadata items on there that would be disclosed?
Comment (Adrian): State level requirements re: not disclosing particular information (e.g. HIV), then there is
patient preference – as candidates for authorization (for data segmentation). Any conversations about data
segmentation must come from both perspectives.
Notes (Page 4)
OAuth Endpoints Document
• Comment (Chris B): Data Segmentation is tough. Issue for example,
taking HIV history. There are multiple components of the record
when considering how/who to allow to look at or not look at pieces
of the record. May be a Pandora’s box to open this issue.
• Comment (Pierce): Agree and we should keep in scope with our use
cases / charter and focus on segmentation on document level and
time. Individual providers can define particular pieces and how to
assemble those documents.
• Comment (Adrian): Agree with document level data segmentation.
Not only who and when can be exchanges, but what it was.
• Deadline is by next week’s meeting (Tues, Feb 12)
See “Normal” PPT view for all
meeting notes (in Notes
section below)
See “Normal” PPT view
for all meeting notes (in
Notes section below)
• Slides from 2-28-2013 follow
Blue Button + Pull Summary
• OAuth 2
• Dynamic Discovery
• Separate patient alert best practice depending
on whether their chosen BB+ endpoint is
associated with a Direct Trust Bundle or not.
This too applies to both Push and Pull
• Other issues: such as Notification and
enhancements based on RHEx-style OpenID
Connect can be moved to a future release
Discussion (Misc)
(from 2-28-2013)
• Functionality
–
–
–
–
List of Authorized Data Users
Disclosures
“Portal should have this functionality, within these parameters”
Document it sufficiently to get a Stage I Implementation
Guideance.
• Endpoints for each? (list of auth data users and disclosures,
above)
• Q: Are these a Special / administrative scope?
• Comment: When a patient logs into their BB+ enabled
portal at a dataholder, they should see a unified list of
authorized data users and disclosures that don’t
differentiate b/w push & pull (no reason to split the list) 
functionality of the portal, as opposed to admin API
• UMA may address the ‘list’ part; disclosures is not that far
behind
Download