SubscriptionTopic
Le sujet d'un canal de notification FHIR : 'patient-admitted', 'observation-critical', 'medication-administered'. Le contrat d'abonnement.
Objet de la ressource
SubscriptionTopic définit un événement publiable par un serveur FHIR : structure de la donnée transmise, fréquence, déclencheurs, filtres possibles. Une Subscription pointe vers un SubscriptionTopic pour s'abonner. C'est l'équivalent FHIR d'un sujet de queue ou d'un topic Kafka, avec les profils de filtrage et de payload structurés.
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
url | uri | 1..1 | URL canonique unique. |
identifier | Identifier[] | 0..* | Identifiants externes. |
version | string | 0..1 | Version. |
name | string | 0..1 | Nom. |
title | string | 0..1 | Titre. |
status | code | 1..1 | `draft`, `active`, `retired`, `unknown`. |
date | dateTime | 0..1 | Date. |
description | markdown | 0..1 | Description. |
resourceTrigger | BackboneElement[] | 0..* | Déclencheurs (création, suppression, mise à jour). |
eventTrigger | BackboneElement[] | 0..* | Déclencheurs d'événement (code SNOMED, code interne). |
canFilterBy | BackboneElement[] | 0..* | Filtres possibles. |
notificationShape | BackboneElement[] | 0..* | Forme du payload. |
Exemple JSON
{
"resourceType": "SubscriptionTopic",
"id": "example-admission",
"url": "https://example.org/fhir/SubscriptionTopic/admission-discharge",
"version": "1.0.0",
"name": "AdmissionDischargeTopic",
"title": "Admissions et sorties patient",
"status": "active",
"date": "2026-05-15",
"description": "Notifie sur création ou changement de statut d'un Encounter en mode admission ou discharge.",
"resourceTrigger": [{
"description": "Tout changement de statut Encounter",
"resource": "Encounter",
"supportedInteraction": ["create", "update"],
"queryCriteria": {
"current": "status=in-progress,finished"
}
}]
} Pièges courants
- URL canonique non unique : conflit avec un autre Topic du serveur.
- Pas de resourceTrigger ni eventTrigger : Topic vide, aucune Subscription ne s'y rattachera.
- QueryCriteria mal écrite : les abonnés reçoivent des événements qu'ils ne voulaient pas.
Ressources liées
- subscription — souscription d'un consommateur.
- subscriptionstatus — payload de notification.
- messagedefinition — modèle d'événement Messaging.
- eventdefinition — déclencheur métier.