# FHIR 코드 시스템

> 각 FHIR 리소스 유형이 사용하는 코드 시스템: 측정 및 검사 결과는 LOINC, 질병은 ICD-10, 약물은 ATC, 단위는 UCUM, SNOMED CT는 라이선스 플래그 뒤에 있습니다.

Source: https://developers.anpheros.com/ko/guides/fhir-code-systems

이 플랫폼은 저장하는 내용과 Anpheros Daily(환자 앱)가 API를 통해 작성하는 내용을 설명합니다. 애플리케이션은 FHIR에서 허용하는 모든 코드 시스템을 사용할 수 있습니다. 이 페이지는 플랫폼이 인식하는 코드 시스템(표시 조회, IPS 확인, 컨텍스트 엔진)과 Anpheros 자체에서 사용하는 코드 시스템을 명시합니다. 마지막 업데이트: 2026년 9월 22일.

| 리소스 | 요소 | 코드 시스템 | 참고 |
|---|---|---|---|
| Observation (vital-signs) | `code` | LOINC (`http://loinc.org`) | 8867-4 심박수, 85354-9 혈압 패널 (8480-6 / 8462-4 구성 요소), 8310-5 체온, 2339-0 포도당, 29463-7 체중, 39156-5 BMI, 59408-5 SpO₂, 8302-2 키 |
| Observation (laboratory) | `code` | LOINC; LOINC를 알 수 없는 경우 로컬 `urn:anpheros:lab` | Anpheros Daily에서 매핑됨; 참조 범위는 `referenceRange`, 문서는 `derivedFrom`에 있음 |
| Observation (symptom) | `code`, `category` | ICD-10 (`http://hl7.org/fhir/sid/icd-10`) 챕터 R; 카테고리 `urn:anpheros:observation-category\|symptom`; 플래그 뒤에 SNOMED CT | 자유 텍스트는 `code.text`에 유지됨; 강도는 1–10 (`valueQuantity`) (`{score}`). 2026년 10월 13일 이전에 작성된 리소스는 HL7 `observation-category` 시스템과 코드 `symptom`를 포함할 수 있음; 코드로 필터링 (`category=symptom`), 시스템으로 필터링하지 않음. 환자가 현재 자신에 대해 보고한 증상만 기록됨 |
| Observation (survey, wellbeing) | `code`, `component` | `urn:anpheros:wellbeing` (차원: 감정 / 정신 / 신체) | 강도는 구성 요소 `valueQuantity` `{score}`로 표시됨; 참고 사항은 `note`에 있음 |
| Observation (activity, daily watch summaries) | `code` | LOINC: 40443-4 휴식 시 심박수, 8867-4 심박수 (최소/평균/최대 구성 요소), 80404-7 HRV (RMSSD), 59408-5 SpO₂, 41950-7 걸음 수, 41981-2 에너지, 93832-4 수면 시간, 93831-6 / 93830-8 수면 단계 | `effectivePeriod`는 하루를 포함함; 카테고리 `activity` |
| Condition | `code`, `severity`, `clinicalStatus` | ICD-10; SNOMED CT 심각도 (24484000 심각, 6736007 보통, 255604002 경미); `condition-clinical` | 카테고리 `problem-list-item` |
| MedicationStatement | `medicationCodeableConcept` | ATC (`http://www.whocc.no/atc`); `code.text` = 제품명 | 앱별 필드를 위한 확장 `daily-medication` |
| MedicationAdministration | `medicationCodeableConcept`, `supportingInformation` | ATC; 치료 계획은 `MedicationStatement/{id}` (검색 매개변수 `statement`)의 `supportingInformation`로 표시됨 | 복용하거나 건너뛴 각 복용량에 대한 하나의 리소스 (`status` 완료 / 미실행) |
| Immunization | `vaccineCode` | ATC J07 (`http://www.whocc.no/atc`) 또는 국가 명칭; `vaccineCode.text`는 항상 유지됨 | IPS 섹션의 경우 `occurrenceDateTime` 필수; 복용량의 경우 `protocolApplied.doseNumberPositiveInt` |
| AllergyIntolerance | `code`, `reaction.manifestation`, `criticality` | SNOMED CT (플래그 뒤에 있음) 또는 `code.text`만 해당; 약물 알레르기의 경우 ATC | 카테고리 음식 / 약물 / 환경 / 생물학적 |
| DocumentReference | `type` | LOINC 문서 종류 (`/v1`의 `DOC_KIND_LOINC`) | |
| Encounter | `class`, `type` | v3-ActCode 클래스; SNOMED CT 유형 (알고 있는 경우) | `episodeOfCare` → 임신 / 장기 질병 / 치료의 EpisodeOfCare |
| EpisodeOfCare | `type`, `diagnosis.condition` | `urn:anpheros:episode-type` (질병 / 치료 / 임신 / 기타); `diagnosis.condition` → Condition | Anpheros Daily 조건당 하나 ("dosar", 2026년 9월 25일); `period` = 시작 → 종료. 연결된 리소스는 Condition을 가리킴: `Observation.focus`, `MedicationStatement.reasonReference`, `DocumentReference.context.related`, `Appointment.reasonReference` (검색: `focus`, `reason-reference`, `related`, `condition`) |
| Appointment | `serviceType` | `service-type` 코드 시스템 | |
| RelatedPerson | `relationship` | v3-RoleCode (MTH, FTH, CHILD, SPS, …) | |
| QuestionnaireResponse | `questionnaire` | `https://anpheros.com/fhir/Questionnaire/` 아래의 표준 URL | |
| Basic | `code` | `urn:anpheros:basic` | 비상 탈출구; 사용 전에 여기에 문서화된 모든 코드 |
| Provenance | `agent.type` | `provenance-participant-type` | |

## 식별자와 확장

- Anpheros Daily 행의 로컬 식별자: `urn:anpheros:daily:{vital|medication|condition|episode|lab|symptom|document|weight|wellbeing|intake|immunization|allergy|health-day}`.
- 조건 확장 `daily-condition` (2026년 9월 25일): `kind` (질병 / 치료 / 임신 / 기타), `color` (앱 팔레트 키), `source`, `due_date` (임신). 작성된 코드가 없는 임신은 ICD-10 `Z33`를 가집니다.
- 확장은 `https://anpheros.com/fhir/StructureDefinition/daily-*` (`daily-medication`, `daily-symptom`, `daily-condition`, …) 아래에 있습니다.
- 수량이 기재된 모든 곳에서는 단위를 UCUM (`http://unitsofmeasure.org`)을 사용합니다.

## 증상 개념 (2026.10.2 릴리스, 2026년 10월 16일)

`GET /v1/terminology/symptoms?q=&icd10=&kind=symptom|finding|all&lang=&limit=&offset=` 및 `GET /v1/terminology/symptoms/{concept_id}`은 Anpheros 증상 개념을 제공합니다. 안정적인 식별자(`SYM-0001`…, 재사용 불가; 시스템 `https://anpheros.com/fhir/CodeSystem/symptom`), ICD-10 매핑 및 해당 동등성(`equivalent` 또는 ICD-10 코드가 개념보다 더 포괄적인 경우 `broader`), 레이블 및 무료 텍스트에서 개념을 찾는 데 사용되는 일치 용어입니다.

- 86개 개념: 70개 증상 및 16개 소견(R70–R94). 증상은 ICD-10 R00–R69을 사용하며, WHO가 증상을 다른 곳에서 분류하는 경우 WHO 코드: G47 수면 문제, H53.2 복시, H53.8 흐릿한 시야(더 넓음), H93.1 이명, K59.0 변비, L29.9 가려움증, M25.5 관절통, M54 요통을 사용합니다.
- 모든 코드와 영어 제목은 2026년 10월 15일에 WHO ICD-10 버전 2019 브라우저와 비교하여 확인되었으며, 포함 및 제외 노트가 포함됩니다. `icd10.display`은 WHO 제목입니다.
- 모든 개념은 **ICD-11 MMS 2025-01**(`icd11`: 코드, WHO 제목, 동등성 `equivalent | wider | narrower | inexact`) and to a **body system** (`body_system`: the ICD-11 chapter 21 block of that code, e.g. `nervous`, `digestive`)에도 매핑됩니다. 질병 코드(두통 → MB4D, 8A8Z 아님) 대신 챕터 21 증상 코드가 사용됩니다. WHO ICD-10 → ICD-11 매핑 테이블과의 모든 차이는 `release.json`(`icd11_departures`)에 나열됩니다. `?icd11=MB4D` 또는 `?body_system=digestive`로 필터링합니다.
- 레이블은 `review` 상태를 가집니다: `source` (공식 WHO 영어 제목), `in_use` (Anpheros Daily에서 사용하는 루마니아어 레이블 및 일치 용어) 또는 `ai_reviewed` (19개 언어의 일반 레이블: AI 지원을 통해 WHO 제목과 용어별로 검토된 기계 번역, 임상의 또는 전문 의료 번역가가 **아님**). `display`는 `lang`에서 선호되는 레이블이며, 그렇지 않으면 일반 레이블, 그렇지 않으면 영어입니다. `display_lang`은 어떤 레이블인지 나타냅니다.
- 경고 징후: 14개 개념에 대한 32개 항목으로, CDC 및 NIDDK 공개 도메인 페이지에서 그대로 인용되었으며, 각 항목에는 출처, `review: source_verified` 및 진단이 아님을 나타내는 메모가 있습니다. 원인이나 질병 관련성은 없습니다. 모든 개념은 자격을 갖춘 임상의가 릴리스를 검토할 때까지 `clinical_review: false`을 가집니다.
- 데이터는 `app/terminology/symptoms/` (`concepts.csv`, `labels.csv`, `release.json` 출처 포함)에 있으며, 변경 사항은 검토된 커밋 및 새 릴리스 번호입니다.
- Anpheros Daily는 증상 관찰에서 ICD-10 옆에 두 번째 코딩으로 개념을 추가합니다.
- 요청 및 응답을 통한 워크스루: [증상 데이터 API](https://developers.anpheros.com/ko/guides/symptom-data-api).

### FHIR 용어와 동일한 개념 (2026년 10월 15일)

읽기 전용이며 동일한 릴리스에서 제공되며 동일한 게시 규칙(검토된 레이블만)을 따릅니다.

| 리소스 | 읽기 | 참고 |
|---|---|---|
| CodeSystem | `GET /fhir/R4/CodeSystem/anpheros-symptom`, `GET /fhir/R4/CodeSystem?url=https://anpheros.com/fhir/CodeSystem/symptom` | `content: complete`, 임상적으로 검토될 때까지 `status: draft`; 속성 `kind`, `status`, `icd10`, `icd11`, `body_system`; 루마니아어 레이블, 일치 용어 및 일반 레이블을 지정으로 사용 |
| CodeSystem/$lookup | `GET /fhir/R4/CodeSystem/$lookup?system=https://anpheros.com/fhir/CodeSystem/symptom&code=SYM-0047&displayLanguage=ro` | 표시, 지정 및 속성이 있는 `Parameters` |
| ValueSet | `GET /fhir/R4/ValueSet/anpheros-symptoms`, `GET /fhir/R4/ValueSet/$expand?url=https://anpheros.com/fhir/ValueSet/anpheros-symptoms&filter=&displayLanguage=&count=&offset=` | 활성 증상(소견 제외) |
| ConceptMap | `GET /fhir/R4/ConceptMap/anpheros-symptom-to-icd10` | `equivalent`, 또는 ICD-10 코드가 개념보다 더 포괄적인 경우 `wider` (H53.8) |
| ConceptMap | `GET /fhir/R4/ConceptMap/anpheros-symptom-to-icd11` | ICD-11 MMS 2025-01 (`http://id.who.int/icd/release/11/mms`), `equivalent`, `wider`, `narrower` 또는 `inexact` 포함 |

**프로필 `anpheros-symptom`** (`POST /fhir/R4/Observation/$validate?profile=anpheros-symptom`, 표준 `https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`): 범주 `urn:anpheros:observation-category|symptom` (HL7 `observation-category` 코드는 거부됨), `code.text`의 개인의 단어, ICD-10 코드와 일치하는 Anpheros 개념, subject = Patient, status final / amended / corrected / entered-in-error, effective[x]는 `start` 이전이 아닌 `effectivePeriod.end`, UCUM `{score}` 0–10으로 강도. 다른 프로필과 마찬가지로 문제를 보고하며 쓰기를 거부하지 않습니다.

## 라이선스

LOINC, ATC (WHO), ICD-10 (WHO) 및 UCUM은 공개 라이선스 하에 사용됩니다. SNOMED CT는 국가 또는 제휴 라이선스가 필요합니다. 매핑 테이블은 코드와 함께 제공되지만, SNOMED 코드는 `TERMINOLOGY_SNOMED_ENABLED`가 활성화된 경우에만 기록됩니다 (루마니아 라이선스 대기 중).

단위, 날짜 및 유효성 검사를 포함하여 다양한 소스의 데이터를 이러한 코드 시스템에 매핑하는 방법: [의료 데이터 정규화 방법](https://developers.anpheros.com/ko/guides/normalize-medical-data).

이러한 코드 시스템을 조회할 위치와 번들에 포함된 서브셋의 범위: [의료 용어 API](https://developers.anpheros.com/ko/guides/medical-terminology-api).
