NCPI FHIR Implementation Guide v2
0.1.0 - ci-build

NCPI FHIR Implementation Guide v2 - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: NCPI Participant

Official URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-participant Version: 0.1.0
Draft as of 2024-11-25 Computable Name: NcpiParticipant

Research oriented patient

Key Guidelines

The NCPI Participant profile is based on the standard resource type, Patient and is intended to represent an individual participating in a specific research study.

Added Profile Restrictions

In order to ensure that our resources are interoperable across studies, we have employed a number of restrictions that should make consuming Patient resources more consistent.

  • ID should be a globally unique identifier associated with the patient. This practice is intended to make constructing queries for the same patient compatible across different servers (such as QA vs PROD) but also to make the resource URLs more meaningful.
  • Identifier should have all appropriate identifiers with a meaningful system/value pair. Such identifiers may include dbGaP accession IDs, global and external IDs, etc.
  • Race and ethnicity must be defined using OMB Categories using the relevant US Core extensions (us-core-race extension & us-core-ethnicity)
  • Where birth date is known, the extension, research-date-of-birth-method must be provided to indicate the method used in the construction of that value.

While only some of the fields in NCPI Participant are strictly required, it is recommended that users of this IG fill out as much information as they have available for a given participant.

FHIR Mappings

The following fields from the shared data model are to be mapped into the NCPI Participant as shown below:

Logical Model Property Cardinality NCPI FHIR Mapping Usage Guidance Notes
participantID 1..1 id Strongly recommended It is strongly recommended for the Participant Resource ID to be a unique identifier with an appropriate system
externalID 0..* identifier    
population 0..* TBD Strongly recommended  
ombRace 0..* extension Required if available Use the us-core-race extension
ombEth 0..* extension Required if available Use the us-core-ethnicity
sex 1..1 extension Required if available Use the us-core-birthsex extension
dateOfBirth 0..1 birthDate Optional  
dobMethod 0..1 extension ResearchDateOfBirthMethod Required if dateOfBirth is provided  
ageAtLastVitalStatus 0..1 extension AgeAtLastVitalStatus Recommended  
vitalStatus 0..1 deceased Recommended  
Study Participation

The conventional FHIR mechanism to link Patient resources to a ResearchStudy is through the use of a ResearchSubject resource. Let's use GREGoR data as an example: our example NCPI Participant, "GSS123456", is linked to NCPI Person "PS_000" which represents the "actual" person participating in a study. In this case, GSS123456 is connected to PS_000 by link.target and if PS_000 participated in another study, their other unique NCPI Participant ID could be similarly linked. NCPI Study Participant connects NCPI Research Study, relevant Access Policies, and an NCPI Participant into a single profile while NCPI Study Group contains a list of Study Participants.

For further information, see the Participant, Research Study, and Person examples:

NCPI Profile Link to GREGoR Example
Research Study Example JSON
Research Study Group Example JSON
Study Participant Example JSON
Participant Example JSON GSS123456, Example JSON GSS654321
Person Example JSON

Usage:

Formal Views of Profile Content

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

This structure is derived from Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient Patient
... id 1..1 id ParticipantID - Unique participant identifier. System identifier used for internal references.
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... us-core-birth-sex 0..1 code Sex assigned at birth (or pre-natal observed sex)
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Binding: Birth Sex (required): Code for sex assigned at birth

.... us-core-race 0..1 (Complex) US Core Race
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
.... us-core-ethnicity 0..1 (Complex) US Core Ethnicity
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
.... population 0..1 string, CodeableConcept Population, Race, and/or Ethnicity information.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-population
.... dob-method 0..1 Coding Specifies method used to alter DOB for research sharing. Details should be available in the study protocols.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-date-of-birth-method
Binding: Enumerations for how DOB was constructed (extensible)
.... age-at-last-vital-status 0..1 Quantity Age or date of last vital status
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-age-at-last-vital-status
... identifier 0..* Identifier External IDs for this participant. Requires scoping.
... deceased[x] 0..1 boolean, dateTime Implementers can provide relativeDateTime or actual date or T/F, depending on data available.

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id Σ 1..1 id ParticipantID - Unique participant identifier. System identifier used for internal references.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... us-core-birth-sex 0..1 code Sex assigned at birth (or pre-natal observed sex)
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Binding: Birth Sex (required): Code for sex assigned at birth


.... us-core-race 0..1 (Complex) US Core Race
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
.... us-core-ethnicity 0..1 (Complex) US Core Ethnicity
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
.... population 0..1 string, CodeableConcept Population, Race, and/or Ethnicity information.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-population
.... dob-method 0..1 Coding Specifies method used to alter DOB for research sharing. Details should be available in the study protocols.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-date-of-birth-method
Binding: Enumerations for how DOB was constructed (extensible)
.... age-at-last-vital-status 0..1 Quantity Age or date of last vital status
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-age-at-last-vital-status
... identifier Σ 0..* Identifier External IDs for this participant. Requires scoping.
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
... birthDate Σ 0..1 date Date of Birth of the participant. Details of privacy method should be included in DOBMethod
... deceased[x] ?!Σ 0..1 Implementers can provide relativeDateTime or actual date or T/F, depending on data available.
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.3.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id Σ 1..1 id ParticipantID - Unique participant identifier. System identifier used for internal references.
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
dom-r4b: Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... us-core-birth-sex 0..1 code Sex assigned at birth (or pre-natal observed sex)
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Binding: Birth Sex (required): Code for sex assigned at birth


.... us-core-race 0..1 (Complex) US Core Race
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
.... us-core-ethnicity 0..1 (Complex) US Core Ethnicity
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
.... population 0..1 string, CodeableConcept Population, Race, and/or Ethnicity information.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-population
.... dob-method 0..1 Coding Specifies method used to alter DOB for research sharing. Details should be available in the study protocols.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-date-of-birth-method
Binding: Enumerations for how DOB was constructed (extensible)
.... age-at-last-vital-status 0..1 Quantity Age or date of last vital status
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-age-at-last-vital-status
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External IDs for this participant. Requires scoping.
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
... name Σ 0..* HumanName A name associated with the patient
... telecom Σ 0..* ContactPoint A contact detail for the individual
... gender Σ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ 0..1 date Date of Birth of the participant. Details of privacy method should be included in DOBMethod
... deceased[x] ?!Σ 0..1 Implementers can provide relativeDateTime or actual date or T/F, depending on data available.
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... address Σ 0..* Address An address for the individual
... maritalStatus 0..1 CodeableConcept Marital (civil) status of a patient
Binding: Marital Status Codes (extensible): The domestic partnership status of a person.

... multipleBirth[x] 0..1 Whether patient is part of a multiple birth
.... multipleBirthBoolean boolean
.... multipleBirthInteger integer
... photo 0..* Attachment Image of the patient
... contact C 0..* BackboneElement A contact party (e.g. guardian, partner, friend) for the patient
pat-1: SHALL at least contain a contact's details or a reference to an organization
.... 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
.... relationship 0..* CodeableConcept The kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


.... name 0..1 HumanName A name associated with the contact person
.... telecom 0..* ContactPoint A contact detail for the person
.... address 0..1 Address Address for the contact person
.... gender 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization C 0..1 Reference(Organization) Organization that is associated with the contact
.... period 0..1 Period The period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..* BackboneElement A language which may be used to communicate with the patient about his or her 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): IETF language tag

Additional BindingsPurpose
AllLanguages Max Binding
.... preferred 0..1 boolean Language preference indicator
... generalPractitioner 0..* Reference(Organization | Practitioner | PractitionerRole) Patient's nominated primary care provider
... managingOrganization Σ 0..1 Reference(Organization) Organization that is the custodian of the patient record
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
.... 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
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.3.0
from the FHIR Standard
Patient.maritalStatusextensibleMarital Status Codes
http://hl7.org/fhir/ValueSet/marital-status
from the FHIR Standard
Patient.contact.relationshipextensiblePatientContactRelationship
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.3.0
from the FHIR Standard
Patient.communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.3.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
dom-r4bwarningPatient.containedContaining new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
: ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pat-1errorPatient.contactSHALL at least contain a contact's details or a reference to an organization
: name.exists() or telecom.exists() or address.exists() or organization.exists()

Differential View

This structure is derived from Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient Patient
... id 1..1 id ParticipantID - Unique participant identifier. System identifier used for internal references.
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... us-core-birth-sex 0..1 code Sex assigned at birth (or pre-natal observed sex)
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Binding: Birth Sex (required): Code for sex assigned at birth

.... us-core-race 0..1 (Complex) US Core Race
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
.... us-core-ethnicity 0..1 (Complex) US Core Ethnicity
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
.... population 0..1 string, CodeableConcept Population, Race, and/or Ethnicity information.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-population
.... dob-method 0..1 Coding Specifies method used to alter DOB for research sharing. Details should be available in the study protocols.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-date-of-birth-method
Binding: Enumerations for how DOB was constructed (extensible)
.... age-at-last-vital-status 0..1 Quantity Age or date of last vital status
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-age-at-last-vital-status
... identifier 0..* Identifier External IDs for this participant. Requires scoping.
... deceased[x] 0..1 boolean, dateTime Implementers can provide relativeDateTime or actual date or T/F, depending on data available.

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id Σ 1..1 id ParticipantID - Unique participant identifier. System identifier used for internal references.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... us-core-birth-sex 0..1 code Sex assigned at birth (or pre-natal observed sex)
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Binding: Birth Sex (required): Code for sex assigned at birth


.... us-core-race 0..1 (Complex) US Core Race
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
.... us-core-ethnicity 0..1 (Complex) US Core Ethnicity
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
.... population 0..1 string, CodeableConcept Population, Race, and/or Ethnicity information.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-population
.... dob-method 0..1 Coding Specifies method used to alter DOB for research sharing. Details should be available in the study protocols.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-date-of-birth-method
Binding: Enumerations for how DOB was constructed (extensible)
.... age-at-last-vital-status 0..1 Quantity Age or date of last vital status
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-age-at-last-vital-status
... identifier Σ 0..* Identifier External IDs for this participant. Requires scoping.
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
... birthDate Σ 0..1 date Date of Birth of the participant. Details of privacy method should be included in DOBMethod
... deceased[x] ?!Σ 0..1 Implementers can provide relativeDateTime or actual date or T/F, depending on data available.
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.3.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id Σ 1..1 id ParticipantID - Unique participant identifier. System identifier used for internal references.
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
dom-r4b: Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... us-core-birth-sex 0..1 code Sex assigned at birth (or pre-natal observed sex)
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Binding: Birth Sex (required): Code for sex assigned at birth


.... us-core-race 0..1 (Complex) US Core Race
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
.... us-core-ethnicity 0..1 (Complex) US Core Ethnicity
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
.... population 0..1 string, CodeableConcept Population, Race, and/or Ethnicity information.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-population
.... dob-method 0..1 Coding Specifies method used to alter DOB for research sharing. Details should be available in the study protocols.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-date-of-birth-method
Binding: Enumerations for how DOB was constructed (extensible)
.... age-at-last-vital-status 0..1 Quantity Age or date of last vital status
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-age-at-last-vital-status
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External IDs for this participant. Requires scoping.
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
... name Σ 0..* HumanName A name associated with the patient
... telecom Σ 0..* ContactPoint A contact detail for the individual
... gender Σ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ 0..1 date Date of Birth of the participant. Details of privacy method should be included in DOBMethod
... deceased[x] ?!Σ 0..1 Implementers can provide relativeDateTime or actual date or T/F, depending on data available.
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... address Σ 0..* Address An address for the individual
... maritalStatus 0..1 CodeableConcept Marital (civil) status of a patient
Binding: Marital Status Codes (extensible): The domestic partnership status of a person.

... multipleBirth[x] 0..1 Whether patient is part of a multiple birth
.... multipleBirthBoolean boolean
.... multipleBirthInteger integer
... photo 0..* Attachment Image of the patient
... contact C 0..* BackboneElement A contact party (e.g. guardian, partner, friend) for the patient
pat-1: SHALL at least contain a contact's details or a reference to an organization
.... 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
.... relationship 0..* CodeableConcept The kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


.... name 0..1 HumanName A name associated with the contact person
.... telecom 0..* ContactPoint A contact detail for the person
.... address 0..1 Address Address for the contact person
.... gender 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization C 0..1 Reference(Organization) Organization that is associated with the contact
.... period 0..1 Period The period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..* BackboneElement A language which may be used to communicate with the patient about his or her 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): IETF language tag

Additional BindingsPurpose
AllLanguages Max Binding
.... preferred 0..1 boolean Language preference indicator
... generalPractitioner 0..* Reference(Organization | Practitioner | PractitionerRole) Patient's nominated primary care provider
... managingOrganization Σ 0..1 Reference(Organization) Organization that is the custodian of the patient record
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
.... 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
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.3.0
from the FHIR Standard
Patient.maritalStatusextensibleMarital Status Codes
http://hl7.org/fhir/ValueSet/marital-status
from the FHIR Standard
Patient.contact.relationshipextensiblePatientContactRelationship
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.3.0
from the FHIR Standard
Patient.communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.3.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
dom-r4bwarningPatient.containedContaining new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
: ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pat-1errorPatient.contactSHALL at least contain a contact's details or a reference to an organization
: name.exists() or telecom.exists() or address.exists() or organization.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

US Core Race Values

The extension binds the following ValueSet. Please note that, in order to view this, you must have logged into your browser using your API key (or provided the key using appriate flow specified by UMLS's docs)

For those who don't have a key, or just want a quick reminder, the codes are listed below:

ValueSet URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1021.24

Code Display System
F Female http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender
M Male http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender
ASKU asked but unknown http://terminology.hl7.org/CodeSystem/v3-NullFlavor
OTH other http://terminology.hl7.org/CodeSystem/v3-NullFlavor
UNK unknown http://terminology.hl7.org/CodeSystem/v3-NullFlavor
asked-declined Asked But Declined http://terminology.hl7.org/CodeSystem/data-absent-reason

Please note that there are 3 different systems listed in the codes above.