POST를 사용하여 FHIR 리소스 검색 - AWS HealthLake

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

POST를 사용하여 FHIR 리소스 검색

FHIR search 상호 작용을 POST 요청과 함께 사용하여 HealthLake 데이터 스토어를 검색할 수 있습니다. POST를 사용하는 경우 HealthLake는 URL 또는 요청 본문에서 검색 파라미터를 지원하지만 단일 요청에서 둘 다 사용할 수는 없습니다.

중요

개인 식별 정보(PII) 또는 보호 대상 건강 정보(PHI)가 포함된 검색의 경우 PII 및 PHI가 POST 요청 본문의 일부로 추가되고 전송 중에 암호화되므로 보안 모범 사례는 요청을 사용하기 위해를 호출합니다.

다음 절차에는 FHIR R4 상호 search 작용을 사용하여 HealthLake 데이터 스토어POST를 검색하는 예제가 나와 있습니다. 이 예제에서는 JSON 요청 본문에서 검색 파라미터를 지정하는 방법을 보여줍니다.

를 사용하여 HealthLake 데이터 스토어를 검색하려면 POST

  1. HealthLake regiondatastoreId 값을 수집합니다. 자세한 내용은 데이터 스토어 속성 가져오기 단원을 참조하십시오.

  2. 연결된 id 값을 검색하고 수집할 FHIR 리소스 유형을 결정합니다. 자세한 내용은 리소스 유형 단원을 참조하십시오.

  3. HealthLake region 및에 대해 수집된 값을 사용하여 요청에 대한 URL을 구성합니다datastoreId. FHIR Resource 유형 및 _search 상호 작용도 포함합니다. 다음 예제에서 전체 URL 경로를 보려면 복사 버튼을 스크롤합니다.

    POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/_search
  4. 검색할 FHIR 데이터를 지정하여 요청에 대한 JSON 본문을 구성합니다. 이 절차의 목적상 Observation 리소스를 검색하여 담배를 피운 적이 없는 환자를 찾습니다. 의료 코드 상태를 지정하려면 JSON 요청 본문value-concept=266919005에서를 Never smoker설정합니다. 파일을 search-observation.json(으)로 저장합니다.

    value-concept=266919005
  5. 요청을 보냅니다. FHIR search 상호 작용은 FHIR 권한 부여에서 AWS 서명 버전 4 또는 SMART와 함께 GET 요청을 사용합니다.

    참고

    POST 요청 본문에 검색 파라미터를 사용하여 요청할 때는를 헤더의 Content-Type: application/x-www-form-urlencoded 일부로 사용합니다.

    다음 curl 예제에서는 Observation 리소스 유형에 대한 POST 기반 검색 요청을 수행합니다. 요청은 value-concept 검색 파라미터를 사용하여 값을 266919005 나타내는 의료 코드를 찾습니다Never smoker. 전체 예제를 보려면 복사 버튼을 스크롤합니다.

    SigV4

    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

    IdentityProviderConfiguration 데이터 형식에 대한 SMART on FHIR 권한 부여 예제입니다.

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

    호출자는 권한 부여 Lambda에 권한을 할당할 수 있습니다. 자세한 내용은 OAuth 2.0 범위 단원을 참조하십시오.

예: POST로 검색

다음 탭은를 사용하여 특정 FHIR 리소스 유형을 검색하는 예제를 제공합니다POST. 이 예제에서는 URLs에서 요청을 지정하는 방법을 보여줍니다.

참고

HealthLake 콘솔은 SigV4 권한 부여만 지원합니다. SMART on FHIR 권한 부여는 AWS CLI 및 AWS SDKs 통해 지원됩니다.

HealthLake는 FHIR R4 검색 파라미터의 하위 집합을 지원합니다. 자세한 내용은 검색 파라미터 단원을 참조하십시오.

Patient (age)

수명은 FHIR에서 정의된 리소스 유형이 아니지만 Patient 리소스 유형의 요소로 캡처됩니다. 다음 예제를 사용하여 Patient 리소스 유형에 대한 POST기반 검색을 요청합니다. 다음 검색 예제에서는 eq 검색 비교기를 사용하여 1997년에 태어난 개인을 검색합니다.

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

검색에서 1997년을 지정하려면 요청 본문에 다음 요소를 추가합니다.

birthdate=eq1997
Condition

다음을 사용하여 Condition 리소스 유형을 POST 요청합니다. 이 검색은 HealthLake 데이터 스토어에서 의료 코드가 포함된 위치를 찾습니다72892002.

요청 URL과 요청 본문을 지정해야 합니다. 다음은 요청 URL의 예입니다.

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

검색하려는 의료 코드를 지정하려면 요청 본문에 다음 JSON 요소를 추가합니다.

code=72892002
DocumentReference

DocumentReference 리소스 유형에 대해 POST 요청할 때 HealthLake의 통합 자연어 처리(NLP) 결과를 보려면 다음과 같이 요청의 형식을 지정합니다.

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

참조할 DocumentReference 검색 파라미터를 지정하려면 섹션을 참조하세요검색 파라미터 유형. 다음 쿼리 문자열은 여러 검색 파라미터를 사용하여 통합 NLP 결과를 생성하는 데 사용되는 Amazon Comprehend Medical API 작업을 검색합니다.

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

다음 예제를 사용하여 Location 리소스 유형을 POST 요청합니다. 검색은 주소의 일부로 도시 이름 보스턴이 포함된 HealthLake 데이터 스토어의 위치를 찾습니다.

요청 URL과 요청 본문을 지정해야 합니다. 다음은 요청 URL의 예입니다.

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

검색Boston에서를 지정하려면 요청 본문에 다음 요소를 추가합니다.

address=Boston
Observation

다음 예제를 사용하여 Observation 리소스 유형에 대한 POST기반 검색 요청을 수행합니다. 검색은 value-concept 검색 파라미터를 사용하여를 266919005 나타내는 의료 코드를 찾습니다Never smoker.

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

상태를 지정하려면 JSON 본문value-concept=266919005Never smoker를 설정합니다.

value-concept=266919005