KR Core Implementation Guide
2.0.0-ballot - STU2

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

## Resource Profile: KR Core Immunization Profile

Official URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-immunization | Version: 2.0.0-ballot
Standards status: Trial-use | Computable Name: KRCore_Immunization

KR CDI V2 예방접종 내역 클래스에서 정의한 항목들과 주요 추가 정보를 구조화하기 위해 정의한 Profile.

KR Core Immunization Profile은 KR Core Server와 KR Core Client가 진료정보를 교류할 때 예방접종 내역 정보를 표현하는 데 사용되며, 이 경우 가능한 한(SHOULD) 본 Profile을 준수해야 한다. 예방접종 내역 정보를 표현할 때 본 Profile을 적용하지 않을 수 있는 경우는 특수한 상황에 한정된다. 이 경우 반드시 해당 진료정보교류 도메인 내에서 사전 합의가 이루어져야 한다.

Usages:

- Examples for this Profile: Immunization/krcore-immunization-example-01 and Immunization/krcore-immunization-example-02
- CapabilityStatements using this Profile: KR Core Client CapabilityStatement and KR Core Server CapabilityStatement

### KR CDI 관련항목

KR Core Immunization Profile은 KR CDI의 예방접종내역 클래스 중 일부에 대응됨.

KR CDI 예방접종내역 클래스 항목 | KR Core Immunization Profile 관련 항목
--- | ---
예방접종명 | Immunization.vaccineCode.where($this.coding.system = ‘https://www.kdca.go.kr/CodeSystem/vcnt-types’)
예방접종 약품명 | Immunization.vaccineCode.where($this.coding.system = ‘https://biz.kpis.or.kr/CodeSystem/kdcode’)
예방접종 차수 | Immunization.protocolApplied.doseNumberPositiveInt
예방접종 일자 | Immunization.occurrence
예방접종 상태 | Immunization.status

### Formal Views of Profile Content

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

- Differential Table
- Key Elements Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from Immunization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | KR Core Immunization Profile
status | S | 1..1 | code | KRCDI) 예방접종 상태: completed | entered-in-error | not-done 선호값: completed
vaccineCode | S | 1..1 | CodeableConcept | 예방접종 식별 코드
Slices for coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this
coding:VcntType | S | 1..* | Coding | KRCDI) 예방접종명 바인딩(Binding): KR Core Vaccination Type Codes (required)
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
coding:KDCode |  | 0..* | Coding | KRCDI) 예방접종 약품명 바인딩(Binding): KR Core Korea Drug Codes (required)
system |  | 1..1 | uri | 코드체계 식별자
code |  | 1..1 | code | 코드
patient |  | 1..1 | Reference(KR Core Patient Profile) | 예방접종 대상 환자
occurrence[x] | S | 1..1 | dateTime | KRCDI) 예방접종 일자 예방접종 일시
protocolApplied |  | 0..* | BackboneElement | 예방접종 프로토콜
Slices for doseNumber[x] |  | 1..1 | positiveInt, string | 예방 접종 차수 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
doseNumber[x]:doseNumberPositiveInt |  | 0..1 | positiveInt | KRCDI) 예방접종 차수
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Immunization.vaccineCode.coding:VcntType | required | KR_Core_Vaccination_Type_Codes(a valid code from KR Core Vaccination Types) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-vcnt-type-codes` From this IG
Immunization.vaccineCode.coding:KDCode | required | KR_Core_Korea_Drug_Codes(a valid code from KPIS Korea Drug Code) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-korea-drug-codes` From this IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | KR Core Immunization Profile
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
status | ?!S Σ | 1..1 | code | 예방접종 상태: completed | entered-in-error | not-done 바인딩(Binding): ImmunizationStatusCodes (required): 예방 접종의 현재 상태를 나타내는 코드 세트. 선호값: completed
vaccineCode | S Σ | 1..1 | CodeableConcept | 예방접종 식별 코드 바인딩(Binding): VaccineAdministeredValueSet (example): 투여된 백신 제품 코드.
Slices for coding | Σ | 1..* | Coding | 코드체계에 의해 정의된 코드 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this
coding:VcntType | S Σ | 1..* | Coding | 예방접종명 바인딩(Binding): KR Core Vaccination Type Codes (required)
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
coding:KDCode | Σ | 0..* | Coding | 예방접종 약품명 바인딩(Binding): KR Core Korea Drug Codes (required)
system | Σ | 1..1 | uri | 코드체계 식별자
code | Σ | 1..1 | code | 코드
patient | Σ | 1..1 | Reference(KR Core Patient Profile) | 예방접종 대상 환자
occurrence[x] | S Σ | 1..1 | dateTime | 예방접종 일시
isSubpotent | ?!Σ | 0..1 | boolean | 투여량 효력
protocolApplied |  | 0..* | BackboneElement | 예방접종 프로토콜
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
Slices for doseNumber[x] |  | 1..1 |  | 예방 접종 차수 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
doseNumberPositiveInt |  |  | positiveInt |
doseNumberString |  |  | string |
doseNumber[x]:doseNumberPositiveInt |  | 0..1 | positiveInt | 예방접종 차수
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Immunization.status | required | ImmunizationStatusCodes `http://hl7.org/fhir/ValueSet/immunization-status|4.0.1` From the FHIR Standard
Immunization.vaccineCode | example | VaccineAdministeredValueSet `http://hl7.org/fhir/ValueSet/vaccine-code` From the FHIR Standard
Immunization.vaccineCode.coding:VcntType | required | KR_Core_Vaccination_Type_Codes(a valid code from KR Core Vaccination Types) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-vcnt-type-codes` From this IG
Immunization.vaccineCode.coding:KDCode | required | KR_Core_Korea_Drug_Codes(a valid code from KPIS Korea Drug Code) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-korea-drug-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Immunization | If 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-4 | error | Immunization | If 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-5 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Immunization | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | KR Core Immunization 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 | 비즈니스 식별자
status | ?!S Σ | 1..1 | code | 예방접종 상태: completed | entered-in-error | not-done 바인딩(Binding): ImmunizationStatusCodes (required): 예방 접종의 현재 상태를 나타내는 코드 세트. 선호값: completed
statusReason |  | 0..1 | CodeableConcept | 예방 접종이 이루어지지 않은 이유 바인딩(Binding): ImmunizationStatusReasonCodes (example): 백신을 투여하지 않은 이유.
vaccineCode | S Σ | 1..1 | CodeableConcept | 예방접종 식별 코드 바인딩(Binding): VaccineAdministeredValueSet (example): 투여된 백신 제품 코드.
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
Slices for coding | Σ | 1..* | Coding | 코드체계에 의해 정의된 코드 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this
coding:VcntType | S Σ | 1..* | Coding | 예방접종명 바인딩(Binding): KR Core Vaccination Type Codes (required)
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을 사용자가 직접 선택한 경우
coding:KDCode | Σ | 0..* | Coding | 예방접종 약품명 바인딩(Binding): KR Core Korea Drug Codes (required)
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 | 개념의 일반 텍스트 표현
patient | Σ | 1..1 | Reference(KR Core Patient Profile) | 예방접종 대상 환자
encounter |  | 0..1 | Reference(Encounter) | 예방 접종이 속한 수진
occurrence[x] | S Σ | 1..1 | dateTime | 예방접종 일시
recorded |  | 0..1 | dateTime | 첫 예방접종 기록시점
primarySource | Σ | 0..1 | boolean | 데이터가 기록된 맥락을 표시
reportOrigin |  | 0..1 | CodeableConcept | 2차적으로 보고된 기록의 출처를 표시. 바인딩(Binding): ImmunizationOriginCodes (example): 1차 출처가 아닌 기록의 데이터 출처.
location |  | 0..1 | Reference(Location) | 예방 접종이 이루어진 곳
manufacturer |  | 0..1 | Reference(Organization) | 백신 생산자
lotNumber |  | 0..1 | string | 백신 LOT 넘버
expirationDate |  | 0..1 | date | 백신 유효 기한
site |  | 0..1 | CodeableConcept | 백신을 투여한 신체 부위 바인딩(Binding): CodesForImmunizationSiteOfAdministration (example): 백신이 투여된 부위.
route |  | 0..1 | CodeableConcept | 백신이 체내에 투여된 방법 바인딩(Binding): ImmunizationRouteCodes (example): 백신이 투여된 경로.
doseQuantity |  | 0..1 | SimpleQuantity | 투여된 백신의 양
performer | Σ | 0..* | BackboneElement | 백신 투여자
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
function | Σ | 0..1 | CodeableConcept | 완료된 수행의 종류 바인딩(Binding): ImmunizationFunctionCodes (extensible): 예방 접종 이벤트에서 의료인 또는 기관이 수행하는 역할.
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | 수행한 개인 또는 기관
note | Σ | 0..* | Annotation | 예방 접종 추가 참고사항
reasonCode |  | 0..* | CodeableConcept | 예방 접종이 이루어진 이유 바인딩(Binding): ImmunizationReasonCodes (example): 백신이 투여된 이유.
reasonReference |  | 0..* | Reference(Condition | Observation | DiagnosticReport) | 예방 접종이 이루어진 이유
isSubpotent | ?!Σ | 0..1 | boolean | 투여량 효력
subpotentReason |  | 0..* | CodeableConcept | 효력 감소 이유 바인딩(Binding): ImmunizationSubpotentReason (example): 투여량의 효력이 감소했다고 간주되는 이유
education | C | 0..* | BackboneElement | 환자에게 제공되는 교육 자료 Constraints: imm-1
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
documentType |  | 0..1 | string | 교육 자료 문서 식별자
reference |  | 0..1 | uri | 교육 자료 참조
publicationDate |  | 0..1 | dateTime | 교육 자료 출판일
presentationDate |  | 0..1 | dateTime | 교육 자료 제공일
programEligibility |  | 0..* | CodeableConcept | 예방접종 프로그램에 대한 환자의 적격성 바인딩(Binding): ImmunizationProgramEligibility (example): 예방접종 프로그램에 대한 환자의 적격성.
fundingSource |  | 0..1 | CodeableConcept | 백신 자금 출처 바인딩(Binding): ImmunizationFundingSource (example): 투여한 백신을 구입하는 데 사용된 자금 출처.
reaction |  | 0..* | BackboneElement | 예방 접종 후 반응의 세부 사항
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
date |  | 0..1 | dateTime | 반응 시작 시각
detail |  | 0..1 | Reference(Observation) | 반응에 대한 추가 정보
reported |  | 0..1 | boolean | 자체 보고된 반응 표시
protocolApplied |  | 0..* | BackboneElement | 예방접종 프로토콜
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
series |  | 0..1 | string | 백신 시리즈의 이름
authority |  | 0..1 | Reference(Organization) | 권장사항 게시에 책임이 있는 사람
targetDisease |  | 0..* | CodeableConcept | 백신으로 예방할 표적 질병 바인딩(Binding): ImmunizationTargetDiseaseCodes (example): 특정 용량으로 투여한 백신이 예방할 수 있는 질병.
Slices for doseNumber[x] |  | 1..1 |  | 예방 접종 차수 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
doseNumberPositiveInt |  |  | positiveInt |
doseNumberString |  |  | string |
doseNumber[x]:doseNumberPositiveInt |  | 0..1 | positiveInt | 예방접종 차수
seriesDoses[x] |  | 0..1 |  | 면역을 위한 권장 투여량
seriesDosesPositiveInt |  |  | positiveInt |
seriesDosesString |  |  | string |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Immunization.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Immunization.status | required | ImmunizationStatusCodes `http://hl7.org/fhir/ValueSet/immunization-status|4.0.1` From the FHIR Standard
Immunization.statusReason | example | ImmunizationStatusReasonCodes `http://hl7.org/fhir/ValueSet/immunization-status-reason` From the FHIR Standard
Immunization.vaccineCode | example | VaccineAdministeredValueSet `http://hl7.org/fhir/ValueSet/vaccine-code` From the FHIR Standard
Immunization.vaccineCode.coding:VcntType | required | KR_Core_Vaccination_Type_Codes(a valid code from KR Core Vaccination Types) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-vcnt-type-codes` From this IG
Immunization.vaccineCode.coding:KDCode | required | KR_Core_Korea_Drug_Codes(a valid code from KPIS Korea Drug Code) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-korea-drug-codes` From this IG
Immunization.reportOrigin | example | ImmunizationOriginCodes `http://hl7.org/fhir/ValueSet/immunization-origin` From the FHIR Standard
Immunization.site | example | CodesForImmunizationSiteOfAdministration `http://hl7.org/fhir/ValueSet/immunization-site` From the FHIR Standard
Immunization.route | example | ImmunizationRouteCodes `http://hl7.org/fhir/ValueSet/immunization-route` From the FHIR Standard
Immunization.performer.function | extensible | ImmunizationFunctionCodes `http://hl7.org/fhir/ValueSet/immunization-function` From the FHIR Standard
Immunization.reasonCode | example | ImmunizationReasonCodes `http://hl7.org/fhir/ValueSet/immunization-reason` From the FHIR Standard
Immunization.subpotentReason | example | ImmunizationSubpotentReason `http://hl7.org/fhir/ValueSet/immunization-subpotent-reason` From the FHIR Standard
Immunization.programEligibility | example | ImmunizationProgramEligibility `http://hl7.org/fhir/ValueSet/immunization-program-eligibility` From the FHIR Standard
Immunization.fundingSource | example | ImmunizationFundingSource `http://hl7.org/fhir/ValueSet/immunization-funding-source` From the FHIR Standard
Immunization.protocolApplied.targetDisease | example | ImmunizationTargetDiseaseCodes `http://hl7.org/fhir/ValueSet/immunization-target-disease` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Immunization | If 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-4 | error | Immunization | If 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-5 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Immunization | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
imm-1 | error | Immunization.education | One of documentType or reference SHALL be present : documentType.exists() or reference.exists() |

This structure is derived from Immunization

Summary

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

Structures

This structure refers to these other structures:

- KR Core Patient Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-patient)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Immunization.vaccineCode.coding
- The element 1 is sliced based on the value of Immunization.protocolApplied.doseNumber[x]

Differential View

This structure is derived from Immunization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | KR Core Immunization Profile
status | S | 1..1 | code | 예방접종 상태: completed | entered-in-error | not-done 선호값: completed
vaccineCode | S | 1..1 | CodeableConcept | 예방접종 식별 코드
Slices for coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this
coding:VcntType | S | 1..* | Coding | 예방접종명 바인딩(Binding): KR Core Vaccination Type Codes (required)
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
coding:KDCode |  | 0..* | Coding | 예방접종 약품명 바인딩(Binding): KR Core Korea Drug Codes (required)
system |  | 1..1 | uri | 코드체계 식별자
code |  | 1..1 | code | 코드
patient |  | 1..1 | Reference(KR Core Patient Profile) | 예방접종 대상 환자
occurrence[x] | S | 1..1 | dateTime | 예방접종 일시
protocolApplied |  | 0..* | BackboneElement | 예방접종 프로토콜
Slices for doseNumber[x] |  | 1..1 | positiveInt, string | 예방 접종 차수 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
doseNumber[x]:doseNumberPositiveInt |  | 0..1 | positiveInt | 예방접종 차수
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Immunization.vaccineCode.coding:VcntType | required | KR_Core_Vaccination_Type_Codes(a valid code from KR Core Vaccination Types) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-vcnt-type-codes` From this IG
Immunization.vaccineCode.coding:KDCode | required | KR_Core_Korea_Drug_Codes(a valid code from KPIS Korea Drug Code) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-korea-drug-codes` From this IG

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | KR Core Immunization Profile
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
status | ?!S Σ | 1..1 | code | 예방접종 상태: completed | entered-in-error | not-done 바인딩(Binding): ImmunizationStatusCodes (required): 예방 접종의 현재 상태를 나타내는 코드 세트. 선호값: completed
vaccineCode | S Σ | 1..1 | CodeableConcept | 예방접종 식별 코드 바인딩(Binding): VaccineAdministeredValueSet (example): 투여된 백신 제품 코드.
Slices for coding | Σ | 1..* | Coding | 코드체계에 의해 정의된 코드 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this
coding:VcntType | S Σ | 1..* | Coding | 예방접종명 바인딩(Binding): KR Core Vaccination Type Codes (required)
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
coding:KDCode | Σ | 0..* | Coding | 예방접종 약품명 바인딩(Binding): KR Core Korea Drug Codes (required)
system | Σ | 1..1 | uri | 코드체계 식별자
code | Σ | 1..1 | code | 코드
patient | Σ | 1..1 | Reference(KR Core Patient Profile) | 예방접종 대상 환자
occurrence[x] | S Σ | 1..1 | dateTime | 예방접종 일시
isSubpotent | ?!Σ | 0..1 | boolean | 투여량 효력
protocolApplied |  | 0..* | BackboneElement | 예방접종 프로토콜
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
Slices for doseNumber[x] |  | 1..1 |  | 예방 접종 차수 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
doseNumberPositiveInt |  |  | positiveInt |
doseNumberString |  |  | string |
doseNumber[x]:doseNumberPositiveInt |  | 0..1 | positiveInt | 예방접종 차수
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Immunization.status | required | ImmunizationStatusCodes `http://hl7.org/fhir/ValueSet/immunization-status|4.0.1` From the FHIR Standard
Immunization.vaccineCode | example | VaccineAdministeredValueSet `http://hl7.org/fhir/ValueSet/vaccine-code` From the FHIR Standard
Immunization.vaccineCode.coding:VcntType | required | KR_Core_Vaccination_Type_Codes(a valid code from KR Core Vaccination Types) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-vcnt-type-codes` From this IG
Immunization.vaccineCode.coding:KDCode | required | KR_Core_Korea_Drug_Codes(a valid code from KPIS Korea Drug Code) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-korea-drug-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Immunization | If 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-4 | error | Immunization | If 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-5 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Immunization | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | KR Core Immunization 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 | 비즈니스 식별자
status | ?!S Σ | 1..1 | code | 예방접종 상태: completed | entered-in-error | not-done 바인딩(Binding): ImmunizationStatusCodes (required): 예방 접종의 현재 상태를 나타내는 코드 세트. 선호값: completed
statusReason |  | 0..1 | CodeableConcept | 예방 접종이 이루어지지 않은 이유 바인딩(Binding): ImmunizationStatusReasonCodes (example): 백신을 투여하지 않은 이유.
vaccineCode | S Σ | 1..1 | CodeableConcept | 예방접종 식별 코드 바인딩(Binding): VaccineAdministeredValueSet (example): 투여된 백신 제품 코드.
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
Slices for coding | Σ | 1..* | Coding | 코드체계에 의해 정의된 코드 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this
coding:VcntType | S Σ | 1..* | Coding | 예방접종명 바인딩(Binding): KR Core Vaccination Type Codes (required)
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을 사용자가 직접 선택한 경우
coding:KDCode | Σ | 0..* | Coding | 예방접종 약품명 바인딩(Binding): KR Core Korea Drug Codes (required)
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 | 개념의 일반 텍스트 표현
patient | Σ | 1..1 | Reference(KR Core Patient Profile) | 예방접종 대상 환자
encounter |  | 0..1 | Reference(Encounter) | 예방 접종이 속한 수진
occurrence[x] | S Σ | 1..1 | dateTime | 예방접종 일시
recorded |  | 0..1 | dateTime | 첫 예방접종 기록시점
primarySource | Σ | 0..1 | boolean | 데이터가 기록된 맥락을 표시
reportOrigin |  | 0..1 | CodeableConcept | 2차적으로 보고된 기록의 출처를 표시. 바인딩(Binding): ImmunizationOriginCodes (example): 1차 출처가 아닌 기록의 데이터 출처.
location |  | 0..1 | Reference(Location) | 예방 접종이 이루어진 곳
manufacturer |  | 0..1 | Reference(Organization) | 백신 생산자
lotNumber |  | 0..1 | string | 백신 LOT 넘버
expirationDate |  | 0..1 | date | 백신 유효 기한
site |  | 0..1 | CodeableConcept | 백신을 투여한 신체 부위 바인딩(Binding): CodesForImmunizationSiteOfAdministration (example): 백신이 투여된 부위.
route |  | 0..1 | CodeableConcept | 백신이 체내에 투여된 방법 바인딩(Binding): ImmunizationRouteCodes (example): 백신이 투여된 경로.
doseQuantity |  | 0..1 | SimpleQuantity | 투여된 백신의 양
performer | Σ | 0..* | BackboneElement | 백신 투여자
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
function | Σ | 0..1 | CodeableConcept | 완료된 수행의 종류 바인딩(Binding): ImmunizationFunctionCodes (extensible): 예방 접종 이벤트에서 의료인 또는 기관이 수행하는 역할.
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | 수행한 개인 또는 기관
note | Σ | 0..* | Annotation | 예방 접종 추가 참고사항
reasonCode |  | 0..* | CodeableConcept | 예방 접종이 이루어진 이유 바인딩(Binding): ImmunizationReasonCodes (example): 백신이 투여된 이유.
reasonReference |  | 0..* | Reference(Condition | Observation | DiagnosticReport) | 예방 접종이 이루어진 이유
isSubpotent | ?!Σ | 0..1 | boolean | 투여량 효력
subpotentReason |  | 0..* | CodeableConcept | 효력 감소 이유 바인딩(Binding): ImmunizationSubpotentReason (example): 투여량의 효력이 감소했다고 간주되는 이유
education | C | 0..* | BackboneElement | 환자에게 제공되는 교육 자료 Constraints: imm-1
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
documentType |  | 0..1 | string | 교육 자료 문서 식별자
reference |  | 0..1 | uri | 교육 자료 참조
publicationDate |  | 0..1 | dateTime | 교육 자료 출판일
presentationDate |  | 0..1 | dateTime | 교육 자료 제공일
programEligibility |  | 0..* | CodeableConcept | 예방접종 프로그램에 대한 환자의 적격성 바인딩(Binding): ImmunizationProgramEligibility (example): 예방접종 프로그램에 대한 환자의 적격성.
fundingSource |  | 0..1 | CodeableConcept | 백신 자금 출처 바인딩(Binding): ImmunizationFundingSource (example): 투여한 백신을 구입하는 데 사용된 자금 출처.
reaction |  | 0..* | BackboneElement | 예방 접종 후 반응의 세부 사항
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
date |  | 0..1 | dateTime | 반응 시작 시각
detail |  | 0..1 | Reference(Observation) | 반응에 대한 추가 정보
reported |  | 0..1 | boolean | 자체 보고된 반응 표시
protocolApplied |  | 0..* | BackboneElement | 예방접종 프로토콜
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
series |  | 0..1 | string | 백신 시리즈의 이름
authority |  | 0..1 | Reference(Organization) | 권장사항 게시에 책임이 있는 사람
targetDisease |  | 0..* | CodeableConcept | 백신으로 예방할 표적 질병 바인딩(Binding): ImmunizationTargetDiseaseCodes (example): 특정 용량으로 투여한 백신이 예방할 수 있는 질병.
Slices for doseNumber[x] |  | 1..1 |  | 예방 접종 차수 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
doseNumberPositiveInt |  |  | positiveInt |
doseNumberString |  |  | string |
doseNumber[x]:doseNumberPositiveInt |  | 0..1 | positiveInt | 예방접종 차수
seriesDoses[x] |  | 0..1 |  | 면역을 위한 권장 투여량
seriesDosesPositiveInt |  |  | positiveInt |
seriesDosesString |  |  | string |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Immunization.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Immunization.status | required | ImmunizationStatusCodes `http://hl7.org/fhir/ValueSet/immunization-status|4.0.1` From the FHIR Standard
Immunization.statusReason | example | ImmunizationStatusReasonCodes `http://hl7.org/fhir/ValueSet/immunization-status-reason` From the FHIR Standard
Immunization.vaccineCode | example | VaccineAdministeredValueSet `http://hl7.org/fhir/ValueSet/vaccine-code` From the FHIR Standard
Immunization.vaccineCode.coding:VcntType | required | KR_Core_Vaccination_Type_Codes(a valid code from KR Core Vaccination Types) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-vcnt-type-codes` From this IG
Immunization.vaccineCode.coding:KDCode | required | KR_Core_Korea_Drug_Codes(a valid code from KPIS Korea Drug Code) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-korea-drug-codes` From this IG
Immunization.reportOrigin | example | ImmunizationOriginCodes `http://hl7.org/fhir/ValueSet/immunization-origin` From the FHIR Standard
Immunization.site | example | CodesForImmunizationSiteOfAdministration `http://hl7.org/fhir/ValueSet/immunization-site` From the FHIR Standard
Immunization.route | example | ImmunizationRouteCodes `http://hl7.org/fhir/ValueSet/immunization-route` From the FHIR Standard
Immunization.performer.function | extensible | ImmunizationFunctionCodes `http://hl7.org/fhir/ValueSet/immunization-function` From the FHIR Standard
Immunization.reasonCode | example | ImmunizationReasonCodes `http://hl7.org/fhir/ValueSet/immunization-reason` From the FHIR Standard
Immunization.subpotentReason | example | ImmunizationSubpotentReason `http://hl7.org/fhir/ValueSet/immunization-subpotent-reason` From the FHIR Standard
Immunization.programEligibility | example | ImmunizationProgramEligibility `http://hl7.org/fhir/ValueSet/immunization-program-eligibility` From the FHIR Standard
Immunization.fundingSource | example | ImmunizationFundingSource `http://hl7.org/fhir/ValueSet/immunization-funding-source` From the FHIR Standard
Immunization.protocolApplied.targetDisease | example | ImmunizationTargetDiseaseCodes `http://hl7.org/fhir/ValueSet/immunization-target-disease` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Immunization | If 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-4 | error | Immunization | If 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-5 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Immunization | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
imm-1 | error | Immunization.education | One of documentType or reference SHALL be present : documentType.exists() or reference.exists() |

This structure is derived from Immunization

Summary

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

Structures

This structure refers to these other structures:

- KR Core Patient Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-patient)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Immunization.vaccineCode.coding
- The element 1 is sliced based on the value of Immunization.protocolApplied.doseNumber[x]

Other representations of profile: CSV, Excel, Schematron

### Notes:

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

### KR Core Search Parameters (defined)

Immunization Resource를 검색하기 위해 KR Core에서 추가로 정의한 검색 파라미터.

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
dose-number | positiveint | 예방 접종 차수 | Immunization.protocolApplied.doseNumber.ofType(positiveInt) | MAY

### KR Core Search Parameters (derived)

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

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
date | datetime | 예방 접종 일시 | Immunization.occurrence | SHOULD
patient | reference | 예방 접종 대상 | Immunization.patient | SHALL
status | token | 예방 접종 상태 | Immunization.status | MAY
vaccine-code | token | 예방접종 식별 코드 | Immunization.vaccineCode | SHALL

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

- multipleAnd
- multipleOr
- comparator
- modifier
- chain

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