Paramètres de recherche FHIR R4 pour HealthLake - AWS HealthLake

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Paramètres de recherche FHIR R4 pour HealthLake

Utilisez l'searchinteraction FHIR pour rechercher un ensemble de ressources FHIR dans un magasin de HealthLake données en fonction de certains critères de filtrage. L'searchinteraction peut être effectuée à l'aide d'une POST demande GET ou. Pour les recherches impliquant des informations personnelles identifiables (PII) ou des informations de santé protégées (PHI), il est recommandé d'utiliser des POST demandes, car les informations personnelles et les PHI sont ajoutées dans le corps de la demande et sont cryptées pendant le transfert.

Note

L'searchinteraction FHIR décrite dans ce chapitre est construite conformément à la norme HL7 FHIR R4 pour l'échange de données sur les soins de santé. Comme il s'agit d'une représentation d'un service HL7 FHIR, il n'est pas proposé par le biais de AWS CLI et AWS SDKs. Pour plus d'informations, consultez la searchdocumentation de l' RESTful API FHIR R4.

Vous pouvez également interroger les banques de HealthLake données avec SQL à l'aide d'Amazon Athena. Pour plus d'informations, consultez la section Intégration.

HealthLake prend en charge le sous-ensemble suivant de paramètres de recherche FHIR R4. Pour de plus amples informations, veuillez consulter Paramètres de recherche FHIR R4 pour HealthLake.

Types de paramètres de recherche pris en charge

Le tableau suivant indique les types de paramètres de recherche pris en charge dans HealthLake.

Types de paramètres de recherche pris en charge
Paramètre de recherche Description
_identifiant ID de ressource (il ne s'agit pas d'une URL complète)
_Dernière mise à jour Date de dernière mise à jour. Le serveur a le pouvoir discrétionnaire de définir la précision des limites.
_tag Effectuez une recherche à l'aide d'une balise de ressource.
_profil Recherchez toutes les ressources associées à un profil.
_sécurité Effectuez une recherche sur les étiquettes de sécurité appliquées à cette ressource.
_source Recherchez d'où vient la ressource.
_texte Effectuez une recherche sur le récit de la ressource.
createdAt Recherchez sur l'extension personnalisée CreatedAt.
Note

Les paramètres de recherche suivants ne sont pris en charge que pour les banques de données créées après le 9 décembre 2023 : _security, _source, _text, CreateDat.

Le tableau suivant présente des exemples de modification des chaînes de requête en fonction des types de données spécifiés pour un type de ressource donné. Pour des raisons de clarté, les caractères spéciaux de la colonne des exemples n'ont pas été codés. Pour que la requête soit réussie, assurez-vous que la chaîne de requête a été correctement codée.

Exemples de paramètres de recherche
Types de paramètres de recherche Détails Exemples

Nombre

Recherche une valeur numérique dans une ressource spécifiée. Des chiffres significatifs sont observés. Le nombre de chiffres significatifs est défini par la valeur du paramètre de recherche, à l'exception des zéros en tête. Les préfixes de comparaison sont autorisés.

[parameter]=100

[parameter]=1e2

[parameter]=lt100

Date/ DateTime

Recherche une date ou une heure spécifique. Le format attendu est yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm] mais peut varier.

Accepte les types de données suivants : datedateTime,instant,Period, etTiming. Pour plus de détails sur l'utilisation de ces types de données dans les recherches, consultez la date dans la documentation de l' RESTful API FHIR R4.

Les préfixes de comparaison sont autorisés.

[parameter]=eq2013-01-14

[parameter]=gt2013-01-14T10:00

[parameter]=ne2013-01-14

Chaîne

Recherche une séquence de caractères en distinguant majuscules et minuscules.

Supporte HumanName les deux Address types. Pour plus de détails, consultez la saisie du type de HumanName données et les entrées du type de Address données dans la documentation FHIR R4.

La recherche avancée est prise en charge à l'aide de :text modificateurs.

[base]/Patient?given=eve

[base]/Patient?given:contains=eve

Jeton

Recherche une close-to-exact correspondance par rapport à une chaîne de caractères, souvent comparée à une paire de valeurs de code médical.

La distinction majuscules/minuscules est liée au système de code utilisé lors de la création d'une requête. Les requêtes basées sur les subsumptions peuvent aider à réduire les problèmes liés à la distinction majuscules/minuscules. Pour plus de clarté, | il n'a pas été encodé.

[parameter]=[system]|[code]: Ici, il [system] fait référence à un système de codage et [code] à une valeur de code trouvée dans ce système spécifique.

[parameter]=[code]: Ici, votre saisie correspondra soit à un code, soit à un système.

[parameter]=|[code]: Ici, votre entrée correspondra à un code, et la propriété du système n'a aucun identifiant.

Composite

Recherche plusieurs paramètres au sein d'un même type de ressource à l'aide des modificateurs $ et de l',opération.

Les préfixes de comparaison sont autorisés.

/Patient?language=FR,NL&language=EN

Observation?component-code-value-quantity=http://loinc.org|8480-6$lt60

[base]/Group?characteristic-value=gender$mixed

Quantité

Recherche un nombre, un système et un code sous forme de valeurs. Un numéro est requis, mais le système et le code sont facultatifs. Basé sur le type de données de quantité. Pour plus de détails, consultez la section Quantité dans la documentation du FHIR R4.

Utilise la syntaxe supposée suivante [parameter]=[prefix][number]|[system]|[code]

[base]/Observation?value-quantity=5.4|http://unitsofmeasure.org|mg

[base]/Observation?value-quantity=5.4|http://unitsofmeasure.org|mg

[base]/Observation?value-quantity=5.4|http://unitsofmeasure.org|mg

[base]/Observation?value-quantity=le5.4|http://unitsofmeasure.org|mg

Référence

Recherche des références à d'autres ressources.

[base]/Observation?subject=Patient/23

test

URI

Recherche une chaîne de caractères identifiant sans ambiguïté une ressource particulière.

[base]/ValueSet?url=http://acme.org/fhir/ValueSet/123

Spécial

Recherches basées sur des extensions de PNL médicale intégrées.

Paramètres de recherche avancés pris en charge par HealthLake

HealthLake prend en charge les paramètres de recherche avancée suivants.

Nom Description Exemple Capacité
_include Utilisé pour demander que des ressources supplémentaires soient renvoyées dans une demande de recherche. Elle renvoie les ressources référencées par l'instance de ressource cible. Encounter?_include=Encounter:subject
_revinclude Utilisé pour demander que des ressources supplémentaires soient renvoyées dans une demande de recherche. Elle renvoie des ressources qui font référence à l'instance de ressource principale. Patient?_id=patient-identifier&_revinclude=Encounter:patient
_summary Le résumé peut être utilisé pour demander un sous-ensemble de la ressource. Patient?_summary=text Les paramètres récapitulatifs suivants sont pris en charge : _summary=true_summary=false,,_summary=text,_summary=data.
_elements Demandez qu'un ensemble spécifique d'éléments soit renvoyé dans le cadre d'une ressource dans les résultats de recherche. Patient?_elements=identifier,active,link
_total Renvoie le nombre de ressources correspondant aux paramètres de recherche. Patient?_total=accurate Support_total=accurate,_total=none.
_sort Indiquez l'ordre de tri des résultats de recherche renvoyés à l'aide d'une liste séparée par des virgules. Le - préfixe peut être utilisé pour n'importe quelle règle de tri de la liste séparée par des virgules afin d'indiquer l'ordre décroissant. Observation?_sort=status,-date Support : tri par champs avec typesNumber, String, Quantity, Token, URI, Reference. Le tri par n'Dateest pris en charge que pour les magasins de données créés après le 9 décembre 2023. Support jusqu'à 5 règles de tri.
_count Contrôlez le nombre de ressources renvoyées par page du bundle de recherche. Patient?_count=100 La taille de page maximale est de 100.
chaining Éléments de recherche des ressources référencées. .Dirige la recherche en chaîne vers l'élément de la ressource référencée. DiagnosticReport?subject:Patient.name=peter
reverse chaining (_has) Recherchez une ressource en fonction des éléments des ressources qui y font référence. Patient?_has:Observation:patient:code=1234-5

_include

L'utilisation _include dans une requête de recherche permet de renvoyer également des ressources FHIR spécifiées supplémentaires. _includeÀ utiliser pour inclure des ressources liées vers le bas.

Exemple — À utiliser _include pour retrouver les patients ou le groupe de patients chez lesquels une toux a été diagnostiquée

Vous devez effectuer une recherche sur le type de Condition ressource en spécifiant le code de diagnostic de la toux, puis en utilisant « _include Spécifier que vous souhaitez que le subject diagnostic soit également renvoyé ». Dans le type de Condition ressource, on subject entend soit le type de ressource du patient, soit le type de ressource du groupe.

Pour des raisons de clarté, les caractères spéciaux de l'exemple n'ont pas été codés. Pour réussir une requête, assurez-vous que la chaîne de requête a été correctement encodée.

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/ Condition?code=49727002&_include=Condition:subject

_revinclude

L'utilisation _revinclude dans une requête de recherche permet de renvoyer également des ressources FHIR spécifiées supplémentaires. _revincludeÀ utiliser pour inclure des ressources liées à l'envers.

Exemple — À utiliser _revinclude pour inclure des types de ressources de rencontre et d'observation connexes liés à un patient spécifique

Pour effectuer cette recherche, vous devez d'abord définir l'individu Patient en spécifiant son identifiant dans le paramètre _id de recherche. Ensuite, vous devez spécifier des ressources FHIR supplémentaires à l'aide de la structure Encounter:patient etObservation:patient.

Pour des raisons de clarté, les caractères spéciaux de l'exemple n'ont pas été codés. Pour réussir une requête, assurez-vous que la chaîne de requête a été correctement encodée.

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/ Patient?_id=patient-identifier&_revinclude=Encounter:patient&_revinclude=Observation:patient

_summary

L'utilisation _summary dans une requête de recherche permet à l'utilisateur de demander un sous-ensemble de la ressource FHIR. Il peut contenir l'une des valeurs suivantes : true, text, data, false Toutes les autres valeurs seront considérées comme non valides. Les ressources renvoyées seront marquées 'SUBSETTED' dans le méta.tag, pour indiquer que les ressources sont incomplètes.

  • true: renvoie tous les éléments pris en charge marqués comme « résumé » dans la définition de base de la ou des ressources.

  • text: Renvoie uniquement les éléments « text », « id », « méta » et uniquement les éléments obligatoires de haut niveau.

  • data: Renvoie toutes les parties sauf l'élément « texte ».

  • false: renvoie toutes les parties de la ou des ressources

Dans une seule demande de recherche, il _summary=text ne peut pas être combiné avec _include des paramètres _revinclude de recherche.

Exemple — Récupère l'élément « texte » des ressources destinées aux patients dans un magasin de données.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_summary=text

_elements

L'utilisation _elements dans une requête de recherche permet de demander des éléments de ressources FHIR spécifiques. Les ressources renvoyées seront marquées 'SUBSETTED' dans le méta.tag, pour indiquer que les ressources sont incomplètes.

Le _elements paramètre consiste en une liste de noms d'éléments de base séparés par des virgules, tels que les éléments définis au niveau racine de la ressource. Seuls les éléments listés doivent être renvoyés. Si les valeurs des _elements paramètres contiennent des éléments non valides, le serveur les ignorera et renverra des éléments obligatoires et des éléments valides.

_elementsne sera pas applicable aux ressources incluses (ressources renvoyées dont le mode de recherche estinclude).

Dans une seule demande de recherche, il _elements ne peut pas être combiné avec les paramètres _summary de recherche.

Exemple — Obtenez les éléments « identifiant », « actif », « lien » des ressources destinées aux patients dans votre banque de HealthLake données.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_elements=identifier,active,link

_total

L'utilisation _total dans une requête de recherche renverra le nombre de ressources correspondant aux paramètres de recherche demandés. HealthLake renverra le nombre total de ressources correspondantes (ressources renvoyées dont le mode de recherche estmatch) dans la réponse Bundle.total de recherche.

_totalprend en charge accurate les valeurs des none paramètres. _total=estimaten'est pas pris en charge. Toutes les autres valeurs seront considérées comme non valides. _totaln'est pas applicable aux ressources incluses (ressources renvoyées dont le mode de recherche estinclude).

Exemple — Obtenez le nombre total de ressources pour les patients dans un magasin de données :
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_total=accurate

_sort

L'utilisation _sort dans la requête de recherche organise les résultats dans un ordre spécifique. Les résultats sont classés par ordre de priorité en fonction de la liste des règles de tri séparées par des virgules. Les règles de tri doivent être des paramètres de recherche valides. Toutes les autres valeurs seront considérées comme non valides.

Dans une seule demande de recherche, vous pouvez utiliser jusqu'à 5 paramètres de recherche de tri. Vous pouvez éventuellement utiliser un - préfixe pour indiquer l'ordre décroissant. Le serveur triera par ordre croissant par défaut.

Les types de paramètres de recherche de tri pris en charge sont les suivants :Number, String, Date, Quantity, Token, URI, Reference. Si un paramètre de recherche fait référence à un élément imbriqué, il n'est pas pris en charge pour le tri. Par exemple, une recherche sur le « nom » du type de ressource Patient fait référence à l'élément Patient.Name dont le type de HumanName données est considéré comme imbriqué. Par conséquent, le tri des ressources pour les patients par « nom » n'est pas pris en charge.

Exemple — Accédez aux ressources des patients dans un magasin de données et triez-les par date de naissance dans l'ordre croissant :
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_sort=birthdate

_count

Le paramètre _count est défini comme une instruction adressée au serveur concernant le nombre de ressources à renvoyer sur une seule page.

La taille de page maximale est de 100. Toute valeur supérieure à 100 n'est pas valide. _count=0n'est pas pris en charge.

Exemple — Recherchez la ressource Patient et définissez la taille de la page de recherche sur 25 :
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_count=25

Chaining and Reverse Chaining(_has)

Le chaînage et le chaînage inversé dans FHIR constituent un moyen plus efficace et plus compact d'obtenir des données interconnectées, réduisant ainsi le besoin de plusieurs requêtes distinctes et rendant la récupération de données plus pratique pour les développeurs et les utilisateurs.

Si un niveau de récursivité renvoie plus de 100 résultats, il HealthLake renverra 4xx pour éviter que le magasin de données ne soit surchargé et ne provoque des paginations multiples.

Exemple — Chainage - Obtient tout DiagnosticReport ce qui fait référence à un patient dont le nom du patient est Peter.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/DiagnosticReport?subject:Patient.name=peter
Exemple — Chainage inversé - Accédez aux ressources du patient, où la ressource du patient est référencée par au moins une observation dont le code de l'observation est 1234, et où l'observation fait référence à la ressource du patient dans le paramètre de recherche du patient.

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_has:Observation:patient:code=1234

Modificateurs de recherche pris en charge

Les modificateurs de recherche sont utilisés avec les champs basés sur des chaînes. Tous les modificateurs de recherche HealthLake utilisés utilisent une logique booléenne. Par exemple, vous pouvez :contains spécifier qu'un champ de chaîne plus grand doit inclure une petite chaîne pour qu'il soit inclus dans les résultats de recherche.

Modificateurs de recherche pris en charge
Modificateur de recherche Type
:manquant Tous les paramètres sauf Composite
:exact Chaîne
:contient Chaîne
:non Jeton
:texte Jeton
:identifiant Référence
:ci-dessous URI

Comparateurs de recherche pris en charge

Vous pouvez utiliser des comparateurs de recherche pour contrôler la nature de la correspondance lors d'une recherche. Vous pouvez utiliser des comparateurs lorsque vous effectuez une recherche dans les champs de numéro, de date et de quantité. Le tableau suivant répertorie les comparateurs de recherche et leurs définitions pris en charge par HealthLake.

Comparateurs de recherche pris en charge

Comparateur de recherche

Description

eq La valeur du paramètre dans la ressource est égale à la valeur fournie.
ne La valeur du paramètre dans la ressource n'est pas égale à la valeur fournie.
gt La valeur du paramètre dans la ressource est supérieure à la valeur fournie.
lt La valeur du paramètre dans la ressource est inférieure à la valeur fournie.
gm La valeur du paramètre dans la ressource est supérieure ou égale à la valeur fournie.
le La valeur du paramètre dans la ressource est inférieure ou égale à la valeur fournie.
sa La valeur du paramètre dans la ressource commence après la valeur fournie.
eb La valeur du paramètre dans la ressource se termine avant la valeur fournie.

Les paramètres de recherche FHIR ne sont pas pris en charge par HealthLake

HealthLake prend en charge tous les paramètres de recherche FHIR à l'exception de ceux répertoriés dans le tableau suivant. Pour une liste complète des paramètres de recherche FHIR, consultez le registre des paramètres de recherche FHIR.

Paramètres de recherche non pris en charge
Composition du bundle Lieu : à proximité
Identifiant du bundle C onsent-source-reference
Message groupé Patient sous contrat
Type d'offre groupée Contenu des ressources
Horodatage du bundle Requête de ressources