기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HealthLake에 대한 FHIR R4 검색 파라미터
FHIR searchsearch 작용은 GET 또는 POST 요청을 사용하여 수행할 수 있습니다. 개인 식별 정보(PII) 또는 보호 대상 건강 정보(PHI)가 포함된 검색의 경우 PII 및 PHI가 POST 요청 본문의 일부로 추가되고 전송 중에 암호화되므로 요청을 사용하는 것이 좋습니다.
참고
이 장에서 설명하는 FHIR search 상호 작용은 의료 데이터 교환을 위한 HL7 FHIR R4 표준을 준수하도록 구축되었습니다. HL7 FHIR 서비스의 표현이므로 AWS CLI 및 AWS SDKs 통해 제공되지 않습니다. 자세한 내용은 FHIR R4 RESTful API 설명서search
Amazon Athena를 사용하여 SQL을 사용하여 HealthLake 데이터 스토어를 쿼리할 수도 있습니다. 자세한 내용은 통합을 참조하세요.
HealthLake는 다음과 같은 FHIR R4 검색 파라미터의 하위 집합을 지원합니다. 자세한 내용은 HealthLake에 대한 FHIR R4 검색 파라미터 단원을 참조하십시오.
지원되는 검색 파라미터 유형
다음 표에는 HealthLake에서 지원되는 검색 파라미터 유형이 나와 있습니다.
| 검색 파라미터 | 설명 |
|---|---|
| _id | 리소스 ID(전체 URL 아님) |
| _lastUpdated | 마지막으로 업데이트된 날짜입니다. 서버는 경계 정밀도에 대한 재량이 있습니다. |
| _태그 | 리소스 태그로 검색합니다. |
| _profile | 프로필로 태그가 지정된 모든 리소스를 검색합니다. |
| _보안 | 이 리소스에 적용된 보안 레이블을 검색합니다. |
| _소스 | 리소스의 출처를 검색합니다. |
| _텍스트 | 리소스의 서술을 검색합니다. |
| createdAt | createdAt 사용자 지정 확장을 검색합니다. |
참고
다음 검색 파라미터는 2023년 12월 9일 이후에 생성된 데이터 스토어에 대해서만 지원됩니다. _security, _source, _text, createdAt.
다음 표에는 지정된 리소스 유형에 대해 지정된 데이터 유형을 기반으로 쿼리 문자열을 수정하는 방법의 예가 나와 있습니다. 명확성을 위해 예제 열의 특수 문자는 인코딩되지 않았습니다. 쿼리에 성공하려면 쿼리 문자열이 제대로 인코딩되었는지 확인합니다.
| 파라미터 유형 검색 | 세부 정보 | 예시 |
|---|---|---|
|
숫자 |
지정된 리소스에서 숫자 값을 검색합니다. 중요한 수치가 관찰됩니다. 유효 자릿수는 선행 0을 제외하고 검색 파라미터 값에 따라에 고유합니다. 비교 접두사는 허용됩니다. |
|
|
날짜/DateTime |
특정 날짜 또는 시간을 검색합니다. 예상 형식은
비교 접두사는 허용됩니다. |
|
|
String |
대소문자를 구분하여 문자 시퀀스를 검색합니다.
고급 검색은 |
|
|
토큰 |
종종 한 쌍의 의료 코드 값과 비교하여 문자열에 대해 close-to-exact 일치하는 항목을 검색합니다. 대/소문자 구분은 쿼리를 생성할 때 사용되는 코드 시스템에 연결됩니다.소비 기반 쿼리는 대/소문자 구분과 관련된 문제를 줄이는 데 도움이 될 수 있습니다. 명확성을 위해 |
|
|
복합 |
한정자 비교 접두사는 허용됩니다. |
|
|
수량 |
숫자, 시스템 및 코드를 값으로 검색합니다. 번호는 필수이지만 시스템 및 코드는 선택 사항입니다. 수량 데이터 유형에 따라 다릅니다. 자세한 내용은 FHIR R4 설명서의 수량 다음과 같이 가정된 구문을 사용합니다. |
|
|
참조 |
다른 리소스에 대한 참조를 검색합니다. |
|
|
URI |
특정 리소스를 명확하게 식별하는 문자열을 검색합니다. |
|
|
특별 |
통합된 의료 NLP 확장을 기반으로 검색합니다. |
HealthLake에서 지원하는 고급 검색 파라미터
HealthLake는 다음과 같은 고급 검색 파라미터를 지원합니다.
| 이름 | 설명 | 예시 | 기능 |
|---|---|---|---|
_include |
검색 요청에서 추가 리소스를 반환하도록 요청하는 데 사용됩니다. 대상 리소스 인스턴스에서 참조하는 리소스를 반환합니다. | Encounter?_include=Encounter:subject |
|
_revinclude |
검색 요청에서 추가 리소스를 반환하도록 요청하는 데 사용됩니다. 기본 리소스 인스턴스를 참조하는 리소스를 반환합니다. | Patient?_id= |
|
_summary |
요약을 사용하여 리소스의 하위 집합을 요청할 수 있습니다. | Patient?_summary=text |
, _summary=true, _summary=false, 요약 파라미터가 지원됩니다_summary=text_summary=data. |
_elements |
검색 결과에서 리소스의 일부로 반환할 특정 요소 세트를 요청합니다. | Patient?_elements=identifier,active,link |
|
_total |
검색 파라미터와 일치하는 리소스 수를 반환합니다. | Patient?_total=accurate |
_total=accurate,를 지원합니다_total=none. |
_sort |
쉼표로 구분된 목록을 사용하여 반환된 검색 결과의 정렬 순서를 지정합니다. - 접두사는 쉼표로 구분된 목록의 모든 정렬 규칙에 사용하여 내림차순을 나타낼 수 있습니다. |
Observation?_sort=status,-date |
유형별 필드 정렬을 지원합니다Number, String, Quantity, Token, URI, Reference. 정렬 기준 Date는 2023년 12월 9일 이후에 생성된 데이터 스토어에만 지원됩니다. 최대 5개의 정렬 규칙을 지원합니다. |
_count |
검색 번들의 페이지당 반환되는 리소스 수를 제어합니다. | Patient?_count=100 |
최대 페이지 크기는 100입니다. |
chaining |
참조된 리소스의 요소를 검색합니다. 는 연결된 검색을 참조된 리소스 내의 요소로 . 전달합니다. |
DiagnosticReport?subject:Patient.name=peter |
|
reverse chaining (_has) |
리소스를 참조하는 리소스 요소를 기반으로 리소스를 검색합니다. | Patient?_has:Observation:patient:code=1234-5 |
_include
검색 쿼리_include에서를 사용하면 지정된 추가 FHIR 리소스도 반환할 수 있습니다. _include를 사용하여 앞으로 연결된 리소스를 포함합니다.
예 - _include를 사용하여 환자 또는 환자의 그룹을 찾으려면
진단 코드를 지정하는 Condition 리소스 유형을 검색한 다음 해당 진단subject의 도 반환하도록 _include 지정합니다. Condition 리소스 유형에서 subject는 환자 리소스 유형 또는 그룹 리소스 유형을 나타냅니다.
명확성을 위해 예제의 특수 문자는 인코딩되지 않았습니다. 쿼리를 성공적으로 수행하려면 쿼리 문자열이 올바르게 인코딩되었는지 확인합니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/ Condition?code=49727002&_include=Condition:subject
_revinclude
검색 쿼리_revinclude에서를 사용하면 지정된 추가 FHIR 리소스도 반환할 수 있습니다. _revinclude를 사용하여 역방향으로 연결된 리소스를 포함합니다.
예 - _revinclude를 사용하여 특정 환자와 연결된 관련 상황 및 관찰 리소스 유형을 포함하려면
이 검색을 수행하려면 먼저 _id 검색 파라미터에 식별자를 지정Patient하여 개인을 정의해야 합니다. 그런 다음 구조 Encounter:patient 및를 사용하여 추가 FHIR 리소스를 지정합니다Observation:patient.
명확성을 위해 예제의 특수 문자는 인코딩되지 않았습니다. 쿼리를 성공적으로 수행하려면 쿼리 문자열이 올바르게 인코딩되었는지 확인합니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/ Patient?_id=patient-identifier&_revinclude=Encounter:patient&_revinclude=Observation:patient
_summary
검색 쿼리_summary에서를 사용하면 사용자가 FHIR 리소스의 하위 집합을 요청할 수 있습니다. 다음 값 중 하나를 포함할 수 있습니다true, text, data, false. 다른 모든 값은 유효하지 않은 것으로 처리됩니다. 반환된 리소스는 meta.tag'SUBSETTED'에 로 표시되어 리소스가 불완전함을 나타냅니다.
-
true: 리소스의 기본 정의에서 'summary(요약)'로 표시된 지원되는 모든 요소를 반환합니다. -
text: 'text', 'id', 'meta' 요소만 반환하고 최상위 필수 요소만 반환합니다. -
data: 'text' 요소를 제외한 모든 부분을 반환합니다. -
false: 리소스(들)의 모든 부분 반환
단일 검색 요청에서는 _include 또는 _revinclude 검색 파라미터와 결합할 수 _summary=text 없습니다.
예 - 데이터 스토어에서 환자 리소스의 “텍스트” 요소를 가져옵니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_summary=text
_elements
검색 쿼리_elements에서를 사용하면 특정 FHIR 리소스 요소를 요청할 수 있습니다. 반환된 리소스는 meta.tag'SUBSETTED'에 로 표시되어 리소스가 불완전함을 나타냅니다.
_elements 파라미터는 리소스의 루트 수준에서 정의된 요소와 같이 쉼표로 구분된 기본 요소 이름 목록으로 구성됩니다. 나열된 요소만 반환됩니다. _elements 파라미터 값에 잘못된 요소가 포함된 경우 서버는 해당 요소를 무시하고 필수 요소와 유효한 요소를 반환합니다.
_elements는 포함된 리소스(검색 모드가 인 반환된 리소스)에는 적용되지 않습니다include.
단일 검색 요청에서는를 _summary 검색 파라미터와 결합할 수 _elements 없습니다.
예 - HealthLake 데이터 스토어에서 환자 리소스의 “식별자”, “활성”, “링크” 요소를 가져옵니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_elements=identifier,active,link
_total
검색 쿼리_total에서를 사용하면 요청된 검색 파라미터와 일치하는 리소스 수가 반환됩니다. HealthLake는 검색 응답의에서 일치하는 리소스(검색 모드가 인 반환된 리소스match)Bundle.total의 총 수를 반환합니다.
_total는 accurate, none 파라미터 값을 지원합니다. _total=estimate는 지원되지 않습니다. 다른 모든 값은 유효하지 않은 것으로 처리됩니다. _total는 포함된 리소스(검색 모드가 인 반환된 리소스)에는 적용되지 않습니다include.
예 - 데이터 스토어의 총 환자 리소스 수를 가져옵니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_total=accurate
_sort
검색 쿼리_sort에서를 사용하면 결과가 특정 순서로 정렬됩니다. 결과는 쉼표로 구분된 정렬 규칙 목록을 기준으로 우선 순위에 따라 정렬됩니다. 정렬 규칙은 유효한 검색 파라미터여야 합니다. 다른 모든 값은 유효하지 않은 것으로 처리됩니다.
단일 검색 요청에서 최대 5개의 정렬 검색 파라미터를 사용할 수 있습니다. 선택적으로 - 접두사를 사용하여 내림차순을 나타낼 수 있습니다. 서버는 기본적으로 오름차순으로 정렬됩니다.
지원되는 정렬 검색 파라미터 유형은 입니다Number, String, Date, Quantity, Token, URI, Reference. 검색 파라미터가 중첩된 요소를 참조하는 경우이 검색 파라미터는 정렬에 지원되지 않습니다. 예를 들어, 리소스 유형의 '이름'에 대한 검색 환자란 HumanName 데이터 형식이 중첩된 것으로 간주되는 Patient.name 요소를 말합니다. 따라서 '이름'을 기준으로 환자 리소스를 정렬하는 것은 지원되지 않습니다.
예 - 데이터 스토어에서 환자 리소스를 가져오고 생년월일을 기준으로 오름차순으로 정렬합니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_sort=birthdate
_count
파라미터_count는 단일 페이지에서 반환해야 하는 리소스 수에 대한 서버 지침으로 정의됩니다.
최대 페이지 크기는 100입니다. 100보다 큰 값은 유효하지 않습니다. _count=0는 지원되지 않습니다.
예 - 환자 리소스를 검색하고 검색 페이지 크기를 25로 설정합니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_count=25
Chaining and Reverse Chaining(_has)
FHIR에서 연결 및 역방향 연결은 상호 연결된 데이터를 얻는 보다 효율적이고 간단한 방법을 제공하여 여러 개의 개별 쿼리에 대한 필요성을 줄이고 개발자와 사용자에게 데이터 검색을 더 편리하게 만듭니다.
재귀 수준이 100개 이상의 결과를 반환하는 경우 HealthLake는 4xx를 반환하여 데이터 스토어가 오버로드되어 여러 페이지 매김이 발생하지 않도록 보호합니다.
예 - 연결 - 환자 이름이 피터인 환자를 참조하는 모든 DiagnosticReport를 가져옵니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/DiagnosticReport?subject:Patient.name=peter
예 - 역방향 연결 - 환자 리소스를 가져옵니다. 여기서 환자 리소스는 관찰의 코드가 1234인 하나 이상의 관찰에 의해 참조되고, 관찰은 환자 검색 파라미터의 환자 리소스를 참조합니다.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_has:Observation:patient:code=1234
지원되는 검색 한정자
검색 한정자는 문자열 기반 필드에 사용됩니다. HealthLake의 모든 검색 한정자는 부울 기반 로직을 사용합니다. 예를 들어 더 큰 문자열 필드에 작은 문자열을 포함해야 검색 결과에 포함:contains되도록 지정할 수 있습니다.
| 검색 한정자 | Type |
|---|---|
| :누락 | 를 제외한 모든 파라미터 Composite |
| :exact | String |
| :포함 | String |
| :not | 토큰 |
| :text | 토큰 |
| :identifier | 참조 |
| :아래 | URI |
지원되는 검색 비교기
검색 비교기를 사용하여 검색에서 일치하는의 특성을 제어할 수 있습니다. 번호, 날짜 및 수량 필드를 검색할 때 비교기를 사용할 수 있습니다. 다음 표에는 HealthLake에서 지원하는 검색 비교기 및 해당 정의가 나열되어 있습니다.
|
검색 비교기 |
설명 |
|---|---|
| eq | 리소스의 파라미터 값이 제공된 값과 같습니다. |
| ne | 리소스의 파라미터 값이 제공된 값과 같지 않습니다. |
| gt | 리소스의 파라미터 값이 제공된 값보다 큽니다. |
| lt | 리소스의 파라미터 값이 제공된 값보다 작습니다. |
| ge | 리소스의 파라미터 값이 제공된 값보다 크거나 같습니다. |
| le | 리소스의 파라미터 값이 제공된 값보다 작거나 같습니다. |
| sa | 리소스의 파라미터 값은 제공된 값 이후에 시작됩니다. |
| eb | 리소스의 파라미터 값은 제공된 값보다 먼저 종료됩니다. |
HealthLake에서 지원하지 않는 FHIR 검색 파라미터
HealthLake는 다음 표에 나열된 파라미터를 제외한 모든 FHIR 검색 파라미터를 지원합니다. FHIR 검색 파라미터의 전체 목록은 FHIR 검색 파라미터 레지스트리를 참조하세요.
| 번들 구성 | 위치-근접 |
| 번들 식별자 | Consent-source-reference |
| 번들 메시지 | 계약 환자 |
| 번들 유형 | Resource-content |
| 번들 타임스탬프 | 리소스 쿼리 |