개인 건강 기록 (PHR) 데이터는 HL7 FHIR 형식으로 저장됩니다.
PHR은 다음과 같은 Fast Healthcare Interoperability Resources (FHIR) 버전을 지원합니다.
의료 리소스 유형
FHIR는 리소스라는 모듈식 구성요소 집합으로 구성됩니다. 지원되는 FHIR 리소스 및 해당 카테고리는 대략 국제 환자 요약 섹션을 기반으로 합니다.
이러한 리소스는 헬스 커넥트의 데이터 카테고리에 매핑되며 API에서는 의학 리소스 유형이라고 합니다. 관찰 리소스는 LOINC (Logical Observation Identifiers Names and Codes) 코드 및 FHIR 카테고리와 같은 콘텐츠를 기반으로 매핑됩니다.
이러한 카테고리에 속하지 않는 관찰값은 헬스 커넥트에 기록되지 않습니다.
헬스 커넥트 의료 리소스 유형 | FHIR 리소스 |
---|---|
알레르기 | AllergyIntolerance |
조건 | 조건 |
실험실 | 관찰 결과
|
복용약 | Medication, MedicationRequest, MedicationStatement |
개인 정보 | 인내심 있음 |
의료인 정보 | Practitioner, PractitionerRole |
임신 | 관찰 결과
|
시술 | 절차 |
사회력 | 관찰 결과
|
백신 | 예방 접종 |
내원 기록 | 만남, 위치, 조직 |
생체 신호 | 관찰 결과
|
환자 리소스
헬스 커넥트는 현재 한 개인의 PHR 데이터만 저장하도록 설계되었습니다. 따라서 작성된 모든 FHIR 리소스는 동일한 사용자에게 속해야 합니다.
한 개인에 대해 시스템에 여러 FHIR 환자 리소스가 있는 것은 드문 일이 아닙니다. 앱은 데이터를 조정하고 단일 환자 리소스를 헬스 커넥트에 작성하는 것이 좋습니다. 그러나 이는 존재할 수 있는 다양한 조직 구조를 수용하기 위해 시행되지는 않습니다.
데이터 검증
PHR API는 지원되는 버전의 유효한 FHIR 리소스를 수락하며, Health Connect는 각 지원되는 버전의 FHIR 사양이 준수되는지 확인하기 위해 몇 가지 유효성 검사를 실행합니다.
출시 예정으로 표시된 유효성 검사는 아직 시행되지 않지만 향후 출시에서는 시행될 예정입니다. 향후 출시와의 호환성을 유지하려면 나열된 모든 유효성 검사를 기준으로 개발하는 것이 좋습니다.
등급 | 유효성 검사 | ||||||||
---|---|---|---|---|---|---|---|---|---|
유효한 JSON | 데이터가 JSON 형식을 준수합니다. | ||||||||
지원되는 FHIR | 작성 애플리케이션에서 선언한 FHIR 버전이 지원됩니다. 헬스 커넥트에서 지원하는 FHIR 버전은 다음과 같습니다.
|
||||||||
지원되는 FHIR | 리소스 인스턴스에 기록된 FHIR 리소스 유형이 지원됩니다. 헬스 커넥트에서 지원되는 FHIR 리소스 유형은 다음과 같습니다.
|
||||||||
고유한 리소스 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 | FHIR에서 원시 유형으로 정의된 최상위 필드는 정규 표현식 요구사항을 충족합니다. 출시 예정 | ||||||||
유효한 기본 FHIR | 기본 유형 확장은 FHIR 사양에 있으며 JSON object 데이터 유형을 갖습니다. |
||||||||
유효한 기본 FHIR | 선택 입력란(fieldname[x] )에는 하나 이상의 필드가 기록되지 않습니다. 예를 들어 effectiveDateTime 와 effectivePeriod 가 모두 동일한 리소스 인스턴스에 있을 수 없습니다. |
||||||||
유효한 기본 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)로 채우는 것이 좋습니다.