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

Difference between revisions of "201709 LastN Query Track"

From HL7Wiki
Jump to navigation Jump to search
(Created page with "{{subst::Template for FHIR Connectathon Track Proposals}}")
 
 
(17 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
[[Category:201709_FHIR_Connectathon_Track_Proposals|Sept 2017 Proposals]]
 
[[Category:201709_FHIR_Connectathon_Track_Proposals|Sept 2017 Proposals]]
 
__NOTOC__
 
__NOTOC__
=Track Name=
+
=Last N Observations Query Track=
 +
 
 +
[https://docs.google.com/a/healthedatainc.com/presentation/d/17OKxA-2FyNdekx1MAkyzb6LxPUPqe8m1oliCuQqacWA/edit?usp=sharing Connectathon_presentation]
  
 
==Submitting WG/Project/Implementer Group==
 
==Submitting WG/Project/Implementer Group==
 
<!-- Who is asking for this track? -->
 
<!-- Who is asking for this track? -->
 +
Orders and Observations WorkGroup
  
 
==Justification==
 
==Justification==
 
<!--Why is this an important track to include in the connectathon - include implementer need, impact on ballot, FMM readiness of the resources, etc. -->
 
<!--Why is this an important track to include in the connectathon - include implementer need, impact on ballot, FMM readiness of the resources, etc. -->
 +
The ''lastn query'' meets the common need for searching for the most recent or last n=number of observations for a subject.
 +
 +
Examples where this query could be used:
 +
 +
* Fetch the last 5 temperatures for a patient to view trends
 +
* Get the most recent lab results for patient
 +
* Fetch the last 3 results for all vitals for a patient
 +
 +
The '''[http://build.fhir.org/observation-operations.html#lastn $lastn operation]''' is has been introduced as part of FHIR STU3, but has not yet undergone yet been widley implemented.  This goal of this track is encourage server implementation of the operation, uncover implementation issues.  and help evaluate if similar operations would be useful for other clinical resources such DiagnosticReport.
 +
 +
Specific Questions to be addressed:
 +
 +
# The specification also says nothing about whether the last n observations is the last n good observations, or whether errors are included as well - Should entered in error statuses be returned?
 +
# The specification also says nothing about Observation panels (those containing .related references to other observations).  The assumption is they will be treated the same as regular Observations.  Is this appropriate behavior?
 +
# Added restrictions to require a code(s) and/or category(s).  Is there a use case where neither would be used?
 +
# How should a server deal with situation where there may be 100s of codes (e.g., ICU patient) to report?
 +
#* Should it give an error an require a narrower search?
 +
# Would a  similar operations would be useful for other clinical resources such DiagnosticReport?
  
 
==Proposed Track Lead==
 
==Proposed Track Lead==
 
<!-- Name, email and Skype id of individual who will coordinate the track at the connectathon -->
 
<!-- Name, email and Skype id of individual who will coordinate the track at the connectathon -->
See [[Connectathon_Track_Lead_Responsibilities]]
+
[mailto:ehaas@healthedatainc.com Eric Haas]
 +
 
  
 
==Expected participants==
 
==Expected participants==
 
<!-- List of the individuals and/or organizations that have indicated a desire to attend the connectathon and implement this track -->
 
<!-- List of the individuals and/or organizations that have indicated a desire to attend the connectathon and implement this track -->
 +
Servers:
 +
 +
* Grahame's test server
 +
* Cerner
 +
 +
==Roles & Scenarios==
  
==Roles==
 
Please include information here regarding how much advance preparation will be required if creating a client and/or server.
 
 
<!-- Roles are sets of functionality (generally defined by a Conformance resource) that a single system can take on -->
 
<!-- Roles are sets of functionality (generally defined by a Conformance resource) that a single system can take on -->
===Role 1 Name===
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
 
  
==Scenarios==
+
For context, roles, and scenarios of the FHIR Query and FHIR Server and Scenarios, refere to the lastn Operation Definition and the examples in the FHIR Specification '''[http://build.fhir.org/observation-operations.html#lastn here]'''
<!-- What will be the actions performed by participants? -->
+
 
 +
'''Roles:'''
 +
* Query Requester: User who makes an API request
 +
* Query Responder: FHIR Server
 +
 
 +
'''Action:'''
 +
# Following the Example in the Specification, requester make an api request to the FHIR server
 +
# FHIR server returns the the requested resource Bundle or appropriate error/OperationDefinition
 +
 
 +
'''Precondition: '''
 +
* This server has a baseURL (see the FHIR specification)
  
===Scenario Step 1 Name===
+
'''Success Criteria:'''
:Action: <!--Who does what?  (Use the role names listed above when referring to the participants -->
+
* FHIR Server returns expected resources in bundle as outlined in the speicifiation example
:Precondition: <!-- What setup is required prior to executing this step? -->
 
:Success Criteria: <!-- How will the participants know if the test was successful? -->
 
:Bonus point: <!-- Any additional complexity to make the scenario more challenging -->
 
  
<!-- Provide a description of each task -->
+
'''Bonus point:'''
 +
*  Do GraphQ LastN query: See how to this [http://wiki.hl7.org/index.php?title=FHIR_and_GraphQL#Operations here]
 +
*  Make additional lastn requests to determine limitations of operation.
 +
* Extend lastn operation to DiagnosticReport resource  (e.g., fetch me the last 3 CBC's for Mrs Smith)
  
 
==TestScript(s)==
 
==TestScript(s)==

Latest revision as of 19:37, 10 September 2017


Last N Observations Query Track

Connectathon_presentation

Submitting WG/Project/Implementer Group

Orders and Observations WorkGroup

Justification

The lastn query meets the common need for searching for the most recent or last n=number of observations for a subject.

Examples where this query could be used:

  • Fetch the last 5 temperatures for a patient to view trends
  • Get the most recent lab results for patient
  • Fetch the last 3 results for all vitals for a patient

The $lastn operation is has been introduced as part of FHIR STU3, but has not yet undergone yet been widley implemented. This goal of this track is encourage server implementation of the operation, uncover implementation issues. and help evaluate if similar operations would be useful for other clinical resources such DiagnosticReport.

Specific Questions to be addressed:

  1. The specification also says nothing about whether the last n observations is the last n good observations, or whether errors are included as well - Should entered in error statuses be returned?
  2. The specification also says nothing about Observation panels (those containing .related references to other observations). The assumption is they will be treated the same as regular Observations. Is this appropriate behavior?
  3. Added restrictions to require a code(s) and/or category(s). Is there a use case where neither would be used?
  4. How should a server deal with situation where there may be 100s of codes (e.g., ICU patient) to report?
    • Should it give an error an require a narrower search?
  5. Would a similar operations would be useful for other clinical resources such DiagnosticReport?

Proposed Track Lead

Eric Haas


Expected participants

Servers:

  • Grahame's test server
  • Cerner

Roles & Scenarios

For context, roles, and scenarios of the FHIR Query and FHIR Server and Scenarios, refere to the lastn Operation Definition and the examples in the FHIR Specification here

Roles:

  • Query Requester: User who makes an API request
  • Query Responder: FHIR Server

Action:

  1. Following the Example in the Specification, requester make an api request to the FHIR server
  2. FHIR server returns the the requested resource Bundle or appropriate error/OperationDefinition

Precondition:

  • This server has a baseURL (see the FHIR specification)

Success Criteria:

  • FHIR Server returns expected resources in bundle as outlined in the speicifiation example

Bonus point:

  • Do GraphQ LastN query: See how to this here
  • Make additional lastn requests to determine limitations of operation.
  • Extend lastn operation to DiagnosticReport resource (e.g., fetch me the last 3 CBC's for Mrs Smith)

TestScript(s)