This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "201809 Clinical Notes Track"

From HL7Wiki
Jump to navigation Jump to search
(add category)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[http://wiki.hl7.org/index.php?title=Category:201809_FHIR_Connectathon_Track_Proposals Return to September 2018 Proposals]
 
[http://wiki.hl7.org/index.php?title=Category:201809_FHIR_Connectathon_Track_Proposals Return to September 2018 Proposals]
 +
[http://wiki.hl7.org/index.php?title=FHIR_Connectathon_19 Connectathon 19]
 +
[[Category:201809_FHIR_Connectathon_Track_Proposals|September 2018 Proposals]]
  
 
__NOTOC__
 
__NOTOC__
Line 9: Line 11:
  
 
Clinical Notes are a critical element for clinicians to communicate the status of a patient to another caregiver. These notes occur in various formats, such as: unstructured (XHTML, ASCII), fixed file format (PDF, RTF), or structured (HL7 CDA/FHIR Composition). Common clinical notes as identified by the Argonaut participants:
 
Clinical Notes are a critical element for clinicians to communicate the status of a patient to another caregiver. These notes occur in various formats, such as: unstructured (XHTML, ASCII), fixed file format (PDF, RTF), or structured (HL7 CDA/FHIR Composition). Common clinical notes as identified by the Argonaut participants:
* Discharge documentation (8648-8 and/or 18842-5)
+
* Discharge documentation (18842-5)
 
* Consultation (11488-4)
 
* Consultation (11488-4)
 
* Imaging narrative (18726-0)
 
* Imaging narrative (18726-0)
Line 44: Line 46:
  
 
[https://docs.google.com/spreadsheets/d/15NwlqqUP2D95Z6XN5IJoOFDjyGlT7ZgU71dvromgqIY/edit#gid=584889227 Sign-up Sheet!]
 
[https://docs.google.com/spreadsheets/d/15NwlqqUP2D95Z6XN5IJoOFDjyGlT7ZgU71dvromgqIY/edit#gid=584889227 Sign-up Sheet!]
 +
 +
[https://chat.fhir.org/#narrow/stream/58-connectathon-mgmt/topic/Clinical.20Notes.20Track Clinical Notes Zulip]
  
 
==Roles==
 
==Roles==
Line 100: Line 104:
 
:Success Criteria: Server returns pointer to binary. Client is able to retrieve and display Clinical Note (binary).
 
:Success Criteria: Server returns pointer to binary. Client is able to retrieve and display Clinical Note (binary).
  
  GET [base]/DocumentReference?patient=[id]&created=[date]
+
  GET [base]/DocumentReference?patient=[id]&class=clinical-note&created=[date]
 
  GET [base]/Binary/[id]
 
  GET [base]/Binary/[id]
 
Example:
 
Example:
  GET [base]/DocumentReference?patient=1316024&created=ge2018-04-11
+
  GET [base]/DocumentReference?patient=1316024&class=clinical-note&created=ge2018-04-11
  
 
=== 4. Retrieve a Patient's Discharge Summary Notes ===
 
=== 4. Retrieve a Patient's Discharge Summary Notes ===
Line 113: Line 117:
 
  GET [base]/Binary/[id]
 
  GET [base]/Binary/[id]
 
Example:
 
Example:
  <pre>GET [base]/DocumentReference?patient=1316024&type=http://loinc.org|8648-8</pre>
+
  <pre>GET [base]/DocumentReference?patient=1316024&type=http://loinc.org|18842-5</pre>
  
 
=== 5. Retrieve a Patient's Radiology Notes ===
 
=== 5. Retrieve a Patient's Radiology Notes ===
Line 163: Line 167:
 
:Action: A client invokes the $expand operation on a specific resource element to determine what codes they support.  
 
:Action: A client invokes the $expand operation on a specific resource element to determine what codes they support.  
 
:Precondition: The server either has access to a terminology server, or acts as one.  
 
:Precondition: The server either has access to a terminology server, or acts as one.  
:Success Criteria: Value set resource is returned with allowed values. Testing is done with both context, and contextDirection as parameters.
+
:Success Criteria: Value set resource is returned with allowed values. Testing is done with both `context` and `operation` as parameters.
 +
 
 +
GET  http://test.fhir.org/r3/ValueSet/$expand?context=DiagnosticReport.category&contextDirection=outgoing
  
POST  http://test.fhir.org/r3/ValueSet/$expand?context=DiagnosticReport.category (NOTE, confirming exact format !!)
+
Note: this is supported for the Epic connectathon server, but not the Cerner one.
  
 
==TestScript(s)==
 
==TestScript(s)==

Latest revision as of 19:40, 16 October 2018

Return to September 2018 Proposals Connectathon 19


Zulip Chat stream for this Track is here and issues can be posted here

A recording of the Track Orientation can be found here.

Background For Clinical Notes

Clinical Notes are a critical element for clinicians to communicate the status of a patient to another caregiver. These notes occur in various formats, such as: unstructured (XHTML, ASCII), fixed file format (PDF, RTF), or structured (HL7 CDA/FHIR Composition). Common clinical notes as identified by the Argonaut participants:

  • Discharge documentation (18842-5)
  • Consultation (11488-4)
  • Imaging narrative (18726-0)
  • Lab/path narrative
  • History & Physical (34117-2)
  • Progress note
  • Procedures note (28570-0)

Many others …Transfer note, Referral note, Surgical Operation note, Nurse note. This track will explore a limited set with the intention it will cover other note types..

The current FHIR STU3, and ballot version of FHIR STU4, does not include concrete guidance for exchanging notes. Various work groups within HL7 have considered DocumentReference, Observation, Composition, DiagnosticReport, or a brand new resource. After discussions at the January 2018 during the Connectathon, and subsequently in the HL7 working group Patient Care the initial, the consensus was to proceed with a connectathon track to test out a few different Resources. This track will test use of the DocumentReference and DiagnosticReport to exchange Clinical Notes. A draft Argonaut Clinical Notes Profile will be available middle of April. It is based upon the FHIR 3.0.1 Standard.

Submitting WG/Project/Implementer Group

ArgonautProject logo black.png

Justification

The Argonaut Clinical Notes Profile is a vendor agnostic specification providing FHIR RESTful APIs and guidance for access to Clinical Notes by both patient and practitioner end users. This specification is based on FHIR Version 3.0.1 and specifically the DocumentReference, and DiagnosticReport resources.

The US ONC released a draft U.S. Core Data for Interoperability as a part of TEFCA which proposed support for Clinical Notes access.

Proposed Track Lead

Coordinator: Brett Marquard, Eric Haas

Expected participants

Servers: Epic, Cerner. Plan to contact Argonaut organizations for additional participants.

Clients: Postman to start

Sign-up Sheet!

Clinical Notes Zulip

Roles

Provider or 3rd Party consumer application (Client)

An application that should be used by an end user (e.g., patient or practitioner) to support search for and retrieval of Clinical Notes.

FHIR Server (EHR)

A Server that contains Clinical Data.

If creating a client application, this track should require minimal work in advance of the connectathon, though at least a bit of playing is recommended. If creating a server, advanced preparation will be required.

Scenarios

This track will test patient and provider access to Clinical Notes. Patient so that they are better informed and able to make important decisions about their health. Providers so that the continuity of care is maintained across multiple settings and healthcare workers.

EHRs (servers) may return a Note using binary in a variety of formats:

  • ASCII
  • XHTML
  • RTF or PDF
  • Mixed document - structured information and narrative (CDA).

Access to a Clinical Note is a two step process for the client:

  1. Search and retrieve the DocumentReference
  2. Retrive the Note (Binary or Composition)

Requesters (clients) should be capable, at minimum, of displaying each format.

During the development of the track we discussed directly embedding content in the DocumentReference.content.attachment.data but no server planned to support in this connectathon so decided to save for the future.

This track also includes one scenario for a Client to create (write) a note to the server. In this use cases the client embeds the base64 content directly in DocumentReference.content.attachment.data for the server to store.

1. Retrieve an Encounter Summary Note with DocumentReference id

Action: A patient or provider requester (client) previously cached a DocumentReference id retrieves the note. The EHR (server) returns a DocumentReference with a pointer to a the Clinical Note (binary) for the client to retrieve.
Precondition: There is a DocumentReference with a pointer to a valid Binary resource
Success Criteria: Server returns pointer to binary. Client is able to retrieve and display Clinical Note (Binary Resource).
GET [base]/DocumentReference/[id]

Using the information in DocumentReference.content.attachment.url

GET [base]/Binary/[id]

2. Retrieve all notes by patient

Action: A patient or provider requester (client) queries for all Clinical Notes for a patient. The EHR (server) returns one or more DocumentReference Resources with a pointer to the Clinical Notes (binary) for the client to retrieve.
Precondition: There is a DocumentReference with a valid patient and pointer to a valid binary
Success Criteria: Server returns pointer to binary. Client is able to retrieve and display Clinical Note (binary).
GET [base]/DocumentReference?patient=[id]&class=clinical-note
GET [base]/Binary/[id]

Example:

GET [base]/DocumentReference?patient=1316024&class=clinical-note

3. Retrieve a Patient's Notes by Searching with a Date Range

Action: A patient or provider requester (client) queries for all Clinical Notes for a patient created after a certain date. The EHR (server) returns one or more DocumentReference Resources with a pointer to the Clinical Notes (binary) for the client to retrieve.
Precondition: There is a DocumentReference with a valid patient and pointer to a valid binary
Success Criteria: Server returns pointer to binary. Client is able to retrieve and display Clinical Note (binary).
GET [base]/DocumentReference?patient=[id]&class=clinical-note&created=[date]
GET [base]/Binary/[id]

Example:

GET [base]/DocumentReference?patient=1316024&class=clinical-note&created=ge2018-04-11

4. Retrieve a Patient's Discharge Summary Notes

Action: A patient or provider requester (client) queries for all patient Discharge Summary Notes. The EHR (server) returns returns one or more DocumentReference Resources with a pointer to the Clinical Notes (binary) for the client to retrieve.
Precondition: There is a patient and note classified as Discharge Summary is in the system.
Success Criteria: Clinical Note is returned and displayed in interface.
GET [base]/DocumentReference?patient=[id]&type=[note type (LOINC)]
GET [base]/Binary/[id]

Example:

GET [base]/DocumentReference?patient=1316024&type=http://loinc.org|18842-5

5. Retrieve a Patient's Radiology Notes

Action: A patient or provider requester (client) queries for all patient Radiology Notes. The EHR (server) returns returns one or more DiagnosticReport with value in DiagnosticReport.presentedForm as a pointer to the Clinical Notes (binary) for the client to retrieve.
Precondition: There is a patient and note classified as Radiology in the system.
Success Criteria: Clinical Note is returned and displayed in interface.
GET [base]/DiagnosticReport?patient=[id]&category=[note type (LOINC)]
GET [base]/Binary/[id]

Example:

GET [base]/DiagnosticReport?patient=[id]&category=http://loinc.org|LP29684-5

6. Write a new note to a Patient's Chart

Action: A patient or provider (client) commits a new note to a FHIR server. The EHR (server) stores the note for future retrieval.
Precondition: FHIR server is capable of receiving a DocumentReference with content embedded in DocumentReference.content.attachment.data and split into DocumentReference and Binary on storage
Success Criteria: Client is able to retrieve Clinical Note
POST [base]/DocumentReference

Example:

POST [base]/DocumentReference
Request Headers:
 content-type: "application/json"
 prefer: "return=REPRESENTATION"
 accept: "application/fhir+json"
Request Body:
 {
   "resourceType": "DocumentReference",
   "type": {
       "coding": [
           {
               "system": "http://loinc.org",
               "code": "8648-8",
               "display": "Discharge Summary"
           }
       ],
       "text": "Discharge Summary"
   },
   "subject": {
       "reference": "[base]/Patient/eso2MXsmcJloTEUEls5DzbA3"
   },
   "content": [{"attachment": {
       "contentType": "text/plain",
       "data": "Tm8gYWN0aXZpdHkgcmVzdHJpY3Rpb24sIHJlZ3VsYXIgZGlldCwgZm9sbG93IHVwIGluIHR3byB0byB0aHJlZSB3ZWVrcyB3aXRoIHByaW1hcnkgY2FyZSBwcm92aWRlci4="
   } }],
   "context": {"encounter": {"reference": "[base]/Encounter/eIOY6XJQw0hvmvCqTtkg6vQ3"} }
 }

Bonus: Implement $expand operation

Action: A client invokes the $expand operation on a specific resource element to determine what codes they support.
Precondition: The server either has access to a terminology server, or acts as one.
Success Criteria: Value set resource is returned with allowed values. Testing is done with both `context` and `operation` as parameters.
GET  http://test.fhir.org/r3/ValueSet/$expand?context=DiagnosticReport.category&contextDirection=outgoing

Note: this is supported for the Epic connectathon server, but not the Cerner one.

TestScript(s)

The supporting TestScripts and corresponding fixtures have been committed to the FHIR documents Github repository at: TBD

Please note that the available TestScripts test the TBD

Security and Privacy Considerations

  • What Authentication/Authorization will be used (e.g. SMART on FHIR (OAuth), HEART (UMA/OAuth), IHE IUA (OAuth), generic OAuth, generic SAML, mutual-Auth-TLS), is out of scope and left to implementations. Expectation is many systems will use SMART on FHIR (OAuth)