FHIR

FHIR 진료 기록 설명: 유형, 상태, 참여자, 진단 및 장소, 예시 포함

진료 기록(Encounter)은 FHIR에서 방문, 입원, 원격 진료 또는 가정 방문을 나타내는 리소스입니다. 언제 발생했는지, 어떤 환경에서 이루어졌는지, 누가 참여했는지, 이유는 무엇인지, 무엇을 진단받았는지 등을 포함합니다. 상태 변경 과정, 유형 코드(외래, 입원, 응급, 가상), 입원 세부 정보, 유효한 R4 예시, 그리고 R5에서의 변경 사항을 설명합니다.

작성자 게시일 2분 소요

간단히 말해: Encounter는 환자와 의료 시스템 간의 한 번의 상호작용을 의미합니다. 외래 진료, 입원, 응급실 방문, 화상 상담, 방문 진료 등이 포함됩니다. 언제(period), 어떤 환경(class: 외래, 입원, 응급, 가정 건강, 가상), 상태 (계획 → 진행 중 → 완료), 누가 참여했는지, 왜(reasonCode), 무엇이 진단되었는지(diagnosis, Condition과 연결)를 기록합니다. 관찰, 시술, 약 처방 및 문서는 해당 Encounter를 참조하므로, 기록을 방문별로 읽을 수 있습니다.

유효한 FHIR R4 예시

유효한 FHIR R4 Encounter 리소스는 상태와 클래스만 있으면 되지만, 유용한 리소스에는 대상, 기간, 유형, 참여자, 사유 및 진단 정보도 포함됩니다. 아래 예시는 제2형 당뇨병에 대한 완료된 외래 진료로, 주요 담당자, 1순위로 지정된 주 증상 진단, 장소 및 책임 기관이 포함되어 있습니다.

{
  "resourceType": "Encounter",
  "id": "visit-2026-03-14",
  "status": "finished",
  "class": {"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", "code": "AMB", "display": "ambulatory"},
  "type": [{"coding": [{"system": "http://snomed.info/sct", "code": "11429006", "display": "Consultation"}]}],
  "serviceType": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/service-type", "code": "165", "display": "Diabetes Education"}]},
  "subject": {"reference": "Patient/example"},
  "participant": [{
    "type": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType", "code": "PPRF", "display": "primary performer"}]}],
    "individual": {"reference": "Practitioner/gp-42"}
  }],
  "period": {"start": "2026-03-14T09:00:00+01:00", "end": "2026-03-14T09:25:00+01:00"},
  "reasonCode": [{"coding": [{"system": "http://snomed.info/sct", "code": "44054006", "display": "Type 2 diabetes mellitus"}]}],
  "diagnosis": [{
    "condition": {"reference": "Condition/t2dm"},
    "use": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/diagnosis-role", "code": "CC", "display": "Chief complaint"}]},
    "rank": 1
  }],
  "location": [{"location": {"reference": "Location/clinic-3"}, "status": "completed"}],
  "serviceProvider": {"reference": "Organization/hospital"}
}

상태: 생명주기

FHIR Encounter의 상태는 계획됨, 도착함, 분류됨, 진행 중, 휴가 중, 완료됨으로 이동하며, 취소됨, 오류 입력됨, 알 수 없음이 다른 종료 상태입니다. statusHistory 요소는 각 이전 상태와 해당 기간을 유지하므로, 입원 기록은 환자가 언제 도착하고, 입원하고, 퇴원했는지를 보여줍니다. Encounter는 예약을 위한 약속 자체가 아니라 상호작용 자체입니다.

planned (예약됨, 아직 시작되지 않음) → arrived → triaged (응급실) → in-progress (진행 중) → onleave (입원 환자 임시 외출) → finished (완료). cancelled (취소됨) 및 entered-in-error (오류 입력됨)는 다르게 종료됩니다. unknown (알 수 없음)은 가져오기 시 사용됩니다. statusHistory는 이전 상태와 해당 기간을 유지하므로, 입원 기록은 환자가 언제 도착했고, 언제 입원했으며, 언제 퇴원했는지 보여줍니다. Encounter는 Appointment와 다르다는 점에 유의하세요. Appointment는 예약이며, 환자가 도착하면 이를 appointment를 통해 참조하는 Encounter가 생성됩니다.

클래스: 환경

Encounter의 class는 HL7 v3 ActCode 시스템에서 가져옵니다: AMB 외래, IMP 입원, EMER 응급, HH 가정 건강, VR 가상 (원격 진료), ACUTE 및 NONAC 입원 하위 유형, OBSENC 관찰, PRENC 사전 입원, SS 단기 입원. classHistory는 예를 들어 응급 방문이 입원으로 전환된 경우의 이송을 기록합니다.

기타 요소

상태와 클래스 외에도 FHIR Encounter는 유형 및 서비스 유형 (어떤 종류의 방문 및 어떤 서비스 라인인지), 참여자 (역할 및 기간이 있는 의료진), 사유 코드 또는 사유 참조, 진단 (사용 및 순위가 있는 연결된 조건), 입원 (입원 및 퇴원 세부 정보), 시간에 따른 위치 항목, 길이, 서비스 제공자 및 하위 Encounter를 위한 partOf를 포함합니다.

  • type 및 serviceType은 만남의 종류와 서비스 라인(심장학, 당뇨병 교육)을 나타내며, 국가별로 다른 코드를 사용합니다.
  • participant는 의사 및 기타 참여자의 참여 유형(입원 담당자, 진료 담당자, 주 시술자, 상담의, 의뢰인)과 각 참여 기간을 나열합니다.
  • reasonCode / reasonReference는 방문 이유를 제공합니다. diagnosis는 확립되거나 다루어진 Condition을 use (입원 진단 AD, 퇴원 진단 DD, 주 증상 CC, 동반 질환 CM, 청구) 및 rank와 함께 연결합니다. FHIR Condition 설명을 참조하세요.
  • hospitalization은 입원 세부 정보를 포함합니다: admitSource (GP 의뢰, 응급, 전원), dischargeDisposition (자택, 다른 병원, 사망), preAdmissionIdentifier, 식단 및 특별 조치.
  • location은 시간에 따른 상태(계획됨, 활성, 예약됨, 완료됨)와 함께 장소를 나열합니다. 병동 이동은 새 항목을 추가합니다.
  • length는 기간이며, serviceProvider는 책임 있는 조직, partOf는 하위 Encounter(병동 체류)를 해당 입원에 연결합니다.

R5에서의 변경 사항

FHIR R5는 Encounter.hospitalization을 admission으로 이름을 변경하고, reasonCode와 reasonReference를 reason으로 병합했으며, class를 CodeableConcept 목록으로 만들었습니다 (Encounter는 여러 분류를 가질 수 있음). participant.individual을 actor로 이동했으며, 상태 및 클래스 기록을 위한 별도의 리소스로 EncounterHistory를 도입했습니다. R4는 US Core 및 대부분의 국가별 가이드에서 사용되는 버전으로 유지됩니다. FHIR R4 대 R5를 참조하세요.

HL7 v2에서의 매핑

HL7 v2 ADT 메시지는 이벤트 유형에 따라 FHIR Encounter로 매핑됩니다: A01 입원은 진행 중인 입원 Encounter를 생성하고, A03 퇴원은 기간 종료 및 퇴원 처분으로 이를 완료하며, A02 이송은 위치 항목을 추가하고, A04는 외래 Encounter를 등록하며, A08은 이를 업데이트합니다. 대부분의 데이터는 PV1 세그먼트에서 오며, 해당 방문 번호가 Encounter.identifier가 됩니다.

ADT^A01 (입원)은 IMP 클래스와 in-progress 상태의 Encounter를 생성합니다. A03 (퇴원)은 finished 상태를 설정하고 period.end 및 dischargeDisposition을 채웁니다. A02 (전송)는 location 항목을 추가합니다. A04 (외래 등록)는 AMB Encounter를 생성합니다. A08은 이를 업데이트합니다. PV1은 대부분의 데이터를 포함합니다(PV1-2의 환자 클래스, PV1-3의 위치, PV1-7의 진료 담당자, PV1-19의 방문 번호, 이는 Encounter.identifier가 됩니다). HL7 v2 메시지 설명을 참조하세요.

Anpheros에서

Anpheros Platform은 두 가지 방법으로 FHIR Encounter 리소스를 생성합니다: 클리닉에서 API를 통해 작성하거나, 개인의 로그인된 방문 기록이 약속이 완료된 후 완료된 Encounter가 됩니다. 해당 방문의 결과, 문서 및 메모는 Encounter를 참조하므로, 개인과 공유하는 모든 클리닉에서 방문별로 기록을 읽을 수 있습니다.

앱에서 예약된 약속은 발생할 때까지 Appointment 리소스입니다.

관련 페이지

출처

자주 묻는 질문

Encounter와 Appointment의 차이점은 무엇인가요?

Appointment는 미래의 시간을 예약하는 것이고, Encounter는 실제로 발생했거나(또는 발생 중인) 상호작용입니다. 환자가 도착하면 Encounter가 생성되고 Appointment를 참조합니다.

병원 입원은 하나의 Encounter인가요, 아니면 여러 개인가요?

일반적으로 입원 시 하나의 Encounter이며, 각 병동에 대한 위치 항목과 설정 변경에 대한 classHistory가 있습니다. 일부 시스템은 partOf를 통해 연결된 병동 체류당 하위 Encounter를 생성합니다. 국가별 가이드에서 이를 명시합니다.

퇴원 요약은 어디로 가나요?

DocumentReference 또는 Composition이 Encounter를 참조하는 FHIR 문서로 저장됩니다. Encounter 자체에는 서술적인 내용이 아닌 퇴원 처분 및 날짜가 포함됩니다.

모든 Observation에 Encounter가 필요한가요?

아니요. 환자가 집에서 기록하거나 웨어러블 기기에서 가져온 Observation에는 Encounter가 없습니다. 방문 중에 이루어진 Observation은 기록을 방문별로 읽을 수 있도록 Encounter를 참조해야 합니다.

Anpheros Platform

샌드박스에서 무료로 사용해 보세요

5분 만에 첫 FHIR 호출. 환자의 동의가 내장된 HL7 FHIR R4 API: 샌드박스에서 먼저 사용해보고, 자체 앱 또는 병원 시스템을 연결하세요.

무료 · 합성 환자 30명 · 카드 불필요

이 가이드는 정보 제공 목적으로 의료 조언을 대체하지 않습니다. 건강 관련 결정은 의사와 상담하십시오. 응급 상황에서는 현지 응급 번호(유럽은 112)로 전화하세요.
작성자
Anpheros 팀

Anpheros는 환자가 직접 관리하고 어떤 병원과도 공유할 수 있는 의료 기록을 EU 기반의 HL7 FHIR R4 플랫폼에서 구축합니다. 이 가이드들은 건강 정보를 이해하고 정리하는 데 도움을 드리며, 의사의 진료를 대체하지 않습니다.

Anpheros 소개 →