Patient

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 following fields are returned if valued:

Terminology Bindings

Patient.identifier.type
Patient.contact.relationship

Extensions

Search for Patients that meet supplied query parameters:

GET /Patient?:parameters

Implementation Notes

Authorization Types

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: example@example.com
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:

Headers

Accept: application/json+fhir
Authorization: <OAuth2 Bearer Token>

Example

Request

GET https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Patient?_id=4342009

Response

Status: 200 OK
{
  "resourceType": "Bundle",
  "id": "567efe76-2573-46be-85dc-8ea698dfa9d0",
  "type": "searchset",
  "total": 1,
  "link": [
    {
      "relation": "self",
      "url": "https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Patient?_id=4342009&_count=20"
    }
  ],
  "entry": [
    {
      "fullUrl": "https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Patient/4342009",
      "resource": {
        "resourceType": "Patient",
        "id": "4342009",
        "meta": {
          "versionId": "2",
          "lastUpdated": "2016-06-22T20:51:35.000Z"
        },
        "text": {
          "status": "generated",
          "div": "<div><p><b>Patient</b></p><p><b>Name</b>: Smart, Nancy</p><p><b>DOB</b>: 1980-08-11</p><p><b>Sex</b>: Female</p><p><b>Marital Status</b>: Married</p><p><b>Status</b>: Active</p></div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/patient-birthTime",
            "valueDateTime": "1980-08-11T12:33:00.000-05:00"
          },
          {
            "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-birthsex",
            "valueCode": "F"
          },
          {
            "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-race",
            "extension": [
              {
                "url": "ombCategory",
                "valueCoding": {
                  "system": "http://hl7.org/fhir/v3/Race",
                  "code": "2106-3",
                  "display": "White",
                  "userSelected": false
                }
              },
              {
                "url": "text",
                "valueString": "White"
              }
            ]
          },
          {
            "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-ethnicity",
            "extension": [
              {
                "url": "ombCategory",
                "valueCoding": {
                  "system": "http://hl7.org/fhir/v3/Ethnicity",
                  "code": "2186-5",
                  "display": "Not Hispanic or Latino",
                  "userSelected": false
                }
              },
              {
                "url": "text",
                "valueString": "Not Hispanic or Latino"
              }
            ]
          }
        ],
        "identifier": [
          {
            "use": "usual",
            "type": {
              "coding": [
                {
                  "system": "http://hl7.org/fhir/v2/0203",
                  "code": "MR",
                  "display": "Medical record number",
                  "userSelected": false
                }
              ],
              "text": "MRN"
            },
            "system": "urn:oid:1.1.1.1.1.1",
            "value": "10002701",
            "period": {
              "start": "2016-06-22T20:43:05.000Z"
            }
          }
        ],
        "active": true,
        "name": [
          {
            "use": "official",
            "text": "Smart, Nancy",
            "family": [
              "Smart"
            ],
            "given": [
              "Nancy"
            ],
            "period": {
              "start": "2016-06-22T20:43:05.000Z"
            }
          }
        ],
        "gender": "female",
        "birthDate": "1980-08-11",
        "maritalStatus": {
          "coding": [
            {
              "system": "http://hl7.org/fhir/v3/MaritalStatus",
              "code": "M",
              "display": "Married",
              "userSelected": false
            }
          ],
          "text": "Married"
        },
        "communication": [
          {
            "language": {
              "coding": [
                {
                  "system": "urn:ietf:bcp:47",
                  "code": "en",
                  "display": "English",
                  "userSelected": false
                }
              ],
              "text": "English"
            },
            "preferred": true
          }
        ],
        "careProvider": [
          {
            "reference": "Practitioner/1912007",
            "display": "Forrest, Fhir"
          }
        ]
      }
    }
  ]
}

Errors

The common errors 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:

GET /Patient/:id

Implementation Notes

Authorization Types

Headers

Accept: application/json+fhir
Authorization: <OAuth2 Bearer Token>

Example

Request

GET https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Patient/4342008

Response

Status: 200 OK
{
  "resourceType": "Patient",
  "id": "4342008",
  "meta": {
    "versionId": "2",
    "lastUpdated": "2016-06-22T20:27:38.000Z"
  },
  "text": {
    "status": "generated",
    "div": "<div><p><b>Patient</b></p><p><b>Name</b>: Smart, Wilma</p><p><b>DOB</b>: 1947-03-16</p><p><b>Sex</b>: Female</p><p><b>Status</b>: Active</p></div>"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/patient-birthTime",
      "valueDateTime": "1947-03-16T13:36:00.000-06:00"
    },
    {
      "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-birthsex",
      "valueCode": "F"
    },
    {
      "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-race",
      "extension": [
        {
          "url": "ombCategory",
          "valueCoding": {
            "system": "http://hl7.org/fhir/v3/Race",
            "code": "2054-5",
            "display": "Black or African American",
            "userSelected": false
          }
        },
        {
          "url": "text",
          "valueString": "Black or African American"
        }
      ]
    },
    {
      "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-ethnicity",
      "extension": [
        {
          "url": "ombCategory",
          "valueCoding": {
            "system": "http://hl7.org/fhir/v3/Ethnicity",
            "code": "2135-2",
            "display": "Hispanic or Latino",
            "userSelected": false
          }
        },
        {
          "url": "text",
          "valueString": "Hispanic or Latino"
        }
      ]
    }
  ],
  "identifier": [
    {
      "use": "usual",
      "type": {
        "coding": [
          {
            "system": "http://hl7.org/fhir/v2/0203",
            "code": "MR",
            "display": "Medical record number",
            "userSelected": false
          }
        ],
        "text": "MRN"
      },
      "system": "urn:oid:1.1.1.1.1.1",
      "value": "10002700",
      "period": {
        "start": "2016-06-22T20:25:56.000Z"
      }
    }
  ],
  "active": true,
  "name": [
    {
      "use": "official",
      "text": "Smart, Wilma",
      "family": [
        "Smart"
      ],
      "given": [
        "Wilma"
      ],
      "period": {
        "start": "2016-06-22T20:25:58.000Z"
      }
    }
  ],
  "gender": "female",
  "birthDate": "1947-03-16",
  "communication": [
    {
      "language": {
        "coding": [
          {
            "system": "urn:ietf:bcp:47",
            "code": "en",
            "display": "English",
            "userSelected": false
          }
        ],
        "text": "English"
      },
      "preferred": true
    }
  ],
  "careProvider": [
    {
      "reference": "Practitioner/1912007",
      "display": "Forrest, Fhir"
    }
  ]
}

Patient Combines 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.

Request

GET https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Patient/4860007

Response

Status: 200 OK
{
  "resourceType": "Patient",
  "id": "4860007",
  "meta": {
    "versionId": "0"
  },
  "active": false,
  "link": [
    {
      "other": {
        "reference": "Patient/4342008"
      },
      "type": "replace"
    }
  ]
}

Errors

The common errors may be returned.

Create

Create an individual Patient:

POST /Patient

Implementation Notes

Authorization Types

Headers

Authorization: <OAuth2 Bearer Token>
Accept: application/json+fhir
Content-Type: application/json+fhir

Body Fields

Notes:

Name Required Cardinality Type
resourceType Yes 1..1 string
  • Description
    • The type of the FHIR resource.
  • Example
    • {
        "resourceType": "Patient"
      }
      
  • Notes
    • resourceType must be Patient
identifier Yes 1..* Identifier
  • Description
    • The identifiers for the patient.
  • Example
    • {
        "identifier": [
          {
            "assigner": {
              "reference": "Organization/619848"
            }
          },
          {
            "type": {
              "coding": [
                {
                  "code": "MR",
                  "system": "http://hl7.org/fhir/v2/0203"
                }
              ]
            },
            "system": "urn:oid:1.1.1.1.1.1",
            "value": "THIS:IS:A:UNIQUE:IDENTIFIER",
            "period": {
              "start": "2016-01-02T00:00:00-05:00",
              "end": "2020-01-02T00:00:00-05:00"
            }
          }
        ]
      }
      
  • Notes
    • The first identifier must only contain an assigner field with a reference to the Organization in which the patient is being enrolled. The subsequent identifiers must not contain the assigner and use fields, must contain the type, system, and value fields, and must include a time component when specifying a period.
active No 0..1 boolean
  • Description
    • Whether this patient record is in active use.
  • Example
    • {
        "active": true
      }
      
  • Notes
    • If set, active must be true
name Yes 1..* HumanName
  • Description
    • The names associated with the individual.
  • Example
    • {
        "name": [
          {
            "use": "official",
            "family": [
              "Wolf"
            ],
            "given": [
              "Big",
              "Bad"
            ],
            "period": {
              "start": "2010-05-17T14:54:31.000Z"
            }
          },
          {
            "use": "usual",
            "given": [
              "Bigby"
            ],
            "period": {
              "start": "2012-05-22T15:45:50.000Z"
            }
          }
        ]
      }
      
  • Notes
    • Must have one value that is current and has a use of 'official', without an end date, and both a given and family name are present. Names must include the use field, and must contain either the given or family field. All names cannot contain the text field. Only one family name. If additional family names are required they must be provided as a single string separated by blank spaces. Up to two given names may be provided. If additional given names are required they must be provided in the second value as a single string separated by blank spaces. Only one prefix and one suffix may be provided.
telecom No 0..* ContactPoint
  • Description
    • A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.
  • Example
    • {
        "telecom": [
          {
            "system": "phone",
            "value": "8168229121",
            "use": "home",
            "period": {
              "start": "2012-05-17T15:33:18.000Z"
            }
          }
        ]
      }
      
  • Notes
    • All values must contain the system, use, and value fields.
gender No 0..1 code
  • Description
    • Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.
  • Example
    • {
        "gender": "male"
      }
      
birthDate No 0..1 date
  • Description
    • The date of birth for the individual.
  • Example
    • {
        "birthDate": "1990-09-15"
      }
      
address No 0..* Address
  • Description
    • Addresses for the individual.
  • Example
    • {
        "address": [
          {
            "use": "home",
            "line": [
               "1212 Faircastle Drive",
               "Apartment 406"
            ],
            "city": "KC",
            "district": "Jackson",
            "state": "KS",
            "postalCode": "64199",
            "country": "United States of America",
            "period": {
              "start": "2012-05-17T15:33:18.000Z"
            }
          }
        ]
      }
      
  • Notes
    • Each address must contain the use field, and must not contain the text field.
maritalStatus No 0..1 CodeableConcept
  • Description
    • The patient's most recent marital (civil) status.
  • Example
    • {
        "maritalStatus": {
          "coding": [
            {
              "system": "http://hl7.org/fhir/v3/NullFlavor",
              "code": "UNK",
              "display": "Unknown"
            }
          ],
          "text": "Unknown"
        },
      }
      
communication No 0..1 BackboneElement
  • Description
    • Language which may be used to communicate with the patient about his or her health.
  • Example
    • {
        "communication": [
          {
            "language": {
              "coding": [
                {
                  "system": "urn:ietf:bcp:47",
          	      "code": "eng",
                  "display": "English"
                }
              ],
              "text": "English"
            },
            "preferred": true
          }
        ]
      }
      
  • Notes
    • Only one communication may be provided
careProvider No 0..* Reference
  • Description
    • Patient's nominated care provider.
  • Example
    • {
        "careProvider": [
          {
            "reference": "Practitioner/4594010"
          },
          {
            "reference": "Practitioner/4646007"
          }
        ]
      }
      
  • Notes
    • careProvider must be a reference to a Practitioner
Birth Sex Extension No 0..1 Extension
  • Description
    • The sex of the patient at birth.
  • Example
    • {
        "extension": [
          {
            "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-birthsex",
            "valueCode": "F"
          }
        ],
      }
      

Example

Request

POST https://fhir-ehr.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Patient

Body

{
  "resourceType": "Patient",
  "identifier": [
    {
      "assigner": {
        "reference": "Organization/619848"
      }
    }
  ],
  "active": true,
  "name": [
    {
      "use": "official",
      "family": [
        "Wolf"
      ],
      "given": [
        "Person",
        "Name"
      ],
      "period": {
        "start": "2010-05-17T14:54:31.000Z"
      }
    },
    {
      "use": "usual",
      "given": [
        "Bigby"
      ],
      "period": {
        "start": "2012-05-22T15:45:50.000Z"
      }
    }
  ],
  "telecom": [
    {
      "system": "phone",
      "value": "8168229121",
      "use": "home",
      "period": {
        "start": "2012-05-17T15:33:18.000Z"
      }
    }
  ],
  "gender": "male",
  "birthDate": "1990-09-15",
  "address": [
    {
      "use": "home",
      "line": [
        "121212 Metcalf Drive",
        "Apartment 403"
      ],
      "city": "Kansas City",
      "district": "Jackson",
      "state": "KS",
      "postalCode": "64199",
      "country": "United States of America",
      "period": {
        "start": "2012-05-17T15:33:18.000Z"
      }
    }
  ],
  "maritalStatus": {
    "coding": [
      {
        "system": "http://hl7.org/fhir/v3/NullFlavor",
        "code": "UNK",
        "display": "Unknown"
      }
    ],
    "text": "Unknown"
  },
  "communication": [
    {
      "language": {
        "coding": [
          {
            "system": "urn:ietf:bcp:47",
            "code": "en",
            "display": "English"
          }
        ],
        "text": "English"
      },
      "preferred": true
    }
  ],
  "careProvider": [
    {
      "reference": "Practitioner/4594010"
    },
    {
      "reference": "Practitioner/4646007"
    }
  ]
}

Response

Status: 201 Created
      Date → Tue, 27 Feb 2018 16:47:59 GMT
      Cache-Control → no-cache
      Vary → Origin,User-Agent,Accept-Encoding
      Strict-Transport-Security → max-age=631152000
      Server-Response-Time → 9272.410216999999
      X-Xss-Protection → 1; mode=block
      Pragma → no-cache
      X-Request-Id → 78a19072002b8651623351cfedaffe70
      Etag → W/"0"
      X-Frame-Options → SAMEORIGIN
      X-Runtime → 9.272318
      X-Content-Type-Options → nosniff
      Expires → Mon, 01 Jan 1990 00:00:00 GMT
      Last-Modified → Tue, 27 Feb 2018 16:48:00 GMT
      Location → https://fhir-ehr.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Patient/4842008
      Status → 201 Created
      Content-Length → 0
      Content-Type → application/json
  

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

Errors

The common errors may be returned. In addition, OperationOutcomes may be returned in the following scenarios:

HTTP Status Cause Severity Code
422 Body contained modifier extensions error extension
422 Body contained implicit rules error not-supported
422 Body contained unsupported fields error business-rule