La recherche par date supporte les préfixes suivants:
Préfix
Nom
Description
eq
equal
La valeur du paramètre dans la ressource est égale à la valeur saisie
ne
not equal
La valeur du paramètre dans la ressource n’est pas égale à la valeur saisie
gt
greater
La valeur du paramètre dans la ressource est supérieure à la valeur saisie
lt
less
La valeur du paramètre dans la ressource est inférieure à la valeur saisie
ge
greater or equal
La valeur du paramètre dans la ressource est supérieure ou égale à la valeur saisie
le
less or equal
La valeur du paramètre dans la ressource est inférieure ou égale à la valeur saisie
sa
starts after
La valeur du paramètre dans la ressource démarre après la valeur saisie
eb
ends before
La valeur du paramètre dans la ressource termine avant la valeur saisie
ap
approximately
La valeur du paramètre dans la ressource est approximativement la même que la valeur fournie. Il est à noter que la valeur recommandée pour l’approximation est de 10% de la valeur indiquée
Plus d’informations sur les [dates] (https://build.fhir.org/search.html#date)
Plusiseurs “précisions” sont supportées : yyyy par année, yyyy-MM-dd par jour, et par date complète.
Quelques exemples :
_lastUpdated=gt2020 : après 2020
_lastUpdated=ge2020 : 2020 et après (2020 inclus)
_lastUpdated=lt2022-12-15 : avant le 15 décembre 2022 exclus
_lastUpdated=lt2022-12-15T15:00:00 : avant le 15 décembre 2022 15h (GMT)
_lastUpdated=eq2021 : durant l’année 2021
Requête :
GET [base]/Organization?_lastUpdated=ge2022-08-05T14%3A51%3A04
Réponse (simplifiée) :
HTTP 200 OK
resourceType: Bundle
type: searchset
Organization found: id=org-148 lastUpdate=Fri Aug 05 14:51:03 CEST 2022
Organization found: id=org-149 lastUpdate=Fri Aug 05 14:51:03 CEST 2022
Organization found: id=org-144 lastUpdate=Fri Aug 05 14:51:03 CEST 2022
Organization found: id=org-386 lastUpdate=Fri Aug 05 14:51:03 CEST 2022
Organization found: id=org-145 lastUpdate=Fri Aug 05 14:51:03 CEST 2022
Cette partie de la spécification est en cours de construction.
7) Paramètres combinés
Les paramètres combinés permettent d’effectuer des recherches en les cumulant.
Ce cumul se fait de manière inclusive ou alternative.
7.1) Paramètres ET (AND)
Requête :
GET [base]/Organization?name%3Acontains=Renard&name%3Acontains=et
Réponse (simplifiée) :
HTTP 200 OK
resourceType: Bundle
type: searchset
Organization found: id=org-148 | name=Renard et Renard
Organization found: id=org-176 | name=Renard et Renard
Organization found: id=org-128 | name=Renard et Renard
Exemples de code:
7.2) Paramètres OU (OR)
Requête :
GET [base]/Organization?name%3Acontains=Renard%2Cet
Réponse (simplifiée) :
HTTP 200 OK
resourceType: Bundle
type: searchset
Organization found: id=org-148 | name=Renard et Renard
Organization found: id=org-386 | name=Lopez et Lopez
Organization found: id=org-145 | name=Maillard et Maillard
Exemples de code:
8) Paramètres des résultats de la recherche
Il s’agit d’un ensemble de paramètres permettant de gérer les résultats retournés par une recherche.
Vous trouverez ci-dessous la liste des paramètres de résultats de recherche pris en charge dans notre contexte.
Il permet de contrôler le nombre maximal de ressources retournées sur une page lorsqu’une réponse de l’API est paginée. Par exemple, _count=10 renvoie un maximum de 10 ressources. La valeur par défaut est 50.
Comme son nom l’indique, ce paramètre indique le nombre total d’éléments (ressources) qui correspondent aux critères de recherche.
Ce paramètre peut prendre 3 valeurs : none, estimate ou accurate.
none : le total n’est pas affiché
estimate : le total affiché est une estimation
accurate : le total affiché est précis
Cet exemple montre comment utiliser le paramètre _total=none pour ne pas afficher le total :
Requête:
GET [base]/Device?_total=none
Par défaut, l’affichage (ou pas) du total dépend principalement du temps nécessaire à son calcul. Ainsi, si le temps de calcul est trop important, le total ne sera pas inclus dans la réponse.
Dans la majorité des cas, le total est affiché sauf dans certains cas particuliers, comme les recherches textuelles (champs de type string) sur de gros volumes de données. Par exemple, rechercher tous les PractitionerRole ayant un nom d’exercice contenant « Martin ».
Le paramètre _include permet d’afficher dans le résultat les ressources mères liées à la ressource fille. La/Les ressource(s) mère(s) es/sont récupérée(s) à partir de la ressource fille.
Exemples:
GET [base]/PractitionerRole?_include=PractitionerRole:organization
Cette requête par exemple remonte les PractitionerRole ainsi que les Oganization auxquelles ils sont rattachés.
Le paramètre _revinclude permet d’afficher dans le résultat les ressources filles liées à la ressource mère. La/Les ressource(s) filles est/sont récupérée(s) à partir de la ressource mère.
Exemples:
GET [base]/Organization?_revinclude=Organization:partof
Cette requête par exemple remonte les Entités Géographiques (EG) et les Entités Juridiques (EJ) de rattachement.
Le paramètre _elements permet de préciser la liste d’attributs qui doit être retournée avec la ressource.
Exemples:
GET [base]/Practitioner?_elements=identifier,active
Dans la requête ci-dessus, la réponse retournée contiendra un lot de practitioner, mais chaque entrée n’inclura que les attributs identifier et active du practitioner.
A noter que la réponse contient également une meta.tag valeur de SUBSETTED pour indiquer que tous les attributs de la ressource ne sont pas inclus.
..."tag":[{"system":"http://terminology.hl7.org/CodeSystem/v3-ObservationValue","code":"SUBSETTED","display":"Resource encoded in summary mode"}]},"identifier":[{"use":"official","type":{"coding":[{"system":"http://interopsante.org/CodeSystem/v2-0203","code":"IDNPS"}]},"system":"urn:oid:1.2.250.1.71.4.2.1","value":"810000001916"},{"use":"official","type":{"coding":[{"system":"http://interopsante.org/CodeSystem/v2-0203","code":"RPPS"}]},"system":"http://rpps.fr","value":"10000001916"}],"active":true...
Code source des exemples
Vous retrouverez le code source de ces exemples sur notre repository git: