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

201709 LastN Query Track

From HL7Wiki
Jump to navigation Jump to search

Last N Observations Query Track


Submitting WG/Project/Implementer Group

Orders and Observations WorkGroup


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


  • 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


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


  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


  • 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)