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'searchsearchinteraction 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 search
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.
| 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.
| 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. |
|
|
Date/ DateTime |
Recherche une date ou une heure spécifique. Le format attendu est Accepte les types de données suivants : Les préfixes de comparaison sont autorisés. |
|
|
Chaîne |
Recherche une séquence de caractères en distinguant majuscules et minuscules. Supporte La recherche avancée est prise en charge à l'aide de |
|
|
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é, |
|
|
Composite |
Recherche plusieurs paramètres au sein d'un même type de ressource à l'aide des modificateurs Les préfixes de comparaison sont autorisés. |
|
|
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é Utilise la syntaxe supposée suivante |
|
|
Référence |
Recherche des références à d'autres ressources. |
|
|
URI |
Recherche une chaîne de caractères identifiant sans ambiguïté une ressource particulière. |
|
|
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= |
|
_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.
| 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.
|
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
| 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 |