Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
환자 동의 기반 의료 API
OAuth 2.1 범위 및 기간을 통해 환자가 기록에 대한 액세스를 어떻게 부여하는지, 기록 및 취소 가능한지, 애플리케이션 설계에 어떤 변화가 있는지, 쌍별 ID가 애플리케이션을 어떻게 분리하는지 설명합니다.
환자 동의 기반 의료 API는 데이터 보유 기관이 한 번 결정하는 것이 아니라, 환자가 특정 목적과 기간 동안 기록에 대한 액세스를 부여하고, 환자가 이를 확인하고 철회할 수 있는 API입니다. Anpheros에서 동의는 설정하는 필드가 아니라, 애플리케이션이 기록에 액세스할 수 있는 메커니즘 자체입니다. 이 가이드에서는 개발자를 위해 이 기능이 어떻게 작동하는지, 그리고 애플리케이션 설계에 어떤 변화를 가져오는지 설명합니다.
레코드에 접근하는 두 가지 방법
| 조직 접근 | 환자 동의 접근 | |
|---|---|---|
| 누가 승인하는가 | API 키를 통한 귀하의 조직 | OAuth 2.1 동의 화면을 통한 환자 |
| 일반적인 사용 사례 | 진료소 또는 실험실에서 결과 작성, 사용자를 대신하여 작성하는 자체 앱 | 타사 앱, AI 어시스턴트, 의사 도구, 가족 구성원 |
| 범위 | 귀하의 조직이 생성했거나 조직과 공유된 환자 | 환자가 수락한 범위 (patient/Observation.read, …) |
| 기간 | 키가 유효한 동안 | 환자가 선택한 기간; 갱신 가능, 철회 가능 |
| 환자에게 보이는가 | 예, 접근 로그에서 | 예, 철회 기능 포함 |
두 경로 모두 동일한 API와 동일한 FHIR 레코드를 통과합니다. 차이점은 문에 대한 키를 누가 가지고 있느냐입니다.
동의 흐름, 단계별 안내
- 귀하의 애플리케이션은 필요한 스코프(scope)와 명확한 언어로 된 사유를 포함하여 환자를 Anpheros 인증 엔드포인트로 보냅니다.
- 환자는 귀하가 요청하는 내용을 확인하고, 기간을 선택한 후 수락 또는 거부합니다. 화면은 환자의 언어로 표시됩니다.
- 귀하는 해당 스코프와 환자로 제한된 액세스 토큰을 받습니다. 토큰은 수명이 짧으며, 리프레시 토큰은 동의 기간 동안 유효합니다.
- 해당 토큰을 사용한 모든 읽기 및 쓰기 작업은 귀하의 애플리케이션 이름과 함께 기록됩니다. 환자는 자신의 앱에서 로그를 확인할 수 있습니다.
- 환자가 동의를 철회하면 다음 요청은 명확한 오류와 함께 실패합니다. 귀하는 웹훅을 받아 정리 작업을 수행할 수 있습니다.
이 흐름은 PKCE 및 SMART on FHIR 스코프를 사용하는 표준 OAuth 2.1이므로 기존 라이브러리를 사용할 수 있습니다. 인증 및 OAuth 가이드에서 정확한 매개변수를, 동의 및 액세스 모델에서 관련 규칙을 확인할 수 있습니다.
애플리케이션에 미치는 변경 사항
- 요청하는 내용이 줄어듭니다. 스코프는 리소스 유형별, 방향별로 지정됩니다. 체중을 기록하는 앱은 전체 레코드가 아닌
Observation.read를 요청합니다. - 접근 권한 철회를 염두에 두고 설계합니다. 접근 권한은 언제든지 종료될 수 있습니다. 캐싱을 최소화하고 필요할 때 다시 읽으며, 철회된 오류를 일반적인 상태로 처리합니다.
- 무료로 신뢰를 얻습니다. 환자는 애플리케이션의 이름, 접근 가능한 정보, 마지막 읽은 시점을 볼 수 있습니다. 잘 작동하는 애플리케이션은 더 쉽게 수용됩니다.
- 출처를 명확히 기록합니다. 작성하는 모든 내용은 애플리케이션을 작성자로, 관련이 있는 경우 대리한 사람을 함께 기록합니다. 환자 및 다른 애플리케이션은 귀하의 데이터를 다른 데이터와 구별할 수 있습니다.
유출되지 않는 식별자
각 애플리케이션은 환자를 쌍별 식별자(pairwise identifier)로 인식합니다. 즉, 동일한 사람이 귀하의 애플리케이션에서는 다른 ID를 가지고 다른 애플리케이션에서는 또 다른 ID를 갖게 됩니다. 두 애플리케이션은 환자의 동의 없이는 해당 환자에 대한 데이터를 결합할 수 없습니다. 이는 Anpheros를 기반으로 구축된 경우에도 마찬가지입니다. 귀하의 코드에서는 이 부분이 보이지 않지만, 환자에게는 동의와 형식적인 절차의 차이를 의미합니다.
가족 및 보호자
동의는 다른 사람의 기록을 관리하는 사람에게까지 확장됩니다. 예를 들어, 자녀를 대신하여 부모가, 노부모를 대신하여 성인 자녀가 해당됩니다. 기록은 생성한 계정에 유지되며, 다른 계정은 접근 권한을 받게 되며 이 권한은 철회될 수 있습니다. 귀하의 애플리케이션은 보호자가 수락하는 사람으로 동일한 동의 메커니즘을 보게 됩니다.
관련 항목
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card