FQL is a query language that allows you to retrieve, filter and project data from any data source containing FHIR Resources. It brings the power of three existing languages together: SQL, JSON and FhirPath. It allows you to create tables and is useful for gaining insight and perform quality control.
Changelog SGRDV — release 1.2.6
Date de publication : 10 septembre 2026
Légende : 🔴 = rupture sur contrat de production (
experimental = false) · 🟠 = rupture sur contrat en validation (experimental = true) · 🟢 = ajout ou assouplissement rétrocompatible
1. Terminologie — catégories de plage horaire (timeslot-category)
1.1 Isolement du code GAP hors du DMÉ 🟠
Le code GAP est retiré du CodeSystem SGRDVTimeslotCategoryCS (utilisé en required sur Appointment.serviceCategory et sur le paramètre timeslot-category de $find/$aggregate) et isolé dans un nouveau CodeSystem SGRDVTimeslotCategoryGAPCS, propre à la surface portail. Le DMÉ ne reçoit et n'émet donc plus jamais GAP brut : SGRDV traduit désormais ce critère en GAP_VOLONTAIRE ou GAP_NVOLONTAIRE avant l'appel au DMÉ, selon que le professionnel participe ou non à l'entente FMOQ. Le code p4p5 reste en place, mais SGRDV le précise également en p4p5_SAG-GI, p4p5_PGM ou p4p5_RTA selon la trajectoire fournie. Trois codes plageType1/plageType2/plageType3 (réservés, libellés à préciser) sont également ajoutés au CodeSystem.
| Élément | Avant | Après |
|---|---|---|
SGRDVTimeslotCategoryCS |
Contenait GAP |
GAP retiré ; ajout de GAP_VOLONTAIRE, GAP_NVOLONTAIRE, p4p5_SAG-GI, p4p5_PGM, p4p5_RTA, plageType1, plageType2, plageType3 |
SGRDVTimeslotCategoryGAPCS |
Inexistant | Nouveau — code GAP isolé, utilisé uniquement côté portail |
SGRDVTimeslotCategoryVS (surface Systèmes source) |
Incluait GAP |
N'inclut plus GAP (reflète le retrait du CodeSystem sous-jacent) |
⚠️ Action requise : tout DMÉ/SIP-C qui envoie ou reçoit timeslot-category = GAP (paramètre $find/$aggregate ou Appointment.serviceCategory) doit migrer vers GAP_VOLONTAIRE ou GAP_NVOLONTAIRE.
1.2 Nouveau ValueSet portail SGRDVTimeslotCategoryPortailVS 🟢
Un nouveau ValueSet SGRDVTimeslotCategoryPortailVS, combinant SGRDVTimeslotCategoryCS et SGRDVTimeslotCategoryGAPCS, est lié en required au paramètre timeslot-category sur la surface API SGRDV ($find et $aggregate). Le portail continue donc de pouvoir envoyer GAP sans aucun changement : seule cette surface accepte ce code en entrée, à charge pour SGRDV de le traduire avant l'appel au DMÉ.
Aucune action requise pour le portail — le jeu de valeurs accepté en entrée reste inchangé.
2. Recherche et agrégation de disponibilités ($find / $aggregate)
2.1 Retrait de patient-path et volunteer-practitioner du payload DMÉ 🟠
Sur la surface Systèmes source, SGRDVSourceFindRequestParameters et SGRDVSourceAggregateRequestParameters interdisent désormais patient-path et volunteer-practitioner (0..0). Ces critères, fournis par le portail, sont dorénavant traduits par SGRDV en un code timeslot-category plus précis (cf. §1.1) avant l'appel au DMÉ, plutôt que d'être relayés tels quels.
| Élément | Avant | Après |
|---|---|---|
SGRDVSourceFindRequestParameters / SGRDVSourceAggregateRequestParameters — patient-path |
MS, utilisable |
0..0, interdit |
SGRDVSourceFindRequestParameters / SGRDVSourceAggregateRequestParameters — volunteer-practitioner |
MS, utilisable |
0..0, interdit |
⚠️ Action requise : tout DMÉ/SIP-C en intégration anticipée sur $find/$aggregate qui recevait ou traitait patient-path/volunteer-practitioner doit retirer cette dépendance ; SGRDV ne les transmet plus.
2.2 Règle métier de traduction documentée sur la surface API SGRDV 🟢
Les profils SGRDVFindRequestParameters et SGRDVAggregateRequestParameters documentent désormais explicitement (via ^comment) la règle de traduction appliquée par SGRDV : timeslot-category = GAP sans volunteer-practitioner retourne une erreur MSG_PARAM_INVALID ; avec volunteer-practitioner, SGRDV traduit en GAP_VOLONTAIRE/GAP_NVOLONTAIRE ; p4p5 avec patient-path est traduit selon la trajectoire en p4p5_SAG-GI, p4p5_PGM ou p4p5_RTA.
Aucune action requise — ajout documentaire, sans impact sur la structure du contrat portail.
3. Exemples
3.1 Correction de l'exemple $find — surface Systèmes source 🟢
SGRDVSourceFindExampleRequest est corrigé pour retirer volunteer-practitioner, devenu invalide suite au retrait de ce paramètre du payload DMÉ (§2.1).
Aucune action requise — correction d'exemple, sans impact sur les profils ou contrats existants.
4. Recommandations de migration pour les partenaires
Si vous intégrez le DMÉ/SIP-C ($find / $aggregate)
- Remplacez toute dépendance à
timeslot-category = GAPparGAP_VOLONTAIREouGAP_NVOLONTAIRE, selon la participation du professionnel à l'entente FMOQ. - Retirez toute lecture ou envoi de
patient-pathetvolunteer-practitioner— ces paramètres ne sont plus relayés par SGRDV.
Si vous intégrez le portail ($find / $aggregate)
- Aucune action requise —
GAP,patient-pathetvolunteer-practitionerdemeurent acceptés en entrée sans changement ; seule la traduction interne vers le DMÉ évolue.
Toutes intégrations confondues
- Alignez vos consommations sur la version
1.2.6du paquet IG.
Canonical claims
| http://sante.quebec/fhir/ | Claimed |
| http://sante.quebec/fhir/StructureDefinition/ | Claimed |
| http://sante.quebec/fhir/ImplementationGuide/ | Claimed |
| http://sante.quebec/fhir/OperationDefinition/ | Claimed |
| http://sante.quebec/fhir/CodeSystem/ | Claimed |
| http://sante.quebec/fhir/ValueSet/ | Claimed |
| http://sante.quebec/fhir/CapabilityStatement/ | Claimed |
| http://sante.quebec/ | Claimed |
| http://sante.quebec/fhir/NamingSystem/ | Claimed |
| Name | Version | Release date | ||
|---|---|---|---|---|
| hl7.fhir.ca.baseline | 1.2.0 | |||
| hl7.fhir.uv.extensions.r4 | 5.2.0 | |||
| hl7.fhir.r4.core | 4.0.1 | |||