DSTU2 Ballot Source

This page is part of the FHIR Specification (v0.5.0: DSTU 2 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

5.17 Resource Group - Content

This resource maintained by the FHIR Management Group Work Group

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.

5.17.1 Scope and Usage

5.17.1.1 Use Cases

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

5.17.2 Boundaries and Relationships

There are five 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 are may be curated and have specific business meaning.
  • 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.
  • 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.

This resource is referenced by Contract, DiagnosticOrder, DiagnosticReport, DocumentManifest, DocumentReference, List, Media, Observation, Order, RiskAssessment and Specimen

5.17.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Group IDomainResourceGroup of multiple entities
Can't have more members associated with the group than the value specified for "quantity"
Can only have members if group is "actual"
... identifier Σ0..1IdentifierUnique id
... type Σ1..1codeperson | animal | practitioner | device | medication | substance
GroupType (Required)
... actual Σ I1..1booleanDescriptive or actual
... code Σ0..1CodeableConceptKind of Group members
... name Σ0..1stringLabel for Group
... quantity Σ0..1unsignedIntNumber of members
... characteristic 0..*ElementTrait of group members
.... code 1..1CodeableConceptKind of characteristic
.... value[x] Value held by characteristic
..... valueCodeableConcept1..1CodeableConcept
..... valueBoolean1..1boolean
..... valueQuantity1..1Quantity
..... valueRange1..1Range
.... exclude ?!1..1booleanGroup includes or excludes
... member I0..*Patient | Practitioner | Device | Medication | SubstanceWho or what is in group
Member resource types SHALL agree with group type

XML Template

<Group xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..1 Identifier Unique id --></identifier>
 <type value="[code]"/><!-- 1..1 person | animal | practitioner | device | medication | substance -->
 <actual value="[boolean]"/><!-- ?? 1..1 Descriptive or actual -->
 <code><!-- 0..1 CodeableConcept Kind of Group members --></code>
 <name value="[string]"/><!-- 0..1 Label for Group -->
 <quantity value="[unsignedInt]"/><!-- 0..1 Number of members -->
 <characteristic>  <!-- 0..* Trait of group members -->
  <code><!-- 1..1 CodeableConcept Kind of characteristic --></code>
  <value[x]><!-- 1..1 CodeableConcept|boolean|Quantity|Range Value held by characteristic --></value[x]>
  <exclude value="[boolean]"/><!-- 1..1 Group includes or excludes -->
 </characteristic>
 <member><!-- ?? 0..* Reference(Patient|Practitioner|Device|Medication|Substance) 
     Who or what is in group --></member>
</Group>

JSON Template

{doco
  "resourceType" : "Group",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : { Identifier }, // Unique id
  "type" : "<code>", // R!  person | animal | practitioner | device | medication | substance
  "actual" : <boolean>, // C? R!  Descriptive or actual
  "code" : { CodeableConcept }, // Kind of Group members
  "name" : "<string>", // Label for Group
  "quantity" : "<unsignedInt>", // Number of members
  "characteristic" : [{ // Trait of group members
    "code" : { CodeableConcept }, // R!  Kind of characteristic
    // value[x]: Value held by characteristic. One of these 4:
    "valueCodeableConcept" : { CodeableConcept },
    "valueBoolean" : <boolean>,
    "valueQuantity" : { Quantity },
    "valueRange" : { Range },
    "exclude" : <boolean> // R!  Group includes or excludes
  }],
  "member" : [{ Reference(Patient|Practitioner|Device|Medication|Substance) }] // C? 
     Who or what is in group
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Group IDomainResourceGroup of multiple entities
Can't have more members associated with the group than the value specified for "quantity"
Can only have members if group is "actual"
... identifier Σ0..1IdentifierUnique id
... type Σ1..1codeperson | animal | practitioner | device | medication | substance
GroupType (Required)
... actual Σ I1..1booleanDescriptive or actual
... code Σ0..1CodeableConceptKind of Group members
... name Σ0..1stringLabel for Group
... quantity Σ0..1unsignedIntNumber of members
... characteristic 0..*ElementTrait of group members
.... code 1..1CodeableConceptKind of characteristic
.... value[x] Value held by characteristic
..... valueCodeableConcept1..1CodeableConcept
..... valueBoolean1..1boolean
..... valueQuantity1..1Quantity
..... valueRange1..1Range
.... exclude ?!1..1booleanGroup includes or excludes
... member I0..*Patient | Practitioner | Device | Medication | SubstanceWho or what is in group
Member resource types SHALL agree with group type

XML Template

<Group xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..1 Identifier Unique id --></identifier>
 <type value="[code]"/><!-- 1..1 person | animal | practitioner | device | medication | substance -->
 <actual value="[boolean]"/><!-- ?? 1..1 Descriptive or actual -->
 <code><!-- 0..1 CodeableConcept Kind of Group members --></code>
 <name value="[string]"/><!-- 0..1 Label for Group -->
 <quantity value="[unsignedInt]"/><!-- 0..1 Number of members -->
 <characteristic>  <!-- 0..* Trait of group members -->
  <code><!-- 1..1 CodeableConcept Kind of characteristic --></code>
  <value[x]><!-- 1..1 CodeableConcept|boolean|Quantity|Range Value held by characteristic --></value[x]>
  <exclude value="[boolean]"/><!-- 1..1 Group includes or excludes -->
 </characteristic>
 <member><!-- ?? 0..* Reference(Patient|Practitioner|Device|Medication|Substance) 
     Who or what is in group --></member>
</Group>

JSON Template

{doco
  "resourceType" : "Group",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : { Identifier }, // Unique id
  "type" : "<code>", // R!  person | animal | practitioner | device | medication | substance
  "actual" : <boolean>, // C? R!  Descriptive or actual
  "code" : { CodeableConcept }, // Kind of Group members
  "name" : "<string>", // Label for Group
  "quantity" : "<unsignedInt>", // Number of members
  "characteristic" : [{ // Trait of group members
    "code" : { CodeableConcept }, // R!  Kind of characteristic
    // value[x]: Value held by characteristic. One of these 4:
    "valueCodeableConcept" : { CodeableConcept },
    "valueBoolean" : <boolean>,
    "valueQuantity" : { Quantity },
    "valueRange" : { Range },
    "exclude" : <boolean> // R!  Group includes or excludes
  }],
  "member" : [{ Reference(Patient|Practitioner|Device|Medication|Substance) }] // C? 
     Who or what is in group
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON)

5.17.3.1 Terminology Bindings

PathDefinitionTypeReference
Group.type Types of resources that are part of groupRequiredhttp://hl7.org/fhir/group-type
Group.code Kind of particular resource. E.g. cow, syringe, lake, etc.UnknownNo details provided yet
Group.characteristic.code List of characteristics used to describe group members. E.g. gender, age, owner, location, etc.UnknownNo details provided yet
Group.characteristic.value[x] Value of descriptive member characteristic. E.g. red, male, pneumonia, caucasian, etc.UnknownNo details provided yet

5.17.3.2 Constraints

  • grp-1: Can only have members if group is "actual" (xpath: f:actual/@value='true' or not(exists(f:member)))
  • grp-3: On Group.member: Member resource types SHALL agree with group type (xpath on f:Group/f:member: lower-case(f:type/@value)=parent::f:Group/f:type/@value or (f:type/@value='Patient' and parent::f:Group/f:type/@value=('animal','person')))
  • grp-4: Can't have more members associated with the group than the value specified for "quantity" (xpath: not(f:quantity) or not(f:member) or not(f:quantity>count(f:member)))

5.17.4 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
actualtokenDescriptive or actualGroup.actual
characteristictokenKind of characteristicGroup.characteristic.code
characteristic-valuecompositeA composite of both characteristic and value
codetokenThe kind of resources containedGroup.code
excludetokenGroup includes or excludesGroup.characteristic.exclude
identifiertokenUnique idGroup.identifier
memberreferenceWho or what is in groupGroup.member
(Medication, Device, Patient, Substance, Practitioner)
typetokenThe type of resources the group containsGroup.type
valuetokenValue held by characteristicGroup.characteristic.value[x]