2nd DSTU Draft For Comment

This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). 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.15 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.15.1 Scope and Usage

5.15.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.15.2 Boundaries and Relationships

There are 2 resources that provide for constructing collections of other resources:

  • The List resource - enumerates a collection of resources that are in some list, and provides features for managing the list. The list resource references other resources
  • 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

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

5.15.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..1integerNumber 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 M1..1booleanGroup includes or excludes
... member I0..*Patient | Practitioner | Device | Medication | SubstanceWho 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="[integer]"/><!-- 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 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" : <integer>, // 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 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..1integerNumber 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 M1..1booleanGroup includes or excludes
... member I0..*Patient | Practitioner | Device | Medication | SubstanceWho 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="[integer]"/><!-- 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 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" : <integer>, // 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 is in group
}

 

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

5.15.3.1 Terminology Bindings

PathDefinitionTypeReference
Group.type Types of resources that are part of groupFixedhttp://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.15.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.15.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 is in groupGroup.member
(Medication, Device, Patient, Substance, Practitioner)
typetokenThe type of resources the group containsGroup.type
valuetokenValue held by characteristicGroup.characteristic.value[x]