HealthLake에 대한 FHIR R4 $davinci-data-export 작업 - AWS HealthLake

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

HealthLake에 대한 FHIR R4 $davinci-data-export 작업

$davinci-data-export 작업은 멤버 속성 목록 데이터를 내보낼 수 있는 비동기 FHIR 작업입니다 AWS HealthLake. 이 작업은 DaVinci 멤버 속성(ATR) 목록 구현 가이드의 요구 사항을 충족하도록 특별히 설계된 표준 FHIR $export 작업의 특수 버전입니다.

주요 기능

  • 비동기 처리: 표준 FHIR 비동기 요청 패턴을 따릅니다.

  • 그룹 수준 내보내기: 특정 어트리뷰션 목록(그룹) 내의 멤버에 대한 데이터를 내보냅니다.

  • 특수 리소스 처리: 어트리뷰션 관련 리소스에 중점을 둡니다.

  • 유연한 필터링: 환자, 리소스 유형 및 시간 범위별 필터링 지원

  • NDJSON 출력: 줄 바꿈으로 구분된 JSON 형식으로 데이터를 제공합니다.

작업 엔드포인트

GET [base]/Group/[id]/$davinci-data-export POST [base]/Group/[id]/$davinci-data-export

요청 파라미터

파라미터 카디널리티 설명
환자 0..* 데이터를 내보내야 하는 특정 멤버입니다. 생략하면 그룹의 모든 멤버가 내보내집니다.
_유형 0..1 내보낼 FHIR 리소스 유형의 쉼표로 구분된 목록
_이후 0..1 이 날짜/시간 이후에 업데이트된 리소스만 포함
exportType 0..1 수행할 내보내기 유형(기본값: hl7.fhir.us.davinci-atr)

지원되는 리소스 유형

_type 파라미터를 사용하는 경우 다음 리소스 유형만 지원됩니다.

  • Group

  • 환자

  • 적용 범위

  • RelatedPerson

  • 프랙티셔너

  • PractitionerRole

  • Organization

  • Location

샘플 요청

내보내기 작업 시작

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/example-group/$davinci-data-export?_type=Group,Patient,Coverage&exportType=hl7.fhir.us.davinci-atr or POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/example-group/$davinci-data-export?_type=Group,Patient,Coverage&exportType=hl7.fhir.us.davinci-atr Content-Type: application/json { "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role", "JobName": "attribution-export-job", "OutputDataConfig": { "S3Configuration": { "S3Uri": "s3://your-export-bucket/EXPORT-JOB", "KmsKeyId": "arn:aws:kms:region:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab" } } }

샘플 응답

{ "datastoreId": "eaee622d8406b41eb86c0f4741201ff9", "jobStatus": "SUBMITTED", "jobId": "48d7b91dae4a64d00d54b70862f33f61" }

리소스 관계

작업은 멤버 속성 목록 내의 관계를 기반으로 리소스를 내보냅니다.

Group (Attribution List) ├── Patient (Members) ├── Coverage → RelatedPerson (Subscribers) ├── Practitioner (Attributed Providers) ├── PractitionerRole → Location └── Organization (Attributed Providers)

리소스 소스

Resource 소스 위치 설명
환자 Group.member.entity 어트리뷰션 목록의 멤버인 환자
적용 범위 Group.member.extension:coverageReference 환자 멤버십을 초래한 보장 범위
Organization Group.member.extension:attributedProvider 환자가 속한 조직
프랙티셔너 Group.member.extension:attributedProvider 개별 실무자 환자의 원인은 다음과 같습니다.
PractitionerRole Group.member.extension:attributedProvider 환자의 프랙티셔너 역할
RelatedPerson Coverage.subscriber 적용 범위 구독자
Location PractitionerRole.location 실무자 역할과 연결된 위치
Group 입력 엔드포인트 어트리뷰션 목록 자체

작업 관리

작업 상태 확인

GET [base]/export/[job-id]

작업 취소

DELETE [base]/export/[job-id]

작업 수명 주기

  • SUBMITTED - 작업이 수신되고 대기열에 있음

  • IN_PROGRESS - 작업이 적극적으로 처리 중입니다.

  • COMPLETED - 작업이 성공적으로 완료되었으며 파일을 다운로드할 수 있음

  • FAILED - 작업에 오류가 발생했습니다.

출력 형식

  • 파일 형식: NDJSON(줄 바꿈으로 구분된 JSON)

  • 파일 조직: 각 리소스 유형에 대해 파일을 구분합니다.

  • 파일 확장명: .ndjson

  • 위치: 지정된 S3 버킷 및 경로

오류 처리

작업은 다음 조건에 대해 OperationOutcome과 함께 HTTP 400 잘못된 요청을 반환합니다.

권한 부여 오류
  • 데이터 액세스 권한이 잘못되었거나 부족함

  • S3 버킷 액세스 문제

  • KMS 키 액세스 문제

파라미터 검증 오류
  • patient "환자/id, 환자/id,..." 형식이 아닌 파라미터

  • 잘못된 환자 참조 또는 그룹에 속하지 않은 환자

  • exportType hl7.fhir.us.davinci-atr 이외의 값

  • _type 지원되지 않는 리소스 유형을 포함하는 파라미터

  • _type hl7.fhir.us.davinci-atr의 exportType에 필요한 최소 유형(그룹, 환자, 적용 범위)이 누락된 파라미터

리소스 검증 오류
  • 요청된 그룹 리소스가 존재하지 않음

  • 그룹에 빈 멤버 목록이 있음

  • 그룹 멤버가 유효한 환자 리소스를 참조하지 않음

보안 및 권한 부여

  • 표준 FHIR 권한 부여 메커니즘 적용

  • 클라이언트에는 그룹 및 관련 리소스에 대한 적절한 읽기 권한이 있어야 합니다.

  • 출력 위치에 필요한 S3 버킷 쓰기 권한

  • 암호화가 지정된 경우 필요한 KMS 키 권한

모범 사례

  • 리소스 유형 선택: 내보내기 크기 및 처리 시간을 최소화하는 데 필요한 리소스 유형만 요청합니다.

  • 시간 기반 필터링: 증분 내보내기에 _since 파라미터 사용

  • 환자 필터링: 특정 멤버에 대한 데이터만 필요한 경우 patient 파라미터 사용

  • 작업 모니터링: 작업 상태에 대규모 내보내기가 있는지 정기적으로 확인

  • 오류 처리: 실패한 작업에 대한 적절한 재시도 로직 구현

제한 사항

  • patient 파라미터에 최대 512명의 환자를 지정할 수 있습니다.

  • 내보내기는 그룹 수준 작업으로만 제한됩니다.

  • 는 미리 정의된 어트리뷰션 관련 리소스 유형 집합만 지원합니다.

  • 출력은 항상 NDJSON 형식입니다.