# FHIR 플랫폼: 환자 동의를 통한 관리형 FHIR R4

> 관리형 FHIR R4 플랫폼: 26가지 리소스 유형, 검색, 기록, 트랜잭션, $everything, IPS, Inferno 테스트 SMART 런치, 동의 및 출처, 간단한 REST API 제공. 무료 샌드박스.

Source: https://developers.anpheros.com/ko/guides/fhir

**Anpheros는 FHIR 플랫폼입니다. 애플리케이션이 FHIR 백엔드로 사용하는 관리형 FHIR 데이터베이스(데이터 저장소)입니다. 모든 환자 기록을 HL7 FHIR R4 (4.0.1) 리소스로 네이티브하게 저장하고 `https://platform.anpheros.com/fhir/R4`에서 노출합니다.** 표준 위에 동의, 출처 및 감사 기능이 추가됩니다. 이미 FHIR을 사용하는 애플리케이션은 직접 사용할 수 있으며, 그렇지 않은 애플리케이션은 동일한 ID로 동일한 리소스를 읽고 쓰는 더 간단한 REST API(`/v1`)를 사용할 수 있습니다.

AI 애플리케이션의 경우 Anpheros는 모델 컨텍스트가 오는 FHIR 백엔드가 됩니다. [LLM 애플리케이션 및 의료 데이터](https://developers.anpheros.com/ko/guides/llm-healthcare-data)를 참조하십시오.

<!-- visual:fhir-hero -->

## HL7 FHIR란 무엇인가요?

FHIR(Fast Healthcare Interoperability Resources)은 웹을 통해 건강 데이터를 교환하기 위한 HL7 표준입니다. FHIR은 다음을 정의합니다.

- **리소스(resources)** — 각 임상 개념에 대한 작고 형식화된 JSON(또는 XML) 문서: `Patient`, `Observation`, `Condition`, `MedicationStatement`;
- 리소스 간의 **참조(references)** (`"subject": {"reference": "Patient/123"}`)를 통해 환자를 중심으로 한 리소스 그래프로 레코드를 구성합니다.
- 리소스를 읽고, 검색하고, 생성하고, 업데이트하고, 삭제하기 위한 **REST API**와 표준 검색 매개변수;
- 여러 리소스를 한 번에(트랜잭션) 또는 문서(환자 요약 등)로 보내기 위한 **번들(bundles)**;
- LOINC 또는 ICD-10과 같은 시스템의 코드를 포함하는 값에 대한 **용어 바인딩(terminology bindings)**;
- 국제 환자 요약과 같은 특정 사용 사례 또는 국가에 대한 제약 조건인 **프로파일(profiles)**.

R4(버전 4.0.1)는 현재 가장 널리 구현된 릴리스입니다. FHIR을 스토리지 모델로 사용하는 것(내보내기 형식으로만 사용하는 것이 아님)은 애플리케이션이 쓰는 내용과 다른 FHIR 시스템이 읽는 내용 사이에 번역 계층이 없음을 의미합니다.

```json
{
  "resourceType": "Observation",
  "status": "final",
  "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}]}],
  "code": {"coding": [{"system": "http://loinc.org", "code": "4548-4", "display": "Hemoglobin A1c"}]},
  "subject": {"reference": "Patient/…"},
  "effectiveDateTime": "2026-09-01T08:00:00Z",
  "valueQuantity": {"value": 6.4, "unit": "%", "system": "http://unitsofmeasure.org", "code": "%"}
}
```

## Capability statement

`GET /fhir/R4/metadata`은 지원되는 리소스 유형, 검색 매개변수 및 작업을 포함하는 CapabilityStatement를 반환합니다. 이는 공개적이며 권위 있는 목록입니다. 아래 표는 2026년 9월 28일 기준의 내용을 반영합니다.

## 26가지 리소스 타입

<!-- visual:fhir-map:replace -->

| 영역 | 리소스 타입 |
|---|---|
| 환자 및 인물 | `Patient`, `RelatedPerson` |
| 측정 및 결과 | `Observation` (활력 징후, 검사 결과, 증상, 웰빙, 일상 활동 및 수면), `DiagnosticReport` |
| 문제 및 관리 | `Condition`, `EpisodeOfCare`, `Procedure`, `CarePlan`, `Goal`, `ServiceRequest`, `CareTeam`, `FamilyMemberHistory` |
| 약물 및 예방 | `MedicationStatement`, `MedicationAdministration`, `Immunization`, `AllergyIntolerance` |
| 문서 및 설문지 | `DocumentReference`, `QuestionnaireResponse` |
| 방문 | `Encounter`, `Appointment` |
| 디렉토리 | `Organization`, `Practitioner`, `PractitionerRole` |
| 거버넌스 | `Consent`, `Provenance` |
| 확장 지점 | `Basic` |

환자 범위의 모든 타입은 환자 컴파트먼트에 속하므로, `Patient/{id}/$everything`, 환자 수준의 OAuth 범위 및 동의 필터가 이 모든 리소스에 적용됩니다. 디렉토리 리소스(`Organization`, `Practitioner`, `PractitionerRole`)는 환자가 없으며, 동일 환경 내의 프로젝트 간에 읽을 수 있고 생성한 프로젝트만 변경할 수 있습니다.

## 상호작용 및 연산

<!-- visual:fhir-ops -->

- 지원되는 모든 유형에 대한 **읽기, 검색, 생성, 업데이트, 삭제**; 유형별 검색 매개변수는 CapabilityStatement에 나열됩니다. 알 수 없는 검색 매개변수는 무시되지 않고 `400`로 거부됩니다.
- **이력**: `GET /fhir/R4/{type}/{id}/_history`는 모든 버전을 반환합니다. 업데이트는 `If-Match`으로 조건부로 수행할 수 있습니다(버전 불일치는 `412`로 응답합니다).
- **트랜잭션 및 배치**: `POST /fhir/R4`는 `transaction` 또는 `batch` 유형의 `Bundle`와 함께 사용됩니다.
- **`Patient/{id}/$everything`**: 한 환자의 전체 컴파트먼트입니다.
- **`Patient/{id}/$summary`**: 영어 또는 루마니아어(`?lang=`)로 된 International Patient Summary(IPS) 문서 `Bundle`입니다.
- **`Observation/$validate?profile=eu-lab`**: 실험실 결과가 HL7 Europe 실험실 보고 규칙에 어떻게 부합하는지 보고합니다.
- **페이지 매김**: `_count`는 최대 200개까지 지원하며, `_revinclude`는 최대 1,000개의 리소스를 반환합니다.
- **멱등성**: `POST` 요청은 `Idempotency-Key`를 허용합니다. 동일한 키로 요청을 반복하면 동일한 응답이 반환되며 아무것도 생성되지 않습니다.

```bash
# latest HbA1c results of one patient, strict FHIR
curl "https://platform.anpheros.com/fhir/R4/Observation?patient=$PID&code=http://loinc.org|4548-4&_sort=-date" \
     -H "Authorization: Bearer $KEY"

# the patient's International Patient Summary
curl "https://platform.anpheros.com/fhir/R4/Patient/$PID/\$summary?lang=en" -H "Authorization: Bearer $KEY"
```

## FHIR 및 더 간단한 REST API

FHIR 리소스를 직접 다루고 싶지 않은 개발자를 위해 `/v1`이 제공됩니다. 환자, 관찰, 상태, 약물, 문서, 연대기적 타임라인 및 출처 정보와 플랫폼 기능(컨텍스트, 실험실 가져오기, 웹훅, 용어)을 다룹니다. 모든 `/v1` 객체는 `fhir` 참조를 포함하므로 애플리케이션은 `/v1`에서 시작하여 전체 모델이 필요한 부분에 대해 FHIR로 전환할 수 있습니다.

## FHIR 관련 표준

`$summary`은 공식 HL7 검증기(오류 0건)로 검증된 국제 환자 요약(International Patient Summary)을 생성하며, 검사 결과는 HL7 Europe 실험실 규칙(현재는 권고 사항)에 따라 확인됩니다. 타사 앱은 SMART on FHIR 독립 실행형 실행을 통해 연결되며, HL7 v2 `ORU^R01` 검사 메시지는 입력으로 수락됩니다. 형식, 수준 및 교환 패턴은 [Healthcare data interoperability](https://developers.anpheros.com/ko/guides/interoperability)에 설명되어 있으며, 리소스 유형별 코드 시스템은 [FHIR code systems](https://developers.anpheros.com/ko/guides/fhir-code-systems)에 설명되어 있습니다.

## 자주 묻는 질문

### FHIR 플랫폼이란 무엇인가요?
HL7 FHIR 리소스로 건강 데이터를 저장하고 표준 FHIR REST API를 통해 노출하는 서비스입니다. 또한 애플리케이션에 필요한 표준 기능(권한 부여, 동의, 감사, 기록 및 `$everything` 및 `$summary`와 같은 작업)을 추가합니다. Anpheros는 관리형 FHIR R4 플랫폼입니다. FHIR 서버를 직접 실행하는 대신 Anpheros를 호출하면 됩니다.

### FHIR 서버와 FHIR 플랫폼의 차이점은 무엇인가요?
FHIR 서버는 데이터베이스 위에 FHIR API를 구현합니다. FHIR 플랫폼은 FHIR 서버를 대신 실행하고 그 주위에 환자 동의, 출처, 액세스 로그, SDK, 웹훅, 실험실 가져오기 및 샌드박스와 같은 계층을 추가하여 애플리케이션이 이러한 부분을 직접 구축할 필요가 없도록 합니다.

### Anpheros는 어떤 FHIR 버전을 지원하나요?
FHIR R4 (4.0.1)를 지원하며, 공개 CapabilityStatement `/fhir/R4/metadata`에 나열된 26개의 리소스 유형을 포함합니다.

### Anpheros FHIR 플랫폼은 독립적으로 테스트되었나요?
오픈 소스 Inferno 테스트 키트의 SMART App Launch STU2 "Standalone Launch" 그룹은 22개 테스트 중 22개를 통과했습니다(2026년 9월 28일 실행 기준). International Patient Summary는 공식 HL7 검증기에서 오류 없이 검증되었습니다. EHR 시작 및 대량 데이터 내보내기는 아직 지원되지 않습니다.

### FHIR 플랫폼을 무료로 사용할 수 있나요?
네. 샌드박스는 무료이며 프로젝트당 30명의 합성 환자를 포함합니다. 프로덕션은 월 €99부터 시작하며 첫 달은 무료입니다.

### Anpheros를 사용하기 위해 FHIR을 사용해야 하나요?
아니요. 더 간단한 REST API (`/v1`)는 동일한 ID로 동일한 리소스를 읽고 쓰므로 애플리케이션은 플랫 JSON으로 시작하여 전체 모델이 필요한 경우 FHIR로 전환할 수 있습니다.

<!-- visual:cta-fhir -->

## 관련 자료

- [FHIR 샌드박스](https://developers.anpheros.com/ko/guides/fhir-sandbox): 무료 개인 FHIR R4 테스트 서버
- [FHIR 기반 국제 환자 요약(IPS)](https://developers.anpheros.com/ko/guides/international-patient-summary-fhir)
- [의료 데이터 출처 설명](https://developers.anpheros.com/ko/guides/medical-data-provenance): 누가 무엇을 작성했는지, 그리고 기록하는 방법
- [FHIR R4를 사용하여 의료 기록 저장하는 방법](https://developers.anpheros.com/ko/guides/store-medical-records-fhir): curl을 사용한 단계별 튜토리얼
- [FHIR vs. 맞춤형 의료 데이터베이스](https://developers.anpheros.com/ko/guides/fhir-vs-custom-database): 자체 테이블을 설계해야 할 때와 FHIR를 사용해야 할 때
- [무료 FHIR 데이터베이스 및 샌드박스](https://developers.anpheros.com/ko/guides/free-fhir-database)
- [Anpheros와 다른 FHIR 서버 비교](https://developers.anpheros.com/ko/guides/fhir-server-comparison)
- [의료 데이터 상호 운용성](https://developers.anpheros.com/ko/guides/interoperability)
- [FHIR 코드 시스템](https://developers.anpheros.com/ko/guides/fhir-code-systems)
- [의료 데이터 API](https://developers.anpheros.com/ko/guides/medical-data-api)
- [의료 앱 구축](https://developers.anpheros.com/guides/build-a-healthcare-app)
- [API 레퍼런스(OpenAPI)](https://developers.anpheros.com/docs)
- [DICOM vs FHIR](https://developers.anpheros.com/ko/guides/dicom-vs-fhir): FHIR의 범위와 의료 영상의 시작점
