Patient

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 Patient provides the API documentation for searching and fetching patients. It is based on the Data Access Framework (DAF) Patient Profile and draws requirements from Argonaut Sprint 1. The search criteria provided in the Quick Start are intended to meet the 2015 Edition ONC Certification criterion Patient Selection 170.315(g)(7).

Minimum Requirements

Clients

  • A client has connected to a server and fetched a patient using GET [base]/Patient/[id].
  • A client has connected to a server and searched through available Patients using at least 2 (example name and gender) of the following search parameters:
    • name
    • gender
    • birthdate

To limit overly broad search results, a client search with gender SHOULD include family and given search parameters.

Servers

  • A server is capable of returning a patient using GET [base]/Patient/[id].
  • A server returns valid FHIR Patient resources according to the Data Access Framework (DAF) Patient Profile..
  • A server has exposed a FHIR Patient search endpoint supporting at a minimum the following search parameters:
    • identifier
  • A server has exposed a FHIR Patient search endpoint supporting at a minimum the following search parameters when at least 2 (example name and gender) are present:
    • name
    • gender
    • birthdate
  • 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). 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 Patient must have:

  1. a patient identifier (e.g. MRN)
  2. a patient name
  3. a gender

Formal Summary of the Mandatory Requirements

  1. One or more medical record numbers in Patient.identifier
    • each Patient.identifier must have:
      • an identifier.system
      • an identifier.value that is unique within the system.
  2. One or more names in Patient.name
    • each Patient.name must have:
      • a name.family
      • a name.given
  3. One administrative gender in Patient.gender

2015 Edition Certification Requirements (Must Support)

In addition, based upon the 2015 Edition Certification Requirements, the following data-elements must be supported. See the DAF definition of Must Support.

If the data is present, Patient shall include:

  1. a birth sex
  2. a birth date
  3. a communication language
  4. a race
  5. an ethnicity

Formal Summary of the Must Suport Requirements

Additionally your system must return:

  1. Patient.birthDate
  2. Patient.communication.language
  3. Birth Sex Extension
Code Code System display
F http://hl7.org/fhir/v3/AdministrativeGender Female
M http://hl7.org/fhir/v3/AdministrativeGender Male
UNK http://hl7.org/fhir/v3/NullFlavor Unknown

4. Race extension *NOTE: For this IG this extension may repeat. It is erroneously limited to a single occurance in the FHIR specification.

5. Ethnicity extension *NOTE: For this IG this extension may repeat. It is erroneously limited to a single occurance in the FHIR specification.

  • Must include one code from (argo valueset pending) OMB ethnicity Category Codes
  • May include additional codes from (argo valueset pending) US Core Ethnicity

Additional elements from DAF Patient Profile may be present.

Example

Patient Resource Example

Quick Start

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

GET [base]/Patient/[id]

Support: Mandatory

Implementation Notes: Fetches a single Patient

Response Class:

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

Example:

[GET https://fhir-open-api.smarthealthit.org/Patient/1032702]

GET [base]/Patient?identifier=[system]|[code]

Support: Mandatory

Implementation Notes: name - Search based on patient identifier (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/Patient?identifier=http://hospital.smarthealthit.org%7C1032702]

GET [base]/Patient?name=[string]&gender=[code]

Support: Mandatory

Implementation Notes: name - Search based on at least 2 patient elements -text name (how to search by string) and gender (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/Patient?name=Shaw&gender=female]


GET [base]/Patient?name=[string]&birthdate=[date]

Support: Mandatory

Implementation Notes: name - Search based on at least 2 patient elements -text name (how to search by string) and birthdate (how to search by date). 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/Patient?name=Shaw&birthdate=2007-03-20]


GET [base]/Patient?family=[string]&gender=[code]

Support: SHOULD support Patient search by family name and gender

Implementation Notes: name - Search based on at least 2 patient elements -text family (how to search by string) and gender (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/Patient?family=shaw&gender=female]



GET [base]/Patient?given=[string]&gender=[code]

Support: SHOULD support Patient search by given name and gender

Implementation Notes: name - Search based on at least 2 patient elements -text given (how to search by string) and gender (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/Patient?given=amy&gender=female]



Open Issues

Issues for this IG have been identified and tracked 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.