개발자를 위한 안내

환자 동의 플랫폼: 건강 데이터 API에서 동의, 범위, 만료 및 철회가 작동하는 방식

환자 동의를 돕는 플랫폼이 갖춰야 할 기능: 동의를 최우선 객체로 취급하고 범위와 만료일을 설정하며, 즉시 효력이 발생하는 철회 기능, 환자가 확인할 수 있는 접근 기록, 그리고 승인을 기다리는 AI 작성 내용. Anpheros는 이를 어떻게 구현하는지 설명합니다.

작성자 게시일 2분 소요

동의는 건강 제품에서 아무도 만들고 싶어 하지 않지만 모두가 감사받는 부분입니다. "사용자가 가입 시 확인란을 선택했습니다"는 GDPR 제9조를 충족하지 못하고, 데이터 보호 검토를 통과하지 못하며, 계정을 삭제하지 않고도 한 앱에서 다른 앱으로 접근 권한을 이전할 수 없게 합니다. 이 가이드에서는 환자 동의 플랫폼이 무엇을 해야 하는지, 그리고 Anpheros 플랫폼이 어떻게 이를 수행하는지 설명하여, 직접 재구축하는 대신 재사용할 수 있도록 합니다.

개발자용 기술 버전: 환자 동의 플랫폼 · 동의 (developers.anpheros.com에서 요청, 응답 및 제한 사항 포함). 이 페이지는 일반 언어 버전입니다.

플래그가 아닌 객체로서의 동의

Anpheros에서 동의는 승인입니다. 즉, 한 사람, 한 애플리케이션, 일련의 범위, 목적, 만료일이 있습니다. 사용자가 동의 페이지에서 접근을 승인할 때 생성되며, 사용자가 볼 수 있는 곳에 목록으로 표시되고 언제든지 철회할 수 있습니다. 모든 요청 시 읽기 권한은 이에 대해 확인됩니다.

  • **범위(Scopes)**는 애플리케이션이 관찰, 상태, 약물, 알레르기, 문서 등을 읽거나 쓸 수 있는지 여부를 나타내며, 범주별로 좁힐 수도 있습니다 (예: 검사 결과는 포함하지만 증상은 제외).
  • **기간(Duration)**은 사용자가 선택합니다: 30일, 90일, 180일 또는 365일. "영원히"는 없습니다.
  • **철회(Revocation)**는 다음 요청 시 효력이 발생합니다. 애플리케이션은 consent.revoked 웹훅을 받습니다.
  • **목적(Purpose)**은 승인과 함께 기록되어 사용자에게 표시됩니다.

애플리케이션이 요청하는 방법

SMART를 사용하는 앱의 경우 OAuth 2.1과 PKCE를 사용하며, SMART on FHIR 독립 실행형 시작 기능을 사용합니다. 사용자는 로그인하고, 어떤 애플리케이션이 요청하는지, 어떤 범위와 기간인지 확인한 후 승인하거나 거부합니다. 애플리케이션은 해당 환자와 해당 범위로 제한된 토큰을 받습니다. 프로젝트 키는 개인의 동의를 대신할 수 없습니다.

GET  https://platform.anpheros.com/oauth/authorize?client_id=…&scope=patient/Observation.read …
POST https://platform.anpheros.com/oauth/token

액세스 토큰은 30분, 새로고침 토큰은 30일 동안 유효합니다. 검색 문서는 /.well-known/oauth-authorization-server 및 /.well-known/smart-configuration에 있습니다.

환자가 보는 것

GET /me/patients/{id}/grants는 접근 권한이 있는 모든 애플리케이션, 해당 범위 및 만료일을 나열합니다. …/grants/{grant}/access-log는 각 애플리케이션이 동의 하에 무엇을 읽고 썼는지, 프로젝트 자체 키와 함께 나열합니다. format=fhir를 사용하면 로그는 FHIR R4 AuditEvent 리소스의 번들로 반환되며, IHE 기본 감사 로그 패턴에 따라 구성됩니다. Anpheros Daily에서는 "연결" 화면으로 표시되며, 자체 앱에서도 동일하게 표시할 수 있습니다.

읽기와 쓰기

동의를 통해 조직은 다른 병원에서 작성한 내용을 포함한 전체 기록을 볼 수 있지만, 자신이 작성한 내용만 변경하거나 삭제할 수 있습니다. 모든 리소스의 모든 버전은 작성한 프로젝트를 기록하며, 다른 프로젝트의 쓰기는 거부되고 설명이 제공됩니다. 모든 쓰기는 애플리케이션, 해당 조직, 그리고 개인을 명시하는 Provenance 리소스를 생성합니다.

AI 에이전트가 제안하고, 사용자가 결정합니다

AI 에이전트로 등록된 애플리케이션이 사용자의 동의 하에 수행하는 쓰기는 즉시 적용되지 않습니다. 플랫폼은 이를 검증하고 제안 ID와 함께 202 Accepted를 반환합니다. 기록에는 아무런 변경이 없습니다. 사용자는 제안 내용, 누가 보냈는지 확인하고 수락하거나 거부합니다. 수락된 제안은 보낸 그대로 기록되며 AI 작성으로 표시됩니다. 이것이 MCP를 통해 연결된 도우미가 기록을 감독 없이 작성하지 않고도 기록을 채우는 데 도움이 되는 방법입니다.

사용자는 QR 코드나 링크를 통해 기록을 공유할 수도 있습니다. POST /me/patients/{id}/shl은 비상 시 필요한 정보(알레르기, 약물, 문제, 예방 접종) 또는 전체 국제 환자 요약에 대한 SMART Health Link를 생성하며, 선택적으로 비밀번호와 만료일을 설정할 수 있습니다. 모든 열람은 액세스 로그에 기록되며, 링크는 즉시 비활성화할 수 있습니다. 모든 SMART Health Link 리더가 이를 열 수 있습니다.

모든 규칙을 포함한 전체 모델은 developers.anpheros.com/guides/consent-model에서 확인할 수 있습니다.

자주 묻는 질문

승인은 모든 요청 시 확인되는 운영 객체입니다. 또한 기록에는 다른 시스템이 합의된 내용과 누가 무엇을 작성했는지 읽을 수 있도록 FHIR Consent 및 Provenance 리소스가 포함됩니다. 액세스 로그는 FHIR AuditEvent으로 제공됩니다.

환자가 기록의 일부에만 접근 권한을 부여할 수 있나요?

네. 범위는 리소스 유형별로 범주 필터가 있으며, 사용자는 동의 페이지에서 이를 선택합니다. 앱은 검사 결과만 또는 약물만 요청할 수 있습니다.

동의가 만료되면 어떻게 되나요?

해당 승인 하의 요청은 만료 시점부터 403 오류를 반환합니다. 애플리케이션은 다시 요청할 수 있으며, 사용자는 다시 결정합니다. 아무것도 삭제되지 않습니다.

철회가 앱이 이미 읽은 데이터를 삭제하나요?

어떤 시스템도 데이터를 다시 읽을 수는 없습니다. 철회는 즉시 추가 접근을 중단하고 기록됩니다. 애플리케이션이 자체적으로 저장한 내용은 GDPR에 따른 자체 의무에 따라 관리됩니다.

병원이 환자의 동의 없이 기록에 접근할 수 있나요?

프로젝트는 자신이 생성한 환자를 볼 수 있습니다. 다른 곳에서 생성된 기록을 읽으려면 사용자의 승인이 필요합니다. 관리자 재정의는 없습니다.

이 가이드는 정보 제공 목적으로 의료 조언을 대체하지 않습니다. 건강 관련 결정은 의사와 상담하십시오. 응급 상황 시 112로 전화하십시오.
저자 소개
Adrian Kereky

Founder of Anpheros. An electronics engineer, he spent six years in autonomous driving, on automotive projects run in partnership with Samsung and NVIDIA, designing the architecture of driver-assistance and AI systems that run on NVIDIA chips with CUDA. He then built Anpheros: the patient-controlled medical record and the HL7 FHIR R4 platform it runs on.

Anpheros 및 저자에 대해 더 알아보기 →

건강 기록을 항상 소지하세요

Anpheros Daily는 증상, 검사 결과, 복용 중인 약 및 문서를 표준 형식으로 한곳에 모아 관리합니다. 기본 플랜은 무료입니다.

Anpheros Daily 시작하기