Skip to content
This repository has been archived by the owner on May 7, 2024. It is now read-only.

Commit

Permalink
DSTU 2 Patient updates (#1023)
Browse files Browse the repository at this point in the history
  • Loading branch information
amcginn authored Jan 2, 2024
1 parent 823f04f commit d32b15e
Show file tree
Hide file tree
Showing 4 changed files with 174 additions and 153 deletions.
180 changes: 83 additions & 97 deletions content/millennium/dstu2/individuals/patient.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,30 @@ title: Patient | DSTU 2 API

## Overview

The Patient resource provides general demographic information about a person receiving health care services from a specific organization. Common demographic fields include patient id, patient name, gender, date of birth, address, phone, primary language and marital status. Cerner Millennium is a patient centric application: thus, many of the other resources will include the patient id in their queries. A person receiving care from multiple organizations may have data available in multiple patient resources in multiple FHIR servers.
The Patient resource provides general demographic information about a person receiving healthcare services from a specific organization. Common demographic fields include patient ID, patient name, gender, date of birth, address, phone, primary language, and marital status. Millennium is a patient-centric application; thus, many other resources include the patient ID in their queries. A person receiving care from multiple organizations may have information available in multiple patient resources in multiple FHIR servers.

The following fields are returned if valued:

* [Patient name](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.name){:target="_blank"}
* [Patient id](http://hl7.org/fhir/DSTU2/resource-definitions.html#Resource.id){:target="_blank"}
* [Extensions including birth time, birth sex, ethnicity, and race](#extensions)
* [Medical Record number (MRN)](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.identifier){:target="_blank"}
* [Contact information (may include phone and email)](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.telecom){:target="_blank"}
* [Contact person (guardian, parent or emergency)](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.contact){:target="_blank"}
* [Gender (administrative)](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.gender){:target="_blank"}
* [Date of Birth](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.birthDate){:target="_blank"}
* [Deceased](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.deceased_x_){:target="_blank"}
* [Address](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.address){:target="_blank"}
* [Communication (preferred language)](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.communication.language){:target="_blank"}
* [Marital status](http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.maritalStatus){:target="_blank"}
* [Primary Care Providers](http://hl7.org/fhir/dstu2/patient-definitions.html#Patient.careProvider){:target="_blank"}
* [Multiple Birth Information](http://hl7.org/fhir/dstu2/patient-definitions.html#Patient.multipleBirth_x_){:target="_blank"}
* [Patient ID](https://hl7.org/fhir/DSTU2/resource-definitions.html#Resource.id){:target="_blank"}
* [Name](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.name){:target="_blank"}
* [Extension](#extensions)
* [Identifier](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.identifier){:target="_blank"}
* [Telecom](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.telecom){:target="_blank"}
* [Contact](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.contact){:target="_blank"}
* [Gender](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.gender){:target="_blank"}
* [Date of Birth](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.birthDate){:target="_blank"}
* [Deceased](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.deceased_x_){:target="_blank"}
* [Address](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.address){:target="_blank"}
* [Communication language](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.communication.language){:target="_blank"}
* [Marital status](https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.maritalStatus){:target="_blank"}
* [Care Provider](https://hl7.org/fhir/dstu2/patient-definitions.html#Patient.careProvider){:target="_blank"}
* [Multiple Birth](https://hl7.org/fhir/dstu2/patient-definitions.html#Patient.multipleBirth_x_){:target="_blank"}

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

## Terminology Bindings

Expand All @@ -42,46 +48,46 @@ The following fields are returned if valued:

## Search

Search for Patients that meet supplied query parameters:
Search for patients who meet supplied query parameters.

GET /Patient?:parameters

_Implementation Notes_
_Notes_

* The [Patient.animal] modifier element is not supported and will not be returned.
* Direct secure email will not be returned.
* If the current user is a patient or patient proxy, a search may be performed without providing any parameters. The search will return all patients the current user has been granted access to view.
* The [Patient.animal] modifier element is not supported and not returned.
* Direct secure email is not returned.
* If the current user is a patient or patient proxy, a search may be performed without providing any parameters. The search returns all patients that the current user is granted access to view.

### Authorization Types

<%= authorization_types(provider: true, patient: true, system: true) %>

### Parameters

Name | Required? | Type | Description
----------------------|----------------------------------------------|------------|--------------------------------------------------------------------------
`_id` | This, or any other required search parameter | [`token`] | The logical resource id associated with the resource.
`identifier` | This and/or any other search param, or `_id` | [`token`] | A patient identifier. Example: `urn:oid:1.1.1.1.1.1|1022228`
`name` | This and/or any other search param, or `_id` | [`string`] | The start of either family or given name of the patient. Example: `Pete`
`family` | This and/or any other search param, or `_id` | [`string`] | The start of the family name of the patient. Example: `Adam`
`given` | This and/or any other search param, or `_id` | [`string`] | The start of the given name of the patient. Example: `Tim`
`birthdate` | This and/or any other search param, or `_id` | [`date`] | The patient's date of birth. Example: `1961-01-16`
`phone` | This and/or any other search param, or `_id` | [`token`] | The patient's phone number. Example: `1111111111`
`email` | This and/or any other search param, or `_id` | [`token`] | The patient's email address. Example: `[email protected]`
`address-postalcode` | This and/or any other search param, or `_id` | [`string`] | The postal code in the address details of the patient. Example: `11111`
`gender` | No | [`token`] | The gender of the patient. Example: `male`
[`_count`] | No | [`number`] | The maximum number of results to return. Defaults to `20`.

Notes:

* Either the `_id`, or a combination of `identifier` , `birthdate`, `name`, `given`, `family`, `address-postalcode`, `phone`, or `email` parameters must be provided.
* The `gender` parameter may only be provided if at least one of `identifier` , `birthdate`, `name`, `given`, `family`, `address-postalcode`, `phone`, or `email` parameters is provided.
* The `name`, `family`, and `given` parameters support the ':exact' modifier and will search for current names only.
* It is not recommended to combine `family` or `given` parameters with `name` parameter when searching for a patient. Whenever possible use the ':exact' modifier.
* The `address-postalcode` parameter supports the `:exact` modifer.
| Name | Required? | Type | Description |
|----------------------|---------------|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `_id` | Conditionally | [`token`] | The logical resource ID associated with the resource. This parameter is required if at least one of the following parameters is not used: `identifier`, `name`, `family`, `given`, `birthdate`, `phone`, `email`, or `address-postalcode`. Example: `11111111` |
| `identifier` | Conditionally | [`token`] | A patient identifier. This parameter is required if `_id`, `name`, `family`, `given`, `birthdate`, `phone`, `email`, and `address-postalcode` are not used. Example: `urn:oid:1.1.1.1.1.1\|1022228` |
| `name` | Conditionally | [`string`] | The start of the family or given name of the patient. This parameter is required if `_id`, `identifier`, `family`, `given`, `birthdate`, `phone`, `email`, and `address-postalcode` are not used. Example: `Pete` |
| `family` | Conditionally | [`string`] | The start of the family name of the patient. This parameter is required if `_id`, `identifier`, `name`, `given`, `birthdate`, `phone`, `email`, and `address-postalcode` are not used. Example: `Adam` |
| `given` | Conditionally | [`string`] | The start of the given name of the patient. This parameter is required if `_id`, `identifier`, `name`, `family`, `birthdate`, `phone`, `email`, and `address-postalcode` are not used. Example: `Tim` |
| `birthdate` | Conditionally | [`date`] | The patient's date of birth. This parameter is required if `_id`, `identifier`, `name`, `family`, `given`, `phone`, `email`, and `address-postalcode` are not used. Example: `1961-01-16` |
| `phone` | Conditionally | [`token`] | The patient's phone number. This parameter is required if `_id`, `identifier`, `name`, `family`, `given`, `birthdate`, `email`, and `address-postalcode` are not used. Example: `1111111111` |
| `email` | Conditionally | [`token`] | The patient's email address. This parameter is required if `_id`, `identifier`, `name`, `family`, `given`, `birthdate`, `phone`, and `address-postalcode` are not used. Example: `[email protected]` |
| `address-postalcode` | Conditionally | [`string`] | The postal code in the address details of the patient. This parameter is required if `_id`, `identifier`, `name`, `family`, `given`, `birthdate`, `phone`, and `email` are not used. Example: `11111` |
| `gender` | No | [`token`] | The administrative gender of the patient. Example: `male` |
| [`_count`] | No | [`number`] | The maximum number of results to return. Defaults to `20`. |

_Notes_

* The `name`, `family`, and `given` parameters support the [`:exact`] modifier and search for current names only, based on the name's `period`.
* We do not recommend combining `family` or `given` parameters with the `name` parameter when searching for a patient. Whenever possible, use the `:exact` modifier.
* The `address-postalcode` parameter supports the [`:exact`] modifier.
* The `identifier`, `name`, `family`, `given`, `phone`, `email`, `address-postalcode`, or `gender` parameters may be provided exactly once and may have only a single value.
* The `birthdate` parameter may be provided twice to indicate a date range, but must contain the inclusive prefixes 'le' and 'ge'
* The `birthdate` parameter may be provided once with the following prefixes: 'ge', 'le', 'gt', 'lt', 'eq'
* The `birthdate` parameter may be provided in the following formats:
* Once with a prefix of `ge`, `le`, `gt`, `lt`, or `eq`. Example: `birthdate=ge2001-03-13`
* Twice to indicate a date range and must contain one prefix each of `le` and `ge`. Example: `birthdate=ge2001-03-13&birthdate=le2001-05-01`
* A `422 - Unprocessable Entity` is returned when over 1,000 patients qualify for the search criteria.

### Headers

Expand All @@ -98,22 +104,16 @@ Notes:
<%= headers status: 200 %>
<%= json(:dstu2_patient_bundle) %>

<%= disclaimer %>
## Retrieve by ID

### Errors

The common [errors] and [OperationOutcomes] may be returned. In addition, a `422 Unprocessable Entity` will be returned when too many (>1000) patients qualify for the search criteria.

## Retrieve by id

List an individual Patient by its id:
List an individual patient by their ID.

GET /Patient/:id

_Implementation Notes_
_Notes_

* The [Patient.animal] modifier element is not supported and will not be returned.
* Direct secure email will not be returned.
* The [Patient.animal] modifier element is not supported and not returned.
* Direct secure email is not returned.

### Authorization Types

Expand All @@ -134,16 +134,12 @@ _Implementation Notes_
<%= headers status: 200 %>
<%= json(:dstu2_patient_entry) %>

<%= disclaimer %>

### Patient Combines Example
### Patient Combine Example

Cerner Millennium supports the ability to logically merge a patient record into another patient record when both records are describing the same patient. This is known
as a "patient combine". If necessary, this merging can later be undone by performing a "patient uncombine". When the requested patient record has been combined into another
record, an inactive Patient entry will be returned which has a link to the current Patient entry. Entries for combined patients will only be returned when retrieving
the entries directly by id. They will not be returned when searching with other parameters.

The ability to perform patient combine or uncombine operations is not available through the Cerner Ignite platform.
Millennium supports the ability to logically merge a patient record into another patient record when both records are describing the same patient. This action is known
as a patient combine. If necessary, a patient uncombine can undo this merging. When the requested patient record is combined into another
record, an inactive patient entry is returned with a link to the current patient entry. Entries for combined patients are only returned when retrieving
the entries directly by ID. They are not returned when searching with other parameters.

#### Request

Expand All @@ -154,21 +150,15 @@ The ability to perform patient combine or uncombine operations is not available
<%= headers status: 200 %>
<%= json(:dstu2_combined_patient_entry) %>

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

## Create

Create an individual Patient:
Create an individual patient.

POST /Patient

_Implementation Notes_
_Notes_

* The following elements are not supported and will cause an error to be returned if set:
* The following elements are not supported and return an error if set:
* [Patient.deceased]
* [Patient.multipleBirth]
* [Patient.photo]
Expand All @@ -187,7 +177,7 @@ _Implementation Notes_

### Body Fields

Notes:
_Notes_

* Birth Sex may be recorded as an extension.

Expand All @@ -213,7 +203,8 @@ Vary: Origin,User-Agent,Accept-Encoding
Strict-Transport-Security: max-age=631152000
X-Xss-Protection: 1; mode=block
Pragma: no-cache
X-Request-Id: 78a19072002b8651623351cfedaffe70
X-Request-Id: f17bbd99-f89b-4cfe-8425-43b14e5735cf
opc-request-id: /5E94C5FFC27CDD51DB70C0F464E44A96/AECA8B137DC613A323E70B1ED7C53808
Etag: W/"0"
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Expand All @@ -226,28 +217,23 @@ Content-Type: application/json

The `ETag` response header indicates the current `If-Match` version to use on subsequent updates.

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

[Time of day of birth]: http://hl7.org/fhir/DSTU2/extension-patient-birthtime.html
[Argonaut Race]: http://build.fhir.org/ig/Healthedata1/Argo-DSTU2/StructureDefinition-argo-race.html
[Argonaut Ethnicity]: http://build.fhir.org/ig/Healthedata1/Argo-DSTU2/StructureDefinition-argo-ethnicity.html
[Argonaut Patient Birth Sex]: http://build.fhir.org/ig/Healthedata1/Argo-DSTU2/StructureDefinition-argo-birthsex.html
[Rendered Value]: http://hl7.org/fhir/extension-rendered-value.html
[`token`]: http://hl7.org/fhir/DSTU2/search.html#token
[`date`]: http://hl7.org/fhir/DSTU2/search.html#date
[`string`]: http://hl7.org/fhir/DSTU2/search.html#string
[`_count`]: http://hl7.org/fhir/DSTU2/search.html#count
[`number`]: http://hl7.org/fhir/DSTU2/search.html#number
[Patient.deceased]: http://hl7.org/fhir/dstu2/patient-definitions.html#Patient.deceased_x_
[Patient.multipleBirth]: http://hl7.org/fhir/dstu2/patient-definitions.html#Patient.multipleBirth_x_
[Patient.photo]: http://hl7.org/fhir/dstu2/patient-definitions.html#Patient.photo
[Patient.contact]: http://hl7.org/fhir/dstu2/patient-definitions.html#Patient.contact
[Patient.animal]: http://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.animal
[Patient.managingOrganization]: http://hl7.org/fhir/dstu2/patient-definitions.html#Patient.managingOrganization
[Patient.link]: http://hl7.org/fhir/dstu2/patient-definitions.html#Patient.link
[Time of day of birth]: https://hl7.org/fhir/DSTU2/extension-patient-birthtime.html
[Argonaut Race]: https://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-race.html
[Argonaut Ethnicity]: https://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-ethnicity.html
[Argonaut Patient Birth Sex]: https://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-birthsex.html
[Rendered Value]: https://www.hl7.org/fhir/DSTU2/extensibility.html
[`token`]: https://hl7.org/fhir/DSTU2/search.html#token
[`date`]: https://hl7.org/fhir/DSTU2/search.html#date
[`string`]: https://hl7.org/fhir/DSTU2/search.html#string
[`_count`]: https://hl7.org/fhir/DSTU2/search.html#count
[`number`]: https://hl7.org/fhir/DSTU2/search.html#number
[`:exact`]: https://hl7.org/fhir/R4/search.html#string
[Patient.deceased]: https://hl7.org/fhir/dstu2/patient-definitions.html#Patient.deceased_x_
[Patient.multipleBirth]: https://hl7.org/fhir/dstu2/patient-definitions.html#Patient.multipleBirth_x_
[Patient.photo]: https://hl7.org/fhir/dstu2/patient-definitions.html#Patient.photo
[Patient.contact]: https://hl7.org/fhir/dstu2/patient-definitions.html#Patient.contact
[Patient.animal]: https://hl7.org/fhir/DSTU2/patient-definitions.html#Patient.animal
[Patient.managingOrganization]: https://hl7.org/fhir/dstu2/patient-definitions.html#Patient.managingOrganization
[Patient.link]: https://hl7.org/fhir/dstu2/patient-definitions.html#Patient.link
[errors]: ../../#client-errors
[OperationOutcomes]: ../../#operation-outcomes
Loading

0 comments on commit d32b15e

Please sign in to comment.