Stream: connectathon mgmt
Topic: Clinical Notes Track
Michael Donnelly (May 12 2018 at 07:54):
Epic's endpoints for the Clinical Notes track are in the Google sheet: https://docs.google.com/spreadsheets/d/15NwlqqUP2D95Z6XN5IJoOFDjyGlT7ZgU71dvromgqIY/edit#gid=1016803812
Michael Donnelly (May 14 2018 at 07:33):
Postman collection to test this track: https://www.getpostman.com/collections/80389c641f9570e2745b
Michael Donnelly (May 14 2018 at 07:34):
@Kevin Shekleton @Dennis Patterson @Isaac Vetter this is what we were discussing last night. Check out the tests on each request and the collection level variables.
Michael Donnelly (May 14 2018 at 07:36):
You can edit the collection variables, but you can also override them with an Environment.
Michael Donnelly (May 14 2018 at 07:36):
I made an environment file for your server and this set of tests: Cerner-Sandbox-DSTU2.postman_environment.json
Michael Donnelly (May 15 2018 at 09:52):
Current LCD list of type codes
- Discharge documentation (18842-5)
- Consultation (11488-4)
- History & Physical (34117-2)
- Progress note (11506-3)
- Procedures note (28570-0)
Michael Donnelly (May 15 2018 at 10:06):
Who can we get involved in this track for September in additional to Cerner and Epic?
Bryn Rhodes (May 15 2018 at 10:18):
We're very interested, not sure the LOINC code, but it would be a risk assessment note (we'd like to represent it as a RiskAssessment directly, but a ClinicalNote will do :)).
Grahame Grieve (May 15 2018 at 10:54):
I'm in. but what about a note made as part of a consultation
Grahame Grieve (May 15 2018 at 10:57):
or something like this:
Grahame Grieve (May 15 2018 at 10:57):
Michael Donnelly (May 15 2018 at 12:51):
There are many, many more kinds of notes than this base list. The intent of the list is to have a small, core set that servers can commit to supporting. Clients will know they can rely on servers supporting every type on the list.
Michael Donnelly (May 15 2018 at 12:51):
Servers can and will support additional types.
Michael Donnelly (May 15 2018 at 12:53):
This set is the least common denominator, the values you can be confident will work everywhere.
Josh Mandel (May 15 2018 at 12:56):
@Michael Donnelly is the expectation that these codes represent the core set of note types that a server will support sharing... or just the core set of well specified labels that a server will be able to apply to its (potentially much broader) set of exposed notes?
Michael Donnelly (May 15 2018 at 12:57):
@Brett Marquard polled a number of entities and found the intersection of the note types represented in their systems.
Brett Marquard (May 15 2018 at 12:58):
Epic, Cerner, VA, Meditech - polled as part of adding clinical notes to CDA documents
Josh Mandel (May 15 2018 at 12:59):
Yes, which is great work -- but I don't think that answers my question :-)
Michael Donnelly (May 15 2018 at 13:00):
Ah. The former.
Josh Mandel (May 15 2018 at 13:00):
Is the idea that we'll be working on servers that expose these notes for sure (and optionally more types) ... or on servers that expose all of their notes (but may have less informative DocumentReference.type
values for notes outside of this list)?
Michael Donnelly (May 15 2018 at 13:01):
Epic plans to expose a ValueSet of the other types we accept.
Michael Donnelly (May 15 2018 at 13:02):
(When we figure out a lightweight way to expose the ValueSet.)
Josh Mandel (May 15 2018 at 13:02):
Accept == clients can post, or accept == server will expose, or both?
Michael Donnelly (May 15 2018 at 13:05):
Clients can post.
Josh Mandel (May 15 2018 at 13:05):
You could always expose something like
GET /ValueSet/clinical-notes-types
with a well-known resource id (here, clinical-notes-types
)
Josh Mandel (May 15 2018 at 13:06):
Is there a similar valueset for what note types the server would expose?
Michael Donnelly (May 15 2018 at 13:06):
We have enough such ValueSets that we want a more general solution.
David Hay (May 15 2018 at 13:08):
But, just being in the ValueSet doesn't mean that the server must understand those codes, does it?
Michael Donnelly (May 15 2018 at 13:33):
Correct.
Michael Donnelly (May 15 2018 at 13:34):
Servers that implement Clinical Notes according to the IG that Argonauts is developing will.
Michael Donnelly (May 15 2018 at 13:36):
I want to get more input on the ValueSet topic, but I'll move that over to #implementers
Josh Mandel (May 15 2018 at 13:37):
Like GET /ValueSet?description=all the DocumentReference.type codes that this server will accept
? ;-)
(I'll move any serious suggestions to #implementers ...)
Brett Marquard (Sep 18 2018 at 09:46):
Good day, The Clinical Notes Track Orientation is set for Monday 9/24 12 PM EDT. I apologize for this getting set late -- call details:
HL7 FHIR Connectathon Clinical Notes Track Orientation
Please join my meeting from your computer, tablet or smartphone.
https://global.gotomeeting.com/join/236544381
You can also dial in using your phone.
United States: +1 (408) 650-3123
Access Code: 236-544-381
First GoToMeeting? Let's do a quick system check:
https://link.gotomeeting.com/system-check
An invite will be sent to folks on the Argonaut Clinical Notes Calls
Jenni Syed (Sep 18 2018 at 13:40):
Sanity check: I assume that should be a 1 hour duration? The invite was 3 hours :)
Brett Marquard (Sep 18 2018 at 15:59):
ha, I am hoping it will be 30 mins :)
Jason Walonoski (Sep 24 2018 at 20:32):
Missed the call. Any outcome?
Brett Marquard (Sep 25 2018 at 12:10):
yep, we decided to proceed with the track! Track details. Are you going to participate?
Jason Walonoski (Sep 25 2018 at 12:15):
Yes. I want to add clinical notes to Synthea, among other things.
Brett Marquard (Sep 25 2018 at 12:22):
That would be great
Michael Donnelly (Sep 29 2018 at 13:37):
What are everyone's base URLs?
Jason Walonoski (Sep 29 2018 at 13:38):
So, my understanding thus far:
- EPIC takes DocumentReference with inline plain text. Returns DocumentReference with inline xhtml of the submitted plain text.
- Cerner takes DocumentReference with inline xhtml. Returns DocumentReference to a Binary that contains PDF version of submitted xhthml.
- Use of $expand operation to determine what types of clinical notes a server accepts.
Brett Marquard (Sep 29 2018 at 13:39):
wiki page: http://wiki.hl7.org/index.php?title=201809_Clinical_Notes_Track
Brett Marquard (Sep 29 2018 at 13:42):
Sign up here!
Bradley Strecker (Sep 29 2018 at 13:52):
Cerner test server: https://fhir-open.stagingcerner.com/r4/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/
Patient: 5320007
existing documents with loincs: 11488-8, 18842-5
Pace Ricciardelli (Sep 29 2018 at 13:52):
ConMan link: http://conman.fhir.org/connectathon.html?event=baltimore2018
Colby Seyferth (Sep 29 2018 at 14:08):
URL and Headers needed for Epic Server:
https://connectathon.epic.com/Interconnect-Fhir-Unsecure/api/FHIR
Host: connectathon.epic.com
Accept: application/json
Epic-Client-ID: 151ba7cb-ad9e-4361-92a0-21669aee0c65
Epic-User-ID: 1
Epic-User-IDType: External
Patient with a little data and adding more:
https://connectathon.epic.com/Interconnect-Fhir-Unsecure/api/FHIR/STU3/Patient/eu.VaLgrN5id2-sWF6.sYLQ3
Progress Note:
https://connectathon.epic.com/Interconnect-Fhir-Unsecure/api/FHIR/STU3/DocumentReference/exPD8V33x00ZQpiVWvqmazQ3
https://connectathon.epic.com/Interconnect-Fhir-Unsecure/api/FHIR/STU3/DocumentReference/
POST body for DocRef Create:
{
"resourceType": "DocumentReference",
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "11488-4",
"display": "Consultation Note"
},
{
"system": "urn:oid:1.2.840.114350.1.13.861.1.7.4.737880.5010",
"code": "1",
"display": "Progress Note"
}
],
"text": "Consults"
},
"subject": {
"reference": "https://vs-icx.epic.com:443/Interconnect-CDE/api/FHIR/STU3/Patient/egk.IKDzXjMqwhhVKtdVDGQ3",
"display": "Fhir D Cds Jr., Esq."
},
"content": [{"attachment": {
"contentType": "text/plain",
"data": "SGVyZSBpcyBzb21lIE5vdGUgVGV4dCBpbiBoZXJlLCBlbmNvZGVkIHRvIGJhc2U2NCBmb3JtYXQuLi4="
}}],
"context": {"encounter": {"reference": "https://vs-icx.epic.com:443/Interconnect-CDE/api/FHIR/STU3/Encounter/exuzHL8C4zPTpaeDUWlCQ.g3"}}
}
Colby Seyferth (Sep 29 2018 at 14:25):
DiagnosticReport:
https://connectathon.epic.com/Interconnect-Fhir-Unsecure/api/FHIR/STU3/DiagnosticReport?patient=eu.VaLgrN5id2-sWF6.sYLQ3
Raj M (Sep 29 2018 at 14:41):
@Colby Seyferth I posted a consult note of type text/plain. Trying to post RTF. But getting content too long error message? Two questions 1) what other formats does Epic support? 2)what is the max length restriction?
Raj M (Sep 29 2018 at 14:42):
@Bradley Strecker Trying post below but getting 401 . Hitting url https://fhir-open.stagingcerner.com/r4/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/DocumentReference
{
"resourceType": "DocumentReference",
"meta": {
"versionId": "1",
"lastUpdated": "2018-09-29T13:22:04.000+00:00"
},
"status": "current",
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "11488-4"
}
]
},
"subject": {
"reference": "Patient/5320007"
},
"indexed": "2018-09-29T13:22:03.358Z",
"description": "WK Pathway Decision Summary",
"content": [
{
"attachment": {
"contentType": "data:text/plain;base64",
"data": "VVBUT0RBVEUgUEFUSFdBWQ0KRGF0ZSBDb25zdWx0ZWQ6IE1vbiBTZXAgMTAgMjAxOCAxNjoyMDo1MyBHTVQtMDQwMCAoRWFzdGVybiBEYXlsaWdodCBUaW1lKQ0KwqANCkNvbW11bml0eS1hY3F1aXJlZCBwbmV1bW9uaWE6IEVtcGlyaWMgYW50aWJpb3RpYyBzZWxlY3Rpb24gZm9yIGFkdWx0cyBhZG1pdHRlZCB0byBhIGdlbmVyYWwgbWVkaWNhbCB3YXJkDQrCoA0KT1JERVJTIEFORCBBQ1RJT05TIFNFTEVDVEVEOiANCsKgDQpNZWRpY2F0aW9uczoNCsKgIENlZm90YXhpbWUgMSBnIElWIGV2ZXJ5IDggaG91cnMgRG94eWN5Y2xpbmUgMTAwIG1nIG9yYWxseSBldmVyeSAxMiBob3Vycw0KwqANCkRpc2NsYWltZXI6IFNvbWUgb2YgdGhlIG1hbmFnZW1lbnQgYXBwcm9hY2hlcyBpbiB0aGlzIFVwVG9EYXRlIFBhdGh3YXkgaW5jbHVkZSB0cmVhdG1lbnQgd2l0aCBvbmUgb3IgbW9yZSBtZWRpY2F0aW9ucy4gVGhlIGRydWcgZG9zZXMgZ2l2ZW4gZ2VuZXJhbGx5IHJlcHJlc2VudCB0aGUgZG9zZXMgdGhhdCBhcmUgc3VnZ2VzdGVkIGZvciBwYXRpZW50cyB3aG8gZG8gbm90IHJlcXVpcmUgZG9zZSBhZGp1c3RtZW50cyBkdWUgdG8gZmFjdG9ycyBzdWNoIGFzIGNvbW9yYmlkIGlsbG5lc3Nlcywgb3JnYW4gZHlzZnVuY3Rpb24sIGRydWcgaW50ZXJhY3Rpb25zLCBvciBvdGhlciByZWFzb25zLiBDb25zdWx0IGEgY2xpbmljYWwgZHJ1ZyByZWZlcmVuY2UsIGFwcHJvcHJpYXRlIFVwVG9EYXRlIHRvcGljIHJldmlld3MsIGFuZC9vciBvdGhlciByZXNvdXJjZXMgdG8gY29uZmlybSB0aGVyZSBhcmUgbm8gY2xpbmljYWxseSBzaWduaWZpY2FudCBkcnVnIGludGVyYWN0aW9ucyBhbmQgdG8gZGV0ZXJtaW5lIHRoZSBhcHByb3ByaWF0ZSBkb3NpbmcgZm9yIGEgZ2l2ZW4gcGF0aWVudC4NCsKgDQpERUNJU0lPTiBTVU1NQVJZOiANCsKgDQpTZXZlcmUgYmV0YS1sYWN0YW0gYWxsZXJneTogTm8uDQrCoA0KUmlzayBmb3IgUC4gYWVydWdpbm9zYTogTm8uDQrCoA0KUmlzayBmb3IgTVJTQTogTm8uDQrCoA0KUmVnaW1lbiBzZWxlY3RlZDogQ29tYmluYXRpb24gYmV0YS1sYWN0YW0gcmVnaW1lbiAocHJlZmVycmVkKS4NCsKgDQpDb250cmFpbmRpY2F0aW9ucyB0byBtYWNyb2xpZGU6IFllcy4NCsKgDQpFbXBpcmljIHRoZXJhcHkgd2l0aCBhbiBhbnRpLXBuZXVtb2NvY2NhbCBiZXRhLWxhY3RhbSBwbHVzIGRveHljeWNsaW5lIGlzIGFwcHJvcHJpYXRlIGluIHRoaXMgcGF0aWVudC4gUGF0aWVudHMgc3RhcnRlZCBvbiBpbnRyYXZlbm91cyB0aGVyYXB5IGNhbiBiZSBzd2l0Y2hlZCB0byBvcmFsIHRoZXJhcHkgd2hlbiB0aGV5IGFyZSBpbXByb3ZpbmcgY2xpbmljYWxseSwgaGVtb2R5bmFtaWNhbGx5IHN0YWJsZSwgYWJsZSB0byB0YWtlIG9yYWwgbWVkaWNhdGlvbnMsIGFuZCBoYXZlIGEgbm9ybWFsbHkgZnVuY3Rpb25pbmcgZ2FzdHJvaW50ZXN0aW5hbCB0cmFjdC4gRm9yIG1vc3QgcGF0aWVudHMgd2l0aCBnb29kIGNsaW5pY2FsIHJlc3BvbnNlIHdpdGhpbiB0aGUgZmlyc3QgdHdvIHRvIHRocmVlIGRheXMgb2YgdGhlcmFweSwgdGhlIHRvdGFsIGR1cmF0aW9uIG9mIGFudGliaW90aWMgdGhlcmFweSBpcyBmaXZlIHRvIHNldmVuIGRheXMuDQrCoA0KQmV0YS1sYWN0YW0gc2VsZWN0ZWQ6IENlZm90YXhpbWUgMSBnIElWIGV2ZXJ5IDggaG91cnMuDQrCoA0KRG94eWN5Y2xpbmUgZG9zZSBzZWxlY3RlZDogRG94eWN5Y2xpbmUgMTAwIG1nIG9yYWxseSBldmVyeSAxMiBob3Vycy4NCsKgDQpVUkw6IGh0dHBzOi8vdXNlYXN0MS51cHRvZGF0ZS5jb20vaWNnLzEwOTIyMA0KUGF0aHdheSBJRDogMTA5MjIwDQpTZXNzaW9uIElEOiA4RTY1MkY1NEI3QTdGMUQ4NUM0N0Q5QjkxQ0I2NzAxRA0K"
}
}
]
}
Colby Seyferth (Sep 29 2018 at 14:50):
*Supported Context/operations:
DocumentReference.Type/read
DocumentReference.Type/write
DOCUMENTREFERENCE.CONTENT.ATTACHMENT.CONTENTTYPE/read
DOCUMENTREFERENCE.CONTENT.ATTACHMENT.CONTENTTYPE/write
DIAGNOSTICREPORT.CATEGORY/readhttps://connectathon.epic.com/Interconnect-Fhir-Unsecure/api/FHIR/STU3/ValueSet/$expand?context=DOCUMENTREFERENCE.TYPE&contextDirection=incoming
Michael Donnelly (Sep 29 2018 at 14:50):
@Raj M You can't post RTF; it has to just be plain text.
Colby Seyferth (Sep 29 2018 at 14:53):
@Raj M max length is 32,000 characters
Raj M (Sep 29 2018 at 15:09):
@Raj M You can't post RTF; it has to just be plain text.
Thx @Michael Donnelly . When I read the DocumentReference which I created, I see that the Binary is stored as text/html. Is there a chance there will be support for writing text/html or xhtml in future or no plans at this point?
Raj M (Sep 29 2018 at 15:09):
@Raj M max length is 32,000 characters
Great. Thx @Colby Seyferth
Michael Donnelly (Sep 29 2018 at 15:10):
There may be. We prioritized plaintext because we had so many requests for that.
Michael Donnelly (Sep 29 2018 at 15:11):
It isn't actually stored as html, we just format it as html to return it.
Raj M (Sep 29 2018 at 15:13):
There may be. We prioritized plaintext because we had so many requests for that.
:thumbs_up:
Raj M (Sep 29 2018 at 15:15):
It isn't actually stored as html, we just format it as html to return it.
Ok. I will catch up with you later in the day (when we move down) to see how users see this note in Epic.
Bradley Strecker (Sep 29 2018 at 16:13):
@Raj M Sorry, just saw your message. You'll need to POST to the fhir-ehr endpoint rather than fhir-open. Writes aren't supported through fhir-open. Accessing fhir-ehr endpoint will require providing an authorization token
Pascal Pfiffner (Sep 29 2018 at 16:36):
As an aside, I noticed that the Cerner server will happily use DSTU-2 Accept header application/json+fhir
for searches, returning bundles, but will throw a 406 on reads.
Raj M (Sep 29 2018 at 17:48):
@Raj M Sorry, just saw your message. You'll need to POST to the fhir-ehr endpoint rather than fhir-open. Writes aren't supported through fhir-open. Accessing fhir-ehr endpoint will require providing an authorization token
Np @Bradley Strecker . How do I get auth token? If SMART on FHIR, can I use code.cerner.com test console to launch the app and post DocumentReference
Bradley Strecker (Sep 29 2018 at 18:02):
Np @**Bradley Strecker** . How do I get auth token? If SMART on FHIR, can I use code.cerner.com test console to launch the app and post DocumentReference
Yeah, you'll need to register a new smart api and then you can use the auth test app to create the token https://authz-demo.sandboxcerner.com/client/demo
Brett Marquard (Sep 29 2018 at 18:07):
Howdy! We will be hosting a breakout from 4-5 in the CHESAPEAK A ROOM
Brett Marquard (Sep 29 2018 at 18:07):
Options 1 - DocumentReference and DiagnosticReport
- DocumentReference for clinical notes (e.g. Discharge Summary, History and Physical, Progress Note, Consultation Note - Non Ordered Procedures!)
- DiagnosticReport for ordered procedure reports: Cardiology, Pathology, Radiology
- Some DiagnosticReports are scanned and don’t contain any discrete details (e.g. Specimen, Observations, etc.) -- even worse, the “issued date” may represent when the report was scanned -- not the date the original report was issued.
- Client must determine where to query based on note/report type
Options 2 - DocumentReference
- DocumentReference for clinical notes and reports
- Client always queries DocumentReference which included a pointer to the content in content.attachment (report binary)
- Optionally reference DiagnosticReport from DocumentReference (context.related) and content.attachment (report binary)
- DiagnosticReport would then include the discrete elements, and also a pointer to DiagnosticReport.presentedForm (report binary, same binary as referenced in DocumentReference.content.attachment)
Lloyd McKenzie (Sep 29 2018 at 20:21):
Need to think about how shift notes get shared (the short 1-2 sentence notes). Not clear that DocumentReference or DiagnosticReport are appropriate for these.
Michael Donnelly (Sep 29 2018 at 20:23):
It might depend on how they'll be used. Are they instructions that the next shift should follow, or are they information the next shift can retrieve as needed?
Lloyd McKenzie (Sep 29 2018 at 20:24):
It's a summary of what happened and/or suggestions for whoever's coming next. But it's just a name, a date and 1-2 sentences in a log.
Lloyd McKenzie (Sep 29 2018 at 20:24):
Smells like an Observation to me...
Michael Donnelly (Sep 29 2018 at 20:30):
FWIW, the way we'd store it is a lot more like a DocumentReference than an Observation.
Pascal Pfiffner (Sep 29 2018 at 20:32):
Or would shift notes even be likened to progress notes? Composition maybe?
Michael Donnelly (Sep 29 2018 at 20:33):
I'd also see progress notes in DocumentReference.
Pascal Pfiffner (Sep 29 2018 at 20:41):
I haven't worked with the document related resources enough. How would I get a reference to a Bundle/Composition from DocumentReference
?
Michael Donnelly (Sep 29 2018 at 21:41):
What's the bundle you need?
Michael Donnelly (Sep 29 2018 at 21:41):
Or, better question, what is the workflow?
Pascal Pfiffner (Sep 29 2018 at 21:42):
I was wondering, what if a document for a patient was available as a FHIR document, would I be able to find it by searching for all the patient's DocumentReferences? Should I be able to?
Lloyd McKenzie (Sep 29 2018 at 21:53):
Ideally, but not guaranteed. You might also need to search Bundle using the composition search parameter
Michael Donnelly (Sep 29 2018 at 21:54):
Stay tuned. We were talking about a relevant thing this afternoon and will have another round tomorrow. :)
Brian Wright (Sep 30 2018 at 12:24):
Based on our discussion at the breakout regarding the overlap between DiagnosticReport and DocumentReference (using radiology reports as the example), the table below shows where I think we ended up:
Brett Marquard (Sep 30 2018 at 13:34):
Break out today at 2PM! - CONSTELLATION F
Michael Donnelly (Sep 30 2018 at 17:22):
@Brian Wright depends on what you mean by Diagnostic report with non-discrete data. Are you talking about an image, a PDF of a report from another system, or a blob of unformatted text?
Brett Marquard (Sep 30 2018 at 17:55):
Working on clinical notes write up - feel free to edit/comment
Michael Donnelly (Sep 30 2018 at 18:20):
-deleted-
Last updated: Apr 12 2022 at 19:14 UTC