KR Core Implementation Guide
2.0.0-preview - STU2 Korea, Republic of flag

KR Core Implementation Guide - Local Development build (v2.0.0-preview) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: KR Core Procedure Profile

Official URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-procedure Version: 2.0.0-preview
Standards status: Trial-use Computable Name: KRCore_Procedure

KR CDI V2 수술 및 처치 정보 클래스에서 정의한 항목들과 주요 추가 정보를 구조화하기 위해 정의한 Profile.

KR Core Procedure Profile은 KR Core Server와 KR Core Client가 진료정보를 교류할 때 수술, 처치 그리고 마취 정보를 표현하는 데 사용되며, 이 경우 가능한 한(SHOULD) 본 Profile을 준수해야 한다. 진료 행위 정보 표현할 때 본 Profile을 적용하지 않을 수 있는 경우는 특수한 상황에 한정된다. 이 경우 반드시 해당 진료정보교류 도메인 내에서 사전 합의가 이루어져야 한다.

Usages:

KR CDI 관련항목

KR Core Procedure Profile은 KR CDI의 수술 및 처치 정보 클래스에 대응됨.

KR CDI 수술 및 처치 정보 클래스 항목 KR Core Procedure Profile 관련 항목
수술 및 처치일자 Procedure.performed
수술명 및 처치명 Procedure.code
마취 방법 Procedure.code
수술 및 처치 상태 Procedure.status

마취 방법 표현

KR Core Procedure Profile은 수술과 마취를 포함한 처치 정보를 나타내는데 사용된다. 어떤 수술 및 처치의 일부로 수행된 마취 정보는, Figure 1을 참조하여 표현한다. 마취 정보를 나타내는 Procedure 리소스 인스턴스는 필요에 따라 선택적으로 생성하여 사용할 수 있으며, 본 마취가 다른 Procedure의 일부로 사용되었다는 정보는 Procedure.partOf 요소를 이용해 나타낸다. 마취를 표현하기 위해 작성한 Procedure 리소스 인스턴스는 반드시 KR Core Procedure Profile의 요구사항을 만족해야 하고, 이때 Procedure.code 요소의 값은 마취 방법을 의미한다.

Figure 1: KR Core Procedure Profile을 적용한 마취 정보 표현 방법
마취 정보 표현 방법

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure KR Core Procedure Profile
... partOf 0..* Reference(KR Core Procedure Profile | Observation) 본 수술 및 처치가 포함된 상위 의료행위
... status S 1..1 code KRCDI) 수술 및 처치 상태: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
선호값: completed
... category 0..1 CodeableConcept 수술 및 처치 범주
바인딩(Binding): KR Core Procedure Category Codes (extensible)
.... coding
..... system 1..1 uri 코드체계 식별자
..... code 1..1 code 코드
.... coding
..... system S 1..1 uri 코드체계 식별자
..... code S 1..1 code 코드
... subject 1..1 Reference(KR Core Patient Profile) 수술 및 처치 대상 환자
... performed[x] S 1..1 KRCDI) 수술 및 처치 일자
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.categoryextensibleKR_Core_Procedure_Category_Codes(a valid code from KR Core Procedure Category Types)
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-category-codes
From this IG
Procedure.codeexampleKR_Core_Procedure_Codes
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-codes
From this IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure KR Core Procedure Profile
... implicitRules ?!Σ 0..1 uri 이 콘텐츠 생성 시 따른 규칙들의 집합
... modifierExtension ?! 0..* Extension 반드시 지원해야 하는 확장들
... partOf Σ 0..* Reference(KR Core Procedure Profile | Observation) 본 수술 및 처치가 포함된 상위 의료행위
... category Σ 0..1 CodeableConcept 수술 및 처치 범주
바인딩(Binding): KR Core Procedure Category Codes (extensible)
... code SΣ 1..1 CodeableConcept 수술명 및 처치명
바인딩(Binding): KR Core Procedure Codes (example)
.... coding Σ 0..* Coding 코드체계에 의해 정의된 코드
..... system SΣ 1..1 uri 코드체계 식별자
..... code SΣ 1..1 code 코드
... subject Σ 1..1 Reference(KR Core Patient Profile) 수술 및 처치 대상 환자
... performed[x] SΣ 1..1 수술 및 처치 일자
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
From the FHIR Standard
Procedure.categoryextensibleKR_Core_Procedure_Category_Codes(a valid code from KR Core Procedure Category Types)
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-category-codes
From this IG
Procedure.codeexampleKR_Core_Procedure_Codes
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-codes
From this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure KR Core Procedure Profile
... id Σ 0..1 id 본 리소스 인스턴스의 논리적 ID
... meta Σ 0..1 Meta 리소스에 대한 메타데이터
... implicitRules ?!Σ 0..1 uri 이 콘텐츠 생성 시 따른 규칙들의 집합
... language 0..1 code 리소스 콘텐츠의 언어
바인딩(Binding): CommonLanguages (preferred): 국가별 언어.
추가 바인딩목적
AllLanguages Max Binding
... text 0..1 Narrative 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource 포함된 리소스
... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
... modifierExtension ?! 0..* Extension 반드시 지원해야 하는 확장들
... identifier Σ 0..* Identifier 본 수술 및 처치에 대한 외부 식별자
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) FHIR 프로토콜 또는 정의를 인스턴스화
... instantiatesUri Σ 0..* uri 외부 프로토콜 또는 정의를 인스턴스화
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) 본 수술 및 처치에 대한 요청
... partOf Σ 0..* Reference(KR Core Procedure Profile | Observation) 본 수술 및 처치가 포함된 상위 의료행위
... status ?!SΣ 1..1 code 수술 및 처치 상태: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
바인딩(Binding): EventStatus (required): 수술 및 처치의 상태를 지정하는 코드
선호값: completed
... statusReason Σ 0..1 CodeableConcept 현재 상태의 이유
바인딩(Binding): ProcedureNotPerformedReason(SNOMED-CT) (example): 수술 및 처치가 수행되지 않은 이유를 식별하는 코드
... category Σ 0..1 CodeableConcept 수술 및 처치 범주
바인딩(Binding): KR Core Procedure Category Codes (extensible)
.... id 0..1 string 요소 간 참조를 위한 고유 ID
.... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
.... coding Σ 0..* Coding 코드체계에 의해 정의된 코드
..... id 0..1 string 요소 간 참조를 위한 고유 ID
..... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
..... system Σ 1..1 uri 코드체계 식별자
..... version Σ 0..1 string 시스템의 버전 - 필요한 경우에 제공
..... code Σ 1..1 code 코드
..... display Σ 0..1 string 시스템에서 정의한 표현
..... userSelected Σ 0..1 boolean 이 coding을 사용자가 직접 선택한 경우
.... text Σ 0..1 string 개념의 일반 텍스트 표현
... code SΣ 1..1 CodeableConcept 수술명 및 처치명
바인딩(Binding): KR Core Procedure Codes (example)
.... id 0..1 string 요소 간 참조를 위한 고유 ID
.... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
.... coding Σ 0..* Coding 코드체계에 의해 정의된 코드
..... id 0..1 string 요소 간 참조를 위한 고유 ID
..... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
..... system SΣ 1..1 uri 코드체계 식별자
..... version Σ 0..1 string 시스템의 버전 - 필요한 경우에 제공
..... code SΣ 1..1 code 코드
..... display Σ 0..1 string 시스템에서 정의한 표현
..... userSelected Σ 0..1 boolean 이 coding을 사용자가 직접 선택한 경우
.... text Σ 0..1 string 개념의 일반 텍스트 표현
... subject Σ 1..1 Reference(KR Core Patient Profile) 수술 및 처치 대상 환자
... encounter Σ 0..1 Reference(Encounter) 본 수술 및 처치가 속한 수진
... performed[x] SΣ 1..1 수술 및 처치 일자
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) 수술 및 처치를 기록한 사람
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) 수술 및 처치를 확인한 사람
... performer Σ 0..* BackboneElement 수술 및 처치를 수행한 사람
.... id 0..1 string 요소 간 참조를 위한 고유 ID
.... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
.... modifierExtension ?!Σ 0..* Extension 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
.... function Σ 0..1 CodeableConcept 수술 및 처치의 종류
바인딩(Binding): ProcedurePerformerRoleCodes (example): 수술 및 처치 수행자의 역할을 식별하는 코드.
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) 의료인에 대한 참조
.... onBehalfOf 0..1 Reference(Organization) 장치 또는 의료인이 대표하는 기관
... location Σ 0..1 Reference(Location) 수술 및 처치가 발생한 장소
... reasonCode Σ 0..* CodeableConcept 수술 및 처치가 수행된 이유 코드
바인딩(Binding): ProcedureReasonCodes (example): 수술 및 처치가 필요한 이유를 식별하는 코드
... reasonReference Σ 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) 수술 및 처치 수행의 정당성
... bodySite Σ 0..* CodeableConcept 목표 신체 부위
바인딩(Binding): SNOMEDCTBodyStructures (example): 해부학적 위치를 설명하는 코드들. 좌/우를 포함할 수 있음.
... outcome Σ 0..1 CodeableConcept 수술 및 처치의 결과
바인딩(Binding): ProcedureOutcomeCodes(SNOMEDCT) (example): 수술 및 처치의 결과 - 해결 여부.
... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) 수술 및 처치로 인한 모든 보고서
... complication 0..* CodeableConcept 수술 및 처치 후 합병증
바인딩(Binding): Condition/Problem/DiagnosisCodes (example): 수술 및 처치로 인한 합병증
... complicationDetail 0..* Reference(Condition) 수술 및 처치의 결과로 인한 상태
... followUp 0..* CodeableConcept 후속 조치 지침
바인딩(Binding): ProcedureFollowUpCodes(SNOMEDCT) (example): 수술 및 처치에 필요한 특정 후속 조치. 예: 봉합사 제거
... note 0..* Annotation 수술 및 처치에 대한 추가 정보
... focalDevice 0..* BackboneElement 변경, 이식 또는 제거된 장치
.... id 0..1 string 요소 간 참조를 위한 고유 ID
.... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
.... modifierExtension ?!Σ 0..* Extension 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
.... action 0..1 CodeableConcept 장치 변경의 종류
바인딩(Binding): ProcedureDeviceActionCodes (preferred): 수술 및 처치 중에 장치에 발생한 변경의 종류.
.... manipulated 1..1 Reference(Device) 변경된 장비
... usedReference 0..* Reference(Device | Medication | Substance) 수술 및 처치 중에 사용한 물품
... usedCode 0..* CodeableConcept 수술 및 처치 중에 사용된 물품 코드
바인딩(Binding): FHIRDeviceTypes (example): 수술 및 처치 중에 사용되는 물품을 설명하는 코드.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
추가 바인딩 목적
AllLanguages Max Binding
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
From the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
From the FHIR Standard
Procedure.categoryextensibleKR_Core_Procedure_Category_Codes(a valid code from KR Core Procedure Category Types)
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-category-codes
From this IG
Procedure.codeexampleKR_Core_Procedure_Codes
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-codes
From this IG
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
From the FHIR Standard
Procedure.reasonCodeexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
From the FHIR Standard
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
From the FHIR Standard
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-outcome
From the FHIR Standard
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
From the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-followup
From the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
From the FHIR Standard
Procedure.usedCodeexampleFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Procedure

Summary

Mandatory: 2 elements(4 nested mandatory elements)
Must-Support: 5 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure KR Core Procedure Profile
... partOf 0..* Reference(KR Core Procedure Profile | Observation) 본 수술 및 처치가 포함된 상위 의료행위
... status S 1..1 code 수술 및 처치 상태: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
선호값: completed
... category 0..1 CodeableConcept 수술 및 처치 범주
바인딩(Binding): KR Core Procedure Category Codes (extensible)
.... coding
..... system 1..1 uri 코드체계 식별자
..... code 1..1 code 코드
.... coding
..... system S 1..1 uri 코드체계 식별자
..... code S 1..1 code 코드
... subject 1..1 Reference(KR Core Patient Profile) 수술 및 처치 대상 환자
... performed[x] S 1..1 수술 및 처치 일자
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.categoryextensibleKR_Core_Procedure_Category_Codes(a valid code from KR Core Procedure Category Types)
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-category-codes
From this IG
Procedure.codeexampleKR_Core_Procedure_Codes
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-codes
From this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure KR Core Procedure Profile
... implicitRules ?!Σ 0..1 uri 이 콘텐츠 생성 시 따른 규칙들의 집합
... modifierExtension ?! 0..* Extension 반드시 지원해야 하는 확장들
... partOf Σ 0..* Reference(KR Core Procedure Profile | Observation) 본 수술 및 처치가 포함된 상위 의료행위
... category Σ 0..1 CodeableConcept 수술 및 처치 범주
바인딩(Binding): KR Core Procedure Category Codes (extensible)
... code SΣ 1..1 CodeableConcept 수술명 및 처치명
바인딩(Binding): KR Core Procedure Codes (example)
.... coding Σ 0..* Coding 코드체계에 의해 정의된 코드
..... system SΣ 1..1 uri 코드체계 식별자
..... code SΣ 1..1 code 코드
... subject Σ 1..1 Reference(KR Core Patient Profile) 수술 및 처치 대상 환자
... performed[x] SΣ 1..1 수술 및 처치 일자
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
From the FHIR Standard
Procedure.categoryextensibleKR_Core_Procedure_Category_Codes(a valid code from KR Core Procedure Category Types)
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-category-codes
From this IG
Procedure.codeexampleKR_Core_Procedure_Codes
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-codes
From this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* Procedure KR Core Procedure Profile
... id Σ 0..1 id 본 리소스 인스턴스의 논리적 ID
... meta Σ 0..1 Meta 리소스에 대한 메타데이터
... implicitRules ?!Σ 0..1 uri 이 콘텐츠 생성 시 따른 규칙들의 집합
... language 0..1 code 리소스 콘텐츠의 언어
바인딩(Binding): CommonLanguages (preferred): 국가별 언어.
추가 바인딩목적
AllLanguages Max Binding
... text 0..1 Narrative 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource 포함된 리소스
... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
... modifierExtension ?! 0..* Extension 반드시 지원해야 하는 확장들
... identifier Σ 0..* Identifier 본 수술 및 처치에 대한 외부 식별자
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) FHIR 프로토콜 또는 정의를 인스턴스화
... instantiatesUri Σ 0..* uri 외부 프로토콜 또는 정의를 인스턴스화
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) 본 수술 및 처치에 대한 요청
... partOf Σ 0..* Reference(KR Core Procedure Profile | Observation) 본 수술 및 처치가 포함된 상위 의료행위
... status ?!SΣ 1..1 code 수술 및 처치 상태: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
바인딩(Binding): EventStatus (required): 수술 및 처치의 상태를 지정하는 코드
선호값: completed
... statusReason Σ 0..1 CodeableConcept 현재 상태의 이유
바인딩(Binding): ProcedureNotPerformedReason(SNOMED-CT) (example): 수술 및 처치가 수행되지 않은 이유를 식별하는 코드
... category Σ 0..1 CodeableConcept 수술 및 처치 범주
바인딩(Binding): KR Core Procedure Category Codes (extensible)
.... id 0..1 string 요소 간 참조를 위한 고유 ID
.... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
.... coding Σ 0..* Coding 코드체계에 의해 정의된 코드
..... id 0..1 string 요소 간 참조를 위한 고유 ID
..... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
..... system Σ 1..1 uri 코드체계 식별자
..... version Σ 0..1 string 시스템의 버전 - 필요한 경우에 제공
..... code Σ 1..1 code 코드
..... display Σ 0..1 string 시스템에서 정의한 표현
..... userSelected Σ 0..1 boolean 이 coding을 사용자가 직접 선택한 경우
.... text Σ 0..1 string 개념의 일반 텍스트 표현
... code SΣ 1..1 CodeableConcept 수술명 및 처치명
바인딩(Binding): KR Core Procedure Codes (example)
.... id 0..1 string 요소 간 참조를 위한 고유 ID
.... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
.... coding Σ 0..* Coding 코드체계에 의해 정의된 코드
..... id 0..1 string 요소 간 참조를 위한 고유 ID
..... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
..... system SΣ 1..1 uri 코드체계 식별자
..... version Σ 0..1 string 시스템의 버전 - 필요한 경우에 제공
..... code SΣ 1..1 code 코드
..... display Σ 0..1 string 시스템에서 정의한 표현
..... userSelected Σ 0..1 boolean 이 coding을 사용자가 직접 선택한 경우
.... text Σ 0..1 string 개념의 일반 텍스트 표현
... subject Σ 1..1 Reference(KR Core Patient Profile) 수술 및 처치 대상 환자
... encounter Σ 0..1 Reference(Encounter) 본 수술 및 처치가 속한 수진
... performed[x] SΣ 1..1 수술 및 처치 일자
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) 수술 및 처치를 기록한 사람
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) 수술 및 처치를 확인한 사람
... performer Σ 0..* BackboneElement 수술 및 처치를 수행한 사람
.... id 0..1 string 요소 간 참조를 위한 고유 ID
.... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
.... modifierExtension ?!Σ 0..* Extension 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
.... function Σ 0..1 CodeableConcept 수술 및 처치의 종류
바인딩(Binding): ProcedurePerformerRoleCodes (example): 수술 및 처치 수행자의 역할을 식별하는 코드.
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) 의료인에 대한 참조
.... onBehalfOf 0..1 Reference(Organization) 장치 또는 의료인이 대표하는 기관
... location Σ 0..1 Reference(Location) 수술 및 처치가 발생한 장소
... reasonCode Σ 0..* CodeableConcept 수술 및 처치가 수행된 이유 코드
바인딩(Binding): ProcedureReasonCodes (example): 수술 및 처치가 필요한 이유를 식별하는 코드
... reasonReference Σ 0..* Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) 수술 및 처치 수행의 정당성
... bodySite Σ 0..* CodeableConcept 목표 신체 부위
바인딩(Binding): SNOMEDCTBodyStructures (example): 해부학적 위치를 설명하는 코드들. 좌/우를 포함할 수 있음.
... outcome Σ 0..1 CodeableConcept 수술 및 처치의 결과
바인딩(Binding): ProcedureOutcomeCodes(SNOMEDCT) (example): 수술 및 처치의 결과 - 해결 여부.
... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) 수술 및 처치로 인한 모든 보고서
... complication 0..* CodeableConcept 수술 및 처치 후 합병증
바인딩(Binding): Condition/Problem/DiagnosisCodes (example): 수술 및 처치로 인한 합병증
... complicationDetail 0..* Reference(Condition) 수술 및 처치의 결과로 인한 상태
... followUp 0..* CodeableConcept 후속 조치 지침
바인딩(Binding): ProcedureFollowUpCodes(SNOMEDCT) (example): 수술 및 처치에 필요한 특정 후속 조치. 예: 봉합사 제거
... note 0..* Annotation 수술 및 처치에 대한 추가 정보
... focalDevice 0..* BackboneElement 변경, 이식 또는 제거된 장치
.... id 0..1 string 요소 간 참조를 위한 고유 ID
.... extension 0..* Extension 구현 주체에 의해 정의된 추가 정보
.... modifierExtension ?!Σ 0..* Extension 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
.... action 0..1 CodeableConcept 장치 변경의 종류
바인딩(Binding): ProcedureDeviceActionCodes (preferred): 수술 및 처치 중에 장치에 발생한 변경의 종류.
.... manipulated 1..1 Reference(Device) 변경된 장비
... usedReference 0..* Reference(Device | Medication | Substance) 수술 및 처치 중에 사용한 물품
... usedCode 0..* CodeableConcept 수술 및 처치 중에 사용된 물품 코드
바인딩(Binding): FHIRDeviceTypes (example): 수술 및 처치 중에 사용되는 물품을 설명하는 코드.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
추가 바인딩 목적
AllLanguages Max Binding
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
From the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
From the FHIR Standard
Procedure.categoryextensibleKR_Core_Procedure_Category_Codes(a valid code from KR Core Procedure Category Types)
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-category-codes
From this IG
Procedure.codeexampleKR_Core_Procedure_Codes
http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-procedure-codes
From this IG
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
From the FHIR Standard
Procedure.reasonCodeexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
From the FHIR Standard
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
From the FHIR Standard
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-outcome
From the FHIR Standard
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
From the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-followup
From the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
From the FHIR Standard
Procedure.usedCodeexampleFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Procedure

Summary

Mandatory: 2 elements(4 nested mandatory elements)
Must-Support: 5 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron

Notes:

KR Core IG를 따르는 Server는 반드시(SHALL) Procedure Resource를 지원하고, KR Core Procedure Profile을 반드시(SHALL) 지원해야 한다.
KR Core IG를 따르는 Client는 가능한 한(SHOULD) Procedure Resource를 지원하고, Procedure Resource를 지원하는 경우, KR Core Procedure Profile을 반드시(SHALL) 지원해야 한다.

KR Core Search Parameters (derived)

Procedure Resource를 검색하기 위해 기본 FHIR 사양을 기반으로 정의한 검색 파라미터.

Name Type Description Expression Expectations
category token 수술 및 처치 범주 Procedure.category MAY
code token 수술 및 처치 식별 코드 Procedure.code SHOULD
date datetime 수술 및 처치 수행 일시 Procedure.performed SHOULD
patient reference 수술 및 처치 대상 환자 Procedure.subject.where(resolve() is Patient) SHALL
status token 수술 및 처치 상태: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Procedure.status MAY

NOTE: 위 Search Parameter 목록은 아래 요소에 대한 구현 기대치를 정의함:

NOTE: 이 외 기본 FHIR 사양에서 정의하고 있는 Search Parameter들은 KR Core IG를 구현한 서버의 선택 사항에 따라 추가로 제공 가능.