NCPI FHIR Implementation Guide v2
0.2.0 - ci-build
NCPI FHIR Implementation Guide v2 - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-research-collection | Version: 0.2.0 | |||
| Draft as of 2025-12-03 | Computable Name: NcpiResearchCollection | |||
Collections of research data including, but not limited, to Consortia, Programs, adhoc collections of Studies and datasets among other types of collections.
The collection element allows for high level organization of objects into various related groups. One common type of collection is a consortium, but other collections can also be established. Items in a collection can include studies, datasets, or other collections (for example, if consortium A becomes a member of consortium B, the collection that represents consortium A can be added as an item in the collection representing consortium B).
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | List | A list is a curated collection of resources Constraints: lst-1, lst-2, lst-3 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | url | URL describing the research collection, this can include a formal website, such as the Consortium or Program's website, or to an online document describing the collection. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-web-link | |
![]() ![]() ![]() |
0..* | (Complex) | Alias such as acronym and alternate names. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/label-extension | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | current | retired | entered-in-error Binding: ListStatus (required): The current state of the list. |
![]() ![]() |
?!Σ | 1..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this list. |
![]() ![]() |
Σ | 1..1 | string | The collection's title. Example General: Dr. Jane's Patients |
![]() ![]() |
Σ | 1..1 | CodeableConcept | The type of collection being described. Binding: Collection Type (extensible) |
![]() ![]() |
0..* | Annotation | The description of the collection. | |
![]() ![]() |
C | 1..* | BackboneElement | List of references to items included in the list. |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
?!C | 0..1 | boolean | If this item is actually marked as deleted |
![]() ![]() ![]() |
1..1 | Reference(Resource) | Actual entry | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| List.status | Base | required | ListStatus | 📍4.0.1 | FHIR Std. |
| List.mode | Base | required | ListMode | 📍4.0.1 | FHIR Std. |
| List.code | Base | extensible | Collection Type | 📦0.2.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | List | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | List | 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 | List | 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 | List | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | List | 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()
|
| lst-1 | error | List | A list can only have an emptyReason if it is empty |
emptyReason.empty() or entry.empty()
|
| lst-2 | error | List | The deleted flag can only be used if the mode of the list is "changes" |
mode = 'changes' or entry.deleted.empty()
|
| lst-3 | error | List | An entry date can only be used if the mode of the list is "working" |
mode = 'working' or entry.date.empty()
|
This structure is derived from List
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | List | A list is a curated collection of resources | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | url | URL describing the research collection, this can include a formal website, such as the Consortium or Program's website, or to an online document describing the collection. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-web-link | |
![]() ![]() ![]() |
0..* | (Complex) | Alias such as acronym and alternate names. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/label-extension | |
![]() ![]() |
1..1 | string | The collection's title. | |
![]() ![]() |
1..1 | CodeableConcept | The type of collection being described. Binding: Collection Type (extensible) | |
![]() ![]() |
0..* | Annotation | The description of the collection. | |
![]() ![]() |
1..* | BackboneElement | List of references to items included in the list. | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| List.code | Base | extensible | Collection Type | 📦0.2.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | List | A list is a curated collection of resources Constraints: lst-1, lst-2, lst-3 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | url | URL describing the research collection, this can include a formal website, such as the Consortium or Program's website, or to an online document describing the collection. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-web-link | |||||
![]() ![]() ![]() |
0..* | (Complex) | Alias such as acronym and alternate names. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/label-extension | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
0..* | Identifier | Business identifier | |||||
![]() ![]() |
?!Σ | 1..1 | code | current | retired | entered-in-error Binding: ListStatus (required): The current state of the list. | ||||
![]() ![]() |
?!Σ | 1..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this list. | ||||
![]() ![]() |
Σ | 1..1 | string | The collection's title. Example General: Dr. Jane's Patients | ||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | The type of collection being described. Binding: Collection Type (extensible) | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Group | Device | Location) | If all resources have the same subject | ||||
![]() ![]() |
0..1 | Reference(Encounter) | Context in which list created | |||||
![]() ![]() |
Σ | 0..1 | dateTime | When the list was prepared | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | Device) | Who and/or what defined the list contents (aka Author) | ||||
![]() ![]() |
0..1 | CodeableConcept | What order the list has Binding: ListOrderCodes (preferred): What order applies to the items in a list. | |||||
![]() ![]() |
0..* | Annotation | The description of the collection. | |||||
![]() ![]() |
C | 1..* | BackboneElement | List of references to items included in the list. | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Status/Workflow information about this item Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list. | |||||
![]() ![]() ![]() |
?!C | 0..1 | boolean | If this item is actually marked as deleted | ||||
![]() ![]() ![]() |
0..1 | dateTime | When item added to list | |||||
![]() ![]() ![]() |
1..1 | Reference(Resource) | Actual entry | |||||
![]() ![]() |
C | 0..1 | CodeableConcept | Why list is empty Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty. | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| List.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| List.status | Base | required | ListStatus | 📍4.0.1 | FHIR Std. |
| List.mode | Base | required | ListMode | 📍4.0.1 | FHIR Std. |
| List.code | Base | extensible | Collection Type | 📦0.2.0 | This IG |
| List.orderedBy | Base | preferred | List Order Codes | 📍4.0.1 | FHIR Std. |
| List.entry.flag | Base | example | Patient Medicine Change Types | 📍4.0.1 | FHIR Std. |
| List.emptyReason | Base | preferred | List Empty Reasons | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | List | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | List | 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 | List | 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 | List | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | List | 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()
|
| lst-1 | error | List | A list can only have an emptyReason if it is empty |
emptyReason.empty() or entry.empty()
|
| lst-2 | error | List | The deleted flag can only be used if the mode of the list is "changes" |
mode = 'changes' or entry.deleted.empty()
|
| lst-3 | error | List | An entry date can only be used if the mode of the list is "working" |
mode = 'working' or entry.date.empty()
|
This structure is derived from List
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | List | A list is a curated collection of resources Constraints: lst-1, lst-2, lst-3 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | url | URL describing the research collection, this can include a formal website, such as the Consortium or Program's website, or to an online document describing the collection. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-web-link | |
![]() ![]() ![]() |
0..* | (Complex) | Alias such as acronym and alternate names. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/label-extension | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | current | retired | entered-in-error Binding: ListStatus (required): The current state of the list. |
![]() ![]() |
?!Σ | 1..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this list. |
![]() ![]() |
Σ | 1..1 | string | The collection's title. Example General: Dr. Jane's Patients |
![]() ![]() |
Σ | 1..1 | CodeableConcept | The type of collection being described. Binding: Collection Type (extensible) |
![]() ![]() |
0..* | Annotation | The description of the collection. | |
![]() ![]() |
C | 1..* | BackboneElement | List of references to items included in the list. |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
?!C | 0..1 | boolean | If this item is actually marked as deleted |
![]() ![]() ![]() |
1..1 | Reference(Resource) | Actual entry | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| List.status | Base | required | ListStatus | 📍4.0.1 | FHIR Std. |
| List.mode | Base | required | ListMode | 📍4.0.1 | FHIR Std. |
| List.code | Base | extensible | Collection Type | 📦0.2.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | List | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | List | 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 | List | 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 | List | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | List | 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()
|
| lst-1 | error | List | A list can only have an emptyReason if it is empty |
emptyReason.empty() or entry.empty()
|
| lst-2 | error | List | The deleted flag can only be used if the mode of the list is "changes" |
mode = 'changes' or entry.deleted.empty()
|
| lst-3 | error | List | An entry date can only be used if the mode of the list is "working" |
mode = 'working' or entry.date.empty()
|
Differential View
This structure is derived from List
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | List | A list is a curated collection of resources | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | url | URL describing the research collection, this can include a formal website, such as the Consortium or Program's website, or to an online document describing the collection. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-web-link | |
![]() ![]() ![]() |
0..* | (Complex) | Alias such as acronym and alternate names. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/label-extension | |
![]() ![]() |
1..1 | string | The collection's title. | |
![]() ![]() |
1..1 | CodeableConcept | The type of collection being described. Binding: Collection Type (extensible) | |
![]() ![]() |
0..* | Annotation | The description of the collection. | |
![]() ![]() |
1..* | BackboneElement | List of references to items included in the list. | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| List.code | Base | extensible | Collection Type | 📦0.2.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | List | A list is a curated collection of resources Constraints: lst-1, lst-2, lst-3 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | url | URL describing the research collection, this can include a formal website, such as the Consortium or Program's website, or to an online document describing the collection. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-web-link | |||||
![]() ![]() ![]() |
0..* | (Complex) | Alias such as acronym and alternate names. URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/label-extension | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
0..* | Identifier | Business identifier | |||||
![]() ![]() |
?!Σ | 1..1 | code | current | retired | entered-in-error Binding: ListStatus (required): The current state of the list. | ||||
![]() ![]() |
?!Σ | 1..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this list. | ||||
![]() ![]() |
Σ | 1..1 | string | The collection's title. Example General: Dr. Jane's Patients | ||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | The type of collection being described. Binding: Collection Type (extensible) | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Group | Device | Location) | If all resources have the same subject | ||||
![]() ![]() |
0..1 | Reference(Encounter) | Context in which list created | |||||
![]() ![]() |
Σ | 0..1 | dateTime | When the list was prepared | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | Device) | Who and/or what defined the list contents (aka Author) | ||||
![]() ![]() |
0..1 | CodeableConcept | What order the list has Binding: ListOrderCodes (preferred): What order applies to the items in a list. | |||||
![]() ![]() |
0..* | Annotation | The description of the collection. | |||||
![]() ![]() |
C | 1..* | BackboneElement | List of references to items included in the list. | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Status/Workflow information about this item Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list. | |||||
![]() ![]() ![]() |
?!C | 0..1 | boolean | If this item is actually marked as deleted | ||||
![]() ![]() ![]() |
0..1 | dateTime | When item added to list | |||||
![]() ![]() ![]() |
1..1 | Reference(Resource) | Actual entry | |||||
![]() ![]() |
C | 0..1 | CodeableConcept | Why list is empty Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty. | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| List.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| List.status | Base | required | ListStatus | 📍4.0.1 | FHIR Std. |
| List.mode | Base | required | ListMode | 📍4.0.1 | FHIR Std. |
| List.code | Base | extensible | Collection Type | 📦0.2.0 | This IG |
| List.orderedBy | Base | preferred | List Order Codes | 📍4.0.1 | FHIR Std. |
| List.entry.flag | Base | example | Patient Medicine Change Types | 📍4.0.1 | FHIR Std. |
| List.emptyReason | Base | preferred | List Empty Reasons | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | List | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | List | 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 | List | 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 | List | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | List | 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()
|
| lst-1 | error | List | A list can only have an emptyReason if it is empty |
emptyReason.empty() or entry.empty()
|
| lst-2 | error | List | The deleted flag can only be used if the mode of the list is "changes" |
mode = 'changes' or entry.deleted.empty()
|
| lst-3 | error | List | An entry date can only be used if the mode of the list is "working" |
mode = 'working' or entry.date.empty()
|
This structure is derived from List
Other representations of profile: CSV, Excel, Schematron