KR Core Implementation Guide
2.0.0 - STU 2

This page is part of the KR Core Implementation Guide (v2.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

## Resource Profile: KR Core Medication Profile

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

KR CDI V2 약물 정보 클래스에서 정의한 약품 정보 관련 항목들과 주요 추가 정보를 구조화하기 위해 정의한 Profile.

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

Usages:

- Refer to this Profile: KR Core MedicationRequest Profile
- Examples for this Profile: Medication/krcore-medication-example-01, Medication/krcore-medication-example-02 and Medication/krcore-medication-example-03
- CapabilityStatements using this Profile: KR Core Client CapabilityStatement and KR Core Server CapabilityStatement

You can also check for usages in the FHIR IG Statistics

### KR CDI 관련항목

KR Core Medication Profile은 KR CDI의 약물 정보 클래스 중 일부에 대응됨.

KR CDI 약물 정보 클래스 항목 | KR Core Medication Profile 관련 항목
--- | ---
약품제품명 | Medication.code.coding.where(system = ‘https://hira.or.kr/CodeSystem/edi/medication’) KR Core MedicationRequest Profile 참고
약품성분명 | Medication.ingredient KR Core MedicationRequest Profile 참고
1회량 | KR Core MedicationRequest Profile 참고
1회량 단위 | KR Core MedicationRequest Profile 참고
복용횟수 | KR Core MedicationRequest Profile 참고
용법 | KR Core MedicationRequest Profile 참고
처방일수 | KR Core MedicationRequest Profile 참고
총량 | KR Core MedicationRequest Profile 참고
총량단위 | KR Core MedicationRequest Profile 참고
처방상태 | KR Core MedicationRequest Profile 참고
처방의도 | KR Core MedicationRequest Profile 참고

### 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 Medication

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Medication | KR Core Medication Profile
code | S | 1..1 | CodeableConcept | KRCDI) 약품 제품명 약품 코드 바인딩(Binding): KR Core EDI Medication Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
display | S | 1..1 | string | 시스템에서 정의한 표현
ingredient | S | 1..* | BackboneElement | KRCDI) 약품 성분명 약품 성분 코드
Slices for item[x] |  | 1..1 | CodeableConcept, Reference(Substance | Medication) | 실제 성분 또는 내용물 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
item[x]:itemCodeableConcept | S | 0..1 | CodeableConcept | 실제 성분 또는 내용물 바인딩(Binding): ATC Codes (preferred)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Medication.code | extensible | KR_Core_EDI_Medication_Codes(a valid code from HIRA EDI Medication) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-medication-codes` From this IG
Medication.ingredient.item[x]:itemCodeableConcept | preferred | KR_Core_ATC_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-atc-codes` From this IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Medication | KR Core Medication Profile
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
code | S Σ | 1..1 | CodeableConcept | 약품 코드 바인딩(Binding): KR Core EDI Medication Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
display | S Σ | 1..1 | string | 시스템에서 정의한 표현
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error 바인딩(Binding): Medication Status Codes (required): 약물 사용 상태를 정의하는 코드.
ingredient | S | 1..* | BackboneElement | 약품 성분 코드
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
Slices for item[x] |  | 1..1 |  | 실제 성분 또는 내용물 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
itemCodeableConcept |  |  | CodeableConcept |
itemReference |  |  | Reference(Substance | Medication) |
item[x]:itemCodeableConcept | S | 0..1 | CodeableConcept | 실제 성분 또는 내용물 바인딩(Binding): ATC Codes (preferred)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Medication.code | extensible | KR_Core_EDI_Medication_Codes(a valid code from HIRA EDI Medication) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-medication-codes` From this IG
Medication.status | required | Medication Status Codes `http://hl7.org/fhir/ValueSet/medication-status|4.0.1` From the FHIR Standard
Medication.ingredient.item[x]:itemCodeableConcept | preferred | KR_Core_ATC_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-atc-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Medication | 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 | Medication | 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 | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Medication | 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
--- | --- | --- | --- | ---
Medication |  | 0..* | Medication | KR Core Medication 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 | 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트 이 프로파일은 내러티브의 내용, 사용 언어, 또는 해당 내용이 데이터 요소에 얼마나 추적 가능한지에 대해 제한하지 않음
contained |  | 0..* | Resource | 포함된 리소스
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
identifier | Σ | 0..* | Identifier | 비즈니스 식별자 for this medication
code | S Σ | 1..1 | CodeableConcept | 약품 코드 바인딩(Binding): KR Core EDI Medication Codes (extensible)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
system | S Σ | 1..1 | uri | 코드체계 식별자
version | Σ | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code | S Σ | 1..1 | code | 코드
display | S Σ | 1..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error 바인딩(Binding): Medication Status Codes (required): 약물 사용 상태를 정의하는 코드.
manufacturer | Σ | 0..1 | Reference(Organization) | 제조업체
form |  | 0..1 | CodeableConcept | powder | tablets | capsule + 바인딩(Binding): SNOMEDCTFormCodes (example): 약물의 형태를 정의하는 코드화된 개념.
amount | Σ | 0..1 | Ratio | 패키지에 포함된 약물의 양
ingredient | S | 1..* | BackboneElement | 약품 성분 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
Slices for item[x] |  | 1..1 |  | 실제 성분 또는 내용물 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
itemCodeableConcept |  |  | CodeableConcept |
itemReference |  |  | Reference(Substance | Medication) |
item[x]:itemCodeableConcept | S | 0..1 | CodeableConcept | 실제 성분 또는 내용물 바인딩(Binding): ATC Codes (preferred)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(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 | 개념의 일반 텍스트 표현
isActive |  | 0..1 | boolean | 유효 성분 표시
strength |  | 0..1 | Ratio | 존재하는 성분의 양
batch |  | 0..1 | BackboneElement | 포장된 약물에 대한 세부 정보
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
lotNumber |  | 0..1 | string | 패키지에 할당된 식별자
expirationDate |  | 0..1 | dateTime | 패키지 유효 기간
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Medication.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Medication.code | extensible | KR_Core_EDI_Medication_Codes(a valid code from HIRA EDI Medication) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-medication-codes` From this IG
Medication.status | required | Medication Status Codes `http://hl7.org/fhir/ValueSet/medication-status|4.0.1` From the FHIR Standard
Medication.form | example | SNOMEDCTFormCodes `http://hl7.org/fhir/ValueSet/medication-form-codes` From the FHIR Standard
Medication.ingredient.item[x]:itemCodeableConcept | preferred | KR_Core_ATC_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-atc-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Medication | 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 | Medication | 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 | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Medication | 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() |

This structure is derived from Medication

Summary

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

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Medication.ingredient.item[x]

Differential View

This structure is derived from Medication

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Medication | KR Core Medication Profile
code | S | 1..1 | CodeableConcept | 약품 코드 바인딩(Binding): KR Core EDI Medication Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
display | S | 1..1 | string | 시스템에서 정의한 표현
ingredient | S | 1..* | BackboneElement | 약품 성분 코드
Slices for item[x] |  | 1..1 | CodeableConcept, Reference(Substance | Medication) | 실제 성분 또는 내용물 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
item[x]:itemCodeableConcept | S | 0..1 | CodeableConcept | 실제 성분 또는 내용물 바인딩(Binding): ATC Codes (preferred)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Medication.code | extensible | KR_Core_EDI_Medication_Codes(a valid code from HIRA EDI Medication) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-medication-codes` From this IG
Medication.ingredient.item[x]:itemCodeableConcept | preferred | KR_Core_ATC_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-atc-codes` From this IG

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Medication | KR Core Medication Profile
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
code | S Σ | 1..1 | CodeableConcept | 약품 코드 바인딩(Binding): KR Core EDI Medication Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
display | S Σ | 1..1 | string | 시스템에서 정의한 표현
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error 바인딩(Binding): Medication Status Codes (required): 약물 사용 상태를 정의하는 코드.
ingredient | S | 1..* | BackboneElement | 약품 성분 코드
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
Slices for item[x] |  | 1..1 |  | 실제 성분 또는 내용물 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
itemCodeableConcept |  |  | CodeableConcept |
itemReference |  |  | Reference(Substance | Medication) |
item[x]:itemCodeableConcept | S | 0..1 | CodeableConcept | 실제 성분 또는 내용물 바인딩(Binding): ATC Codes (preferred)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Medication.code | extensible | KR_Core_EDI_Medication_Codes(a valid code from HIRA EDI Medication) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-medication-codes` From this IG
Medication.status | required | Medication Status Codes `http://hl7.org/fhir/ValueSet/medication-status|4.0.1` From the FHIR Standard
Medication.ingredient.item[x]:itemCodeableConcept | preferred | KR_Core_ATC_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-atc-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Medication | 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 | Medication | 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 | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Medication | 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
--- | --- | --- | --- | ---
Medication |  | 0..* | Medication | KR Core Medication 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 | 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트 이 프로파일은 내러티브의 내용, 사용 언어, 또는 해당 내용이 데이터 요소에 얼마나 추적 가능한지에 대해 제한하지 않음
contained |  | 0..* | Resource | 포함된 리소스
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
identifier | Σ | 0..* | Identifier | 비즈니스 식별자 for this medication
code | S Σ | 1..1 | CodeableConcept | 약품 코드 바인딩(Binding): KR Core EDI Medication Codes (extensible)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
system | S Σ | 1..1 | uri | 코드체계 식별자
version | Σ | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code | S Σ | 1..1 | code | 코드
display | S Σ | 1..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error 바인딩(Binding): Medication Status Codes (required): 약물 사용 상태를 정의하는 코드.
manufacturer | Σ | 0..1 | Reference(Organization) | 제조업체
form |  | 0..1 | CodeableConcept | powder | tablets | capsule + 바인딩(Binding): SNOMEDCTFormCodes (example): 약물의 형태를 정의하는 코드화된 개념.
amount | Σ | 0..1 | Ratio | 패키지에 포함된 약물의 양
ingredient | S | 1..* | BackboneElement | 약품 성분 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
Slices for item[x] |  | 1..1 |  | 실제 성분 또는 내용물 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
itemCodeableConcept |  |  | CodeableConcept |
itemReference |  |  | Reference(Substance | Medication) |
item[x]:itemCodeableConcept | S | 0..1 | CodeableConcept | 실제 성분 또는 내용물 바인딩(Binding): ATC Codes (preferred)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(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 | 개념의 일반 텍스트 표현
isActive |  | 0..1 | boolean | 유효 성분 표시
strength |  | 0..1 | Ratio | 존재하는 성분의 양
batch |  | 0..1 | BackboneElement | 포장된 약물에 대한 세부 정보
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
lotNumber |  | 0..1 | string | 패키지에 할당된 식별자
expirationDate |  | 0..1 | dateTime | 패키지 유효 기간
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Medication.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Medication.code | extensible | KR_Core_EDI_Medication_Codes(a valid code from HIRA EDI Medication) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-medication-codes` From this IG
Medication.status | required | Medication Status Codes `http://hl7.org/fhir/ValueSet/medication-status|4.0.1` From the FHIR Standard
Medication.form | example | SNOMEDCTFormCodes `http://hl7.org/fhir/ValueSet/medication-form-codes` From the FHIR Standard
Medication.ingredient.item[x]:itemCodeableConcept | preferred | KR_Core_ATC_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-atc-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Medication | 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 | Medication | 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 | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Medication | 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() |

This structure is derived from Medication

Summary

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

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Medication.ingredient.item[x]

Other representations of profile: CSV, Excel, Schematron

### Notes:

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

### KR Core Search Parameters (derived)

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

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
code | token | 약품제품명 | Medication.code | SHALL
ingredient-code | token | 약품성분명 | Medication.ingredient.item.ofType(CodeableConcept) | SHOULD

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

- multipleAnd
- multipleOr
- comparator
- modifier
- chain

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