다음을 통해 공유


FHIR 데이터 내보내기

FHIR® 서비스에서 대량 $export 작업을 사용하여 HL7 FHIR 대량 데이터 액세스 사양설명된 대로 데이터를 내보낼 수 있습니다.

사용을 $export시도하기 전에 FHIR 서비스가 Azure Data Lake Storage Gen2 계정에 연결하도록 구성되어 있는지 확인합니다. 내보내기 설정을 구성하고 Data Lake Storage Gen2 계정을 만들려면 내보내기 설정 구성을 참조하세요.

$export 엔드포인트 호출

Data Lake Storage Gen2 계정에 연결하도록 FHIR 서비스를 설정한 후 엔드포인트를 $export 호출할 수 있으며, FHIR 서비스는 스토리지 계정 내의 Azure Blob Storage 컨테이너로 데이터를 내보냅니다. 다음 예제 요청은 모든 리소스를 이름({{containerName}})으로 지정된 컨테이너로 내보냅니다. 참고: 요청에서 컨테이너를 지정 {{containerName}} 하려면 Data Lake Storage Gen2 계정에서 컨테이너를 직접 만들어야 합니다.

GET {{fhirurl}}/$export?_container={{containerName}}

요청에서 컨테이너 이름(예: 호출 GET {{fhirurl}}/$export)을 지정하지 않으면 내보낸 데이터에 대해 자동 생성된 이름의 새 컨테이너가 만들어집니다.

FHIR $export API 사양에 대한 일반적인 내용은 HL7 FHIR 내보내기 요청 흐름 설명서를 참조하세요.

FHIR 서비스는 다음 수준에서 지원합니다 $export .

  • 시스템: GET {{fhirurl}}/$export
  • 환자: GET {{fhirurl}}/Patient/$export
  • 환자 그룹*: GET {{fhirurl}}/Group/[ID]/$export
    *FHIR 서비스는 참조된 모든 리소스를 내보내지만 그룹 리소스 자체의 특성을 내보내지는 않습니다.

데이터는 여러 파일로 내보내집니다. 각 파일에는 하나의 형식의 리소스만 포함됩니다. 개별 파일의 리소스 수는 다음과 같습니다. 최대 리소스 수는 시스템 성능을 기반으로 합니다. 현재 5,000으로 설정되어 있지만 변경할 수 있습니다. 그 결과 리소스 종류에 대한 여러 파일을 가져올 수 있습니다. 파일 이름은 형식 <resourceName>-<number>-<number>.ndjson을 따릅니다. 파일 순서는 데이터베이스의 리소스 순서에 해당하지 않습니다.

참고 항목

Patient/$export 리소스 Group/[ID]/$export 가 여러 그룹에 있거나 둘 이상의 리소스 구획에 있는 경우 중복 리소스를 내보낼 수 있습니다.

스토리지 계정에 내보낸 파일이 있는지 확인하는 것 외에도 FHIR 서비스 응답에 Content-Location 반환된 헤더의 URL을 통해 작업 상태를 확인할 $export 수 있습니다. 자세한 내용은 HL7의 대량 데이터 상태 요청 설명서를 참조하세요.

Data Lake Storage Gen2로 FHIR 데이터 내보내기

현재 FHIR 서비스는 다음과 같은 제한 사항으로 Data Lake Storage Gen2 계정을 지원 $export 합니다.

  • Data Lake Storage Gen2는 계층 구조 네임스페이스를 제공하지만 컨테이너 내의 특정 하위 디렉터리에 작업을 대상으로 지정할 $export 수 있는 방법은 없습니다. FHIR 서비스는 각 $export 작업에 대한 새 폴더가 만들어지는 내보내기 대상 컨테이너만 지정할 수 있습니다.
  • $export 작업이 완료되고 모든 데이터가 폴더 내에 기록되면 FHIR 서비스는 해당 폴더로 아무것도 내보내지 않습니다. 이후 동일한 컨테이너로 내보내는 작업은 새로 만든 폴더 내에 있습니다.

방화벽 뒤에 있는 스토리지 계정으로 데이터를 내보내려면 내보내기 설정 구성을 참조하세요.

설정 및 매개 변수

헤더

작업에 대해 두 개의 필수 헤더 매개 변수를 $export 설정해야 합니다. 값은 현재 HL7 $export 사양에 따라 설정됩니다.

  • Accept: application/fhir+json
  • Prefer: respond-async

쿼리 매개 변수

FHIR 서비스는 내보낸 데이터를 필터링하기 위해 다음 쿼리 매개 변수를 지원합니다. 이러한 모든 매개 변수는 선택 사항입니다.

쿼리 매개 변수 FHIR 사양으로 정의하시겠습니까? 설명
_outputFormat 현재 FHIR 사양에 맞게 정렬할 세 가지 application/fhir+ndjson값(, application/ndjson또는 단지 ndjson)을 지원합니다. 모든 내보내기 작업은 파일을 반환 .ndjson 하고 전달된 값은 코드 동작에 영향을 주지 않습니다.
_since 지정된 시간 이후 수정된 리소스만 내보낼 수 있습니다.
_type 포함할 리소스 유형을 지정할 수 있습니다. 예를 들어 _type=Patient 환자 리소스만 반환합니다.
_typeFilter 세분화된 필터링을 요청하려면 매개 변수와 함께 _type 사용할 _typeFilter 수 있습니다. 매개 변수 값 _typeFilter 은 결과를 추가로 제한하는 쉼표로 구분된 FHIR 쿼리 목록입니다.
_container 아니요 데이터를 내보낼 구성된 스토리지 계정의 컨테이너 이름을 지정합니다. 컨테이너를 지정하면 데이터가 해당 컨테이너의 폴더로 내보내집니다. 컨테이너를 지정하지 않으면 데이터가 자동 생성된 이름의 새 컨테이너로 내보내집니다.
_till 아니요 지정된 시간까지 수정된 리소스를 내보낼 수 있습니다. 이 매개 변수는 시스템 수준 내보내기에서만 적용됩니다. 이 경우 기록 버전을 사용하지 않도록 설정하거나 제거하지 않은 경우 내보내기에서 실제 스냅샷 보기를 보장합니다.
includeAssociatedData 아니요 기록 및 일시 삭제된 리소스를 내보낼 수 있습니다. 이 필터는 '_typeFilter' 쿼리 매개 변수에서 작동하지 않습니다. 기록/최신 버전이 아닌 리소스를 내보내려면 값을 '_history'으로 포함합니다. 일시 삭제된 리소스를 내보내려면 값을 '_deleted'으로 포함합니다.

참고 항목

FHIR 서비스와 동일한 구독의 스토리지 계정만 작업의 대상으로 $export 등록할 수 있습니다.

문제 해결

다음 정보는 FHIR 데이터 내보내기 문제를 해결하는 데 도움이 될 수 있습니다.

잘못된 상태로 중단된 작업

경우에 따라 FHIR 서비스가 데이터를 내보내려고 시도하는 동안 작업이 잘못된 상태로 중단될 가능성이 있습니다. 특히 Data Lake Storage Gen2 계정 권한이 올바르게 설정되지 않은 경우에 발생할 수 있습니다.

작업의 상태를 $export 확인하는 한 가지 방법은 스토리지 계정의 스토리지 브라우저 로 이동하여 내보내기 컨테이너에 파일이 있는지 확인하는 .ndjson 것입니다. 파일이 없고 다른 $export 작업이 실행되고 있지 않으면 현재 작업이 잘못된 상태로 중단될 수 있습니다. 이 경우 Content-Location 헤더에 제공된 URL로 DELETE 요청을 전송하여 작업을 취소 $export 하여 요청을 취소할 수 있습니다.

참고 항목

FHIR 서비스에서 작업이 잘못된 상태로 유휴 상태가 되는 기본 시간은 $export 서비스가 작업을 중지하고 새 작업으로 이동하기 10분 전입니다.

다음 단계

이 문서에서는 작업을 사용하여 $export FHIR 리소스를 내보내는 방법을 알아보았습니다. 내보내기를 위해 다른 옵션을 설정하고 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.

참고 항목

FHIR®은 HL7의 등록 상표이며, HL7의 사용 허가 하에 사용됩니다.