FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

8.3 Resource Group - Content

FHIR Infrastructure icon Work GroupMaturity Level: 3 Trial UseSecurity Category: Business Compartments: Device, Patient, Practitioner

Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.

The Group resource is used in one of two ways:

  1. 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
  2. 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.

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.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Group TU DomainResource Group of multiple entities
+ Rule: Group.type SHALL be defined if Group.membership is either 'definitional' or 'enumerated'

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
Interfaces Implemented: CanonicalResource
... url ΣC 0..1 uri Canonical identifier for this Group, represented as an absolute URI (globally unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Business Identifier for this Group

... version Σ 0..1 string Business version of the Group
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name Σ 0..1 string Label for Group
... title Σ 0..1 string Name for this Group (human friendly)
... status ?!Σ 0..1 code draft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher

... description 0..1 markdown Natural language description of the group
... useContext Σ 0..* UsageContext The context that the content is intended to support

... purpose 0..1 markdown Why this Group is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel T 0..1 string Copyright holder and year(s)
... type Σ 0..1 code person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen
Binding: Group Type (Required)
... membership Σ 1..1 code definitional | conceptual | enumerated
Binding: Group Membership Basis (Required)
... code Σ 0..1 CodeableConcept Use of the Group (and by implication, kind of members)
Binding: Group Code (Extensible)
... 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
... combinationMethod ?!Σ 0..1 code all-of | any-of | at-least | at-most | except-subset
Binding: Group Characteristic Combination (Required)
... combinationThreshold 0..1 positiveInt Provides the value of "n" when "at-least" or "at-most" codes are used
... characteristic Σ 0..* BackboneElement Include / Exclude group members by Trait

.... code Σ 1..1 CodeableConcept Kind of characteristic
Binding: GroupCharacteristicKind (Example)
.... value[x] Σ 1..1 Value held by characteristic
Binding: GroupCharacteristicValue (Example)
..... valueCodeableConcept CodeableConcept
..... valueBoolean boolean
..... valueQuantity Quantity
..... valueRange Range
..... valueReference Reference()
..... valueUri uri
..... valueExpression Expression
.... exclude Σ 1..1 boolean Group includes or excludes
.... description 0..1 markdown Natural language description of the characteristic
.... method 0..* CodeableConcept Method for how the characteristic value was determined
Binding: Definition Method (Example)

.... determinedBy[x] 0..1 Defines the characteristic
..... determinedByReference Reference(Device | DeviceDefinition | DeviceMetric)
..... determinedByExpression Expression
.... offset ?!Σ 0..1 CodeableConcept Reference point for comparison
Binding: Characteristic Offset (Example)
.... instances[x] 0..1 Number of occurrences meeting the characteristic
..... instancesQuantity Quantity
..... instancesRange Range
.... duration[x] 0..1 Length of time in which the characteristic is met
..... durationDuration Duration
..... durationRange Range
.... period 0..1 Period Period over which characteristic is tested
.... timing 0..* RelativeTime Timing in which the characteristic is determined

... member 0..* BackboneElement Who or what is in group

.... entity 1..1 Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Specimen) Reference to the group member
.... involvement 0..* CodeableConcept Code that describes how user is part of the group
Binding: Group Involvement (Example)

.... 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 icon

See the Extensions for this resource

UML Diagram (Legend)

Group (DomainResource) +CanonicalResourceAn 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 serversurl : 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 serveridentifier : 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 knowledgeversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; null (Strength=Extensible) VersionAlgorithm+ »A label assigned to the group for human identification and communicationname : string [0..1]A short, descriptive, user-friendly title for the Grouptitle : 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 is not intended for genuine usageexperimental : 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 changesdate : dateTime [0..1]The name of the organization or individual responsible for the release and ongoing maintenance of the Grouppublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]Explanation of what the group represents and how it is intended to be useddescription : 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 GroupsuseContext : UsageContext [0..*]Explanation of why this Group is needed and why it has been designed as it haspurpose : 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 Groupcopyright : 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 includestype : 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.membermembership : 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 groupcode : CodeableConcept [0..1] « null (Strength=Extensible)GroupCode+ »A count of the number of resource instances that are part of the groupquantity : unsignedInt [0..1]Entity responsible for defining and maintaining Group characteristics and/or registered membersmanagingEntity : 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 combinationMethodcombinationThreshold : positiveInt [0..1]CharacteristicA code that identifies the kind of trait being assertedcode : CodeableConcept [1..1] « null (Strength=Example)GroupCharacteristicKind?? »The value of the trait that holds (or does not hold - see 'exclude') for members of the groupvalue[x] : DataType [1..1] « CodeableConcept|boolean|Quantity|Range| Reference|uri|Expression; null (Strength=Example)GroupCharacteristicValue?? »If true, indicates the characteristic is one that is NOT held by members of the groupexclude : boolean [1..1]A short, natural language description of the characteristic that could be used to communicate the criteria to an end-userdescription : markdown [0..1]Method for how the characteristic value was determinedmethod : CodeableConcept [0..*] « null (Strength=Example)DefinitionMethod?? »Defines the characteristic (without using type and value) by either a Reference or an ExpressiondeterminedBy[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 characteristicinstances[x] : DataType [0..1] « Quantity|Range »Length of time in which the characteristic is metduration[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 Juneperiod : Period [0..1]Timing in which the characteristic is determinedtiming : RelativeTime [0..*]MemberA 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 sameentity : Reference [1..1] « CareTeam|Device|Group|HealthcareService| Location|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson|Specimen »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 meaningfulinvolvement : CodeableConcept [0..*] « null (Strength=Example)GroupInvolvement?? »The period that the member was in the group, if knownperiod : Period [0..1]A flag to indicate that the member is no longer in the group, but previously may have been a memberinactive : boolean [0..1]Identifies traits whose presence r absence is shared by members of the groupcharacteristic[0..*]Identifies the resource instances that are members of the groupmember[0..*]

XML Template

<Group xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Canonical identifier for this Group, represented as an absolute URI (globally unique) -->
 <identifier><!-- 0..* Identifier Business Identifier for this Group --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the Group -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]>
 <name value="[string]"/><!-- 0..1 Label for Group -->
 <title value="[string]"/><!-- 0..1 Name for this Group (human friendly) -->
 <status value="[code]"/><!-- 0..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the group -->
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <purpose value="[markdown]"/><!-- 0..1 Why this Group is defined -->
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) -->
 <type value="[code]"/><!-- 0..1 person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen -->
 <membership value="[code]"/><!-- 1..1 definitional | conceptual | enumerated -->
 <code><!-- 0..1 CodeableConcept Use of the Group (and by implication, kind of members) --></code>
 <quantity value="[unsignedInt]"/><!-- 0..1 Number of members -->
 <managingEntity><!-- 0..1 Reference(Organization|Practitioner|PractitionerRole|
   RelatedPerson) Entity that is the custodian of the Group's definition --></managingEntity>
 <combinationMethod value="[code]"/><!-- 0..1 all-of | any-of | at-least | at-most | except-subset -->
 <combinationThreshold value="[positiveInt]"/><!-- 0..1 Provides the value of "n" when "at-least" or "at-most" codes are used -->
 <characteristic>  <!-- 0..* Include / Exclude group members by Trait -->
  <code><!-- 1..1 CodeableConcept Kind of characteristic --></code>
  <value[x]><!-- 1..1 CodeableConcept|boolean|Quantity|Range|Reference|uri|
    Expression Value held by characteristic --></value[x]>
  <exclude value="[boolean]"/><!-- 1..1 Group includes or excludes -->
  <description value="[markdown]"/><!-- 0..1 Natural language description of the characteristic -->
  <method><!-- 0..* CodeableConcept Method for how the characteristic value was determined --></method>
  <determinedBy[x]><!-- 0..1 Reference(Device|DeviceDefinition|DeviceMetric)|
    Expression Defines the characteristic --></determinedBy[x]>
  <offset><!-- 0..1 CodeableConcept Reference point for comparison --></offset>
  <instances[x]><!-- 0..1 Quantity|Range Number of occurrences meeting the characteristic --></instances[x]>
  <duration[x]><!-- 0..1 Duration|Range Length of time in which the characteristic is met --></duration[x]>
  <period><!-- 0..1 Period Period over which characteristic is tested --></period>
  <timing><!-- 0..* RelativeTime Timing in which the characteristic is determined --></timing>
 </characteristic>
 <member>  <!-- 0..* Who or what is in group -->
  <entity><!-- 1..1 Reference(CareTeam|Device|Group|HealthcareService|Location|
    Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen) Reference to the group member --></entity>
  <involvement><!-- 0..* CodeableConcept Code that describes how user is part of the group --></involvement>
  <period><!-- 0..1 Period Period member belonged to the group --></period>
  <inactive value="[boolean]"/><!-- 0..1 If member is no longer in group -->
 </member>
</Group>

JSON Template

{doco
  "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 purposes, not 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
  "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:
    "instancesQuantity" : { Quantity },
    "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(CareTeam|Device|Group|HealthcareService|Location|
    Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen) }, // 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
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Group;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:url [ uri ] ; # 0..1 Canonical identifier for this Group, represented as an absolute URI (globally unique)
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Business Identifier for this Group
  fhir:version [ string ] ; # 0..1 Business version of the Group
  # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2
    fhir:versionAlgorithm [  a fhir:string ; string ]
    fhir:versionAlgorithm [  a fhir:Coding ; Coding ]
  fhir:name [ string ] ; # 0..1 Label for Group
  fhir:title [ string ] ; # 0..1 Name for this Group (human friendly)
  fhir:status [ code ] ; # 0..1 draft | active | retired | unknown
  fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage
  fhir:date [ dateTime ] ; # 0..1 Date last changed
  fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual)
  fhir:contact  ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
  fhir:description [ markdown ] ; # 0..1 Natural language description of the group
  fhir:useContext  ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
  fhir:purpose [ markdown ] ; # 0..1 Why this Group is defined
  fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions
  fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s)
  fhir:type [ code ] ; # 0..1 person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen
  fhir:membership [ code ] ; # 1..1 definitional | conceptual | enumerated
  fhir:code [ CodeableConcept ] ; # 0..1 Use of the Group (and by implication, kind of members)
  fhir:quantity [ unsignedInt ] ; # 0..1 Number of members
  fhir:managingEntity [ Reference(Organization|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Entity that is the custodian of the Group's definition
  fhir:combinationMethod [ code ] ; # 0..1 all-of | any-of | at-least | at-most | except-subset
  fhir:combinationThreshold [ positiveInt ] ; # 0..1 Provides the value of "n" when "at-least" or "at-most" codes are used
  fhir:characteristic ( [ # 0..* Include / Exclude group members by Trait
    fhir:code [ CodeableConcept ] ; # 1..1 Kind of characteristic
    # value[x] : 1..1 Value held by characteristic. One of these 7
      fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:value [  a fhir:boolean ; boolean ]
      fhir:value [  a fhir:Quantity ; Quantity ]
      fhir:value [  a fhir:Range ; Range ]
      fhir:value [  a fhir:Reference ; Reference ]
      fhir:value [  a fhir:uri ; uri ]
      fhir:value [  a fhir:Expression ; Expression ]
    fhir:exclude [ boolean ] ; # 1..1 Group includes or excludes
    fhir:description [ markdown ] ; # 0..1 Natural language description of the characteristic
    fhir:method  ( [ CodeableConcept ] ... ) ; # 0..* Method for how the characteristic value was determined
    # determinedBy[x] : 0..1 Defines the characteristic. One of these 2
      fhir:determinedBy [  a fhir:Reference ; Reference(Device|DeviceDefinition|DeviceMetric) ]
      fhir:determinedBy [  a fhir:Expression ; Expression ]
    fhir:offset [ CodeableConcept ] ; # 0..1 Reference point for comparison
    # instances[x] : 0..1 Number of occurrences meeting the characteristic. One of these 2
      fhir:instances [  a fhir:Quantity ; Quantity ]
      fhir:instances [  a fhir:Range ; Range ]
    # duration[x] : 0..1 Length of time in which the characteristic is met. One of these 2
      fhir:duration [  a fhir:Duration ; Duration ]
      fhir:duration [  a fhir:Range ; Range ]
    fhir:period [ Period ] ; # 0..1 Period over which characteristic is tested
    fhir:timing  ( [ RelativeTime ] ... ) ; # 0..* Timing in which the characteristic is determined
  ] ... ) ;
  fhir:member ( [ # 0..* Who or what is in group
    fhir:entity [ Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|
  Practitioner|PractitionerRole|RelatedPerson|Specimen) ] ; # 1..1 Reference to the group member
    fhir:involvement  ( [ CodeableConcept ] ... ) ; # 0..* Code that describes how user is part of the group
    fhir:period [ Period ] ; # 0..1 Period member belonged to the group
    fhir:inactive [ boolean ] ; # 0..1 If member is no longer in group
  ] ... ) ;
]

Changes from both R4 and R4B

Group
Group.url
  • Added Element
Group.version
  • Added Element
Group.versionAlgorithm[x]
  • Added Element
Group.title
  • Added Element
Group.status
  • Added Element
Group.experimental
  • Added Element
Group.date
  • Added Element
Group.publisher
  • Added Element
Group.contact
  • Added Element
Group.description
  • Added Element
Group.useContext
  • Added Element
Group.purpose
  • Added Element
Group.copyright
  • Added Element
Group.copyrightLabel
  • Added Element
Group.type
  • Min Cardinality changed from 1 to 0
  • Remove codes medication, substance
  • Add codes careteam, healthcareservice, location, organization, relatedperson, specimen
Group.membership
  • Added Mandatory Element
Group.code
  • Add Binding `http://hl7.org/fhir/ValueSet/group-code` (extensible)
Group.combinationMethod
  • Added Element
Group.combinationThreshold
  • Added Element
Group.characteristic.value[x]
  • Add Types uri, Expression
Group.characteristic.description
  • Added Element
Group.characteristic.method
  • Added Element
Group.characteristic.determinedBy[x]
  • Added Element
Group.characteristic.offset
  • Added Element
Group.characteristic.instances[x]
  • Added Element
Group.characteristic.duration[x]
  • Added Element
Group.characteristic.timing
  • Added Element
Group.member.entity
  • Type Reference: Added Target Types CareTeam, HealthcareService, Location, Organization, RelatedPerson, Specimen
  • Type Reference: Removed Target Types Medication, Substance
Group.member.involvement
  • Added Element
Group.active
  • Deleted
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.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Group TU DomainResource Group of multiple entities
+ Rule: Group.type SHALL be defined if Group.membership is either 'definitional' or 'enumerated'

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
Interfaces Implemented: CanonicalResource
... url ΣC 0..1 uri Canonical identifier for this Group, represented as an absolute URI (globally unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Business Identifier for this Group

... version Σ 0..1 string Business version of the Group
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name Σ 0..1 string Label for Group
... title Σ 0..1 string Name for this Group (human friendly)
... status ?!Σ 0..1 code draft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher

... description 0..1 markdown Natural language description of the group
... useContext Σ 0..* UsageContext The context that the content is intended to support

... purpose 0..1 markdown Why this Group is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel T 0..1 string Copyright holder and year(s)
... type Σ 0..1 code person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen
Binding: Group Type (Required)
... membership Σ 1..1 code definitional | conceptual | enumerated
Binding: Group Membership Basis (Required)
... code Σ 0..1 CodeableConcept Use of the Group (and by implication, kind of members)
Binding: Group Code (Extensible)
... 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
... combinationMethod ?!Σ 0..1 code all-of | any-of | at-least | at-most | except-subset
Binding: Group Characteristic Combination (Required)
... combinationThreshold 0..1 positiveInt Provides the value of "n" when "at-least" or "at-most" codes are used
... characteristic Σ 0..* BackboneElement Include / Exclude group members by Trait

.... code Σ 1..1 CodeableConcept Kind of characteristic
Binding: GroupCharacteristicKind (Example)
.... value[x] Σ 1..1 Value held by characteristic
Binding: GroupCharacteristicValue (Example)
..... valueCodeableConcept CodeableConcept
..... valueBoolean boolean
..... valueQuantity Quantity
..... valueRange Range
..... valueReference Reference()
..... valueUri uri
..... valueExpression Expression
.... exclude Σ 1..1 boolean Group includes or excludes
.... description 0..1 markdown Natural language description of the characteristic
.... method 0..* CodeableConcept Method for how the characteristic value was determined
Binding: Definition Method (Example)

.... determinedBy[x] 0..1 Defines the characteristic
..... determinedByReference Reference(Device | DeviceDefinition | DeviceMetric)
..... determinedByExpression Expression
.... offset ?!Σ 0..1 CodeableConcept Reference point for comparison
Binding: Characteristic Offset (Example)
.... instances[x] 0..1 Number of occurrences meeting the characteristic
..... instancesQuantity Quantity
..... instancesRange Range
.... duration[x] 0..1 Length of time in which the characteristic is met
..... durationDuration Duration
..... durationRange Range
.... period 0..1 Period Period over which characteristic is tested
.... timing 0..* RelativeTime Timing in which the characteristic is determined

... member 0..* BackboneElement Who or what is in group

.... entity 1..1 Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Specimen) Reference to the group member
.... involvement 0..* CodeableConcept Code that describes how user is part of the group
Binding: Group Involvement (Example)

.... 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 icon

See the Extensions for this resource

UML Diagram (Legend)

Group (DomainResource) +CanonicalResourceAn 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 serversurl : 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 serveridentifier : 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 knowledgeversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; null (Strength=Extensible) VersionAlgorithm+ »A label assigned to the group for human identification and communicationname : string [0..1]A short, descriptive, user-friendly title for the Grouptitle : 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 is not intended for genuine usageexperimental : 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 changesdate : dateTime [0..1]The name of the organization or individual responsible for the release and ongoing maintenance of the Grouppublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]Explanation of what the group represents and how it is intended to be useddescription : 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 GroupsuseContext : UsageContext [0..*]Explanation of why this Group is needed and why it has been designed as it haspurpose : 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 Groupcopyright : 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 includestype : 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.membermembership : 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 groupcode : CodeableConcept [0..1] « null (Strength=Extensible)GroupCode+ »A count of the number of resource instances that are part of the groupquantity : unsignedInt [0..1]Entity responsible for defining and maintaining Group characteristics and/or registered membersmanagingEntity : 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 combinationMethodcombinationThreshold : positiveInt [0..1]CharacteristicA code that identifies the kind of trait being assertedcode : CodeableConcept [1..1] « null (Strength=Example)GroupCharacteristicKind?? »The value of the trait that holds (or does not hold - see 'exclude') for members of the groupvalue[x] : DataType [1..1] « CodeableConcept|boolean|Quantity|Range| Reference|uri|Expression; null (Strength=Example)GroupCharacteristicValue?? »If true, indicates the characteristic is one that is NOT held by members of the groupexclude : boolean [1..1]A short, natural language description of the characteristic that could be used to communicate the criteria to an end-userdescription : markdown [0..1]Method for how the characteristic value was determinedmethod : CodeableConcept [0..*] « null (Strength=Example)DefinitionMethod?? »Defines the characteristic (without using type and value) by either a Reference or an ExpressiondeterminedBy[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 characteristicinstances[x] : DataType [0..1] « Quantity|Range »Length of time in which the characteristic is metduration[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 Juneperiod : Period [0..1]Timing in which the characteristic is determinedtiming : RelativeTime [0..*]MemberA 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 sameentity : Reference [1..1] « CareTeam|Device|Group|HealthcareService| Location|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson|Specimen »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 meaningfulinvolvement : CodeableConcept [0..*] « null (Strength=Example)GroupInvolvement?? »The period that the member was in the group, if knownperiod : Period [0..1]A flag to indicate that the member is no longer in the group, but previously may have been a memberinactive : boolean [0..1]Identifies traits whose presence r absence is shared by members of the groupcharacteristic[0..*]Identifies the resource instances that are members of the groupmember[0..*]

XML Template

<Group xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Canonical identifier for this Group, represented as an absolute URI (globally unique) -->
 <identifier><!-- 0..* Identifier Business Identifier for this Group --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the Group -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]>
 <name value="[string]"/><!-- 0..1 Label for Group -->
 <title value="[string]"/><!-- 0..1 Name for this Group (human friendly) -->
 <status value="[code]"/><!-- 0..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the group -->
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <purpose value="[markdown]"/><!-- 0..1 Why this Group is defined -->
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) -->
 <type value="[code]"/><!-- 0..1 person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen -->
 <membership value="[code]"/><!-- 1..1 definitional | conceptual | enumerated -->
 <code><!-- 0..1 CodeableConcept Use of the Group (and by implication, kind of members) --></code>
 <quantity value="[unsignedInt]"/><!-- 0..1 Number of members -->
 <managingEntity><!-- 0..1 Reference(Organization|Practitioner|PractitionerRole|
   RelatedPerson) Entity that is the custodian of the Group's definition --></managingEntity>
 <combinationMethod value="[code]"/><!-- 0..1 all-of | any-of | at-least | at-most | except-subset -->
 <combinationThreshold value="[positiveInt]"/><!-- 0..1 Provides the value of "n" when "at-least" or "at-most" codes are used -->
 <characteristic>  <!-- 0..* Include / Exclude group members by Trait -->
  <code><!-- 1..1 CodeableConcept Kind of characteristic --></code>
  <value[x]><!-- 1..1 CodeableConcept|boolean|Quantity|Range|Reference|uri|
    Expression Value held by characteristic --></value[x]>
  <exclude value="[boolean]"/><!-- 1..1 Group includes or excludes -->
  <description value="[markdown]"/><!-- 0..1 Natural language description of the characteristic -->
  <method><!-- 0..* CodeableConcept Method for how the characteristic value was determined --></method>
  <determinedBy[x]><!-- 0..1 Reference(Device|DeviceDefinition|DeviceMetric)|
    Expression Defines the characteristic --></determinedBy[x]>
  <offset><!-- 0..1 CodeableConcept Reference point for comparison --></offset>
  <instances[x]><!-- 0..1 Quantity|Range Number of occurrences meeting the characteristic --></instances[x]>
  <duration[x]><!-- 0..1 Duration|Range Length of time in which the characteristic is met --></duration[x]>
  <period><!-- 0..1 Period Period over which characteristic is tested --></period>
  <timing><!-- 0..* RelativeTime Timing in which the characteristic is determined --></timing>
 </characteristic>
 <member>  <!-- 0..* Who or what is in group -->
  <entity><!-- 1..1 Reference(CareTeam|Device|Group|HealthcareService|Location|
    Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen) Reference to the group member --></entity>
  <involvement><!-- 0..* CodeableConcept Code that describes how user is part of the group --></involvement>
  <period><!-- 0..1 Period Period member belonged to the group --></period>
  <inactive value="[boolean]"/><!-- 0..1 If member is no longer in group -->
 </member>
</Group>

JSON Template

{doco
  "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 purposes, not 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
  "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:
    "instancesQuantity" : { Quantity },
    "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(CareTeam|Device|Group|HealthcareService|Location|
    Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen) }, // 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
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Group;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:url [ uri ] ; # 0..1 Canonical identifier for this Group, represented as an absolute URI (globally unique)
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Business Identifier for this Group
  fhir:version [ string ] ; # 0..1 Business version of the Group
  # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2
    fhir:versionAlgorithm [  a fhir:string ; string ]
    fhir:versionAlgorithm [  a fhir:Coding ; Coding ]
  fhir:name [ string ] ; # 0..1 Label for Group
  fhir:title [ string ] ; # 0..1 Name for this Group (human friendly)
  fhir:status [ code ] ; # 0..1 draft | active | retired | unknown
  fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage
  fhir:date [ dateTime ] ; # 0..1 Date last changed
  fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual)
  fhir:contact  ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
  fhir:description [ markdown ] ; # 0..1 Natural language description of the group
  fhir:useContext  ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
  fhir:purpose [ markdown ] ; # 0..1 Why this Group is defined
  fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions
  fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s)
  fhir:type [ code ] ; # 0..1 person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen
  fhir:membership [ code ] ; # 1..1 definitional | conceptual | enumerated
  fhir:code [ CodeableConcept ] ; # 0..1 Use of the Group (and by implication, kind of members)
  fhir:quantity [ unsignedInt ] ; # 0..1 Number of members
  fhir:managingEntity [ Reference(Organization|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Entity that is the custodian of the Group's definition
  fhir:combinationMethod [ code ] ; # 0..1 all-of | any-of | at-least | at-most | except-subset
  fhir:combinationThreshold [ positiveInt ] ; # 0..1 Provides the value of "n" when "at-least" or "at-most" codes are used
  fhir:characteristic ( [ # 0..* Include / Exclude group members by Trait
    fhir:code [ CodeableConcept ] ; # 1..1 Kind of characteristic
    # value[x] : 1..1 Value held by characteristic. One of these 7
      fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:value [  a fhir:boolean ; boolean ]
      fhir:value [  a fhir:Quantity ; Quantity ]
      fhir:value [  a fhir:Range ; Range ]
      fhir:value [  a fhir:Reference ; Reference ]
      fhir:value [  a fhir:uri ; uri ]
      fhir:value [  a fhir:Expression ; Expression ]
    fhir:exclude [ boolean ] ; # 1..1 Group includes or excludes
    fhir:description [ markdown ] ; # 0..1 Natural language description of the characteristic
    fhir:method  ( [ CodeableConcept ] ... ) ; # 0..* Method for how the characteristic value was determined
    # determinedBy[x] : 0..1 Defines the characteristic. One of these 2
      fhir:determinedBy [  a fhir:Reference ; Reference(Device|DeviceDefinition|DeviceMetric) ]
      fhir:determinedBy [  a fhir:Expression ; Expression ]
    fhir:offset [ CodeableConcept ] ; # 0..1 Reference point for comparison
    # instances[x] : 0..1 Number of occurrences meeting the characteristic. One of these 2
      fhir:instances [  a fhir:Quantity ; Quantity ]
      fhir:instances [  a fhir:Range ; Range ]
    # duration[x] : 0..1 Length of time in which the characteristic is met. One of these 2
      fhir:duration [  a fhir:Duration ; Duration ]
      fhir:duration [  a fhir:Range ; Range ]
    fhir:period [ Period ] ; # 0..1 Period over which characteristic is tested
    fhir:timing  ( [ RelativeTime ] ... ) ; # 0..* Timing in which the characteristic is determined
  ] ... ) ;
  fhir:member ( [ # 0..* Who or what is in group
    fhir:entity [ Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|
  Practitioner|PractitionerRole|RelatedPerson|Specimen) ] ; # 1..1 Reference to the group member
    fhir:involvement  ( [ CodeableConcept ] ... ) ; # 0..* Code that describes how user is part of the group
    fhir:period [ Period ] ; # 0..1 Period member belonged to the group
    fhir:inactive [ boolean ] ; # 0..1 If member is no longer in group
  ] ... ) ;
]

Changes from both R4 and R4B

Group
Group.url
  • Added Element
Group.version
  • Added Element
Group.versionAlgorithm[x]
  • Added Element
Group.title
  • Added Element
Group.status
  • Added Element
Group.experimental
  • Added Element
Group.date
  • Added Element
Group.publisher
  • Added Element
Group.contact
  • Added Element
Group.description
  • Added Element
Group.useContext
  • Added Element
Group.purpose
  • Added Element
Group.copyright
  • Added Element
Group.copyrightLabel
  • Added Element
Group.type
  • Min Cardinality changed from 1 to 0
  • Remove codes medication, substance
  • Add codes careteam, healthcareservice, location, organization, relatedperson, specimen
Group.membership
  • Added Mandatory Element
Group.code
  • Add Binding `http://hl7.org/fhir/ValueSet/group-code` (extensible)
Group.combinationMethod
  • Added Element
Group.combinationThreshold
  • Added Element
Group.characteristic.value[x]
  • Add Types uri, Expression
Group.characteristic.description
  • Added Element
Group.characteristic.method
  • Added Element
Group.characteristic.determinedBy[x]
  • Added Element
Group.characteristic.offset
  • Added Element
Group.characteristic.instances[x]
  • Added Element
Group.characteristic.duration[x]
  • Added Element
Group.characteristic.timing
  • Added Element
Group.member.entity
  • Type Reference: Added Target Types CareTeam, HealthcareService, Location, Organization, RelatedPerson, Specimen
  • Type Reference: Removed Target Types Medication, Substance
Group.member.involvement
  • Added Element
Group.active
  • Deleted
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

Path ValueSet Type Documentation
Group.versionAlgorithm[x] VersionAlgorithm Extensible

Indicates the mechanism used to compare versions to determine which is more current.

Group.status PublicationStatus Required

The lifecycle status of an artifact.

Group.type GroupType Required

Types of resources that are part of group.

Group.membership GroupMembershipBasis Required

Basis for membership in a group

Group.code GroupCode (a valid code from Group Type) Extensible

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

Group.combinationMethod GroupCharacteristicCombination Required

Logical grouping of characteristics for the Group Resource.

Group.characteristic.code Example
Group.characteristic.value[x] Example
Group.characteristic.method DefinitionMethod Example

The method used to define, describe, or determine a characteristic value.

Group.characteristic.offset CharacteristicOffset Example

Reference point for characteristic.valueQuantity.

Group.member.involvement GroupInvolvement Example

A code that describes how a member of the group participates in the group.

UniqueKeyLevelLocationDescriptionExpression
img cnl-1Warning Group.urlURL should not contain | or # - these characters make processing canonical references problematicexists() implies matches('^[^|# ]+$')
img cnl-2Rule (base)Group.type SHALL be defined if Group.membership is either 'definitional' or 'enumerated'Group.type.exists() or (Group.membership = 'conceptual')

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.

For operations to assist in adding to, removing from, or filtering contents of large Groups, see Operations for Large Resources.

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).

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 36 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
(Practitioner, Group, Specimen, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson, Location)
membership token Definitional or enumerated group Group.membership
name string A portion of the Group's name Group.name 27 Resources
status token The current status of the Group Group.status 36 Resources
type token The type of resources the group contains Group.type
url uri The uri that identifies the Group Group.url 35 Resources
value token Value held by characteristic (Group.characteristic.value.ofType(CodeableConcept)) | (Group.characteristic.value.ofType(boolean))