This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
Patient Administration Work Group | Maturity Level: 4 | Trial Use | Security Category: Patient | Compartments: Patient, Practitioner, RelatedPerson |
Demographics and administrative information about a person independent of a specific health-related context.
The Person resource serves as a linkage resource that may provide a reference set of common demographics
for an individual (human or animal) across multiple roles.
This linkage can be direct to role-specific FHIR resources (Patient, Practitioner and RelatedPerson)
residing on the same or possibly distinct FHIR systems/applications, or indirectly through the use of
business identifiers.
The Person resource may be used in many situations/contexts, including:
Note to Implementers: The Person resource is an advanced feature. Many systems don’t have a way to relate information across resource types, or systems, especially from Patient to Practitioner, and therefore might not implement this functionality. Some do have ways of relating the Patient and RelatedPerson resource types. FHIR is also able to do this without the Person resource, utilizing the Patient.link property (as shown in the Mother and newborn relationship example)
Person resources may have references to Patient, RelatedPerson and/or Practitioner resources. These linkages assert that all the records relate to the same individual.
Person instances are NEVER directly referenced as actors (authors, subjects, performers, etc.)
Individual actors are always identified as either Patient, Practitioner or RelatedPerson, depending on the role
of the individual when undertaking the action. Therefore this resource SHALL NOT be referenced by any
other clinical or administrative resources.
E.g. it can be the focus of an operation or message or included in a Bundle,
but cannot be a member of a List or Group, the subject of an Observation, or other similar non-infrastructural usage.
Note that the usage of Practitioner is broader in FHIR than the term may suggest, and can encompass individuals who
are not licensed healthcare practitioners.
In some use cases the linkages will be indirect, and through business Identifiers, such as in the case of the various types of Master Person Indexes, where the records are not there for the purpose of healthcare, but simply describing a population of people, and has other purposes and not just to represent a population patients.
Structure
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Person | TU | DomainResource | A generic person record Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |||||
identifier | Σ | 0..* | Identifier | A human identifier for this person | ||||
active | ?!Σ | 0..1 | boolean | This person's record is in active use | ||||
name | Σ | 0..* | HumanName | A name associated with the person | ||||
telecom | Σ | 0..* | ContactPoint | A contact detail for the person | ||||
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (Required) | ||||
birthDate | Σ | 0..1 | date | The date on which the person was born | ||||
deceased[x] | Σ | 0..1 | Indicates if the individual is deceased or not | |||||
deceasedBoolean | boolean | |||||||
deceasedDateTime | dateTime | |||||||
address | Σ | 0..* | Address | One or more addresses for the person | ||||
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a person Binding: Marital Status Codes (Extensible) | |||||
photo | 0..* | Attachment | Image of the person | |||||
communication | 0..* | BackboneElement | A language which may be used to communicate with the person about his or her health | |||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the person about his or her health Binding: All Languages (Required)
| |||||
preferred | 0..1 | boolean | Language preference indicator | |||||
managingOrganization | Σ | 0..1 | Reference(Organization) | The organization that is the custodian of the person record | ||||
link | 0..* | BackboneElement | Link to a resource that concerns the same actual person | |||||
target | 1..1 | Reference(Patient | Practitioner | RelatedPerson | Person) | The resource to which this actual person is associated | |||||
assurance | 0..1 | code | level1 | level2 | level3 | level4 Binding: Identity Assurance Level (Required) | |||||
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<Person xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier A human identifier for this person --></identifier> <active value="[boolean]"/><!-- 0..1 This person's record is in active use --> <name><!-- 0..* HumanName A name associated with the person --></name> <telecom><!-- 0..* ContactPoint A contact detail for the person --></telecom> <gender value="[code]"/><!-- 0..1 male | female | other | unknown --> <birthDate value="[date]"/><!-- 0..1 The date on which the person was born --> <deceased[x]><!-- 0..1 boolean|dateTime Indicates if the individual is deceased or not --></deceased[x]> <address><!-- 0..* Address One or more addresses for the person --></address> <maritalStatus><!-- 0..1 CodeableConcept Marital (civil) status of a person --></maritalStatus> <photo><!-- 0..* Attachment Image of the person --></photo> <communication> <!-- 0..* A language which may be used to communicate with the person about his or her health --> <language><!-- 1..1 CodeableConcept The language which can be used to communicate with the person about his or her health --></language> <preferred value="[boolean]"/><!-- 0..1 Language preference indicator --> </communication> <managingOrganization><!-- 0..1 Reference(Organization) The organization that is the custodian of the person record --></managingOrganization> <link> <!-- 0..* Link to a resource that concerns the same actual person --> <target><!-- 1..1 Reference(Patient|Person|Practitioner|RelatedPerson) The resource to which this actual person is associated --></target> <assurance value="[code]"/><!-- 0..1 level1 | level2 | level3 | level4 --> </link> </Person>
JSON Template
{ "resourceType" : "Person", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // A human identifier for this person "active" : <boolean>, // This person's record is in active use "name" : [{ HumanName }], // A name associated with the person "telecom" : [{ ContactPoint }], // A contact detail for the person "gender" : "<code>", // male | female | other | unknown "birthDate" : "<date>", // The date on which the person was born // deceased[x]: Indicates if the individual is deceased or not. One of these 2: "deceasedBoolean" : <boolean>, "deceasedDateTime" : "<dateTime>", "address" : [{ Address }], // One or more addresses for the person "maritalStatus" : { CodeableConcept }, // Marital (civil) status of a person "photo" : [{ Attachment }], // Image of the person "communication" : [{ // A language which may be used to communicate with the person about his or her health "language" : { CodeableConcept }, // R! The language which can be used to communicate with the person about his or her health "preferred" : <boolean> // Language preference indicator }], "managingOrganization" : { Reference(Organization) }, // The organization that is the custodian of the person record "link" : [{ // Link to a resource that concerns the same actual person "target" : { Reference(Patient|Person|Practitioner|RelatedPerson) }, // R! The resource to which this actual person is associated "assurance" : "<code>" // level1 | level2 | level3 | level4 }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Person; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* A human identifier for this person fhir:active [ boolean ] ; # 0..1 This person's record is in active use fhir:name ( [ HumanName ] ... ) ; # 0..* A name associated with the person fhir:telecom ( [ ContactPoint ] ... ) ; # 0..* A contact detail for the person fhir:gender [ code ] ; # 0..1 male | female | other | unknown fhir:birthDate [ date ] ; # 0..1 The date on which the person was born # deceased[x] : 0..1 Indicates if the individual is deceased or not. One of these 2 fhir:deceased [ a fhir:boolean ; boolean ] fhir:deceased [ a fhir:dateTime ; dateTime ] fhir:address ( [ Address ] ... ) ; # 0..* One or more addresses for the person fhir:maritalStatus [ CodeableConcept ] ; # 0..1 Marital (civil) status of a person fhir:photo ( [ Attachment ] ... ) ; # 0..* Image of the person fhir:communication ( [ # 0..* A language which may be used to communicate with the person about his or her health fhir:language [ CodeableConcept ] ; # 1..1 The language which can be used to communicate with the person about his or her health fhir:preferred [ boolean ] ; # 0..1 Language preference indicator ] ... ) ; fhir:managingOrganization [ Reference(Organization) ] ; # 0..1 The organization that is the custodian of the person record fhir:link ( [ # 0..* Link to a resource that concerns the same actual person fhir:target [ Reference(Patient|Person|Practitioner|RelatedPerson) ] ; # 1..1 The resource to which this actual person is associated fhir:assurance [ code ] ; # 0..1 level1 | level2 | level3 | level4 ] ... ) ; ]
Changes from both R4 and R4B
Person | |
Person.deceased[x] |
|
Person.maritalStatus |
|
Person.photo |
|
Person.communication |
|
Person.communication.language |
|
Person.communication.preferred |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Structure
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Person | TU | DomainResource | A generic person record Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |||||
identifier | Σ | 0..* | Identifier | A human identifier for this person | ||||
active | ?!Σ | 0..1 | boolean | This person's record is in active use | ||||
name | Σ | 0..* | HumanName | A name associated with the person | ||||
telecom | Σ | 0..* | ContactPoint | A contact detail for the person | ||||
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (Required) | ||||
birthDate | Σ | 0..1 | date | The date on which the person was born | ||||
deceased[x] | Σ | 0..1 | Indicates if the individual is deceased or not | |||||
deceasedBoolean | boolean | |||||||
deceasedDateTime | dateTime | |||||||
address | Σ | 0..* | Address | One or more addresses for the person | ||||
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a person Binding: Marital Status Codes (Extensible) | |||||
photo | 0..* | Attachment | Image of the person | |||||
communication | 0..* | BackboneElement | A language which may be used to communicate with the person about his or her health | |||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the person about his or her health Binding: All Languages (Required)
| |||||
preferred | 0..1 | boolean | Language preference indicator | |||||
managingOrganization | Σ | 0..1 | Reference(Organization) | The organization that is the custodian of the person record | ||||
link | 0..* | BackboneElement | Link to a resource that concerns the same actual person | |||||
target | 1..1 | Reference(Patient | Practitioner | RelatedPerson | Person) | The resource to which this actual person is associated | |||||
assurance | 0..1 | code | level1 | level2 | level3 | level4 Binding: Identity Assurance Level (Required) | |||||
Documentation for this format |
See the Extensions for this resource
XML Template
<Person xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier A human identifier for this person --></identifier> <active value="[boolean]"/><!-- 0..1 This person's record is in active use --> <name><!-- 0..* HumanName A name associated with the person --></name> <telecom><!-- 0..* ContactPoint A contact detail for the person --></telecom> <gender value="[code]"/><!-- 0..1 male | female | other | unknown --> <birthDate value="[date]"/><!-- 0..1 The date on which the person was born --> <deceased[x]><!-- 0..1 boolean|dateTime Indicates if the individual is deceased or not --></deceased[x]> <address><!-- 0..* Address One or more addresses for the person --></address> <maritalStatus><!-- 0..1 CodeableConcept Marital (civil) status of a person --></maritalStatus> <photo><!-- 0..* Attachment Image of the person --></photo> <communication> <!-- 0..* A language which may be used to communicate with the person about his or her health --> <language><!-- 1..1 CodeableConcept The language which can be used to communicate with the person about his or her health --></language> <preferred value="[boolean]"/><!-- 0..1 Language preference indicator --> </communication> <managingOrganization><!-- 0..1 Reference(Organization) The organization that is the custodian of the person record --></managingOrganization> <link> <!-- 0..* Link to a resource that concerns the same actual person --> <target><!-- 1..1 Reference(Patient|Person|Practitioner|RelatedPerson) The resource to which this actual person is associated --></target> <assurance value="[code]"/><!-- 0..1 level1 | level2 | level3 | level4 --> </link> </Person>
JSON Template
{ "resourceType" : "Person", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // A human identifier for this person "active" : <boolean>, // This person's record is in active use "name" : [{ HumanName }], // A name associated with the person "telecom" : [{ ContactPoint }], // A contact detail for the person "gender" : "<code>", // male | female | other | unknown "birthDate" : "<date>", // The date on which the person was born // deceased[x]: Indicates if the individual is deceased or not. One of these 2: "deceasedBoolean" : <boolean>, "deceasedDateTime" : "<dateTime>", "address" : [{ Address }], // One or more addresses for the person "maritalStatus" : { CodeableConcept }, // Marital (civil) status of a person "photo" : [{ Attachment }], // Image of the person "communication" : [{ // A language which may be used to communicate with the person about his or her health "language" : { CodeableConcept }, // R! The language which can be used to communicate with the person about his or her health "preferred" : <boolean> // Language preference indicator }], "managingOrganization" : { Reference(Organization) }, // The organization that is the custodian of the person record "link" : [{ // Link to a resource that concerns the same actual person "target" : { Reference(Patient|Person|Practitioner|RelatedPerson) }, // R! The resource to which this actual person is associated "assurance" : "<code>" // level1 | level2 | level3 | level4 }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Person; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* A human identifier for this person fhir:active [ boolean ] ; # 0..1 This person's record is in active use fhir:name ( [ HumanName ] ... ) ; # 0..* A name associated with the person fhir:telecom ( [ ContactPoint ] ... ) ; # 0..* A contact detail for the person fhir:gender [ code ] ; # 0..1 male | female | other | unknown fhir:birthDate [ date ] ; # 0..1 The date on which the person was born # deceased[x] : 0..1 Indicates if the individual is deceased or not. One of these 2 fhir:deceased [ a fhir:boolean ; boolean ] fhir:deceased [ a fhir:dateTime ; dateTime ] fhir:address ( [ Address ] ... ) ; # 0..* One or more addresses for the person fhir:maritalStatus [ CodeableConcept ] ; # 0..1 Marital (civil) status of a person fhir:photo ( [ Attachment ] ... ) ; # 0..* Image of the person fhir:communication ( [ # 0..* A language which may be used to communicate with the person about his or her health fhir:language [ CodeableConcept ] ; # 1..1 The language which can be used to communicate with the person about his or her health fhir:preferred [ boolean ] ; # 0..1 Language preference indicator ] ... ) ; fhir:managingOrganization [ Reference(Organization) ] ; # 0..1 The organization that is the custodian of the person record fhir:link ( [ # 0..* Link to a resource that concerns the same actual person fhir:target [ Reference(Patient|Person|Practitioner|RelatedPerson) ] ; # 1..1 The resource to which this actual person is associated fhir:assurance [ code ] ; # 0..1 level1 | level2 | level3 | level4 ] ... ) ; ]
Changes from both R4 and R4B
Person | |
Person.deceased[x] |
|
Person.maritalStatus |
|
Person.photo |
|
Person.communication |
|
Person.communication.language |
|
Person.communication.preferred |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
Person.gender | AdministrativeGender | Required | The gender of a person used for administrative purposes. |
Person.maritalStatus | MaritalStatusCodes | Extensible | This value set defines the set of codes that can be used to indicate the marital status of a person. |
Person.communication.language | AllLanguages (a valid code from Tags for the Identification of Languages ) | Required | This value set includes all possible codes from BCP-47 (see http://tools.ietf.org/html/bcp47) |
Common Languages | starter | ||
Person.link.assurance | IdentityAssuranceLevel | Required | The level of confidence that this link represents the same actual person, based on NIST Authentication Levels. |
Most of the properties of the Person resource are replicated within the other resources that they are shared with. This is intentional and highlights the loose coupling of the resources.
Not many systems implement a shared Person record, and as such the values DO become out of sync with each other. The inclusion of this resource does permit a capability for systems to identify other instances of this actual person's data via a centralized registry that can assist in keeping things up to date.
The person.link element is used to relate resources under a common person record. This element supports two primary scenarios where other resources refer to the same person resource.
Note to Implementers: In previous versions of the FHIR specification the patient.link element was not able link to RelatedPerson entries, leaving the Person resource to link them. Since STU3 the patient.link property was updated to also support RelatedPerson, reducing the need to link using the Person resource, however this can still be done.
In a data sharing network, finding the location of patient records across different systems is a necessary pre-requisite for accessing external patient data. Using the link element, systems associate patient resources from different organizations. The assuranceLevel associated with the link provides a way for a system to qualify its confidence in the asserted link. For example, a relationship from the person to a patient using a probabilistic matching algorithm may be represented using a link with an assurance level of level1, while a relationship established using a government-issued photo ID may be created with an assurance level of level3.
Similarly, providers working in multiple healthcare service settings may be linked across different organizations using the link element. The various practitioner resources can be related using a common person resource with a link for each of the practitioner resources located in other organizations.
Many national and state programs maintain a central register of people, and their key Identifiers. These systems do not store any health related information, they are purely a validated set data, often provided by government departments. These may contain identifiers for patients, practitioners from various departments for various purposes. Access to these systems typically requires some form of professional role or permission, such as those in healthcare, law enforcement, or other internal government uses.
These may also operate outside of government in the private sector, such as associations or healthcare networks that a person may be involved with and may work in the same was as they do inside government. The usage of the data into the healthcare environment is not the only use of the register.
Note to Implementers: This style of system may use the Person resource without any FHIR references to Patient or Practitioner resources. In these environments the Master Index is likely to have a master identifier that performs this logical linking.
This style of usage has fewer security implications, as it doesn’t disclose where the information is being used.
Client Portals provide consumer access to a window of their data locked up in healthcare systems. In many cases these systems are externally integrated and do not have access to the legacy CIS/PAS systems.
In contrast to most systems where a user has access to multiple patients depending on their roles and permissions,
a client portal provides a consumer with direct access to their data (with permissions applied).
This can also include not just their data (via the Person.link Patient entries), but also to information that they
have entered, or were involved with (via the Person.link RelatedPerson entries), such as observations that they
entered.
With appropriate permissions/consent applied, the user could have access to other Patient records linked via
a RelatedPerson.
The Person resource may contain identifying and demographic information about an individual, therefore it must be protected as Identifying Information.
The Person resource may contain references to the individual's other various Patient, Practitioner,
and RelatedPerson resources, where the referenced record might be to very sensitive information.
The access to the linked sensitive Resource may be protected, but the link itself may expose information.
For example where a Practitioner and Patient resource are linked through a Person resource, inspecting the
Patient URL could reveal that the Practitioner has a record at a sensitive medical health clinic (e.g. Drug Rehabilitation Clinic).
When implementing the Person resource consideration should be given to the security and privacy of this information. Some mitigations to these risks include higher access control protections, filling out the Person resource as sparsely as practical for the given use-cases, and masking some data elements for certain users of the information. Additional security guidance can be found on the security page.
Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
address | string | A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text | Person.address | 4 Resources |
address-city | string | A city specified in an address | Person.address.city | 4 Resources |
address-country | string | A country specified in an address | Person.address.country | 4 Resources |
address-postalcode | string | A postal code specified in an address | Person.address.postalCode | 4 Resources |
address-state | string | A state specified in an address | Person.address.state | 4 Resources |
address-use | token | A use code specified in an address | Person.address.use | 4 Resources |
birthdate | date | The person's date of birth | Person.birthDate | 3 Resources |
death-date | date | The date of death has been provided and satisfies this search value | (Person.deceased.ofType(dateTime)) | |
deceased | token | This person has been marked as deceased, or has a death date entered | Person.deceased.exists() and Person.deceased != false | |
token | A value in an email contact | Person.telecom.where(system='email') | 5 Resources | |
family | string | A portion of the family name of the person | Person.name.family | |
gender | token | The gender of the person | Person.gender | 4 Resources |
given | string | A portion of the given name of the person | Person.name.given | |
identifier | token | A person Identifier | Person.identifier | 65 Resources |
link | reference | Any link has this Patient, Person, RelatedPerson or Practitioner reference | Person.link.target (Practitioner, Patient, Person, RelatedPerson) |
|
name | string | A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text | Person.name | |
organization | reference | The organization at which this person record is being managed | Person.managingOrganization (Organization) |
|
patient | reference | The Person links to this Patient | Person.link.target.where(resolve() is Patient) (Patient) |
65 Resources |
phone | token | A value in a phone contact | Person.telecom.where(system='phone') | 5 Resources |
phonetic | string | A portion of name using some kind of phonetic matching algorithm | Person.name | 4 Resources |
practitioner | reference | The Person links to this Practitioner | Person.link.target.where(resolve() is Practitioner) (Practitioner) |
|
relatedperson | reference | The Person links to this RelatedPerson | Person.link.target.where(resolve() is RelatedPerson) (RelatedPerson) |
|
telecom | token | The value in any kind of contact | Person.telecom | 5 Resources |