This wiki has undergone a migration to Confluence found Here

Difference between revisions of "CareTeam"

From HL7 Argonaut Project Wiki
Jump to navigation Jump to search
 
(44 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Implementation Guide|Back to Argonaut Implementation Guide]]
 
[[Implementation Guide|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==
 
==Introduction==
The Argonaut CareTeam provides the API documentation for searching for and fetching a patient's current care team list using the [http://hl7.org/fhir/DSTU2/careplan.html CarePlan resource].  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).
+
The Argonaut CareTeam IG provides the API documentation for searching for and fetching a patient's current care team list using the [http://hl7.org/fhir/DSTU2/careplan.html CarePlan resource].  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).  Note:  A CareTeam resource is being developed for a future version of FHIR.  However since the scope of this IG is FHIR DSTU2 we will limit the use to this version.
  
=== Usage Overview ===
+
== Usage Overview ==
 
<!--6-9 test items  e.g. A client has connected to a server and fetched patient demographics via GET /Patient/{id}-->
 
<!--6-9 test items  e.g. A client has connected to a server and fetched patient demographics via GET /Patient/{id}-->
 
===Clients===
 
===Clients===
*A client is able to connect to a server and fetch all current care team members for a patient using <!-- [[#GET_.2FPatient.2F.5Bid.5D.2CarePlan|GET [base]/Patient/[id]/CarePlan]] or -->[[CareTeam#GET.2FCarePlan.3FPatient.2F.5Bid.5D.26status.3Dcurrent.24_include.3DCarePlan:participant.member.5Bchoice_of_Practitioner_.7C_RelatedPerson_.7C_Patient_.7C_Organization.5D|GET[base]/CarePlan?Patient=[id]&status=current&_include=CarePlan:participant.member[choice of Practitioner\|
+
*A client is able to connect to a server and fetch all current care team members for a patient using [[CareTeam#GET.2FCarePlan.3FPatient.3D.5Bid.5D.26category.3Dcareteam|GET[base]/CarePlan?patient=[id]&category=careteam&status=active]]
\|RelatedPerson
 
\|Patient
 
\|Organization]]]
 
  
 
=== Servers ===
 
=== Servers ===
*A server is capable of returning a patient's current care team list using <!-- [[#GET_.2FPatient.2F.5Bid.5D.2CarePlan|GET [base]/Patient/[id]/CarePlan]] or -->[[ GET/CarePlan?Patient/[id]&status=current$_include=CarePlan:participant.member[choice of Practitioner | RelatedPerson | Patient | Organization]]]
+
*A server is capable of returning a patient's current care team members using [[CareTeam#GET.2FCarePlan.3FPatient.3D.5Bid.5D.26category.3Dcareteam|GET[base]/CarePlan?patient=[id]&category=careteam&status=active]]
 
*A server has ensured that every API request includes a valid Authorization token, supplied via:Authorization: Bearer {server-specific-token-here}
 
*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.
 
*A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code.
  
 
==Mandatory Data Elements==
 
==Mandatory Data Elements==
The following data-elements are mandatory (i.e data MUST be present). These are presented below in simple human-readable explanations along with sample data to demonstrate the requirements.   
+
Since we are using the CarePlan Resource for identifying the Care team members, constraints on that resource are defined for this purpose only.  i.e. creating a CareTeam profile using CarePlan. The following data-elements are mandatory (i.e data MUST be present). These are presented below in simple human-readable explanations along with sample data to demonstrate the requirements.  There is also a more thorough formal summary provided as well.
  
Each CarePlan must have:
+
CarePlan resource for identifying CareTeam members must have:
  
#a patient
+
# a patient
#a status
+
# a category code of "careteam"
 +
# names of careteam members which can be:
 +
#*a practitioner (doctor, nurse, therapist)
 +
#*the patient
 +
#*a relative or friend or guardian
 +
#*an organization
 +
# a participant role for each careteam members
 +
# a status code of "active"
  
Each CarePlan should have:
+
==== Complete Summary of the Mandatory Requirements ====
  
#a participant role if participant is present
+
# One reference to a patient in '''CarePlan.subject'''
#either a complete name or a reference to participant
+
# One status in '''CarePlan.status'''
#* Note the participant can be
+
#* CarePlan.status is bound to '''[http://hl7.org/fhir/DSTU2/valueset-careplan-status.html CarePlanStatus]''' Value set (Code set)
#**a practitioner (doctor, nurse, therapist)
+
# One category in '''Careplan.category''' which must have:
#**the patient
+
#* a fixed '''Careplan.category.coding.system'''="[[Argonaut Extension Codes|http://argonaut.hl7.org/ValueSet/extension-codes]]"
#**a relative or friend or guardian
+
#* a fixed''' Careplan.category.coding.code'''="careteam"
#**an organization
+
# Careteam members in '''CarePlan.participant.member'''
 +
# One participant role for each careteam member in '''CarePlan.participant.role'''
 +
<!--#* a fixed '''CarePlan.category.coding.system'''="http://snomed.info/sct"-->
 +
<!--[[NUCC-Namespace| Argonaut NUCC-Namespace defition]] -->
 +
#* CarePlan.participant.role is bound to the [[CareTeam Provider Role Value Set]] value set.
  
  '''[[CarePlan Resource Example]]'''
+
  '''[[CareTeam CarePlan Resource Example]]'''
  
 
==Quick Start==
 
==Quick Start==
Line 54: Line 72:
 
----
 
----
  
===GET/CarePlan?Patient/[id]&status=current$_include=CarePlan:participant.member[choice of Practitioner | RelatedPerson | Patient | Organization]===
+
===GET/CarePlan?patient=[id]&category=careteam&status=active===
''Support:'' Mandatory to support search by patient.
+
''Support:'' Mandatory to support search by patient, category and status.
  
 
''Implementation Notes:'' Search for all current care team members for a patient. Fetches a bundle of all current CarePlan resource(s) and the participants referenced by the CarePlan resource(s) for the specified patient [http://hl7.org/fhir/DSTU2/search.html#reference (how to search by reference)] [http://hl7.org/fhir/DSTU2/search.html#token (how to search by token)]  [http://hl7.org/fhir/DSTU2/search.html#include (how to include referenced resources in search result)].
 
''Implementation Notes:'' Search for all current care team members for a patient. Fetches a bundle of all current CarePlan resource(s) and the participants referenced by the CarePlan resource(s) for the specified patient [http://hl7.org/fhir/DSTU2/search.html#reference (how to search by reference)] [http://hl7.org/fhir/DSTU2/search.html#token (how to search by token)]  [http://hl7.org/fhir/DSTU2/search.html#include (how to include referenced resources in search result)].
Line 65: Line 83:
 
*(Status 403): insufficient scope
 
*(Status 403): insufficient scope
 
====Example:====  
 
====Example:====  
  [GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192]
+
  [GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=99912345&category=careteam&status=active]
----
 
<!--
 
===GET /CarePlan?patient=[id]&status:below=active===
 
''Support:'' Mandatory to support search by reference.
 
 
 
''Implementation Notes:'' Fetches a bundle of all active (including confirmed and unconfirmed) CarePlan resources for the specified patient [http://hl7.org/fhir/DSTU2/search.html#reference (how to search by reference)] [http://hl7.org/fhir/DSTU2/search.html#token (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:====
 
20160315 EH; note this does not work need to use GGs server [GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&status:below=active]
 
 
----
 
----
-->
 
  
 
==Open Issues==
 
==Open Issues==
Issues for the vitals IG have been identified and tracked [https://github.com/argonautproject/implementation-program/issues HERE]
+
Issues for this IG have been identified and tracked [https://github.com/argonautproject/implementation-program/labels/data.careteam HERE]
  
TODO -
+
TODO: NUCC copyright text
<!-- * Status based search ( same as allergies)-->
 
  
 
==Resources==
 
==Resources==

Latest revision as of 22:00, 22 December 2016

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 CareTeam IG provides the API documentation for searching for and fetching a patient's current care team list using the CarePlan resource. 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). Note: A CareTeam resource is being developed for a future version of FHIR. However since the scope of this IG is FHIR DSTU2 we will limit the use to this version.

Usage Overview

Clients

Servers

  • A server is capable of returning a patient's current care team members using GET[base]/CarePlan?patient=[id]&category=careteam&status=active
  • 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

Since we are using the CarePlan Resource for identifying the Care team members, constraints on that resource are defined for this purpose only. i.e. creating a CareTeam profile using CarePlan. The following data-elements are mandatory (i.e data MUST be present). These are presented below in simple human-readable explanations along with sample data to demonstrate the requirements. There is also a more thorough formal summary provided as well.

CarePlan resource for identifying CareTeam members must have:

  1. a patient
  2. a category code of "careteam"
  3. names of careteam members which can be:
    • a practitioner (doctor, nurse, therapist)
    • the patient
    • a relative or friend or guardian
    • an organization
  4. a participant role for each careteam members
  5. a status code of "active"

Complete Summary of the Mandatory Requirements

  1. One reference to a patient in CarePlan.subject
  2. One status in CarePlan.status
  3. One category in Careplan.category which must have:
  4. Careteam members in CarePlan.participant.member
  5. One participant role for each careteam member in CarePlan.participant.role
CareTeam CarePlan Resource Example

Quick Start

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


GET/CarePlan?patient=[id]&category=careteam&status=active

Support: Mandatory to support search by patient, category and status.

Implementation Notes: Search for all current care team members for a patient. Fetches a bundle of all current CarePlan resource(s) and the participants referenced by the CarePlan resource(s) for the specified patient (how to search by reference) (how to search by token) (how to include referenced resources in search result).

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/CarePlan?patient=99912345&category=careteam&status=active]

Open Issues

Issues for this IG have been identified and tracked HERE

TODO: NUCC copyright text

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