Group — Collection d'entités identifiées
Cohorte de patients, troupeau, lot de dispositifs, panier de médicaments : Group regroupe des entités sous une identité commune, énumérée ou définie par critères.
Objet de la ressource
Group identifie un ensemble cohérent d'entités. Les usages typiques :
- Cohortes de recherche ou de suivi populationnel.
- Bulk export FHIR : exporter le sous-ensemble Patients d'un Group via
GET /Group/[id]/$export. - Programmes de soins : liste des patients inclus dans un programme.
- Vétérinaire : troupeau de bovins.
- Pharmacie : lot de médicaments d'une livraison.
Deux modes :
membership=enumerated— les membres sont listés explicitement dansmember[].membership=definitional— les membres sont définis par les critères danscharacteristic[], sans énumération.
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants externes. |
active | boolean | 0..1 | Group actif. |
type | code | 1..1 | Obligatoire. person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen. |
membership | code | 1..1 | Obligatoire. definitional | enumerated. |
code | CodeableConcept | 0..1 | Code décrivant le type d'entités. |
name | string | 0..1 | Nom lisible humain. |
description | markdown | 0..1 | Description. |
quantity | unsignedInt | 0..1 | Nombre de membres. |
managingEntity | Reference(Organization | RelatedPerson | Practitioner | PractitionerRole) | 0..1 | Entité gestionnaire. |
characteristic | BackboneElement[] | 0..* | Critères de définition. |
characteristic.code | CodeableConcept | 1..1 | Quel critère. |
characteristic.value[x] | CodeableConcept | boolean | Quantity | Range | Reference | 1..1 | Valeur du critère. |
characteristic.exclude | boolean | 1..1 | true = critère d'exclusion. |
member | BackboneElement[] | 0..* | Membres énumérés. |
member.entity | Reference | 1..1 | L'entité membre. |
member.period | Period | 0..1 | Période d'appartenance. |
member.inactive | boolean | 0..1 | Membre inactif. |
Exemple JSON
Cohorte de 3 patients diabétiques T2 enrôlés dans un programme de suivi en 2026, critère d'âge 40–80 ans :
{
"resourceType": "Group",
"id": "diabetes-cohort-2026",
"identifier": [{
"system": "http://acme.com/cohorts",
"value": "DM2-2026"
}],
"active": true,
"type": "person",
"membership": "enumerated",
"code": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "44054006",
"display": "Diabetes mellitus type 2 (disorder)"
}]
},
"name": "Cohorte Diabète T2 — Programme de suivi 2026",
"description": "Patients enrôlés dans le programme de suivi du diabète de type 2 pour 2026.",
"quantity": 3,
"managingEntity": { "reference": "Organization/hospital-1" },
"characteristic": [{
"code": {
"coding": [{ "system": "http://loinc.org", "code": "30525-0", "display": "Age" }]
},
"valueRange": {
"low": { "value": 40, "unit": "years" },
"high": { "value": 80, "unit": "years" }
},
"exclude": false
}],
"member": [
{ "entity": { "reference": "Patient/example" }, "period": { "start": "2026-01-15" } },
{ "entity": { "reference": "Patient/patient-2" }, "period": { "start": "2026-02-01" } },
{ "entity": { "reference": "Patient/patient-3" }, "period": { "start": "2026-03-10" } }
]
} Pièges courants
- Group
enumeratedaveccharacteristiccontraignant — incohérence : si la membership est énumérée, lescharacteristicne sont qu'informationnels. - Bulk export sur Group
definitional— non supporté :$exportnécessite une énumération. quantityincohérente avecmember.length— toujours synchroniser.- Confusion Group / List — List est généraliste (liste hétérogène d'items), Group cible un type unique d'entités (
type). - Bulk export Group de millions de Patients sans
_typeFilter— explosion volumétrique côté serveur.
Ressources liées
- Patient, Practitioner, Device — types typiques de membres.
- List — alternative pour les listes hétérogènes.
- CarePlan, CareTeam — programmes de soins associés.
- ResearchStudy — études cliniques.