This wiki has undergone a migration to Confluence found Here

Patient

From HL7 Argonaut Project Wiki
Revision as of 08:11, 29 February 2016 by JoshMandel (talk | contribs) (fix gender search)
Jump to navigation Jump to search

Introduction

The Argonaut Patient Profile provides the API documentation for searching for and fetching patients.

Argonaut Success Criteria

Clients

  • A client has connected to a server and fetched patient demographics via GET /Patient/{id}.
    • list detailed example here
  • A client has connected to a server and searched through available Patients using the following search parameters:
    (list detailed query here with example for each?)
    • name
    • family
    • given
    • identifier
    • gender
    • birthdate

Servers

  • A server has exposed valid FHIR Patient resources according to this IG DAF Patient profile (Argonaut Patient Profile)
  • A server has exposed a FHIR Patient search endpoint supporting at a minimum the following search parameters:
    • name
    • family
    • given
    • identifier
    • gender
    • birthdate
  • A server has ensured that every API request includes a valid Authorization token, supplied via:Authorization: Bearer {server-specific-token-here} EH Discuss security elsewhere?
  • A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code. EH -what about other errors are they defined for argo?


Mandatory Data Elements

The following data-elements are mandatory (i.e data MUST be present) in the Argonaut Patient Profile/API. These are presented below in simple human-readable explanations along with sample data to demonstrate the requirements. The FHIR profile (StrutureDefinition) and Conformance Reosource are also available.

Each Patient must have: (EH:list only the mandatory elements and link to DAF)

  • 1 or more medical record numbers in Patient.identifier
  • 1 or more names in Patient.name
  • 1 administrative gender in Patient.gender
    • The Administrative

Patient Resource Example

Quick Start

Here is a quick overview of the required search and read operations. Read on below for complete details.

GET [base]/Patient/[id]

Support: Mandatory

Implementation Notes: Fetches a single Patient

Response Class: (Status 200): successful operation

Example:

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

(GET [base]/Patient?[name]

Support: Mandatory

Implementation Notes: name - Search based on given name or family name or text name (string)

Response Class (Status 200): successful operation

Example:

[GET https://fhir-open-api-dstu2.smarthealthit.org/Patient?name=SHAW]




Each Patient SHALL be searchable by: (convert these to above format)

  • name - Search based on given name or family name or text name (string)

example: GET https://fhir-open-api-dstu2.smarthealthit.org/Patient?name=shaw

  • family - Search based on family name (string)

example: GET https://fhir-open-api-dstu2.smarthealthit.org/Patient?family=shaw

  • given - Search based on given name (string)

example: GET https://fhir-open-api-dstu2.smarthealthit.org/Patient?given=amy

  • identifier - Search based on patient identifier (token)

example: GET https://fhir-open-api-dstu2.smarthealthit.org/Patient?identifier=1032702

  • gender - Search based on gender (token)

example: GET https://fhir-open-api-dstu2.smarthealthit.org/Patient?gender=female

  • birthdate - Search based on birthDate (date)

example: GET https://fhir-open-api-dstu2.smarthealthit.org/Patient?birthdate=2007-03-02


Each Patient MAY be searchable by:

  • _text - search based on some text that appears anywhere in the resource (identifier, name, address, etc)
  • name - Search based on given name or family name or text name (string)
  • family - Search based on family name (string)
  • given - Search based on given name (string)
  • identifier - Search based on patient identifier (token)
  • language - Search based on preferred language (token)
  • telecom - Search based on telecom (string)
  • city - Search based on City (string)
  • postalcode - Search based on zip code (string)
  • state - Search based on state (string)
  • mothersmaidenname - Search based on Patient mother's Maiden Name (string)
  • age - Search based on Patient's age (number)
  • race - Search based on patient's race (token)
  • ethnicity - Search based on patient's ethnicity (token)

Open Issues

The following issues have been identified:

  • Some servers will not support broad searches. For example, all patients born after 1900

References

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

  • (TODO) - eh up for discussion whether in scope

(TODO)


Back to Argonaut Implementation Guide