US Core Implementation Guide
8.0.1 - STU 8 US

US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 8.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions

## Resource Profile: US Core RelatedPerson Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-relatedperson | Version: 8.0.1
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCoreRelatedPersonProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.56
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The US Core RelatedPerson Profile inherits from the FHIR RelatedPerson resource; refer to it for scope and usage definitions. This profile sets minimum expectations for the RelatedPerson resource to record, search, and fetch basic administrative information about persons with a legal or familial relationship to a patient. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.

Example Usage Scenarios:

The following are example usage scenarios for this profile:

- Query for a related person that supports the patient.
- Query for a person related to the patient by name.

### Mandatory and Must Support Data Elements

The following data elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each RelatedPerson Must Have:

1. an active flag
2. a patient

Each RelatedPerson Must Support:

1. the relationship to the patient
2. the name of the related person
3. the telecom of the related person
4. the address of the related person*

*see guidance below

Profile Specific Implementation Guidance:

- * Systems SHOULD follow the Project US@ Technical Specification for Patient Addresses Final Version 1.0 as the standard style guide for `RelatedPerson.address.line` and `RelatedPerson.address.city`.

Usages:

- Refer to this Profile: US Core ADI DocumentReference Profile, US Core AllergyIntolerance Profile, US Core Average Blood Pressure Profile, US Core Care Experience Preference Profile... Show 24 more, US Core CarePlan Profile, US Core CareTeam Profile, US Core Condition Encounter Diagnosis Profile, US Core Condition Problems and Health Concerns Profile, US Core Coverage Profile, US Core DocumentReference Profile, US Core Encounter Profile, US Core Goal Profile, US Core MedicationDispense Profile, US Core MedicationRequest Profile, US Core Observation ADI Documentation Profile, US Core Observation Clinical Result Profile, US Core Observation Occupation Profile, US Core Observation Pregnancy Intent Profile, US Core Observation Pregnancy Status Profile, US Core Observation Screening Assessment Profile, US Core Procedure Profile, US Core Provenance Profile, US Core QuestionnaireResponse Profile, US Core ServiceRequest Profile, US Core Simple Observation Profile, US Core Smoking Status Observation Profile, US Core Treatment Intervention Preference Profile and US Core Vital Signs Profile
- Examples for this Profile: RelatedPerson/shaw-niece
- CapabilityStatements using this Profile: US Core Client CapabilityStatement and US Core Server CapabilityStatement

You can also check for usages in the FHIR IG Statistics

Changes since version 7.0.0:

- No changes

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
RelatedPerson | C | 0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care Constraints: us-core-14
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!S Σ | 1..1 | boolean | Whether this related person's record is in active use
patient | S Σ | 1..1 | Reference(US Core Patient Profile) | The patient this person is related to
relationship | S Σ C | 0..* | CodeableConcept | The nature of the relationship Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
name | S Σ C | 0..* | HumanName | A name associated with the person
telecom | S Σ | 0..* | ContactPoint | A contact detail for the person
address | S Σ | 0..* | Address | Address where the related person can be contacted or visited
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
RelatedPerson.relationship | Base | preferred | Patient relationship type | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | RelatedPerson | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | RelatedPerson | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | RelatedPerson | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | RelatedPerson | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | RelatedPerson | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-14 | error | RelatedPerson | Either a name or a relationship SHALL be provided (or both) | `name.exists() or relationship.exists()`

This structure is derived from RelatedPerson

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
RelatedPerson | C | 0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care Constraints: us-core-14
active | S | 1..1 | boolean | Whether this related person's record is in active use
patient | S | 1..1 | Reference(US Core Patient Profile) | The patient this person is related to
relationship | S C | 0..* | CodeableConcept | The nature of the relationship Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
name | S C | 0..* | HumanName | A name associated with the person
telecom | S | 0..* | ContactPoint | A contact detail for the person
address | S | 0..* | Address | Address where the related person can be contacted or visited
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
RelatedPerson.relationship | Base | preferred | Patient relationship type | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
us-core-14 | error | RelatedPerson | Either a name or a relationship SHALL be provided (or both) | `name.exists() or relationship.exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
RelatedPerson | C | 0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care Constraints: us-core-14
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | A human identifier for this person
active | ?!S Σ | 1..1 | boolean | Whether this related person's record is in active use
patient | S Σ | 1..1 | Reference(US Core Patient Profile) | The patient this person is related to
relationship | S Σ C | 0..* | CodeableConcept | The nature of the relationship Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
name | S Σ C | 0..* | HumanName | A name associated with the person
telecom | S Σ | 0..* | ContactPoint | A contact detail for the person
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
birthDate | Σ | 0..1 | date | The date on which the related person was born
address | S Σ | 0..* | Address | Address where the related person can be contacted or visited
photo |  | 0..* | Attachment | Image of the person
period |  | 0..1 | Period | Period of time that this relationship is considered valid
communication |  | 0..* | BackboneElement | A language which may be used to communicate with about the patient's health
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
language |  | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
preferred |  | 0..1 | boolean | Language preference indicator
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
RelatedPerson.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
RelatedPerson.relationship | Base | preferred | Patient relationship type | 📦4.0.1 | FHIR Std.
RelatedPerson.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
RelatedPerson.communication.​language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | RelatedPerson | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | RelatedPerson | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | RelatedPerson | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | RelatedPerson | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | RelatedPerson | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-14 | error | RelatedPerson | Either a name or a relationship SHALL be provided (or both) | `name.exists() or relationship.exists()`

This structure is derived from RelatedPerson

Summary

Mandatory: 1 element
Must-Support: 6 elements

Structures

This structure refers to these other structures:

- US Core Patient Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient)

Maturity: 3

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
RelatedPerson | C | 0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care Constraints: us-core-14
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!S Σ | 1..1 | boolean | Whether this related person's record is in active use
patient | S Σ | 1..1 | Reference(US Core Patient Profile) | The patient this person is related to
relationship | S Σ C | 0..* | CodeableConcept | The nature of the relationship Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
name | S Σ C | 0..* | HumanName | A name associated with the person
telecom | S Σ | 0..* | ContactPoint | A contact detail for the person
address | S Σ | 0..* | Address | Address where the related person can be contacted or visited
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
RelatedPerson.relationship | Base | preferred | Patient relationship type | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | RelatedPerson | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | RelatedPerson | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | RelatedPerson | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | RelatedPerson | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | RelatedPerson | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-14 | error | RelatedPerson | Either a name or a relationship SHALL be provided (or both) | `name.exists() or relationship.exists()`

Differential View

This structure is derived from RelatedPerson

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
RelatedPerson | C | 0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care Constraints: us-core-14
active | S | 1..1 | boolean | Whether this related person's record is in active use
patient | S | 1..1 | Reference(US Core Patient Profile) | The patient this person is related to
relationship | S C | 0..* | CodeableConcept | The nature of the relationship Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
name | S C | 0..* | HumanName | A name associated with the person
telecom | S | 0..* | ContactPoint | A contact detail for the person
address | S | 0..* | Address | Address where the related person can be contacted or visited
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
RelatedPerson.relationship | Base | preferred | Patient relationship type | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
us-core-14 | error | RelatedPerson | Either a name or a relationship SHALL be provided (or both) | `name.exists() or relationship.exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
RelatedPerson | C | 0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care Constraints: us-core-14
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | A human identifier for this person
active | ?!S Σ | 1..1 | boolean | Whether this related person's record is in active use
patient | S Σ | 1..1 | Reference(US Core Patient Profile) | The patient this person is related to
relationship | S Σ C | 0..* | CodeableConcept | The nature of the relationship Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
name | S Σ C | 0..* | HumanName | A name associated with the person
telecom | S Σ | 0..* | ContactPoint | A contact detail for the person
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
birthDate | Σ | 0..1 | date | The date on which the related person was born
address | S Σ | 0..* | Address | Address where the related person can be contacted or visited
photo |  | 0..* | Attachment | Image of the person
period |  | 0..1 | Period | Period of time that this relationship is considered valid
communication |  | 0..* | BackboneElement | A language which may be used to communicate with about the patient's health
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
language |  | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
preferred |  | 0..1 | boolean | Language preference indicator
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
RelatedPerson.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
RelatedPerson.relationship | Base | preferred | Patient relationship type | 📦4.0.1 | FHIR Std.
RelatedPerson.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
RelatedPerson.communication.​language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | RelatedPerson | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | RelatedPerson | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | RelatedPerson | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | RelatedPerson | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | RelatedPerson | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-14 | error | RelatedPerson | Either a name or a relationship SHALL be provided (or both) | `name.exists() or relationship.exists()`

This structure is derived from RelatedPerson

Summary

Mandatory: 1 element
Must-Support: 6 elements

Structures

This structure refers to these other structures:

- US Core Patient Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient)

Maturity: 3

Other representations of profile: CSV, Excel, Schematron

### Notes:

Quick Start

Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile's information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

- See the Scopes Format section for a description of the SMART scopes syntax.
- See the Search Syntax section for a description of the US Core search syntax.
- See the General Requirements section for additional rules and expectations when a Server requires status parameters.
- See the General Guidance section for additional guidance on searching for multiple patients.

#### US Core Scopes

Servers providing access to related person data SHALL support these US Core SMART Scopes:

- resource level scopes: `<patient|user|system>/RelatedPerson.rs`

#### Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported:

1. SHALL support both read RelatedPerson by `id` AND RelatedPerson search using the `_id` search parameter:

   `GET [base]/RelatedPerson/[id]` or `GET [base]/RelatedPerson?_id=[id]`

   Example:

   1. GET [base]/RelatedPerson/shaw-niece
   2. GET [base]/RelatedPerson?_id=shaw-niece

   Implementation Notes: (how to search by the logical id of the resource)

#### Optional Search Parameters:

The following search parameter combinations SHOULD be supported:

1. SHOULD support searching for all relatedpersons for a patient using the `patient` search parameter:

   `GET [base]/RelatedPerson?patient={Type/}[id]`

   Example:

   1. GET [base]/RelatedPerson?patient=1032702

   Implementation Notes: Fetches a bundle of all RelatedPerson resources for the specified patient (how to search by reference)

2. SHOULD support searching using the combination of the `patient` and `name` search parameters:

   `GET [base]/RelatedPerson?patient={Type/}[id]&name=[string]`

   Example:

   1. GET [base]/RelatedPerson?patient=1137192&name=van%20Putten

   Implementation Notes: Fetches a bundle of all RelatedPerson resources for the specified patient that may match any of the string fields in the `name` element (including family, give, prefix, suffix, suffix, and/or text) (how to search by reference and how to search by string)