This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times). See the Directory of published versions
8.3 Resource Group - Content
Represents a defined collection of entities that may be discussed or acted upon collectively but which are not typically expected to act collectively. These collections are also not typically formally or legally recognized.
NOTE: Group may be used to define families or households, which in some circumstances may act collectively or have a degree of legal or formal recognition. This should be considered an exception. When Group is used for types of entities other than Patient or RelatedPerson, the expectation remains that the Group will not act collectively or have formal recognition - use Organization if these behaviors are needed.
For example, it is possible for a 'family' Group to be a performer of an Observation or owner of a Task. However, this is not permitted for a Group made up of Practitioners, PractitionerRoles or Organizations. Organization or CareTeam would need to be used instead. A Group of Practitioners could, however, be a subject of an Observation.
8.3.1 Scope and Usage
8.3.1.1 Use Cases
The Group resource is used in one of two ways:
To define a group of specific people, animals, devices, etc. that is being tracked, examined, acting collectively or otherwise referenced as part of healthcare-related activities
To define a set of possible people, animals, devices, etc. that are of interest for some intended future healthcare-related activities
Examples of the former could include a family, a household, or group therapy or treatment sessions, exposed entities tracked as part of public health, etc. The latter might be used to define expected subjects for a clinical study.
Both use cases are handled by a single resource because the data elements captured tend to be similar.
NOTE: While Specimen does not quite fit with this definition, it is being retained as part of
Group to avoid making a breaking change to the Observation resource.
8.3.2 Boundaries and Relationships
There are a number of mechanisms in FHIR for communicating collections of resources:
The List resource - enumerates a flat collection of resources and provides features for managing the collection.
While a particular List instance may represent a "snapshot", from a business process perspective the notion of "List"
is dynamic – items are added and removed over time. The List resource references other resources. Lists may be
curated and have specific business meaning. For use cases where Group is suitable (e.g. for a list of Patients to be
viewed on a dashboard), the Group resource should be preferred to the List resource. The underlying rationale is that a collection of
patients, practitioners, etc. is likely to be of interest as the subject of a measure, observation, communication, etc.,
which Group is intended to support.
This Group resource - defines a group of specific people, animals, devices etc. by enumerating them,
or by describing qualities that group members have. The group resource refers to other resources, possibly implicitly.
Groups are intended to be acted upon or observed as a whole; e.g. performing therapy on a group, calculating risk for a group,
etc. This resource will commonly be used for public health (e.g. describing an at-risk population), clinical trials (e.g.
defining a test subject pool) and similar purposes.
CareTeam . Group is distinct from CareTeam. Group is patient-independent and identifies an
undifferentiated set of individuals who are intended to be the target of one or more clinical activities (e.g. set of
clinical trial participants, set of individuals impacted by or at risk of a public health event, a herd or flock, etc.)
The CareTeam resource establishes a set of relationships and roles and is specific to a particular Patient.
The actors are the individual members or organized group of individuals. CareTeam can be referenced by EpisodeOfCare,
Encounter, or CarePlan to identify the set of individuals (and their respective roles) who are intended to be involved
in providing the care defined by those resources. Groups containing practitioners are not allowed to perform actions
for patient care.
The Bundle resource - is an infrastructure container for a group of resources. It does not have narrative
and is used to group collections of resources for transmission, persistence or processing (e.g. messages, documents, transactions,
query responses, etc.) The content of bundles is typically algorithmically determined for a particular exchange or persistence purpose.
The Composition resource - defines a set of healthcare-related information that is assembled
together into a single logical document that provides a single coherent statement of meaning, establishes its own context and
that has clinical attestation with regard to who is making the statement. The composition resource provides the basic structure
of a FHIR document . The full content of the document is expressed using a bundle. Compositions will
often reference Lists as the focus of particular sections.
The DomainResource .contained
element - allows multiple resources to be nested
inside any DomainResource. This is a special type of grouping where the grouped resources lose independent existence - they
no longer have their own identifiers, can't easily be queried independently, etc. Use of this grouping is a technical
mechanism for managing the independence of resources and has no impact on meaning.
8.3.3 References to this Resource
Implements: Participant
Resource References: ActivityDefinition , AdverseEvent , Appointment , AppointmentResponse , AuditEvent ... Show 58 more , CarePlan , CareTeam , ChargeItem , ClinicalImpression , ClinicalUseDefinition , Communication , CommunicationRequest , Condition , Consent , Contract , DataRequirement , DetectedIssue , DeviceAssociation , DeviceRequest , DiagnosticReport , DocumentReference , Encounter , EncounterHistory , EpisodeOfCare , EventDefinition , Evidence , EvidenceVariable , FamilyMemberHistory , Flag , GenomicStudy , Goal , itself , GuidanceResponse , ImagingSelection , ImagingStudy , Invoice , Library , List , Measure , MeasureReport , MedicationAdministration , MedicationDispense , MedicationRequest , MedicationStatement , NutritionIntake , NutritionOrder , Observation , Permission , PersonalRelationship , PlanDefinition , Procedure , Provenance , RequestOrchestration , Requirements , ResearchStudy , ResearchSubject , RiskAssessment , ServiceRequest , Specimen , SpecimenDefinition , Task , Transport and UsageContext
Extension References: Contact Reference and Receiving person
8.3.4
Resource Content
UML Diagram (Legend )
Group (DomainResource ) +CanonicalResource An absolute URI that is used to identify this Group when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Group is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Group is stored on different servers url : uri [0..1]Business identifiers assigned to this participant by one of the applications involved. These identifiers remain constant as the resource is updated and propagates from server to server identifier : Identifier [0..*]The identifier that is used to identify this version of the Group when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Group author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence without additional knowledge version : string [0..1]Indicates the mechanism used to compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string |Coding ; null (Strength=Extensible) VersionAlgorithm + » A label assigned to the group for human identification and communication name : string [0..1]A short, descriptive, user-friendly title for the Group title : string [0..1]The current state of this Group (this element modifies the meaning of other elements) status : code [0..1] « null (Strength=Required) PublicationStatus ! »A Boolean value to indicate that this Group is authored for testing purposes (or education/evaluation/marketing) and no version of this resource will ever be intended for genuine usage experimental : boolean [0..1]The date (and optionally time) when the Group was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Group changes date : dateTime [0..1]The name of the organization or individual responsible for the release and ongoing maintenance of the Group publisher : string [0..1]Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*]Explanation of what the group represents and how it is intended to be used description : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Groups useContext : UsageContext [0..*]Explanation of why this Group is needed and why it has been designed as it has purpose : markdown [0..1]A copyright statement relating to the Group and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Group copyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1]Identifies the broad classification of the kind of resources the group includes type : code [0..1] « null (Strength=Required) GroupType ! »Basis for membership in the Group:
* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete.
* 'conceptual': The Group.characteristics specified are both necessary and sufficient to determine membership. The 'conceptual' Group is a 'definitional' Group in which the Group.type is not bound to FHIR types.
* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member membership : code [1..1] « null (Strength=Required) GroupMembershipBasis ! »A code that describes the use of the group. The use of the group usually dictates what kind of entities can be members of the group code : CodeableConcept [0..1] « null (Strength=Extensible) GroupCode + »A count of the number of resource instances that are part of the group quantity : unsignedInt [0..1]Entity responsible for defining and maintaining Group characteristics and/or registered members managingEntity : Reference [0..1] « Organization |RelatedPerson | Practitioner |PractitionerRole » Used to specify how two or more characteristics are combined (this element modifies the meaning of other elements) combinationMethod : code [0..1] « null (Strength=Required) GroupCharacteristicCombination ! »Provides the value of "n" when "at-least" or "at-most" codes are used for combinationMethod combinationThreshold : positiveInt [0..1]Characteristic A code that identifies the kind of trait being asserted code : CodeableConcept [1..1] « null (Strength=Example) ExampleCharacteristicCodes ?? »The value of the trait that holds (or does not hold - see 'exclude') for members of the group value[x] : DataType [1..1] « CodeableConcept |boolean |Quantity |Range | Reference |uri |Expression » If true, indicates the characteristic is one that is NOT held by members of the group exclude : boolean [1..1]A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user description : markdown [0..1]Method for how the characteristic value was determined method : CodeableConcept [0..*] « null (Strength=Example) DefinitionMethod ?? »Defines the characteristic (without using type and value) by either a Reference or an Expression determinedBy[x] : DataType [0..1] « Reference (Device | DeviceDefinition |DeviceMetric )|Expression » Defines the reference point for comparison when other than 0 (this element modifies the meaning of other elements) offset : CodeableConcept [0..1] « null (Strength=Example) CharacteristicOffset ?? »Number of occurrences meeting the characteristic instances[x] : DataType [0..1] « unsignedInt |Range »Length of time in which the characteristic is met duration[x] : DataType [0..1] « Duration |Range »The period over which the characteristic is tested; e.g. the patient had an operation during the month of June period : Period [0..1]Timing in which the characteristic is determined timing : RelativeTime [0..*]Member A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same entity : Reference [1..1] « CareTeam |Device |Group |HealthcareService | Location |Organization |Patient |Practitioner |PractitionerRole | RelatedPerson |Specimen |Medication |Substance | BiologicallyDerivedProduct |NutritionProduct » A code that describes how a user is involved in the group. Some groups (e.g. exposure-group) typically don't have variance between members, or it is not tracked, while for other groups (e.g. family, household) this may be meaningful involvement : CodeableConcept [0..*] « null (Strength=Example) GroupInvolvement ?? »The period that the member was in the group, if known period : Period [0..1]A flag to indicate that the member is no longer in the group, but previously may have been a member inactive : boolean [0..1]Identifies traits whose presence r absence is shared by members of the group characteristic[0..*] Identifies the resource instances that are members of the group member[0..*]
JSON Template
{
"resourceType" : "Group ",
// from Resource : id , meta , implicitRules , and language
// from DomainResource : text , contained , extension , and modifierExtension
"url " : "<uri >", // Canonical identifier for this Group, represented as an absolute URI (globally unique)
"identifier " : [{ Identifier }], // Business Identifier for this Group
"version " : "<string >", // Business version of the Group
// versionAlgorithm[x]: How to compare versions . One of these 2:
"versionAlgorithmString " : "<string >",
"versionAlgorithmCoding " : { Coding },
"name " : "<string >", // Label for Group
"title " : "<string >", // Name for this Group (human friendly)
"status " : "<code >", // draft | active | retired | unknown
"experimental " : <boolean >, // For testing only - never for real usage
"date " : "<dateTime >", // Date last changed
"publisher " : "<string >", // Name of the publisher/steward (organization or individual)
"contact " : [{ ContactDetail }], // Contact details for the publisher
"description " : "<markdown >", // Natural language description of the group
"useContext " : [{ UsageContext }], // The context that the content is intended to support
"purpose " : "<markdown >", // Why this Group is defined
"copyright " : "<markdown >", // Use and/or publishing restrictions
"copyrightLabel " : "<string >", // Copyright holder and year(s)
"type " : "<code >", // person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen | medication | substance | biologicallyDerivedProduct | nutritionProduct
"membership " : "<code >", // R! definitional | conceptual | enumerated
"code " : { CodeableConcept }, // Use of the Group (and by implication, kind of members)
"quantity " : "<unsignedInt >", // Number of members
"managingEntity " : { Reference (Organization |Practitioner |PractitionerRole |
RelatedPerson ) }, // Entity that is the custodian of the Group's definition
"combinationMethod " : "<code >", // all-of | any-of | at-least | at-most | except-subset
"combinationThreshold " : "<positiveInt >", // Provides the value of "n" when "at-least" or "at-most" codes are used
"characteristic " : [{ // Include / Exclude group members by Trait
"code " : { CodeableConcept }, // R! Kind of characteristic
// value[x]: Value held by characteristic . One of these 7:
"valueCodeableConcept " : { CodeableConcept },
"valueBoolean " : <boolean >,
"valueQuantity " : { Quantity },
"valueRange " : { Range },
"valueReference " : { Reference },
"valueUri " : "<uri >",
"valueExpression " : { Expression },
"exclude " : <boolean >, // R! Group includes or excludes
"description " : "<markdown >", // Natural language description of the characteristic
"method " : [{ CodeableConcept }], // Method for how the characteristic value was determined
// determinedBy[x]: Defines the characteristic . One of these 2:
"determinedByReference " : { Reference (Device |DeviceDefinition |DeviceMetric ) },
"determinedByExpression " : { Expression },
"offset " : { CodeableConcept }, // Reference point for comparison
// instances[x]: Number of occurrences meeting the characteristic . One of these 2:
"instancesUnsignedInt " : "<unsignedInt >",
"instancesRange " : { Range },
// duration[x]: Length of time in which the characteristic is met . One of these 2:
"durationDuration " : { Duration },
"durationRange " : { Range },
"period " : { Period }, // Period over which characteristic is tested
"timing " : [{ RelativeTime }] // Timing in which the characteristic is determined
}],
"member " : [{ // Who or what is in group
"entity " : { Reference (BiologicallyDerivedProduct |CareTeam |Device |Group |
HealthcareService |Location |Medication |NutritionProduct |Organization |Patient |
Practitioner |PractitionerRole |RelatedPerson |Specimen |Substance ) }, // R! Reference to the group member
"involvement " : [{ CodeableConcept }], // Code that describes how user is part of the group
"period " : { Period }, // Period member belonged to the group
"inactive " : <boolean > // If member is no longer in group
}]
}
Changes from both R4 and R4B
Group
Group.url
Group.version
Group.versionAlgorithm[x]
Group.title
Group.status
Group.experimental
Group.date
Group.publisher
Group.contact
Group.description
Group.useContext
Group.purpose
Group.copyright
Group.copyrightLabel
Group.type
Min Cardinality changed from 1 to 0 Add codes careteam
, healthcareservice
, location
, organization
, relatedperson
, specimen
, biologicallyDerivedProduct
, nutritionProduct
Group.membership
Group.code
Add Binding `http://hl7.org/fhir/ValueSet/group-code` (extensible)
Group.combinationMethod
Group.combinationThreshold
Group.characteristic.value[x]
Add Types uri, Expression
Group.characteristic.description
Group.characteristic.method
Group.characteristic.determinedBy[x]
Group.characteristic.offset
Group.characteristic.instances[x]
Group.characteristic.duration[x]
Group.characteristic.timing
Group.member.entity
Type Reference: Added Target Types CareTeam, HealthcareService, Location, Organization, RelatedPerson, Specimen, BiologicallyDerivedProduct, NutritionProduct
Group.member.involvement
Group.active
Group.actual
Deleted (-> Group.membership)
See the Full Difference for further information
This analysis is available for R4 as XML or JSON
and for R4B as XML or JSON .
UML Diagram (Legend )
Group (DomainResource ) +CanonicalResource An absolute URI that is used to identify this Group when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Group is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Group is stored on different servers url : uri [0..1]Business identifiers assigned to this participant by one of the applications involved. These identifiers remain constant as the resource is updated and propagates from server to server identifier : Identifier [0..*]The identifier that is used to identify this version of the Group when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Group author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence without additional knowledge version : string [0..1]Indicates the mechanism used to compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string |Coding ; null (Strength=Extensible) VersionAlgorithm + » A label assigned to the group for human identification and communication name : string [0..1]A short, descriptive, user-friendly title for the Group title : string [0..1]The current state of this Group (this element modifies the meaning of other elements) status : code [0..1] « null (Strength=Required) PublicationStatus ! »A Boolean value to indicate that this Group is authored for testing purposes (or education/evaluation/marketing) and no version of this resource will ever be intended for genuine usage experimental : boolean [0..1]The date (and optionally time) when the Group was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Group changes date : dateTime [0..1]The name of the organization or individual responsible for the release and ongoing maintenance of the Group publisher : string [0..1]Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*]Explanation of what the group represents and how it is intended to be used description : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Groups useContext : UsageContext [0..*]Explanation of why this Group is needed and why it has been designed as it has purpose : markdown [0..1]A copyright statement relating to the Group and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Group copyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1]Identifies the broad classification of the kind of resources the group includes type : code [0..1] « null (Strength=Required) GroupType ! »Basis for membership in the Group:
* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete.
* 'conceptual': The Group.characteristics specified are both necessary and sufficient to determine membership. The 'conceptual' Group is a 'definitional' Group in which the Group.type is not bound to FHIR types.
* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member membership : code [1..1] « null (Strength=Required) GroupMembershipBasis ! »A code that describes the use of the group. The use of the group usually dictates what kind of entities can be members of the group code : CodeableConcept [0..1] « null (Strength=Extensible) GroupCode + »A count of the number of resource instances that are part of the group quantity : unsignedInt [0..1]Entity responsible for defining and maintaining Group characteristics and/or registered members managingEntity : Reference [0..1] « Organization |RelatedPerson | Practitioner |PractitionerRole » Used to specify how two or more characteristics are combined (this element modifies the meaning of other elements) combinationMethod : code [0..1] « null (Strength=Required) GroupCharacteristicCombination ! »Provides the value of "n" when "at-least" or "at-most" codes are used for combinationMethod combinationThreshold : positiveInt [0..1]Characteristic A code that identifies the kind of trait being asserted code : CodeableConcept [1..1] « null (Strength=Example) ExampleCharacteristicCodes ?? »The value of the trait that holds (or does not hold - see 'exclude') for members of the group value[x] : DataType [1..1] « CodeableConcept |boolean |Quantity |Range | Reference |uri |Expression » If true, indicates the characteristic is one that is NOT held by members of the group exclude : boolean [1..1]A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user description : markdown [0..1]Method for how the characteristic value was determined method : CodeableConcept [0..*] « null (Strength=Example) DefinitionMethod ?? »Defines the characteristic (without using type and value) by either a Reference or an Expression determinedBy[x] : DataType [0..1] « Reference (Device | DeviceDefinition |DeviceMetric )|Expression » Defines the reference point for comparison when other than 0 (this element modifies the meaning of other elements) offset : CodeableConcept [0..1] « null (Strength=Example) CharacteristicOffset ?? »Number of occurrences meeting the characteristic instances[x] : DataType [0..1] « unsignedInt |Range »Length of time in which the characteristic is met duration[x] : DataType [0..1] « Duration |Range »The period over which the characteristic is tested; e.g. the patient had an operation during the month of June period : Period [0..1]Timing in which the characteristic is determined timing : RelativeTime [0..*]Member A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same entity : Reference [1..1] « CareTeam |Device |Group |HealthcareService | Location |Organization |Patient |Practitioner |PractitionerRole | RelatedPerson |Specimen |Medication |Substance | BiologicallyDerivedProduct |NutritionProduct » A code that describes how a user is involved in the group. Some groups (e.g. exposure-group) typically don't have variance between members, or it is not tracked, while for other groups (e.g. family, household) this may be meaningful involvement : CodeableConcept [0..*] « null (Strength=Example) GroupInvolvement ?? »The period that the member was in the group, if known period : Period [0..1]A flag to indicate that the member is no longer in the group, but previously may have been a member inactive : boolean [0..1]Identifies traits whose presence r absence is shared by members of the group characteristic[0..*] Identifies the resource instances that are members of the group member[0..*]
JSON Template
{
"resourceType" : "Group ",
// from Resource : id , meta , implicitRules , and language
// from DomainResource : text , contained , extension , and modifierExtension
"url " : "<uri >", // Canonical identifier for this Group, represented as an absolute URI (globally unique)
"identifier " : [{ Identifier }], // Business Identifier for this Group
"version " : "<string >", // Business version of the Group
// versionAlgorithm[x]: How to compare versions . One of these 2:
"versionAlgorithmString " : "<string >",
"versionAlgorithmCoding " : { Coding },
"name " : "<string >", // Label for Group
"title " : "<string >", // Name for this Group (human friendly)
"status " : "<code >", // draft | active | retired | unknown
"experimental " : <boolean >, // For testing only - never for real usage
"date " : "<dateTime >", // Date last changed
"publisher " : "<string >", // Name of the publisher/steward (organization or individual)
"contact " : [{ ContactDetail }], // Contact details for the publisher
"description " : "<markdown >", // Natural language description of the group
"useContext " : [{ UsageContext }], // The context that the content is intended to support
"purpose " : "<markdown >", // Why this Group is defined
"copyright " : "<markdown >", // Use and/or publishing restrictions
"copyrightLabel " : "<string >", // Copyright holder and year(s)
"type " : "<code >", // person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen | medication | substance | biologicallyDerivedProduct | nutritionProduct
"membership " : "<code >", // R! definitional | conceptual | enumerated
"code " : { CodeableConcept }, // Use of the Group (and by implication, kind of members)
"quantity " : "<unsignedInt >", // Number of members
"managingEntity " : { Reference (Organization |Practitioner |PractitionerRole |
RelatedPerson ) }, // Entity that is the custodian of the Group's definition
"combinationMethod " : "<code >", // all-of | any-of | at-least | at-most | except-subset
"combinationThreshold " : "<positiveInt >", // Provides the value of "n" when "at-least" or "at-most" codes are used
"characteristic " : [{ // Include / Exclude group members by Trait
"code " : { CodeableConcept }, // R! Kind of characteristic
// value[x]: Value held by characteristic . One of these 7:
"valueCodeableConcept " : { CodeableConcept },
"valueBoolean " : <boolean >,
"valueQuantity " : { Quantity },
"valueRange " : { Range },
"valueReference " : { Reference },
"valueUri " : "<uri >",
"valueExpression " : { Expression },
"exclude " : <boolean >, // R! Group includes or excludes
"description " : "<markdown >", // Natural language description of the characteristic
"method " : [{ CodeableConcept }], // Method for how the characteristic value was determined
// determinedBy[x]: Defines the characteristic . One of these 2:
"determinedByReference " : { Reference (Device |DeviceDefinition |DeviceMetric ) },
"determinedByExpression " : { Expression },
"offset " : { CodeableConcept }, // Reference point for comparison
// instances[x]: Number of occurrences meeting the characteristic . One of these 2:
"instancesUnsignedInt " : "<unsignedInt >",
"instancesRange " : { Range },
// duration[x]: Length of time in which the characteristic is met . One of these 2:
"durationDuration " : { Duration },
"durationRange " : { Range },
"period " : { Period }, // Period over which characteristic is tested
"timing " : [{ RelativeTime }] // Timing in which the characteristic is determined
}],
"member " : [{ // Who or what is in group
"entity " : { Reference (BiologicallyDerivedProduct |CareTeam |Device |Group |
HealthcareService |Location |Medication |NutritionProduct |Organization |Patient |
Practitioner |PractitionerRole |RelatedPerson |Specimen |Substance ) }, // R! Reference to the group member
"involvement " : [{ CodeableConcept }], // Code that describes how user is part of the group
"period " : { Period }, // Period member belonged to the group
"inactive " : <boolean > // If member is no longer in group
}]
}
Changes from both R4 and R4B
Group
Group.url
Group.version
Group.versionAlgorithm[x]
Group.title
Group.status
Group.experimental
Group.date
Group.publisher
Group.contact
Group.description
Group.useContext
Group.purpose
Group.copyright
Group.copyrightLabel
Group.type
Min Cardinality changed from 1 to 0 Add codes careteam
, healthcareservice
, location
, organization
, relatedperson
, specimen
, biologicallyDerivedProduct
, nutritionProduct
Group.membership
Group.code
Add Binding `http://hl7.org/fhir/ValueSet/group-code` (extensible)
Group.combinationMethod
Group.combinationThreshold
Group.characteristic.value[x]
Add Types uri, Expression
Group.characteristic.description
Group.characteristic.method
Group.characteristic.determinedBy[x]
Group.characteristic.offset
Group.characteristic.instances[x]
Group.characteristic.duration[x]
Group.characteristic.timing
Group.member.entity
Type Reference: Added Target Types CareTeam, HealthcareService, Location, Organization, RelatedPerson, Specimen, BiologicallyDerivedProduct, NutritionProduct
Group.member.involvement
Group.active
Group.actual
Deleted (-> Group.membership)
See the Full Difference for further information
This analysis is available for R4 as XML or JSON
and for R4B as XML or JSON .
Additional definitions: Master Definition XML + JSON ,
XML Schema /Schematron + JSON
Schema , ShEx (for Turtle ) , the spreadsheet version & the dependency analysis
8.3.4.1
Terminology Bindings
8.3.4.2 Constraints
UniqueKey Level Location Description Expression cnl-1Warning Group.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$') grp-1Rule Group.characteristic.instances[x] Ranges have to be positive ($this is Range) implies ((low.empty() or ((low.code.exists() or low.value.empty()) and (low.system.empty() or low.system = %ucum) and (low.code.empty() or low.code = '1') and (low.value.empty() or low.value.hasValue().not() or low.value.toString().contains('.').not()) and (low.value.empty() or low.value.hasValue().not() or low.value >= 0))) and (high.empty() or ((high.code.exists() or high.value.empty()) and (high.system.empty() or high.system = %ucum) and (high.code.empty() or high.code = '1') and (high.value.empty() or high.value.hasValue().not() or high.value.toString().contains('.').not()) and (high.value.empty() or high.value.hasValue().not() or high.value >= 0)))) cnl-2Rule (base) Group.type SHALL be defined if Group.membership is either 'definitional' or 'enumerated' Group.type.exists() or (Group.membership = 'conceptual')
8.3.4.3 Mixing Characteristics and Members
If both Group.characteristic
and Group.member
are present, then the
members are the individuals who were found who met the characteristic. It's possible that
there might be other candidate members who meet the characteristic and aren't (yet) in the list.
All members SHALL have the listed characteristics.
8.3.4.4 Managing large Groups
For operations to assist in adding to, removing from, or filtering contents of large Groups, see
Operations for Large Resources .
8.3.4.5 Membership
Membership testing is used to test for active members of a Group. At a minimum,
servers supporting membership testing on Group resources SHALL be able to correctly
identify active enumerated entities. Active enumerated entities in a group are entities:
listed in Group.member.entity
,
that do not have Group.member.inactive
with a value of true
, and
do not have an expired Group.member.period
(e.g., either the element is not present or has a period covering 'now').
Membership testing MAY also be applied to characteristic-defined Groups. If supported,
membership testing is based on the characteristic testing of the Group. Any entity meeting
the required characteristics is considered to be active
.
Servers SHOULD declare whether they support only the enumerated or characteristic group filters.
Servers MAY impose additional membership constraints (e.g. based on modifier extensions).
8.3.4.6 Relationships inside the group
Some systems may track detailed family relationship codes (e.g. child, mother, grandfather) within a group
rather than merely saying "family member". There are a few options to support conveying such information:
Instances of the PersonalRelationship resource can be used to indicate relationships between group members.
Such relationships can be leveraged independent of the participants' involvement of the group
More detailed family relationship codes (e.g. from the [Personal Relationship RoleType Valueset](https://terminology.hl7.org/6.0.2/ValueSet-v3-PersonalRelationshipRoleType.html))
MAY be sent as additional Codings in the Group.member.involvement
element. These SHOULD also be accompanied by the 'family-member' code to support systems that might not understand more detailed codes. If
this is done, then the relationship codes are interpreted as being with respect to whichever group member is designated as "head of household"/"primary contact". If there is no
such group member explicitly designated, then the nature of the more detailed personal relationship codes cannot reliably be interpreted.
8.3.5 Search Parameters
Search parameters for this resource. See also the full list of search parameters for this resource ,
and check the Extensions registry for search parameters on extensions related to this resource.
The common parameters also apply. See Searching for more
information about searching in REST, messaging, and services.
Name
Type
Description
Expression
In Common
characteristic
token
Kind of characteristic
Group.characteristic.code
characteristic-reference
reference
An entity referenced in a characteristic
(Group.characteristic.value.ofType(Reference))
characteristic-value
composite
A composite of both characteristic and value
On Group.characteristic: characteristic: code value: (value.ofType(CodeableConcept)) | (value.ofType(boolean))
code
token
The kind of resources contained
Group.code
exclude
token
Group includes or excludes
Group.characteristic.exclude
identifier
token
Unique id
Group.identifier
35 Resources
managing-entity
reference
Entity that is the custodian of the Group's definition
Group.managingEntity (Practitioner , Organization , PractitionerRole , RelatedPerson )
member
reference
Reference to the group member
Group.member.entity (Group , Organization , CareTeam , BiologicallyDerivedProduct , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson , Practitioner , Specimen , NutritionProduct , Medication , Substance , Location )
membership
token
Definitional or enumerated group
Group.membership
name
string
A portion of the Group's name
Group.name
28 Resources
status
token
The current status of the Group
Group.status
35 Resources
type
token
The type of resources the group contains
Group.type
url
uri
The uri that identifies the Group
Group.url
34 Resources
value
token
Value held by characteristic
(Group.characteristic.value.ofType(CodeableConcept)) | (Group.characteristic.value.ofType(boolean))