Problems and Health Concerns

From HL7 Argonaut Project Wiki
Jump to: navigation, search

Back to Argonaut Implementation Guide

**********************PLEASE NOTE********************************
This guide is no longer being actively maintained and updated.
On January 1st 2017, This guide is being superseded by the online 
version of the Argonaut-DSTU2 Implemenation Guide.
hosted at:  http://fhir.org/guides/argonaut
The working CI build is avaible now at : 
http://build.fhir.org/ig/Healthedata1/Argo-DSTU2/  


Introduction

The Argonaut Problems provides the API documentation for searching for and fetching a patient's problem list and health concerns. It is based on the Data Access Framework (DAF) Condition (a.k.a Problem) Profile and draws requirements from Argonaut Sprint 5. The search criteria provided in the Quick Start are intended to support the 2015 Edition ONC Certification criterion Data Category Request 170.315(g)(8).

Minimum Requirements

Clients

  • A client connected to a server and fetched all problems and health concerns for a patient, including current as well as historical problems and health concerns using GET/Condition?patient=[id].

Servers

  • A server is capable of returning a patient's conditions list using GET/Condition?patient=[id].
  • A server has ensured that every API request includes a valid Authorization token, supplied via:Authorization: Bearer {server-specific-token-here}
  • A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code.

Mandatory Data Elements

The following data-elements are mandatory (i.e data MUST be present). The following data-elements in the Condition resource are mandatory (i.e data MUST be present). These are presented below in simple human-readable explanation and a more thorough formal summary of the requirements. Sample data is provided to demonstrate the requirements.

Each Condition must have:

  1. a patient
  2. a code that identifies the problem
  3. a status of the problem
  4. a verification status

Formal Summary of the Mandatory Requirements

  1. One Identification of the problem or health concern in Condition.code.
  2. One patient reference in Condition.patient
  3. Conditionally One clinical status in Condition.clinicalStatus
    • Invariants
      • required if Condition.verificationStatus != ‘entered-in-error‘
      • not present if Condition.verificationStatus = ‘entered-in-error‘
    • Condition.clinicalStatus is bound to Condition Clinical Status Codes Value set (Code set)
  4. One code in Condition.verificationStatus

Additional elements from DAF Condition Profile may be present.

problems and health concerns code extensions

For this IG we have extended the category code valueset to support the intent of the separate concepts of problems and health concerns so API consumers can separate health concerns and problems. However this is not mandatory for 2015 certification.

Argonaut Condition Category Codes

Code Code System Print Name Definition
complaint http://hl7.org/fhir/condition-category Complaint The patient considers the condition an issue to be addressed.
symptom http://hl7.org/fhir/condition-category Symptom A symptom of a condition (as might be mentioned in a review of systems).
finding http://hl7.org/fhir/condition-category Finding An observation made by a healthcare provider.
diagnosis http://hl7.org/fhir/condition-category Diagnosis This is a judgment made by a healthcare provider that the patient has a particular disease or condition.
health-concern http://argonaut.hl7.org Health Concern Additional health concerns from other stakeholders which are outside the provider’s problem list.
problem http://argonaut.hl7.org Problem The patients problems as identified by the provider(s). Items on the provider’s problem list
Problem Example
Health Concern Example

Quick Start

Below is a quick overview of the required search and read operations.


GET /Condition?patient=[id]

Support: Mandatory to support search by patient.

Implementation Notes: Search for all problems and health concerns for a patient. Fetches a bundle of all Condition resources for the specified patient. (how to search by reference) and (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

[GET https://fhir-open-api-dstu2.smarthealthit.org/Condition?patient=1032702]

GET /Condition?patient=[id]&clinicalstatus=active,relapse,remission

Support: Optional to support search by status.

Implementation Notes: Search for all active problems and health concerns for a patient. Fetches a bundle of all Condition resources for the specified patient and all "active" statuses (active,relapse,remission). (how to search by reference) and (how to search by token). This will not return any "entered in error" resources because of the conditional presence of the clinicalStatus element.

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

[GET https://fhir-open-api-dstu2.smarthealthit.org/Condition?patient=1032702&clinicalstatus=active,relapse,remission]

GET /Condition?patient=[id]&category=problem

Support: Optional to support search by patient and category.

Implementation Notes: Search for all Problems for a patient. Fetches a bundle of all Condition resources for the specified patient with a category code of "problem"(how to search by reference) and (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

[GET https://fhir-open-api-dstu2.smarthealthit.org/Condition?patient=1032702&category=problem]

GET /Condition?patient=[id]&category=health-concern

Support: Optional to support search by patient and category.

Implementation Notes: Search for all Health Concerns for a patient. Fetches a bundle of all Condition resources for the specified patient with a category code of "health-concern"(how to search by reference) and (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

[GET https://fhir-open-api-dstu2.smarthealthit.org/Condition?patient=1032702&category=health-concern]

Open Issues

Issues for this IG have been identified and tracked HERE and HERE

Resources

Formalized testing with test scripts and objective results reporting is available through the participation of AEGIS and MITRE (Crucible). The testscript provided can be used to test servers: [todo]

References



Back to Argonaut Implementation Guide

Copyright © Health Level Seven International ® ALL RIGHTS RESERVED. The reproduction of this material in any form is strictly forbidden without the written permission of the publisher.