Research Data Sharing IG
1.0.0 - CI Build International flag

Research Data Sharing IG, published by IEHR-Workgroup. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/InteropEHRate-project/research-data-sharing/ and changes regularly. See the Directory of published versions

Resource Profile: Cohort - IEHR

Official URL: http://interopehrate.eu/fhir/StructureDefinition/Group-Cohort-IEHR Version: 1.0.0
Draft as of 2024-04-08 Computable Name: StructureDefinitionGroupCohortIEHR

Notes about Group.characterstic.valueCodeableConcept

If a CodeableConcept with multiple Codings is used to represent the value of the characteristic, the Codings are to be interpreted as connected with an OR.
So, if the type is Medication and the CodeableConcept contains multiple Codings for different medications, any person that takes at least one of the medications has this characterstic.
This interpretation allows for characteristics to specify, that any participant should have one of a list of items if the study is more general.
For conditions this could be a list of different heart conditions, if the study is about heart conditions in general, or a list of medication if the study is about a group of drugs with a common active incredient.

Usage:

Formal Views of Profile Content

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

This structure is derived from Group

NameFlagsCard.TypeDescription & Constraintsdoco
.. Group 0..* Group Group of multiple entities
... type 1..1 code person | animal | practitioner | device | medication | substance
Fixed Value: person
... characteristic 1..* BackboneElement Include / Exclude group members by Trait
.... code 1..1 CodeableConcept Kind of characteristic
Binding: Characteristic Codes ValueSet (extensible): A list of possible codes

.... value[x] 1..1 Value held by characteristic
..... valueCodeableConcept CodeableConcept(CodeableConceptIEHR)
..... valueBoolean boolean
..... valueQuantity Quantity
..... valueRange Range
..... valueReference Reference(Any)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Group.characteristic.codeextensibleCharacteristicCodesValueSet
http://interopehrate.eu/fhir/ValueSet/CharacteristicCodeValueSet-IEHR
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Group C 0..* Group Group of multiple entities
grp-1: Can only have members if group is "actual"
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... type Σ 1..1 code person | animal | practitioner | device | medication | substance
Binding: GroupType (required): Types of resources that are part of group.


Fixed Value: person
... characteristic 1..* BackboneElement Include / Exclude group members by Trait
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 CodeableConcept Kind of characteristic
Binding: Characteristic Codes ValueSet (extensible): A list of possible codes

.... value[x] 1..1 Value held by characteristic
Binding: (unbound) (example): Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.

..... valueCodeableConcept CodeableConcept(CodeableConceptIEHR)
..... valueBoolean boolean
..... valueQuantity Quantity
..... valueRange Range
..... valueReference Reference(Any)
.... exclude 1..1 boolean Group includes or excludes

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Group.typerequiredFixed Value: person
http://hl7.org/fhir/ValueSet/group-type|4.0.1
from the FHIR Standard
Group.characteristic.codeextensibleCharacteristicCodesValueSet
http://interopehrate.eu/fhir/ValueSet/CharacteristicCodeValueSet-IEHR
from this IG
Group.characteristic.value[x]example

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorGroupIf 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-4errorGroupIf 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-5errorGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceGroupA 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()
grp-1errorGroupCan only have members if group is "actual"
: member.empty() or (actual = true)
NameFlagsCard.TypeDescription & Constraintsdoco
.. Group C 0..* Group Group of multiple entities
grp-1: Can only have members if group is "actual"
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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 Unique id
... active Σ 0..1 boolean Whether this group's record is in active use
... type Σ 1..1 code person | animal | practitioner | device | medication | substance
Binding: GroupType (required): Types of resources that are part of group.


Fixed Value: person
... actual ΣC 1..1 boolean Descriptive or actual
... code Σ 0..1 CodeableConcept Kind of Group members
Binding: (unbound) (example): Kind of particular resource; e.g. cow, syringe, lake, etc.

... name Σ 0..1 string Label for Group
... quantity Σ 0..1 unsignedInt Number of members
... managingEntity Σ 0..1 Reference(Organization | RelatedPerson | Practitioner | PractitionerRole) Entity that is the custodian of the Group's definition
... characteristic 1..* BackboneElement Include / Exclude group members by Trait
.... 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
.... code 1..1 CodeableConcept Kind of characteristic
Binding: Characteristic Codes ValueSet (extensible): A list of possible codes

.... value[x] 1..1 Value held by characteristic
Binding: (unbound) (example): Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.

..... valueCodeableConcept CodeableConcept(CodeableConceptIEHR)
..... valueBoolean boolean
..... valueQuantity Quantity
..... valueRange Range
..... valueReference Reference(Any)
.... exclude 1..1 boolean Group includes or excludes
.... period 0..1 Period Period over which characteristic is tested
... member C 0..* BackboneElement Who or what is in group
.... 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
.... entity 1..1 Reference(Patient | Practitioner | PractitionerRole | Device | Medication | Substance | Group) Reference to the group member
.... period 0..1 Period Period member belonged to the group
.... inactive 0..1 boolean If member is no longer in group

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Group.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Group.typerequiredFixed Value: person
http://hl7.org/fhir/ValueSet/group-type|4.0.1
from the FHIR Standard
Group.codeexample
Group.characteristic.codeextensibleCharacteristicCodesValueSet
http://interopehrate.eu/fhir/ValueSet/CharacteristicCodeValueSet-IEHR
from this IG
Group.characteristic.value[x]example

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorGroupIf 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-4errorGroupIf 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-5errorGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceGroupA 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()
grp-1errorGroupCan only have members if group is "actual"
: member.empty() or (actual = true)

This structure is derived from Group

Summary

Mandatory: 1 element
Fixed: 1 element

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Group

NameFlagsCard.TypeDescription & Constraintsdoco
.. Group 0..* Group Group of multiple entities
... type 1..1 code person | animal | practitioner | device | medication | substance
Fixed Value: person
... characteristic 1..* BackboneElement Include / Exclude group members by Trait
.... code 1..1 CodeableConcept Kind of characteristic
Binding: Characteristic Codes ValueSet (extensible): A list of possible codes

.... value[x] 1..1 Value held by characteristic
..... valueCodeableConcept CodeableConcept(CodeableConceptIEHR)
..... valueBoolean boolean
..... valueQuantity Quantity
..... valueRange Range
..... valueReference Reference(Any)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Group.characteristic.codeextensibleCharacteristicCodesValueSet
http://interopehrate.eu/fhir/ValueSet/CharacteristicCodeValueSet-IEHR
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Group C 0..* Group Group of multiple entities
grp-1: Can only have members if group is "actual"
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... type Σ 1..1 code person | animal | practitioner | device | medication | substance
Binding: GroupType (required): Types of resources that are part of group.


Fixed Value: person
... characteristic 1..* BackboneElement Include / Exclude group members by Trait
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 CodeableConcept Kind of characteristic
Binding: Characteristic Codes ValueSet (extensible): A list of possible codes

.... value[x] 1..1 Value held by characteristic
Binding: (unbound) (example): Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.

..... valueCodeableConcept CodeableConcept(CodeableConceptIEHR)
..... valueBoolean boolean
..... valueQuantity Quantity
..... valueRange Range
..... valueReference Reference(Any)
.... exclude 1..1 boolean Group includes or excludes

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Group.typerequiredFixed Value: person
http://hl7.org/fhir/ValueSet/group-type|4.0.1
from the FHIR Standard
Group.characteristic.codeextensibleCharacteristicCodesValueSet
http://interopehrate.eu/fhir/ValueSet/CharacteristicCodeValueSet-IEHR
from this IG
Group.characteristic.value[x]example

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorGroupIf 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-4errorGroupIf 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-5errorGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceGroupA 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()
grp-1errorGroupCan only have members if group is "actual"
: member.empty() or (actual = true)

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Group C 0..* Group Group of multiple entities
grp-1: Can only have members if group is "actual"
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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 Unique id
... active Σ 0..1 boolean Whether this group's record is in active use
... type Σ 1..1 code person | animal | practitioner | device | medication | substance
Binding: GroupType (required): Types of resources that are part of group.


Fixed Value: person
... actual ΣC 1..1 boolean Descriptive or actual
... code Σ 0..1 CodeableConcept Kind of Group members
Binding: (unbound) (example): Kind of particular resource; e.g. cow, syringe, lake, etc.

... name Σ 0..1 string Label for Group
... quantity Σ 0..1 unsignedInt Number of members
... managingEntity Σ 0..1 Reference(Organization | RelatedPerson | Practitioner | PractitionerRole) Entity that is the custodian of the Group's definition
... characteristic 1..* BackboneElement Include / Exclude group members by Trait
.... 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
.... code 1..1 CodeableConcept Kind of characteristic
Binding: Characteristic Codes ValueSet (extensible): A list of possible codes

.... value[x] 1..1 Value held by characteristic
Binding: (unbound) (example): Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.

..... valueCodeableConcept CodeableConcept(CodeableConceptIEHR)
..... valueBoolean boolean
..... valueQuantity Quantity
..... valueRange Range
..... valueReference Reference(Any)
.... exclude 1..1 boolean Group includes or excludes
.... period 0..1 Period Period over which characteristic is tested
... member C 0..* BackboneElement Who or what is in group
.... 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
.... entity 1..1 Reference(Patient | Practitioner | PractitionerRole | Device | Medication | Substance | Group) Reference to the group member
.... period 0..1 Period Period member belonged to the group
.... inactive 0..1 boolean If member is no longer in group

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Group.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Group.typerequiredFixed Value: person
http://hl7.org/fhir/ValueSet/group-type|4.0.1
from the FHIR Standard
Group.codeexample
Group.characteristic.codeextensibleCharacteristicCodesValueSet
http://interopehrate.eu/fhir/ValueSet/CharacteristicCodeValueSet-IEHR
from this IG
Group.characteristic.value[x]example

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorGroupIf 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-4errorGroupIf 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-5errorGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceGroupA 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()
grp-1errorGroupCan only have members if group is "actual"
: member.empty() or (actual = true)

This structure is derived from Group

Summary

Mandatory: 1 element
Fixed: 1 element

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron