Release 4B Snapshot #1

This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

8.18 Resource Person - Content

Patient Administration Work GroupMaturity Level: 2 Trial UseSecurity 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:

  • A set of demographics that can be used to co-ordinate the maintenance of this de-normalized information across practitioners, patients and/or related persons
    e.g. link known resources of the different types together within a system
  • A state/network based Master Person Index
    e.g. A National Identifier Index or a Network membership/subscriber list
  • A central register that links patient resources from multiple servers, indicating they all correspond to the same individual
    e.g. Within a large organization with many systems to be able to link the various records, without having to modify the source information with external links
  • A support for access monitoring software that is able to assert what practitioner, patient and related person records correspond to the same human being to assist in detecting improper querying.
    e.g. asserting that a Patient A is the same individual as a RelatedPerson B who is related to Patient C, who is also Practitioner D. As such, monitoring for Practitioner D’s accesses to Patient A’s records should be carefully scrutinized.
  • Local record(s) on a mobile device listing links to remote server patient resources
    e.g. A mobile phone application storing references to the hospitals they have access to

Note: 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.

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.

This resource is referenced by Citation, EvidenceReport and itself.

This resource does not implement any patterns.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Person TUDomainResourceA generic person record
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..*IdentifierA human identifier for this person
... name Σ0..*HumanNameA name associated with the person
... telecom Σ0..*ContactPointA contact detail for the person
... birthDate Σ0..1dateThe date on which the person was born
... address 0..*AddressOne or more addresses for the person
... photo 0..1AttachmentImage of the person
... managingOrganization Σ0..1Reference(Organization)The organization that is the custodian of the person record
... active ?!Σ0..1booleanThis person's record is in active use
... link 0..*BackboneElementLink to a resource that concerns the same actual person
.... target 1..1Reference(Patient | Practitioner | RelatedPerson | Person)The resource to which this actual person is associated
.... assurance 0..1codelevel1 | level2 | level3 | level4
IdentityAssuranceLevel (Required)

doco Documentation for this format

XML Template

<Person xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier A human identifier for this person --></identifier>
 <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 -->
 <address><!-- 0..* Address One or more addresses for the person --></address>
 <photo><!-- 0..1 Attachment Image of the person --></photo>
 <managingOrganization><!-- 0..1 Reference(Organization) The organization that is the custodian of the person record --></managingOrganization>
 <active value="[boolean]"/><!-- 0..1 This person's record is in active use -->
 <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>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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:Person.identifier [ Identifier ], ... ; # 0..* A human identifier for this person
  fhir:Person.name [ HumanName ], ... ; # 0..* A name associated with the person
  fhir:Person.telecom [ ContactPoint ], ... ; # 0..* A contact detail for the person
  fhir:Person.gender [ code ]; # 0..1 male | female | other | unknown
  fhir:Person.birthDate [ date ]; # 0..1 The date on which the person was born
  fhir:Person.address [ Address ], ... ; # 0..* One or more addresses for the person
  fhir:Person.photo [ Attachment ]; # 0..1 Image of the person
  fhir:Person.managingOrganization [ Reference(Organization) ]; # 0..1 The organization that is the custodian of the person record
  fhir:Person.active [ boolean ]; # 0..1 This person's record is in active use
  fhir:Person.link [ # 0..* Link to a resource that concerns the same actual person
    fhir:Person.link.target [ Reference(Patient|Person|Practitioner|RelatedPerson) ]; # 1..1 The resource to which this actual person is associated
    fhir:Person.link.assurance [ code ]; # 0..1 level1 | level2 | level3 | level4
  ], ...;
]

Changes since R3

Person
Person.gender
  • Change value set from http://hl7.org/fhir/ValueSet/administrative-gender|4.0.0 to http://hl7.org/fhir/ValueSet/administrative-gender|4.3.0-snapshot1
Person.link.assurance
  • Change value set from http://hl7.org/fhir/ValueSet/identity-assuranceLevel|4.0.0 to http://hl7.org/fhir/ValueSet/identity-assuranceLevel|4.3.0-snapshot1

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 5 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Person TUDomainResourceA generic person record
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..*IdentifierA human identifier for this person
... name Σ0..*HumanNameA name associated with the person
... telecom Σ0..*ContactPointA contact detail for the person
... birthDate Σ0..1dateThe date on which the person was born
... address 0..*AddressOne or more addresses for the person
... photo 0..1AttachmentImage of the person
... managingOrganization Σ0..1Reference(Organization)The organization that is the custodian of the person record
... active ?!Σ0..1booleanThis person's record is in active use
... link 0..*BackboneElementLink to a resource that concerns the same actual person
.... target 1..1Reference(Patient | Practitioner | RelatedPerson | Person)The resource to which this actual person is associated
.... assurance 0..1codelevel1 | level2 | level3 | level4
IdentityAssuranceLevel (Required)

doco Documentation for this format

XML Template

<Person xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier A human identifier for this person --></identifier>
 <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 -->
 <address><!-- 0..* Address One or more addresses for the person --></address>
 <photo><!-- 0..1 Attachment Image of the person --></photo>
 <managingOrganization><!-- 0..1 Reference(Organization) The organization that is the custodian of the person record --></managingOrganization>
 <active value="[boolean]"/><!-- 0..1 This person's record is in active use -->
 <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>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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:Person.identifier [ Identifier ], ... ; # 0..* A human identifier for this person
  fhir:Person.name [ HumanName ], ... ; # 0..* A name associated with the person
  fhir:Person.telecom [ ContactPoint ], ... ; # 0..* A contact detail for the person
  fhir:Person.gender [ code ]; # 0..1 male | female | other | unknown
  fhir:Person.birthDate [ date ]; # 0..1 The date on which the person was born
  fhir:Person.address [ Address ], ... ; # 0..* One or more addresses for the person
  fhir:Person.photo [ Attachment ]; # 0..1 Image of the person
  fhir:Person.managingOrganization [ Reference(Organization) ]; # 0..1 The organization that is the custodian of the person record
  fhir:Person.active [ boolean ]; # 0..1 This person's record is in active use
  fhir:Person.link [ # 0..* Link to a resource that concerns the same actual person
    fhir:Person.link.target [ Reference(Patient|Person|Practitioner|RelatedPerson) ]; # 1..1 The resource to which this actual person is associated
    fhir:Person.link.assurance [ code ]; # 0..1 level1 | level2 | level3 | level4
  ], ...;
]

Changes since Release 3

Person
Person.gender
  • Change value set from http://hl7.org/fhir/ValueSet/administrative-gender|4.0.0 to http://hl7.org/fhir/ValueSet/administrative-gender|4.3.0-snapshot1
Person.link.assurance
  • Change value set from http://hl7.org/fhir/ValueSet/identity-assuranceLevel|4.0.0 to http://hl7.org/fhir/ValueSet/identity-assuranceLevel|4.3.0-snapshot1

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 5 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
Person.gender RequiredAdministrativeGender
Person.link.assurance RequiredIdentityAssuranceLevel

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

The link element cannot be used to link to RelatedPerson entries, so we can use a Person resource to relate these elements together identifying them as the same individual.

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 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: 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. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
addressstringA server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or textPerson.address
address-citystringA city specified in an addressPerson.address.city
address-countrystringA country specified in an addressPerson.address.country
address-postalcodestringA postal code specified in an addressPerson.address.postalCode
address-statestringA state specified in an addressPerson.address.state
address-usetokenA use code specified in an addressPerson.address.use
birthdatedateThe person's date of birthPerson.birthDate
emailtokenA value in an email contactPerson.telecom.where(system='email')
gendertokenThe gender of the personPerson.gender
identifiertokenA person IdentifierPerson.identifier
linkreferenceAny link has this Patient, Person, RelatedPerson or Practitioner referencePerson.link.target
(Practitioner, Patient, Person, RelatedPerson)
namestringA server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or textPerson.name
organizationreferenceThe organization at which this person record is being managedPerson.managingOrganization
(Organization)
patientreferenceThe Person links to this PatientPerson.link.target.where(resolve() is Patient)
(Practitioner, Patient, Person, RelatedPerson)
phonetokenA value in a phone contactPerson.telecom.where(system='phone')
phoneticstringA portion of name using some kind of phonetic matching algorithmPerson.name
practitionerreferenceThe Person links to this PractitionerPerson.link.target.where(resolve() is Practitioner)
(Practitioner, Patient, Person, RelatedPerson)
relatedpersonreferenceThe Person links to this RelatedPersonPerson.link.target.where(resolve() is RelatedPerson)
(Practitioner, Patient, Person, RelatedPerson)
telecomtokenThe value in any kind of contactPerson.telecom