의료 기록 데이터 형식

의료 기록 데이터는 HL7 FHIR 형식으로 저장됩니다.

의료 기록은 다음 Fast Health Interoperable Resources(FHIR) 버전을 지원합니다.

의료 리소스 유형

FHIR은 리소스라고 하는 모듈식 구성요소 집합으로 구성됩니다. 지원되는 FHIR 리소스 및 해당 카테고리는 대략 International Patient Summary 섹션을 기반으로 합니다.

이러한 리소스는 헬스 커넥트의 데이터 카테고리에 매핑되며, API에서는 의료 리소스 유형이라고 합니다. 관찰 리소스는 논리적 관찰 식별자 이름 및 코드 (LOINC) 코드, FHIR 카테고리와 같은 콘텐츠를 기반으로 매핑됩니다.

이러한 카테고리에 속하지 않는 관측치는 헬스 커넥트에 기록되지 않습니다.

표 1: 헬스 커넥트 의료 리소스 유형
헬스 커넥트 의료 리소스 유형 FHIR 리소스 헬스 커넥트 권한 선언
알레르기 AllergyIntolerance android.permission.health.READ_MEDICAL_DATA_ALLERGIES_INTOLERANCES
조건 조건 android.permission.health.READ_MEDICAL_DATA_CONDITIONS
실험실

관찰 결과

  • laboratory FHIR 카테고리
android.permission.health.READ_MEDICAL_DATA_LABORATORY_RESULTS
복용약 Medication, MedicationRequest, MedicationStatement android.permission.health.READ_MEDICAL_DATA_MEDICATIONS
개인 정보 환자 android.permission.health.READ_MEDICAL_DATA_PERSONAL_DETAILS
의료인 정보 Practitioner, PractitionerRole android.permission.health.READ_MEDICAL_DATA_PRACTITIONER_DETAILS
임신

관찰 결과

  • 임신 LOINC 코드
android.permission.health.READ_MEDICAL_DATA_PREGNANCY
시술 절차 android.permission.health.READ_MEDICAL_DATA_PROCEDURES
사회력

관찰 결과

  • 사회력 LOINC 코드
  • social-history FHIR 카테고리
android.permission.health.READ_MEDICAL_DATA_SOCIAL_HISTORY
백신 예방 접종 android.permission.health.READ_MEDICAL_DATA_VACCINES
내원 기록 Encounter, Location, Organization android.permission.health.READ_MEDICAL_DATA_VISITS
생체 신호

관찰 결과

  • 활력 징후 LOINC 코드
  • vital-signs FHIR 카테고리
android.permission.health.READ_MEDICAL_DATA_VITAL_SIGNS

환자 리소스

현재 헬스 커넥트는 단일 개인의 의료 기록 데이터만 저장하도록 설계되었습니다. 따라서 작성된 모든 FHIR 리소스는 동일한 사람에 속해야 합니다.

단일 개인에 대해 시스템에 여러 FHIR 환자 리소스가 있는 것은 드문 일이 아닙니다. 앱이 데이터를 조정하고 단일 환자 리소스를 헬스 커넥트에 쓰는 것이 좋습니다. 하지만 이는 존재할 수 있는 다양한 조직 구조를 수용하기 위해 강제되지 않습니다.

데이터 검증

의료 기록 API는 지원되는 버전의 유효한 FHIR 리소스를 허용하며, 헬스 커넥트는 지원되는 각 버전의 FHIR 사양이 준수되는지 확인하기 위해 일부 유효성 검사를 실행합니다.

출시 예정으로 표시된 유효성 검사 확인은 아직 적용되지 않지만 향후 출시에서 적용될 예정입니다. 향후 출시와의 호환성을 유지하려면 나열된 모든 유효성 검사에 대해 개발하는 것이 좋습니다.

표 2: 헬스 커넥트의 FHIR 데이터 검증
등급 유효성 검사
유효한 JSON 데이터가 JSON 형식을 준수합니다.
지원되는 FHIR

쓰기 애플리케이션에서 선언한 FHIR 버전이 지원됩니다. 헬스 커넥트에서 지원하는 FHIR 버전은 다음과 같습니다.

  • 4.0.1
  • 4.3.0
지원되는 FHIR

리소스 인스턴스에 기록된 FHIR 리소스 유형이 지원됩니다. 헬스 커넥트에서 지원하는 FHIR 리소스 유형은 다음과 같습니다.

  • AllergyIntolerance
  • 조건
  • Encounter
  • 예방 접종
  • 위치
  • 의약품
  • MedicationRequest
  • MedicationStatement
  • 관찰 결과
  • 조직
  • 환자
  • 의료진
  • PractitionerRole
  • 절차
고유 리소스 ID 리소스에 정규 표현식 요구사항을 충족하는 값이 있는 ID 필드가 있습니다.
고유 리소스 ID 리소스가 동일한 MedicalDataSource의 동일한 리소스 유형의 다른 FHIR 리소스와 ID를 공유하지 않습니다.
비즈니스 규칙 포함된 FHIR 리소스는 포함되지 않습니다. 포함된 리소스는 '상위' 리소스 내에 중첩된 FHIR 리소스입니다. 상위 리소스가 다른 리소스를 참조해야 하지만 시스템에 독립적으로 존재하는 독립형 리소스로 이를 생성하기에 충분한 정보가 없는 경우에 사용됩니다.
유효한 기본 FHIR FHIR JSON의 최상위 필드는 지정된 리소스 유형의 FHIR 사양에 있습니다.
유효한 기본 FHIR 최상위 필드에는 JSON null 값이 없습니다.
유효한 기본 FHIR 최상위 필수 필드가 모두 있습니다.
유효한 기본 FHIR FHIR의 반복 요소로 정의된 최상위 필드의 JSON 데이터 유형은 array입니다.
유효한 기본 FHIR FHIR에서 복잡한 유형으로 정의된 최상위 필드 (JSON array 내의 요소 포함)에는 JSON object 데이터 유형이 있습니다.
유효한 기본 FHIR FHIR에서 기본 유형으로 정의된 최상위 필드 (JSON array 내의 요소 포함)의 JSON 데이터 유형이 올바릅니다.
FHIR 데이터 유형 JSON 데이터 유형
integer, unsignedInt, positiveInt, decimal 숫자
부울 부울
instant, time, date, dateTime, string, code, markdown, id uri, url, oid, uuid, canonical, integer64, base64Binary 숫자
출시 예정
유효한 기본 FHIR FHIR에서 기본 유형으로 정의된 최상위 필드는 정규 표현식 요구사항을 충족합니다. 출시 예정
유효한 기본 FHIR 기본 유형의 확장 프로그램은 FHIR 사양에 있으며 JSON object 데이터 유형이 있습니다.
유효한 기본 FHIR 선택 필드(fieldname[x])에는 필드가 하나만 기록됩니다. 예를 들어 effectiveDateTimeeffectivePeriod이 동일한 리소스 인스턴스에 모두 있을 수는 없습니다.
유효한 기본 FHIR 복잡한 데이터 유형에는 FHIR 사양과 일치하는 필드와 데이터 유형이 포함됩니다. 출시 예정
유효한 기본 FHIR 백본 요소 (및 복잡한 유형 내 요소)에는 FHIR 사양과 일치하는 필드와 데이터 유형이 포함됩니다. 출시 예정
유효한 기본 FHIR 확장 프로그램 요소 value[x] 필드는 유효한 유형이며 해당 데이터 유형에 따라 콘텐츠를 포함합니다. 확장 프로그램 요소는 기본 사양에 포함되지 않은 추가 정보를 나타내기 위해 리소스에 포함될 수 있습니다. 확장 프로그램 요소에는 확장 프로그램의 정의에 연결되는 필드 url와 확장 프로그램 값을 포함하는 필드 value[x]가 포함됩니다. value[x]은 허용되는 데이터 유형의 설정된 목록에서 가져와야 합니다. 출시 예정

변환된 FHIR 데이터

일부 앱은 자체 요구사항을 충족하기 위해 FHIR 데이터를 변환합니다. 예를 들면 다음과 같습니다.

  • 다양한 소스 (일반적으로 FHIR API)의 데이터를 병합합니다.
  • 코드를 전역 용어 (예: SNOMED, LOINC, ICD)에 매핑하고 단위를 표준화합니다.
  • 데이터 통합 및 중복 삭제
  • 형식 지정 또는 기타 데이터 품질 문제 수정
  • 앱별 비즈니스 규칙에 따라 레코드를 필터링합니다.

변환되지 않은 FHIR 데이터와 변환된 FHIR 데이터는 FHIR R4 사양을 준수하는 경우 헬스 커넥트에 기록할 수 있습니다. 가능한 경우 변환된 데이터를 작성하는 것이 좋습니다. 하지만 다음 사항에 유의하세요.

  • 사용 사례가 좁은 앱은 생태계의 다른 앱이 사용자 가치를 창출할 수 있는 상당한 수의 레코드를 필터링할 수 있습니다. 이러한 상황에서는 변환되지 않은 더 완전한 FHIR을 작성하는 것이 유용할 수 있습니다. 하지만 이 더 넓은 데이터 세트가 공유되고 있음을 사용자에게 알려야 합니다.
  • 서로 다른 소스에서 가져온 데이터를 병합하는 경우 헬스 커넥트의 단일 MedicalDataSource에 데이터를 쓸 수 있습니다. 충돌을 방지하기 위해 각 리소스에 새 ID를 할당하고 새 ID를 가리키도록 리소스 참조를 업데이트해야 합니다.
  • 여러 소스의 데이터를 하나의 MedicalDataSource로 병합하면 데이터 출처가 가려질 수 있습니다. 데이터 소비자가 데이터의 출처를 이해하는 것이 유용한 경우가 많으므로 각 리소스의 meta.source 필드를 레코드의 원래 소스 (일반적으로 FHIR 기본 URL)로 채우는 것이 좋습니다.