Recherche de ressources FHIR avec POST - 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.

Recherche de ressources FHIR avec POST

Vous pouvez utiliser l'searchinteraction FHIR avec les POST demandes de recherche dans un magasin de HealthLake données. Lors de l'utilisationPOST, HealthLake prend en charge les paramètres de recherche dans l'URL ou dans le corps d'une requête, mais vous ne pouvez pas utiliser les deux dans une seule demande.

Important

Pour les recherches impliquant des informations personnelles identifiables (PII) ou des informations de santé protégées (PHI), les meilleures pratiques de sécurité nécessitent l'utilisation de 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.

La procédure suivante est suivie d'exemples utilisant l'searchinteraction FHIR R4 avec POST pour rechercher un magasin de HealthLake données. Les exemples montrent comment spécifier les paramètres de recherche dans le corps de la requête JSON.

Pour effectuer une recherche dans un magasin de HealthLake données avec POST

  1. Collectez HealthLake region et datastoreId valorisez. Pour de plus amples informations, veuillez consulter Obtenir les propriétés du magasin de données.

  2. Déterminez le type de ressource FHIR à rechercher et collectez la id valeur associée. Pour de plus amples informations, veuillez consulter Types de ressource.

  3. Créez une URL pour la demande en utilisant les valeurs collectées pour HealthLake region etdatastoreId. Incluez également le Resource type de FHIR et _search l'interaction. Pour afficher le chemin complet de l'URL dans l'exemple suivant, faites défiler le curseur sur le bouton Copier.

    POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/_search
  4. Construisez un corps JSON pour la demande, en spécifiant les données FHIR à rechercher. Dans le cadre de cette procédure, vous allez rechercher Observation des ressources pour découvrir des patients qui n'ont jamais fumé. Pour spécifier le statut du code médicalNever smoker, définissez-le value-concept=266919005 dans le corps de la requête JSON. Enregistrez le fichier sous le nom search-observation.json.

    value-concept=266919005
  5. Envoyez la demande . L'searchinteraction FHIR utilise la GET demande avec AWS Signature Version 4 ou SMART sur autorisation FHIR.

    Note

    Lorsque vous faites une POST demande avec des paramètres de recherche dans le corps de la demande, Content-Type: application/x-www-form-urlencoded utilisez-les dans le cadre de l'en-tête.

    L'curlexemple suivant génère une demande de recherche basée sur le post sur le type de Observation ressource. La demande utilise le paramètre value-conceptde recherche pour rechercher un code médical 266919005 indiquant une valeurNever smoker. Pour afficher l'exemple dans son intégralité, faites défiler la souris sur le bouton Copier.

    SigV4

    Autorisation SigV4

    curl --request POST \ 'https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Observation/_search' \ --aws-sigv4 'aws:amz:region:healthlake' \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header "Content-Type: application/x-www-form-urlencoded" --header "Accept: application/json" --data @search-observation.json
    SMART on FHIR

    Exemple d'autorisation SMART sur FHIR pour le type de IdentityProviderConfigurationdonnées.

    { "AuthorizationStrategy": "SMART_ON_FHIR", "FineGrainedAuthorizationEnabled": true, "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name", "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\",\"permission-v2\"]}" }

    L'appelant peut attribuer des autorisations dans le lambda d'autorisation. Pour de plus amples informations, veuillez consulter OAuth Éscopes 2.0.

Exemples : recherche avec POST

Les onglets suivants fournissent des exemples de recherche sur des types de ressources FHIR spécifiques avecPOST. Les exemples montrent comment spécifier une demande dans le URLs.

Note

La HealthLake console prend uniquement en charge l'autorisation SigV4. L'autorisation SMART on FHIR est prise en charge via AWS CLI et AWS SDKs.

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

Patient (age)

Bien que l'âge ne soit pas un type de ressource défini dans le FHIR, il est capturé en tant qu'élément du type de Patientressource. Utilisez l'exemple suivant pour effectuer une demande de recherche POST basée sur le type de Patient ressource. L'exemple de recherche suivant utilise le comparateur eq de recherche pour rechercher des personnes nées en 1997.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/_search

Pour spécifier l'année 1997 dans la recherche, ajoutez l'élément suivant dans le corps de la demande.

birthdate=eq1997
Condition

Utilisez ce qui suit pour effectuer une POST demande sur le type de Condition ressource. Cette recherche permet de trouver les emplacements de votre banque de HealthLake données qui contiennent le code médical72892002.

Vous devez spécifier une URL de demande et un corps de demande. Voici un exemple d'URL de demande.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Condition/_search

Pour spécifier le code médical que vous souhaitez rechercher, ajoutez l'élément JSON suivant dans le corps de la requête.

code=72892002
DocumentReference

Pour voir les résultats du traitement HealthLake du langage naturel (NLP) intégré lorsque vous faites une POST demande sur le type de DocumentReference ressource, formatez la demande comme suit.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/DocumentReference/_search

Pour spécifier les paramètres DocumentReference de recherche à référencer, voirTypes de paramètres de recherche. La chaîne de requête suivante utilise plusieurs paramètres de recherche pour effectuer une recherche sur les opérations de l'API Amazon Comprehend Medical utilisées pour générer les résultats NLP intégrés.

_lastUpdated=le2021-12-19&infer-icd10cm-entity-text-concept-score;=streptococcal|0.6&infer-rxnorm-entity-text-concept-score=Amoxicillin|0.8
Location

Utilisez l'exemple suivant pour effectuer une POST demande sur le type de Location ressource. La recherche permet de trouver des emplacements dans votre banque de HealthLake données dont l'adresse contient le nom de la ville de Boston.

Vous devez spécifier une URL de demande et un corps de demande. Voici un exemple d'URL de demande.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Location/_search

Pour spécifier Boston dans la recherche, ajoutez l'élément suivant dans le corps de la requête :

address=Boston
Observation

Utilisez l'exemple suivant pour effectuer une demande de recherche POST basée sur le type de Observation ressource. La recherche utilise le paramètre value-concept de recherche pour rechercher le code médical, 266919005 qui indiqueNever smoker.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Observation/_search

Pour spécifier le statutNever smoker, définissez-le value-concept=266919005 dans le corps du JSON.

value-concept=266919005