FHIR-Ressourcen mit POST durchsuchen - AWS HealthLake

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

FHIR-Ressourcen mit POST durchsuchen

Sie können die searchFHIR-Interaktion mit POST Anfragen verwenden, um einen HealthLake Datenspeicher zu durchsuchen. Bei der Verwendung POST werden Suchparameter entweder in der URL oder in einem Anfragetext HealthLake unterstützt, Sie können jedoch nicht beide in einer einzigen Anfrage verwenden.

Wichtig

Bei Suchanfragen, die personenbezogene Daten (PII) oder geschützte Gesundheitsinformationen (PHI) beinhalten, empfehlen bewährte Sicherheitsverfahren die Verwendung von POST Anfragen, da PII und PHI als Teil des Anfragetextes hinzugefügt und bei der Übertragung verschlüsselt werden.

Auf das folgende Verfahren folgen Beispiele, bei denen die search Interaktion mit FHIR R4 POST zum Durchsuchen eines Datenspeichers verwendet wird. HealthLake Die Beispiele zeigen, wie Suchparameter im JSON-Anforderungstext angegeben werden.

Um einen HealthLake Datenspeicher zu durchsuchen mit POST

  1. Sammeln HealthLake region und datastoreId Werte. Weitere Informationen finden Sie unter Eigenschaften des Datenspeichers abrufen.

  2. Ermitteln Sie den Typ der FHIR-Ressource, nach der gesucht werden soll, und erfassen Sie den zugehörigen id Wert. Weitere Informationen finden Sie unter Ressourcentypen.

  3. Konstruieren Sie mithilfe der gesammelten Werte für HealthLake region und datastoreId eine URL für die Anfrage. Geben Sie auch den Resource FHIR-Typ und die _search Interaktion an. Scrollen Sie über die Schaltfläche Kopieren, um den gesamten URL-Pfad im folgenden Beispiel anzuzeigen.

    POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/_search
  4. Konstruieren Sie einen JSON-Hauptteil für die Anfrage und geben Sie die FHIR-Daten an, nach denen gesucht werden soll. Für dieses Verfahren suchen Sie nach Observation Ressourcen, um Patienten zu finden, die noch nie geraucht haben. Um den Status des medizinischen Codes anzugebenNever smoker, legen Sie ihn value-concept=266919005 im JSON-Anforderungstext fest. Speichern Sie die Datei als search-observation.json.

    value-concept=266919005
  5. Senden Sie die Anforderung . Die search FHIR-Interaktion verwendet die GET Anfrage entweder mit AWS Signature Version 4 oder SMART bei der FHIR-Autorisierung.

    Anmerkung

    Wenn POST Sie eine Anfrage mit Suchparametern im Anfragetext stellen, verwenden Sie diese Option Content-Type: application/x-www-form-urlencoded als Teil des Headers.

    Im folgenden curl Beispiel wird eine POST-basierte Suchanfrage für den Observation Ressourcentyp gestellt. Die Anfrage verwendet den value-conceptSuchparameter, um nach medizinischem Code zu suchen, der einen Wert 266919005 Never smoker angibt. Scrollen Sie über die Schaltfläche Kopieren, um das gesamte Beispiel anzuzeigen.

    SigV4

    SigV4-Autorisierung

    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

    Beispiel für die SMART-on-FHIR-Autorisierung für den IdentityProviderConfigurationDatentyp.

    { "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\"]}" }

    Der Anrufer kann im Autorisierungs-Lambda Berechtigungen zuweisen. Weitere Informationen finden Sie unter OAuth 2.0-Bereiche.

Beispiele: Suche mit POST

Die folgenden Registerkarten enthalten Beispiele für die Suche nach bestimmten FHIR-Ressourcentypen mit. POST Die Beispiele zeigen, wie Sie eine Anfrage in der URLs spezifizieren.

Anmerkung

Die HealthLake Konsole unterstützt nur die SigV4-Autorisierung. Die SMART-on-FHIR-Autorisierung wird über AWS CLI und unterstützt. AWS SDKs

HealthLake unterstützt eine Teilmenge der FHIR R4-Suchparameter. Weitere Informationen finden Sie unter Suchparameter.

Patient (age)

Obwohl das Alter in FHIR kein definierter Ressourcentyp ist, wird es als Element im Ressourcentyp erfasst. Patient Verwenden Sie das folgende Beispiel, um eine POST basierte Suchanfrage für den Patient Ressourcentyp zu stellen. Im folgenden Suchbeispiel wird der eq Suchkomparator verwendet, um nach Personen zu suchen, die 1997 geboren wurden.

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

Um das Jahr 1997 in der Suche anzugeben, fügen Sie dem Anfragetext das folgende Element hinzu.

birthdate=eq1997
Condition

Verwenden Sie Folgendes, um eine POST Anfrage für den Condition Ressourcentyp zu stellen. Bei dieser Suche werden Stellen in Ihrem HealthLake Datenspeicher gefunden, die den medizinischen Code enthalten72892002.

Sie müssen eine Anfrage-URL und einen Anfragetext angeben. Hier ist ein Beispiel für eine Anfrage-URL.

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

Um den medizinischen Code anzugeben, den Sie durchsuchen möchten, fügen Sie dem Anfragetext das folgende JSON-Element hinzu.

code=72892002
DocumentReference

Um die Ergebnisse der HealthLake integrierten Verarbeitung natürlicher Sprache (NLP) zu sehen, wenn Sie eine POST Anfrage für den DocumentReference Ressourcentyp stellen, formatieren Sie eine Anfrage wie folgt.

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

Informationen zur Angabe der DocumentReference Suchparameter, auf die verwiesen werden soll, finden Sie unterSuchparametertypen. Die folgende Abfragezeichenfolge verwendet mehrere Suchparameter für die Suche nach Amazon Comprehend Medical API-Operationen, die zur Generierung der integrierten NLP-Ergebnisse verwendet werden.

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

Verwenden Sie das folgende Beispiel, um eine POST Anfrage für den Ressourcentyp zu stellen. Location Bei der Suche werden Standorte in Ihrem HealthLake Datenspeicher gefunden, die den Stadtnamen Boston als Teil der Adresse enthalten.

Sie müssen eine Anfrage-URL und einen Anfragetext angeben. Hier ist ein Beispiel für eine Anfrage-URL.

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

Um dies Boston in der Suche zu spezifizieren, fügen Sie dem Anfragetext das folgende Element hinzu:

address=Boston
Observation

Verwenden Sie das folgende Beispiel, um eine POST basierte Suchanfrage für den Observation Ressourcentyp zu stellen. Die Suche verwendet den value-concept Suchparameter, um nach medizinischem Code zu suchen, der 266919005 darauf hinweistNever smoker.

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

Um den Status anzugebenNever smoker, der value-concept=266919005 im Hauptteil der JSON-Datei festgelegt wird.

value-concept=266919005