Profiles & Operations > Profile: Group

Profile: Group

This profile provides guidance for implementing FHIR Group resource.

It is used by a Subscriber to request a group of specific entities and resources (for example patients, practitioners, devices etc. by enumerating them, or by describing qualities that group members have.

In context of HL7 Subscription specification it will be used to retreive a list of patients or practitioners from specific health care organization.

Simplifier project page: PubSub Group Profile

Derived from: Group R4

Canonical_Url Profile_Status Profile_Version FHIR_Version
http://ontariohealth.ca/fhir/ehr/StructureDefinition/profile-PubSubGroup Active 1.0.0 4.0

Formal Views of Profile Content

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

Differential View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierS Σ1..*Identifier
activeΣ0..1boolean
typeS Σ C1..1codeBinding
actualΣ C1..1boolean
codeΣ0..1CodeableConcept
nameΣ0..1string
quantityΣ0..1unsignedInt
managingEntityΣ0..1Reference(Organization | RelatedPerson | Practitioner | PractitionerRole)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
code1..1CodeableConcept
valueCodeableConceptCodeableConcept
valueBooleanboolean
valueQuantityQuantity
valueRangeRange
valueReferenceReference()
exclude1..1boolean
period0..1Period
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
entity1..1Reference(PatientCACore | PractitionerCACore)
period0..1Period
inactive0..1boolean

Hybrid View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierS Σ1..*Identifier
activeΣ0..1boolean
typeS Σ C1..1codeBinding
actualΣ C1..1boolean
codeΣ0..1CodeableConcept
nameΣ0..1string
quantityΣ0..1unsignedInt
managingEntityΣ0..1Reference(Organization | RelatedPerson | Practitioner | PractitionerRole)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
code1..1CodeableConcept
valueCodeableConceptCodeableConcept
valueBooleanboolean
valueQuantityQuantity
valueRangeRange
valueReferenceReference()
exclude1..1boolean
period0..1Period
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
entity1..1Reference(PatientCACore | PractitionerCACore)
period0..1Period
inactive0..1boolean

Snapshot View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierS Σ1..*Identifier
activeΣ0..1boolean
typeS Σ C1..1codeBinding
actualΣ C1..1boolean
codeΣ0..1CodeableConcept
nameΣ0..1string
quantityΣ0..1unsignedInt
managingEntityΣ0..1Reference(Organization | RelatedPerson | Practitioner | PractitionerRole)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
code1..1CodeableConcept
valueCodeableConceptCodeableConcept
valueBooleanboolean
valueQuantityQuantity
valueRangeRange
valueReferenceReference()
exclude1..1boolean
period0..1Period
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
entity1..1Reference(PatientCACore | PractitionerCACore)
period0..1Period
inactive0..1boolean

Table View

Group..
Group.identifier1..
Group.type..
Group.member1..
Group.member.entityReference(PatientCACore | PractitionerCACore)..

JSON View

{
"resourceType": "StructureDefinition",
"id": "ca-on-pubsub-group",
"url": "http://ontariohealth.ca/fhir/ehr/StructureDefinition/profile-PubSubGroup",
"version": "1.0.3",
"name": "OntarioPubSubGroup",
"title": "Ontario Health Publish-Subscribe Group Profile",
"status": "draft",
"publisher": "Ontario Health",
"contact": [
{
"name": "Ontario Health",
"telecom": [
{
"system": "url",
"value": "https://www.ontariohealth.ca"
}
]
}
],
"description": "A profile of the Group resource for publish-subscribe mechanisms within Ontario Health. It requires at least one member and constrains members to be references to CA Core Patient or CA Core Practitioner profiles.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Group",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Group",
"derivation": "constraint",
"element": [
{
"id": "Group.identifier",
"path": "Group.identifier",
"min": 1,
"mustSupport": true,
"short": "Mandatory, globally unique business identifier for the group (Must Support)",
"definition": "A mandatory, globally unique business identifier for this group (e.g., a patient list), assigned by the EMR instance. The EMR Instance SHALL ensure this identifier is globally unique across all groups it manages and SHALL use the same Group.identifier for subsequent updates of the same conceptual list to ensure stability. This element is marked as Must Support, meaning systems SHALL be capable of populating and processing it."
},
{
"id": "Group.type",
"path": "Group.type",
"mustSupport": true,
"short": "Type of group: person or practitioner (Must Support)",
"definition": "Declares the type of resources that are members of this group. This profile mandates that the type must be either 'person' (if members are Patients) or 'practitioner' (if members are Practitioners). This element is marked as Must Support. The cardinality of Group.type is 1..1 (inherited from base).",
"binding": {
"strength": "required",
"description": "The type of group members, constrained to person or practitioner by this profile.",
"valueSet": "http://hl7.org/fhir/ValueSet/group-type"
},
{
"key": "pubsub-group-type-person-practitioner",
"severity": "error",
"human": "Group.type must be 'person' or 'practitioner'.",
"expression": "type = 'person' or type = 'practitioner'",
"source": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-pubsub-group"
}
]
},
{
"id": "Group.member",
"path": "Group.member",
"min": 1,
"short": "Identifies the resource instances that are members of the group.",
"definition": "Identifies the resource instances that are members of the group. This profile requires at least one member."
},
{
"id": "Group.member.entity",
"path": "Group.member.entity",
"short": "A reference to the CA Core Patient or CA Core Practitioner that is a member of this group",
"definition": "A reference to a resource conforming to the CA Core Patient profile or CA Core Practitioner profile that is a member of this group.",
"type": [
{
"code": "Reference",
"http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/patient-ca-core",
"http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitioner-ca-core"
]
}
]
}
]
}
}

Usage Notes

Group.type

  • Defines what the members are (e.g., person, patient, practitioner, device).

Group.actual

  • Distinguishes whether the group lists actual entities (true) or represents a definition (e.g., criteria-based, false).

Group.member

  • Holds the list of entities (with optional attributes like period or inactive).

Identifier

  • Can be assigned for external reference (study IDs, cohort identifiers).