From 91150968f86a214671c1bfbaed3db1791cada1a5 Mon Sep 17 00:00:00 2001 From: sga-esante Date: Mon, 30 Jun 2025 18:25:14 +0200 Subject: [PATCH 1/6] =?UTF-8?q?maj=20sc=C3=A9narios2,=202BIS=20et=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../specifications_techniques_10.md | 359 ++++++++++++------ 1 file changed, 238 insertions(+), 121 deletions(-) diff --git a/input/pagecontent/specifications_techniques_10.md b/input/pagecontent/specifications_techniques_10.md index 32365526580..513a5db3ac4 100644 --- a/input/pagecontent/specifications_techniques_10.md +++ b/input/pagecontent/specifications_techniques_10.md @@ -192,148 +192,139 @@ PATCH [BASE]/HealthcareService/XXX } ``` -#### [spécifique serveur] Scénario 2 : Ajout d'une capacité de prise en charge +#### [BED MANAGEMENT] Scénario 2 : Ajout d'une capacité de prise en charge -*Cette requête ne pourra être exécutée que par le serveur.* +*Ce scenario cible les éditeurs de solutions de bedmanagement.* -**Description du scénario :** Un établissement (via bed management, \...) ajoute dans un lieu de réalisation de l\'offre existant dont l'identifiant est XXX, des données capacitaires pour une affectation temporaire : une affectation temporaire \"Covid +\", 2 lits disponibles (sexe indifférencié), à t0. +**Description du scénario :** Un établissement (via bed management, \...) ajoute dans un lieu de réalisation de l\'offre déjà existant, dont l'identifier:idExterneSynchro est XXX, des données capacitaires pour une affectation non temporaire, 2 places disponibles (sexe indifférencié), à t0. **Requête :** ```json -PATCH [BASE]/Location/XXX +PATCH [BASE]/Location?identifier=XXX { - "resourceType": "Parameters", - "parameter": [ + "parameter": [ { "name": "operation", - "part": [ + "part": [ { "name": "type", "valueString": "add" - }, + }, { "name": "path", - "valueString": "Location" - }, + "valueString": "Location.extension.where(url='https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-location-supported-capacity')" + }, { - "name": "extension", - "part": [ - { - "name": "url", - "valueUri": "https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition-ror-location-supported-capacity" - }, + "name": "value", + "part": [ { - "name": "extension", - "part": [ - { - "name": "url", - "valueString": "temporaryAssignement" - }, - { - "name": "value", - "valueCodeableConcept": { - "coding": [ - { - "system": "https://mos.esante.gouv.fr/NOS/JDV_J195-AffectationTemporaire-ROR/FHIR/JDV-J195-AffectationTemporaire-ROR/", - "code": "02", - "display": "Covid+" - } - ] - } - }, - { - "name": "url", - "valueString": "capacityType" - }, - { - "name": "value", - "valueCodeableConcept": { - "coding": [ - { - "system": "https://mos.esante.gouv.fr/NOS/JDV_J187-NatureCapacite-ROR/FHIR/JDV-J187-NatureCapacite-ROR/", - "code": "01", - "display": "Lit" - } - ] - } - }, + "extension": [ { - "name": "url", - "valueString": "capacityStatus" - }, - { - "name": "value", - "valueCodeableConcept": { - "coding": [ - { - "system": "https://mos.esante.gouv.fr/NOS/JDV_J188-TypeStatutCapacite-ROR/FHIR/JDV-J188-TypeStatutCapacite-ROR/", - "code": "02", - "display": "Disponible" - } - ] - } - }, - { - "name": "url", - "valueString": "temporalityCapacity" - }, - { - "name": "value", - "valueCodeableConcept": { - "coding": [ - { - "system": "https://mos.esante.gouv.fr/NOS/JDV_J189-TemporaliteCapacite-ROR/FHIR/JDV-J189-TemporaliteCapacite-ROR/", - "code": "01", - "display": "Courant" - } - ] - } - }, - { - "name": "url", - "valueString": "nbCapacity" - }, - { - "name": "value", - "valueInt": "2" - }, - { - "name": "url", - "valueString": "genderCapacityAvailable" - }, - { - "name": "value", - "valueCodeableConcept": { - "coding": [ - { - "system": "https://mos.esante.gouv.fr/NOS/JDV_J190-GenreCapacite-ROR/FHIR/JDV-J190-GenreCapacite-ROR/", - "code": "02", - "display": "Indifférencié" - } - ] - } - } - ] - } - ] - } - ] - } - ] + "extension": [ + { + "url": "nbCapacity", + "valueInteger": 25 + }, + { + "url": "capacityUpdateDate", + "valueDateTime": "2025-02-26T15:17:33Z" + }, + { + "url": "capacityStatus", + "valueCodeableConcept": { + "coding": [ + { + "code": "02", + "display": "Disponible", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R330-TypeStatutCapacite/FHIR/TRE-R330-TypeStatutCapacite" + } + ] + } + }, + { + "url": "capacityType", + "valueCodeableConcept": { + "coding": [ + { + "code": "02", + "display": "Place", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R329-NatureCapacite/FHIR/TRE-R329-NatureCapacite" + } + ] + } + }, + { + "url": "temporalityCapacity", + "valueCodeableConcept": { + "coding": [ + { + "code": "01", + "display": "Courant", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R331-TemporaliteCapacite/FHIR/TRE-R331-TemporaliteCapacite" + } + ] + } + }, + { + "url": "capacitySourceType", + "valueCodeableConcept": { + "coding": [ + { + "code": "02", + "display": "Bed management", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R335-TypeSourceCapacite/FHIR/TRE-R335-TypeSourceCapacite" + } + ] + } + }, + { + "url": "genderCapacityAvailable", + "valueCodeableConcept": { + "coding": [ + { + "code": "03", + "display": "Indifférencié", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R332-GenreCapacite/FHIR/TRE-R332-GenreCapacite" + } + ] + } + }, + { + "url": "temporaryAssignement", + "valueCodeableConcept": { + "coding": [ + { + "code": "01", + "display": "Aucune", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R337-AffectationTemporaire/FHIR/TRE-R337-AffectationTemporaire" + } + ] + } + } + ], + "url": "https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-location-supported-capacity" + } + ] + } + ] + } + ] + } + ], + "resourceType": "Parameters" } ``` -#### [spécifique serveur] Scénario 3 : Suppression d'une capacité d'accueil opérationnelle draft +#### [BED MANAGEMENT] Scénario 2 BIS : Mise à jour d'une capacité de prise en charge -*Cette requête ne pourra être exécutée que par le serveur.* +*Ce scenario cible les éditeurs de solutions de bedmanagement.* -**Description du scénario :** Un établissement (via bed management, ...) supprime dans un lieu de réalisation de l\'offre existant dont l'identifiant est XXX tous les enregistrements liés à l\'affectation temporaire \"Covid-\". +**Description du scénario :** Un établissement (via bed management, \...) met à jour dans un lieu de réalisation de l\'offre déjà existant, dont l'identifier:idExterneSynchro est XXX, des données capacitaires pour une affectation non temporaire, 12 places disponibles (sexe indifférencié), à t0. **Requête :** ```json -PATCH [BASE]/Location/XXX +PATCH [BASE]/Location?identifier=XXX { - "resourceType": "Parameters", "parameter": [ { "name": "operation", @@ -344,11 +335,131 @@ PATCH [BASE]/Location/XXX }, { "name": "path", - "valueString": "Location.extension.where(url='https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-location-supported-capacity' and extension.where(url='temporaryAssignement' and valueCodeableConcept.coding[0].code='02')).extension.where(url='nbCapacity')" + "valueString": "Location.extension.where(url='https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-location-supported-capacity').where(extension.where(url = 'capacityStatus' and valueCodeableConcept.coding.code = '02') and extension.where(url = 'temporalityCapacity' and valueCodeableConcept.coding.code = '01') and extension.where(url = 'genderCapacityAvailable' and valueCodeableConcept.coding.code = '03') and extension.where(url = 'temporaryAssignement' and valueCodeableConcept.coding.code = '01'))" }, { - "name": "valueInteger", - "value": 0 + "name": "value", + "part": [ + { + "extension": [ + { + "extension": [ + { + "url": "nbCapacity", + "valueInteger": 12 + }, + { + "url": "capacityUpdateDate", + "valueDateTime": "2025-02-26T15:17:33Z" + }, + { + "url": "capacityStatus", + "valueCodeableConcept": { + "coding": [ + { + "code": "02", + "display": "Disponible", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R330-TypeStatutCapacite/FHIR/TRE-R330-TypeStatutCapacite" + } + ] + } + }, + { + "url": "capacityType", + "valueCodeableConcept": { + "coding": [ + { + "code": "02", + "display": "Place", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R329-NatureCapacite/FHIR/TRE-R329-NatureCapacite" + } + ] + } + }, + { + "url": "temporalityCapacity", + "valueCodeableConcept": { + "coding": [ + { + "code": "01", + "display": "Courant", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R331-TemporaliteCapacite/FHIR/TRE-R331-TemporaliteCapacite" + } + ] + } + }, + { + "url": "capacitySourceType", + "valueCodeableConcept": { + "coding": [ + { + "code": "02", + "display": "Bed management", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R335-TypeSourceCapacite/FHIR/TRE-R335-TypeSourceCapacite" + } + ] + } + }, + { + "url": "genderCapacityAvailable", + "valueCodeableConcept": { + "coding": [ + { + "code": "03", + "display": "Indifférencié", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R332-GenreCapacite/FHIR/TRE-R332-GenreCapacite" + } + ] + } + }, + { + "url": "temporaryAssignement", + "valueCodeableConcept": { + "coding": [ + { + "code": "01", + "display": "Aucune", + "system": "https://mos.esante.gouv.fr/NOS/TRE_R337-AffectationTemporaire/FHIR/TRE-R337-AffectationTemporaire" + } + ] + } + } + ], + "url": "https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-location-supported-capacity" + } + ] + } + ] + } + ] + } + ], + "resourceType": "Parameters" +} +``` + +#### [BED MANAGEMENT] Scénario 3 : Suppression d'une capacité d'accueil opérationnelle + +*Ce scenario cible les éditeurs de solutions de bedmanagement.* + +**Description du scénario :** Un établissement (via bed management, \...) supprime dans un lieu de réalisation de l\'offre, dont l'identifier:idExterneSynchro est XXX, les données capacitaires d'une affectation non temporaire, portant sur les places indifférenciées, à t0. + +**Requête :** +```json +PATCH [BASE]/Location?identifier=XXX +{ + "resourceType": "Parameters", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueString": "remove" + }, + { + "name": "path", + "valueString": "Location.extension.where(url='https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-location-supported-capacity').where(extension.where(url = 'capacityStatus' and valueCodeableConcept.coding.code = '02') and extension.where(url = 'temporalityCapacity' and valueCodeableConcept.coding.code = '01') and extension.where(url = 'genderCapacityAvailable' and valueCodeableConcept.coding.code = '03') and extension.where(url = 'temporaryAssignement' and valueCodeableConcept.coding.code = '01'))" } ] } @@ -614,12 +725,18 @@ PATCH [BASE]/Location/XXX } ``` -#### [Bed Management] Scénario 9 : Remplacement de toutes les données capacitaires draft +#### [Bed Management] Scénario 9 : Remplacement de toutes les données capacitaires deprecated *Ce scenario cible les éditeurs de solutions de bedmanagement.* +

+Avertissement: Ce scénario est déprécié et ne doit pas être utilisé car il est préférable de mettre à jour les données capacitaires unitairement comme présenté dans les scénarios 2 et 2bis. +

+ **Description du scénario :** Un établissement remplace toutes les données capacitaires (les anciennes données sont écrasées par les nouvelles). + + **Exemple :** From ba43c9f10a5dffafaacc9f9808000cbbafde4b5b Mon Sep 17 00:00:00 2001 From: sdemeyANS Date: Thu, 24 Jul 2025 12:11:42 +0200 Subject: [PATCH 2/6] Update specifications_techniques_10.md --- input/pagecontent/specifications_techniques_10.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/input/pagecontent/specifications_techniques_10.md b/input/pagecontent/specifications_techniques_10.md index 513a5db3ac4..8a6363c7d57 100644 --- a/input/pagecontent/specifications_techniques_10.md +++ b/input/pagecontent/specifications_techniques_10.md @@ -71,6 +71,13 @@ Si la mise à jour échoue, le serveur doit répondre : ### Exemple de requêtes +
+

+N.B.: Les exemples de ressources utilisés dans ces exemples de requêtes sont fictifs. +
Ces ressources ne sont pas validées par le guide d'implémentation et sont donc sujettes aux erreurs. Pour l'implémentation il faut se baser sur les profils. +

+
+ #### [spécifique serveur] Scénario 1 : Ajout d'un lieu de réalisation de l'offre draft *Cette requête ne pourra être exécutée que par le serveur.* @@ -81,8 +88,6 @@ Si la mise à jour échoue, le serveur doit répondre : - Création du nouveau lieu de réalisation de l'offre -N.B.: Exemple de ressource fictif pour illustration, ces ressources ne sont pas validées par le guide d'implémentation et sont donc sujettes aux erreurs. Pour l'implémentation se baser sur les profils. - ```json POST [BASE]/Location { From 6a0ef5f493b72db7401d1a8f457b50883bcc8a59 Mon Sep 17 00:00:00 2001 From: sga-esante <168082709+sga-esante@users.noreply.github.com> Date: Mon, 28 Jul 2025 10:50:07 +0200 Subject: [PATCH 3/6] Update input/pagecontent/specifications_techniques_10.md Co-authored-by: Nicolas Riss <48218773+nriss@users.noreply.github.com> --- input/pagecontent/specifications_techniques_10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/pagecontent/specifications_techniques_10.md b/input/pagecontent/specifications_techniques_10.md index 8a6363c7d57..3157792e815 100644 --- a/input/pagecontent/specifications_techniques_10.md +++ b/input/pagecontent/specifications_techniques_10.md @@ -199,7 +199,7 @@ PATCH [BASE]/HealthcareService/XXX #### [BED MANAGEMENT] Scénario 2 : Ajout d'une capacité de prise en charge -*Ce scenario cible les éditeurs de solutions de bedmanagement.* +*Ce scénario cible les éditeurs de solutions de bedmanagement.* **Description du scénario :** Un établissement (via bed management, \...) ajoute dans un lieu de réalisation de l\'offre déjà existant, dont l'identifier:idExterneSynchro est XXX, des données capacitaires pour une affectation non temporaire, 2 places disponibles (sexe indifférencié), à t0. From 0504f75e7e26214028722b4f264cd74c4481bbcb Mon Sep 17 00:00:00 2001 From: sga-esante <168082709+sga-esante@users.noreply.github.com> Date: Mon, 28 Jul 2025 17:35:22 +0200 Subject: [PATCH 4/6] Update specifications_techniques_10.md --- input/pagecontent/specifications_techniques_10.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/input/pagecontent/specifications_techniques_10.md b/input/pagecontent/specifications_techniques_10.md index 3157792e815..d004d2c4494 100644 --- a/input/pagecontent/specifications_techniques_10.md +++ b/input/pagecontent/specifications_techniques_10.md @@ -75,6 +75,11 @@ Si la mise à jour échoue, le serveur doit répondre :

N.B.: Les exemples de ressources utilisés dans ces exemples de requêtes sont fictifs.
Ces ressources ne sont pas validées par le guide d'implémentation et sont donc sujettes aux erreurs. Pour l'implémentation il faut se baser sur les profils. +

+Pour les requêtes PATCH, il est conseillé de bien prendre connaissance de la documentation FHIR avant de les implémenter (https://hl7.org/fhir/R4/http.html#patch et https://hl7.org/fhir/R4/fhirpatch.html) +

+Piste pour une implémentation future dans le ROR: La gestion des accès concurrentiels pourrait être améliorée en utilisant la combinaison de ETag et If-Match (https://hl7.org/fhir/R4/http.html#concurrency) +https://hl7.org/fhir/R4/fhirpatch.html

@@ -1311,4 +1316,4 @@ PATCH [BASE]/Location?identifier=YYY } ] } -``` \ No newline at end of file +``` From c65aed49641abb2707656baa92af862684897b9c Mon Sep 17 00:00:00 2001 From: sga-esante <168082709+sga-esante@users.noreply.github.com> Date: Mon, 28 Jul 2025 17:37:03 +0200 Subject: [PATCH 5/6] Update specifications_techniques_10.md --- input/pagecontent/specifications_techniques_10.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/input/pagecontent/specifications_techniques_10.md b/input/pagecontent/specifications_techniques_10.md index d004d2c4494..bd0cf329c2d 100644 --- a/input/pagecontent/specifications_techniques_10.md +++ b/input/pagecontent/specifications_techniques_10.md @@ -78,8 +78,7 @@ N.B.: Les exemples de ressources utilisés dans ces exemples de requêtes sont f

Pour les requêtes PATCH, il est conseillé de bien prendre connaissance de la documentation FHIR avant de les implémenter (https://hl7.org/fhir/R4/http.html#patch et https://hl7.org/fhir/R4/fhirpatch.html)

-Piste pour une implémentation future dans le ROR: La gestion des accès concurrentiels pourrait être améliorée en utilisant la combinaison de ETag et If-Match (https://hl7.org/fhir/R4/http.html#concurrency) -https://hl7.org/fhir/R4/fhirpatch.html +Piste pour une implémentation future dans le ROR: La gestion des accès concurrentiels pourrait être améliorée en utilisant la combinaison de ETag et If-Match (https://hl7.org/fhir/R4/http.html#concurrency)

From 6c7fc017bf81a161c66c4c81468c4d7406b694b1 Mon Sep 17 00:00:00 2001 From: sga-esante <168082709+sga-esante@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:03:10 +0200 Subject: [PATCH 6/6] Update specifications_techniques_10.md --- input/pagecontent/specifications_techniques_10.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/input/pagecontent/specifications_techniques_10.md b/input/pagecontent/specifications_techniques_10.md index bd0cf329c2d..b6539839a61 100644 --- a/input/pagecontent/specifications_techniques_10.md +++ b/input/pagecontent/specifications_techniques_10.md @@ -73,12 +73,12 @@ Si la mise à jour échoue, le serveur doit répondre :

-N.B.: Les exemples de ressources utilisés dans ces exemples de requêtes sont fictifs. +Les exemples de ressources utilisés dans ces exemples de requêtes sont fictifs.
Ces ressources ne sont pas validées par le guide d'implémentation et sont donc sujettes aux erreurs. Pour l'implémentation il faut se baser sur les profils.

Pour les requêtes PATCH, il est conseillé de bien prendre connaissance de la documentation FHIR avant de les implémenter (https://hl7.org/fhir/R4/http.html#patch et https://hl7.org/fhir/R4/fhirpatch.html)

-Piste pour une implémentation future dans le ROR: La gestion des accès concurrentiels pourrait être améliorée en utilisant la combinaison de ETag et If-Match (https://hl7.org/fhir/R4/http.html#concurrency) +Piste pour une implémentation future dans le ROR: la gestion des accès concurrentiels pourrait être améliorée en utilisant la combinaison de ETag et If-Match (https://hl7.org/fhir/R4/http.html#concurrency)