이번 포스팅에는 HL7 FHIR Resource(2)
Observation Resource에 대해 포스팅하려 합니다.
Observation Resource ( 관찰 리소스)
더보기
observation resource는 관찰 리소스는 진단을 지원하며 진행상황을 모니터링하며, 기준선과 패턴을 결정하고, 인구 통계학적 특성을 포착하는 데 사용되는 의료분야의 핵심 요소입니다. Observation Resource는 전체 보고서를 형성하기 위해, 검사실, 이미징 및 기타 임상 및 진단 데이터를 나타내기 위해 DiagnosticReport에서 참조합니다.
라는 내용이 공식문서에서 말하고 있습니다... 하지만 잘 모르겠죠??
관찰 리소스 핵심 프로필 정의
구현체가 프로파일 별 개념을 구조화된 데이터로 표현할 때 이 자원을 사용하는 경우 다음 프로필을 준수해야 한다.
Observation Resource JSON
{
"resourceType" : "Observation",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // 관찰을 위한 비즈니스 식별자
"basedOn" : [{ Reference(CarePlan | DeviceRequest| ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) }],
// 관찰을 위한 비즈니스 식별자
"partOf" : [{ Reference(ImagingStudy | Immunization | MedicationAdministration | MedicationDispense | MedicationStatement | Procedure) }],
// 참조된 이벤트의 일부
"status" : "<code>", // R! 등록 | 예비 | 최종 | 수정 + (registered, preliminary, final, amended)
"category" : [{ CodeableConcept }], // 관찰 유형 분류
"code" : { CodeableConcept }, // R! 관찰의 종류 (code/type)
"subject" : { Reference(Device | Group | Location | Medication | Organization | Patient | Practitioner |Procedure | Substance) }, // 관찰 대상자 및/또는 대상
"focus" : [{ Reference(Any) }], // 관찰이 무엇에 관한 것인가, 기록의 주제에 관한 것이 아닐 때
"encounter" : { Reference(Encounter) }, // 이러한 관찰이 이루어지는 동안의 의료 이벤트
// effective[x]: 관찰에 임상적으로 관련된 시간/시간 기간입니다. 다음 4가지 중 하나:
"effectiveDateTime" : "<dateTime>",
"effectivePeriod" : { Period },
"effectiveTiming" : { Timing },
"effectiveInstant" : "<instant>",
"issued" : "<instant>", // 이 버전을 사용할 수 있게 된 날짜/시간
"performer" : [{ Reference(CareTeam | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) }], // 관찰에 대한 책임자는 누구입니까?
// value[x]: 실제 결과. 다음 11개 중 하나:
"valueQuantity" : { Quantity },
"valueCodeableConcept" : { CodeableConcept },
"valueString" : "<string>",
"valueBoolean" : <boolean>,
"valueInteger" : <integer>,
"valueRange" : { Range },
"valueRatio" : { Ratio },
"valueSampledData" : { SampledData },
"valueTime" : "<time>",
"valueDateTime" : "<dateTime>",
"valuePeriod" : { Period },
"dataAbsentReason" : { CodeableConcept }, // C? 결과가 누락된 이유
"interpretation" : [{ CodeableConcept }], // High, low, normal, etc.
"note" : [{ Annotation }], // 관찰에 대한 주석
"bodySite" : { CodeableConcept }, // 관찰된 신체 부위
"method" : { CodeableConcept }, // 그것이 어떻게 이루어졌는지
"specimen" : { Reference(Specimen) }, // 이 관찰에 사용된 표본
"device" : { Reference(Device|DeviceMetric) }, // (측정) 장치
"referenceRange" : [{ // 해석을 위한 가이드 제공
"low" : { Quantity(SimpleQuantity) }, // C? 로우 레인지(해당되는 경우)
"high" : { Quantity(SimpleQuantity) }, // C? 관련된 경우 하이 레인지
"type" : { CodeableConcept }, // 기준 범위 한정자
"appliesTo" : [{ CodeableConcept }], // 기준 범위 모집단
"age" : { Range }, // 적용 가능한 연령 범위, 관련이 있는 경우
"text" : "<string>" // 관측치의 문자 기반 참조 범위
}],
"hasMember" : [{ Reference( MolecularSequence | Observation | QuestionnaireResponse ) }], // 관찰 그룹에 속하는 관련 리소스
"derivedFrom" : [{ Reference(DocumentReference | ImagingStudy | Media | MolecularSequence | Observation | QuestionnaireResponse) }], // 관찰과 관련된 측정은 다음과 같습니다.
"component" : [{ // 성분 결과
"code" : { CodeableConcept }, // R! 성분 관찰 유형(코드/유형)
// value[x]: 실제 구성 요소 결과. 이 11가지 중 하나:
"valueQuantity" : { Quantity },
"valueCodeableConcept" : { CodeableConcept },
"valueString" : "<string>",
"valueBoolean" : <boolean>,
"valueInteger" : <integer>,
"valueRange" : { Range },
"valueRatio" : { Ratio },
"valueSampledData" : { SampledData },
"valueTime" : "<time>",
"valueDateTime" : "<dateTime>",
"valuePeriod" : { Period },
"dataAbsentReason" : { CodeableConcept }, // C? 구성 요소 결과가 누락된 이유
"interpretation" : [{ CodeableConcept }], // 높음, 낮음, 보통 등등.
"referenceRange" : [{ Content as for Observation.referenceRange }] // 구성 요소 결과 해석을 위한 안내서 제공
}]
}
Observation Resource 용어 바인딩
PathDefinitionTypeReference
Path | Definition | Type | Reference |
Observation.status | 상태(등록 예비 수정) | 필수 | ObservationStatus |
Observation.category | 관찰 유형 분류 | 권장 | ObservationCategoryCodes |
Observation.code | 관찰 종류 코드 | 예시 | LOINCCodes |
Observation.dataAbsentReason | 결과 누락 사유 | 확장 가능 | DataAbsentReason |
Observation.interpretation | 결과 설명 | 확장 가능 | ObservationInterpretationCodes |
Observation.bodySite | 관찰 신체 부위 | 예시 | SNOMEDCTBodyStructures |
Observation.method | 측정 방법 | 예시 | ObservationMethods |
Observation.referenceRange.type | 기준 범위 한정자 | 권장 | ObservationReferenceRangeMeaningCodes |
Observation.referenceRange.appliesTo | 범위 모집단 | 예시 | ObservationReferenceRangeAppliesToCodes |
Observation.component.code | 성분 관찰 유형 | 예시 | LOINCCodes |
Observation.component.dataAbsentReason | 구성요소 결과 누락 사유 | 확장 가능 | DataAbsentReason |
Observation.component.interpretation | 결과(높음, 중간, 낮음) | 확장 가능 | ObservationInterpretationCodes |
Observation 제약 조건
id | Level | Location | Description | Expression |
obs-3 | Rule | Observation.referenceRange | 최소 낮음, 높음 또는 텍스트가 있어야 합니다. | low.exists() or high.exists() or text.exists() |
obs-6 | Rule | (base) | dataAbsentReason은 Observation.value[x]가 없는 경우에만 존재해야 합니다. | dataAbsentReason.empty() or value.empty() |
obs-7 | Rule | (base) | Observation.code가 Observation.component.code와 동일한 경우 코드와 관련된 값 요소가 존재하지 않아야 합니다. | value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
Observation vitalsigns 용어 바인딩
Path | Name | Conformance | value set |
Observation.language | 공통언어 | 권장 | Common Languages |
Observation.status | 관찰 상태 | 필수 | ObservationStatus |
Observation.category | 관찰 범주 코드 | 권장 | Observation Category Codes |
Observation.category | 관찰 범주 코드 | 권장 | Observation Category Codes |
Observation.code | 활력 징후 | 확장 가능 | Vital Signs |
Observation.value[x] | 바이탈 사인 유닛 | 확장 가능 | Vital Signs Units |
Observation.dataAbsentReason | 데이터 부재 이유 | 확장 가능 | DataAbsentReason |
Observation.interpretation | 관찰 해석 코드 | 확장 가능 | Observation Interpretation Codes |
Observation.bodySite | SNOMED CT 신체 구조 | 예시 | SNOMED CT Body Structures |
Observation.method | 관찰 방법 | 예시 | Observation Methods |
Observation.referenceRange.type | 관찰 참조 범위 의미 코드 | 권장 | Observation Reference Range Meaning Codes |
Observation.referenceRange.applies.appliesTo | 코드에 적용되는 관찰 참조 범위 | 예시 | Observation Reference Range Applies To Codes |
Observation.component.code | 활력 징후 | 확장 가능 | Vital Signs |
Observation.component.value[x] | 바이탈 사인 유닛 | 확장 가능 | Vital Signs Units |
Observation.component.dataAbsentReason | 데이터 부재 이유 | 확장 가능 | DataAbsentReason |
Observation.component.interpretation | 관찰 해석 코드 | 확장 가능 | Observation Interpretation Codes |
권장과 필수 항목 확장 가능 예시 등으로 나누어져 있지만 사실상 많이 넣으면 많이 넣을수록 사용자의 데이터가 많이 수집되기 때문에 많은 정보를 넣을수록 좋다고 개인적으로 생각한다.
-> 이정보를 활용하여 환자의 상태를 주치의에게 보다 정확하게 전달이 가능해지면 환자와 의사 모두 시간 및 비용을 절약하고 보다 정확한 진단에 가까워질 수 있도록 할 수 있기 때문이다.
'FHIR' 카테고리의 다른 글
FHIR - Resource란? (0) | 2022.12.09 |
---|---|
HL7 FHIR Resource(4) - RelatedPerson (0) | 2022.12.08 |
HL7 FHIR Resource(3) - Device (0) | 2022.12.06 |
HL7 FHIR - Resource(1) - Patient (0) | 2022.12.05 |
댓글