Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
동의 및 액세스 모델
누가 무엇을 보는지: 프로젝트 격리, 쌍별 ID, 부여, 쓰기 소유권, 출처 및 환자가 액세스 권한이 있는 모든 애플리케이션에 대해 보는 내용.
규칙: 환자의 동의 하에 조직은 다른 진료소에서 작성한 내용을 포함하여 전체 기록을 볼 수 있지만, 자신이 작성한 내용만 변경하거나 삭제할 수 있습니다. 모든 리소스의 모든 버전은 해당 리소스를 작성한 프로젝트와 해당 프로젝트가 작성된 조직을 기록합니다.
누가 무엇을 볼 수 있나요
- 프로젝트 (API 키)는 자신이 생성한 환자를 볼 수 있습니다. 권한 부여 (OAuth 토큰) 하에서 애플리케이션은 부여된 범위와 카테고리 필터로 제한되어, 모든 작성자에 걸쳐 정확히 하나의 환자만 볼 수 있습니다. 그 외의 모든 것은 404를 반환하며, 절대 403을 반환하지 않으므로 ID를 추측할 수 없습니다.
- 쌍별 ID: 각 프로젝트는 동일한 사람에 대해 자체 ID를 받습니다. 내부 ID는 플랫폼을 벗어나지 않습니다. 범위 외부의 환자에 대한 참조는 프로젝트별 불투명 토큰으로 마스킹됩니다.
- 디렉토리 (Organization, Practitioner, PractitionerRole): 참조가 해결되도록 ID별로 전체 영역에서 읽을 수 있습니다. 프로젝트 내에서만 검색할 수 있으며, 자신의 것일 때만
X-Anpheros-Acting-As/X-Anpheros-On-Behalf-Of로 사용할 수 있습니다. - 샌드박스와 프로덕션은 별도의 데이터베이스입니다. 샌드박스 키는 실제 환자에게 물리적으로 접근할 수 없습니다.
작성 및 소유권
- 모든 리소스 버전에 대한
project_id= 작성자. 다른 프로젝트에서 업데이트/삭제 시 → 403 오류와 함께 설명이 제공됩니다. 대신 자체 리소스를 작성하십시오. Provenance.agent.onBehalfOf= 작성 시점의 클리닉/조직:X-Anpheros-On-Behalf-Of, 그렇지 않으면 활동 중인 PractitionerRole의 조직, 그렇지 않으면 프로젝트의 조직입니다.- 모든 쓰기는 Provenance 리소스와 감사 행(누가, 무엇을, 언제, 어떤 권한으로, 어떤 애플리케이션으로, 어떤 소스 지문으로)을 생성합니다.
환자가 보는 내용
/me/patients/{id}/grants은 접근 권한이 있는 모든 애플리케이션, 해당 범위 및 만료일을 나열합니다. …/access-log은 각 읽기 또는 쓰기 작업에 대한 정보를 나열합니다. 이는 동의 및 프로젝트 자체 키를 기반으로 합니다. 철회는 다음 요청 시 적용되며, 애플리케이션은 다시 새로고침할 수 없습니다.
format=fhir을 사용하면 접근 로그가 FHIR R4 AuditEvent 리소스의 번들로 반환됩니다. 이는 IHE Basic Audit Log Patterns(유형 rest, 하위 유형으로서의 상호작용, 에이전트로서의 애플리케이션 및 이를 통해 작동하는 사람, 엔티티로서의 환자 및 리소스, 임상 데이터 없음)에 따라 구성되므로 다른 시스템에서 환자의 기록에 누가 접근했는지에 대한 환자의 뷰로 병합할 수 있습니다.
각 Provenance 리소스가 기록하는 내용 및 설정 방법: 의료 데이터 출처 설명.
SMART Health Links (QR 또는 링크로 공유)
사용자는 중간 애플리케이션 없이 자신의 기록을 공유할 수 있습니다. POST /me/patients/{id}/shl은 응급 서브셋(알레르기, 약물, 문제, 예방 접종 — 결과 또는 이력 없음) 또는 전체 International Patient Summary에 대한 SMART Health Link를 생성하며, 선택적으로 암호와 만료일을 설정할 수 있습니다. 응답에는 shlink:/… URI(QR 코드용)와 /shl/view의 뷰어 주소가 포함되어 있으며, 이는 모든 브라우저에서 열립니다. 스캔하는 사람은 누구나 매니페스트 URL에 게시하고 링크 내의 키로 암호화된 JWE(dir + A256GCM) 형식으로 요약 정보를 받습니다. 모든 SMART Health Link 리더가 작동합니다.
- 콘텐츠는 열릴 때마다 생성됩니다(플래그
L, 상태can-change). 따라서 휴대폰에 보관된 카드는 최신 상태를 유지합니다. - 암호(플래그
P)는 서버에서 확인됩니다. 10번의 잘못된 시도 후 링크는 작동을 멈춥니다. GET /me/patients/{id}/shl는 각 링크가 얼마나 자주, 언제 열렸는지 목록을 제공하며,…/shl/{link}/revoke은 한 번에 하나의 링크를 비활성화합니다. 모든 열람은 액세스 로그에 기록됩니다.- 사용자의 내부 ID는 플랫폼을 벗어나지 않습니다. 문서는 링크의 가명으로 사용자를 지칭합니다.
AI 에이전트가 제안하고, 사람이 결정합니다
사람의 동의 하에, AI 에이전트(예: MCP를 통해 연결된 어시스턴트와 같은 에이전트로 등록된 애플리케이션)의 쓰기 또는 author_type ai를 사용한 쓰기는 즉시 적용되지 않습니다. 플랫폼은 이를 검증하고 제안 ID(헤더 Anpheros-Proposal)와 함께 202 Accepted로 응답합니다. 레코드에는 아무런 변경도 없습니다. 사람은 GET /me/patients/{id}/proposals에서 해당 제안이 무엇인지, 어떤 애플리케이션이 보냈는지 확인하고 수락하거나 거부합니다(…/proposals/{proposal}/accept 또는 …/reject). 수락된 제안은 보낸 그대로 기록되며, AI 작성으로 표시됩니다(HL7 AI 투명성). 레코드를 볼 수 있는 프로젝트는 얇은 proposal.created 웹훅을 받습니다. 프로젝트 자체 키를 사용하여 프로젝트가 생성한 레코드에 작성하는 것은 보류되지 않습니다.
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card