AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

의료 앱을 위한 환자 동의 플랫폼

데이터 계층에 내장된 동의: OAuth 2.1 및 SMART 범위, 사용자가 선택하는 목적 및 만료일, 사용자가 볼 수 있는 액세스 로그, 다음 요청 시 취소, 앱이 여전히 소유하는 것.

환자 동의 플랫폼을 통해 개인은 어떤 애플리케이션이 자신의 건강 기록을 어떤 목적으로, 얼마나 오랫동안 읽거나 변경할 수 있는지 결정할 수 있으며, 언제든지 해당 액세스를 확인하고 철회할 수 있습니다. Anpheros는 동의를 데이터 계층에 내장합니다. 애플리케이션은 개인이 Anpheros 동의 페이지에서 승인한 허가를 통해서만 환자의 FHIR R4 레코드에 접근할 수 있으며, 해당 허가 하의 모든 읽기 및 쓰기는 개인이 볼 수 있도록 기록되고, 철회는 다음 요청 시 효력을 발휘합니다. 이 페이지에서는 해당 기능이 어떻게 작동하는지, 애플리케이션이 무엇을 해야 하는지, 그리고 무엇을 직접 구축할 필요가 없는지를 보여줍니다.

How one consent works, end to end
  1. 1 · Your app asksOAuth 2.1 with PKCE: SMART scopes, a purpose and the patient's language
  2. 2 · The person decidesOn the Anpheros consent page: what, for whom and for how long — 30, 90, 180 or 365 days
  3. 3 · Your app readsOne patient's record, only the granted resource types and categories
  4. 4 · Every access is loggedThe person sees each read and write by your application
  5. 5 · The person revokesThe next request fails; a refresh token cannot bring access back

데이터 계층에 동의가 필요한 이유

대부분의 건강 앱은 자체 데이터베이스에 체크박스로 동의를 기록하고 애플리케이션 코드에서 이를 강제합니다. 이는 두 번째 앱, 클리닉 통합 또는 AI 기능이 동일한 데이터가 필요한 시점까지 작동합니다. 각 앱은 규칙을 다시 구현해야 하며, 해당 사용자는 누가 접근 권한을 가지고 있는지 볼 수 있는 단일 장소가 없습니다. 기록을 저장하는 플랫폼이 동의를 강제하면 모든 클라이언트는 동일한 규칙을 적용받고, 사용자는 검토할 수 있는 애플리케이션 목록을 하나만 갖게 됩니다.

앱 내 플래그로서의 동의 데이터 계층(Anpheros)에서의 동의
강제 적용 위치 각 애플리케이션의 코드 모든 API 요청 시, 플랫폼에서
접근 범위 앱이 읽기로 결정한 모든 것 부여된 리소스 유형 및 카테고리만
만료 거의 구현되지 않음 사용자가 선택: 30일, 90일, 180일 또는 365일
사용자가 보는 것 앱에 따라 다름 모든 애플리케이션, 해당 범위 및 만료일, 접근 로그
철회 수동으로 전파해야 함 다음 요청 실패; 갱신 토큰 작동 중지

환자가 제어하는 항목

What the patient controls
WhoEach application is listed by name with its own grant
WhatResource types and categories, e.g. only laboratory Observations
WhyThe purpose your app declares is shown on the consent page
How long30, 90, 180 or 365 days; access ends by itself
What happenedAn access log of every read and write under the grant
StopRevocation takes effect on the next request

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

Anpheros는 PKCE를 사용하는 OAuth 2.1 및 SMART on FHIR v2 스코프를 사용합니다. 앱은 필요한 스코프와 선택적 목적을 포함하여 동의 페이지로 사용자를 보냅니다. 승인 후 앱은 정확히 한 명의 환자에 대한 액세스 토큰(30분)과 순환 갱신 토큰(30일)을 받습니다.

import { OAuthFlow, generatePkce } from '@anpheros/sdk';

const flow = new OAuthFlow({
  baseUrl: 'https://platform.anpheros.com',
  clientId: process.env.ANPHEROS_CLIENT_ID!,
  redirectUri: 'https://your.app/callback',
});
const pkce = await generatePkce();
const url = flow.authorizeUrl({
  scopes: ['patient/Observation.rs?category=laboratory', 'patient/Condition.rs', 'offline_access'],
  purpose: 'treatment',
  state: crypto.randomUUID(),
  pkce,
  lang: 'en',
});
// redirect the person to `url`; on the callback exchange the code (see the authentication guide)

patient/Observation.rs?category=laboratory과 같은 스코프는 검사 결과 읽기를 제한하며, 카테고리 필터는 서버에서 적용됩니다. 부여되지 않은 리소스 유형은 403를 반환하고, 부여되지 않은 환자는 404를 반환하므로 ID를 탐색할 수 없습니다.

권한 취소에 대한 반응

사용자가 권한을 종료하면 해당 토큰을 사용한 다음 요청이 실패하며, 새로고침 토큰으로 액세스를 복원할 수 없습니다. 즉시 정리하려면 consent.revoked 웹훅을 구독하십시오. 이 웹훅은 grant_id, 표시되는 환자 ID, 범위 및 revoked_at을 전달합니다.

await anpheros.webhooks.create('https://your.app/anpheros/hook', { events: ['consent.granted', 'consent.revoked'] });

Anpheros의 기능 범위

자주 묻는 질문

환자 동의 플랫폼이란 무엇인가요?

개인이 자신의 건강 데이터에 접근하도록 허용하는 애플리케이션을 기록하고, 모든 요청에서 해당 선택을 강제하며, 누가 무엇에 접근했는지 보여주고, 접근 권한을 철회할 수 있도록 하는 소프트웨어입니다. Anpheros에서는 동의가 별도의 서비스가 아닌 FHIR R4 레코드 자체의 일부입니다.

Anpheros는 환자 동의에 어떤 표준을 사용하나요?

권한 부여 흐름에는 OAuth 2.1 with PKCE를 사용하고, 애플리케이션이 읽거나 쓸 수 있는 내용에는 SMART on FHIR v2 환자 범위(patient/<Type>.<cruds>, 선택적으로 ?category= 필터 포함)를 사용합니다. OpenID Connect는 openid fhirUser을 요청할 때 ID 토큰을 추가합니다.

환자가 자신의 데이터 중 일부에만 접근을 제한할 수 있나요?

예. 접근은 부여된 범위의 리소스 유형 및 범주로 제한됩니다. 예를 들어, 실험실 관찰(laboratory Observations)만 해당됩니다. 그 외의 모든 것은 오류를 반환합니다.

동의는 얼마나 오래 지속되나요?

동의 페이지에서 30일, 90일, 180일 또는 365일을 선택합니다. 그 후에는 부여가 만료되며 애플리케이션은 다시 요청해야 합니다.

환자가 애플리케이션이 접근 권한을 사용하여 무엇을 했는지 볼 수 있나요?

예. 접근 권한이 있는 모든 애플리케이션, 해당 범위 및 만료일, 그리고 각 애플리케이션이 읽거나 쓴 내용을 나열하는 접근 로그를 볼 수 있습니다.

동의가 철회되면 어떻게 되나요?

해당 액세스 토큰을 사용한 다음 요청이 실패하고, 새로고침 토큰을 사용하여 새 토큰을 얻을 수 없으며, 서버가 구독한 경우 consent.revoked 웹훅을 수신합니다.

관련 정보

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy