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 MedicationRequest Profile

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

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

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

Usages:

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

### KR CDI 관련항목

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

KR CDI 약물 정보 클래스 항목 | KR Core Medication Profile 관련 항목
--- | ---
약품 제품명 | MedicationRequest.medicationReference (KR Core Medication Profile 참고) MedicationRequest.medicationCodeableConcept
약품 성분명 | MedicationRequest.medicationReference (KR Core Medication Profile 참고) MedicationRequest.extension.where(url = ‘http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient’)
1회량 | MedicationRequest.dosageInstruction.doseAndRate.dose[x]
1회량 단위 | MedicationRequest.dosageInstruction.doseAndRate.dose[x]
복용 횟수 | MedicationRequest.dosageInstruction.timing.repeat.frequency MedicationRequest.dosageInstruction.timing.repeat.period MedicationRequest.dosageInstruction.timing.repeat.periodUnit
용법 | MedicationRequest.dosageInstruction.text
처방 일수 | MedicationRequest.dispenseRequest.expectedSupplyDuration
총량 | MedicationRequest.dispenseRequest.quantity
총량 단위 | MedicationRequest.dispenseRequest.quantity
처방 상태 | MedicationRequest.status
처방 의도 | MedicationRequest.intent

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | KR Core MedicationRequest Profile
status | S | 1..1 | code | KRCDI) 처방 상태: active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown 선호값: completed
intent | S | 1..1 | code | KRCDI) 처방 의도: order | proposal | plan + 선호값: order
Slices for medication[x] | S | 1..1 | CodeableConcept, Reference(Medication) | 처방 약품 정보 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
medication[x]:medicationReference | S | 0..1 | Reference(KR Core Medication Profile) | KRCDI) 약품 제품명, 약품 성분명 약품 정보 참조
medication[x]:medicationCodeableConcept | S | 0..1 | CodeableConcept | KRCDI) 약품 제품명 약품 제품 정보 바인딩(Binding): KR Core EDI Medication Codes (preferred)
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | 모든 분할항목에 적용되는 내용/규칙
extension:krcore-medicationIngredient | S | 1..* | CodeableConcept | KRCDI) 약품 성분명 URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient 바인딩(Binding): ATC Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
display | S | 1..1 | string | 시스템에서 정의한 표현
subject |  | 1..1 | Reference(KR Core Patient Profile) | 처방 대상
authoredOn |  | 0..1 | dateTime | 처방 일시
dosageInstruction | S | 1..* | Dosage | 약물 투여 및 복용 지침
text | S | 0..1 | string | KRCDI) 용법
timing | S | 0..1 | Timing | 약품 투여 및 복용 일정
repeat | S | 0..1 | Element | KRCDI) 복용 횟수 약품 투여 및 복용 반복 정보
frequency | S | 0..1 | positiveInt | 주기 당 약품 투여 및 복용 횟수
period | S | 0..1 | decimal | 약품 투여 및 복용 주기 수치
periodUnit | S | 0..1 | code | 약품 투여 및 복용 주기 단위: s | min | h | d | wk | mo | a 바인딩(Binding): UnitsOfTime (required)
doseAndRate | S | 1..* | Element | 투여 및 복용량
Slices for dose[x] | S | 1..1 | Range, SimpleQuantity | KRCDI) 1회량, 1회량 단위 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
dose[x]:doseQuantity | S | 0..1 | SimpleQuantity | 단위를 포함한 투여 및 복용량 바인딩(Binding): UCUMCodes (preferred)
dose[x]:doseRange | S | 0..1 | Range | 범위로 지정된 투여 및 복용량
low |  | 0..1 | SimpleQuantity | 최소 바인딩(Binding): UCUMCodes (preferred)
high |  | 0..1 | SimpleQuantity | 최대 바인딩(Binding): UCUMCodes (preferred)
dispenseRequest | S | 0..1 | BackboneElement | 처방 요청
quantity |  | 0..1 | SimpleQuantity | KRCDI) 총량, 총량 단위 단위를 포함한 처방 총량 바인딩(Binding): UCUMCodes (preferred)
expectedSupplyDuration | S | 0..1 | Duration | KRCDI) 처방 일수 처방 기간: s | min | h | d | wk | mo | a 바인딩(Binding): UnitsOfTime (required)
code |  | 0..1 | code | 처방 기간 단위 코드 선호값: d
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
MedicationRequest.medication[x]:medicationCodeableConcept | preferred | 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
MedicationRequest.dosageInstruction.timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.quantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.expectedSupplyDuration | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | KR Core MedicationRequest Profile
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
status | ?!S Σ | 1..1 | code | 처방 상태: active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown 바인딩(Binding): medicationrequest Status (required): 처방 이벤트의 상태를 지정하는 코드화된 개념. 처방전의 수명 주기를 설명. 선호값: completed
intent | ?!S Σ | 1..1 | code | 처방 의도: order | proposal | plan + 바인딩(Binding): medicationRequest Intent (required): 약물 주문의 종류. 선호값: order
doNotPerform | ?!Σ | 0..1 | boolean | 처방 금지 요청의 경우 True
Slices for medication[x] | S Σ | 1..1 |  | 처방 약품 정보 분할항목(Slice): Unordered, Closed by type:$this 바인딩(Binding): SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
medicationCodeableConcept |  |  | CodeableConcept |
medicationReference |  |  | Reference(Medication) |
medication[x]:medicationReference | S Σ | 0..1 | Reference(KR Core Medication Profile) | 약품 정보 참조
medication[x]:medicationCodeableConcept | S Σ | 0..1 | CodeableConcept | 약품 제품 정보 바인딩(Binding): KR Core EDI Medication Codes (preferred)
Slices for extension |  | 1..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-medicationIngredient | S | 1..* | CodeableConcept | 약품 성분명 URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient 바인딩(Binding): ATC Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
display | S Σ | 1..1 | string | 시스템에서 정의한 표현
subject | Σ | 1..1 | Reference(KR Core Patient Profile) | 처방 대상
authoredOn | Σ | 0..1 | dateTime | 처방 일시
dosageInstruction | S | 1..* | Dosage | 약물 투여 및 복용 지침
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
text | S Σ | 0..1 | string | 용법
timing | S Σ | 0..1 | Timing | 약품 투여 및 복용 일정
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
repeat | S Σ C | 0..1 | Element | 약품 투여 및 복용 반복 정보 Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
frequency | S Σ | 0..1 | positiveInt | 주기 당 약품 투여 및 복용 횟수
period | S Σ | 0..1 | decimal | 약품 투여 및 복용 주기 수치
periodUnit | S Σ | 0..1 | code | 약품 투여 및 복용 주기 단위: s | min | h | d | wk | mo | a 바인딩(Binding): UnitsOfTime (required)
doseAndRate | S Σ | 1..* | Element | 투여 및 복용량
Slices for dose[x] | S Σ | 1..1 |  | 1회량, 1회량 단위 분할항목(Slice): Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | S Σ | 0..1 | SimpleQuantity | 단위를 포함한 투여 및 복용량 바인딩(Binding): UCUMCodes (preferred)
dose[x]:doseRange | S Σ | 0..1 | Range | 범위로 지정된 투여 및 복용량
low | Σ | 0..1 | SimpleQuantity | 최소 바인딩(Binding): UCUMCodes (preferred)
high | Σ | 0..1 | SimpleQuantity | 최대 바인딩(Binding): UCUMCodes (preferred)
dispenseRequest | S | 0..1 | BackboneElement | 처방 요청
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
quantity |  | 0..1 | SimpleQuantity | 단위를 포함한 처방 총량 바인딩(Binding): UCUMCodes (preferred)
expectedSupplyDuration | S | 0..1 | Duration | 처방 기간: s | min | h | d | wk | mo | a
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - 값을 이해하는 방법 바인딩(Binding): QuantityComparator (required): 한정자를 이해하는 방법과 한정자가 표현되는 방법.
code | Σ | 0..1 | code | 처방 기간 단위 코드 선호값: d
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
MedicationRequest.status | required | medicationrequest Status `http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1` From the FHIR Standard
MedicationRequest.intent | required | medicationRequest Intent `http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1` From the FHIR Standard
MedicationRequest.medication[x] | example | SNOMEDCTMedicationCodes `http://hl7.org/fhir/ValueSet/medication-codes` From the FHIR Standard
MedicationRequest.medication[x]:medicationCodeableConcept | preferred | 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
MedicationRequest.dosageInstruction.timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.quantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.expectedSupplyDuration.comparator | required | QuantityComparator `http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | MedicationRequest | 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 | MedicationRequest | 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 | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | MedicationRequest | 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() |
tim-1 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() |
tim-2 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() |
tim-4 | error | MedicationRequest.dosageInstruction.timing.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 |
tim-5 | error | MedicationRequest.dosageInstruction.timing.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 |
tim-6 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() |
tim-7 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() |
tim-8 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() |
tim-9 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) : offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not())) |
tim-10 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa : timeOfDay.empty() or when.empty() |

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | KR Core MedicationRequest 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 | External ids for this request
status | ?!S Σ | 1..1 | code | 처방 상태: active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown 바인딩(Binding): medicationrequest Status (required): 처방 이벤트의 상태를 지정하는 코드화된 개념. 처방전의 수명 주기를 설명. 선호값: completed
statusReason |  | 0..1 | CodeableConcept | 현재 상태의 이유 바인딩(Binding): medicationRequest Status Reason Codes (example): 지정된 상태의 원인을 식별.
intent | ?!S Σ | 1..1 | code | 처방 의도: order | proposal | plan + 바인딩(Binding): medicationRequest Intent (required): 약물 주문의 종류. 선호값: order
category |  | 0..* | CodeableConcept | 약물 사용 유형 바인딩(Binding): medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment.
priority | Σ | 0..1 | code | routine | urgent | asap | stat 바인딩(Binding): RequestPriority (required): 요청 조치에 할당할 중요도 수준을 식별.
doNotPerform | ?!Σ | 0..1 | boolean | 처방 금지 요청의 경우 True
reported[x] | Σ | 0..1 |  | Reported rather than primary record
reportedBoolean |  |  | boolean |
reportedReference |  |  | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) |
Slices for medication[x] | S Σ | 1..1 |  | 처방 약품 정보 분할항목(Slice): Unordered, Closed by type:$this 바인딩(Binding): SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
medicationCodeableConcept |  |  | CodeableConcept |
medicationReference |  |  | Reference(Medication) |
medication[x]:medicationReference | S Σ | 0..1 | Reference(KR Core Medication Profile) | 약품 정보 참조
medication[x]:medicationCodeableConcept | S Σ | 0..1 | CodeableConcept | 약품 제품 정보 바인딩(Binding): KR Core EDI Medication Codes (preferred)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
Slices for extension |  | 1..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-medicationIngredient | S | 1..* | CodeableConcept | 약품 성분명 URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient 바인딩(Binding): ATC Codes (extensible)
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 | S Σ | 1..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
subject | Σ | 1..1 | Reference(KR Core Patient Profile) | 처방 대상
encounter |  | 0..1 | Reference(Encounter) | 본 수술 및 처치가 속한 수진 encounter/admission/stay
supportingInformation |  | 0..* | Reference(Resource) | 약물 주문 시 도움이 되는 정보
authoredOn | Σ | 0..1 | dateTime | 처방 일시
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request
performer |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | 지정된 투약 수행자
performerType | Σ | 0..1 | CodeableConcept | 지정된 투약 수행자의 유형 바인딩(Binding): ProcedurePerformerRoleCodes (example): 지정된 투약 수행자 개인의 유형을 식별.
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) | 처방을 입력한 사람
reasonCode |  | 0..* | CodeableConcept | 약을 주문하거나 주문하지 않은 이유 또는 표시 바인딩(Binding): Condition/Problem/DiagnosisCodes (example): 약을 주문한 이유를 나타내는 코드화된 개념.
reasonReference |  | 0..* | Reference(Condition | Observation) | 처방전 작성 근거
instantiatesCanonical | Σ | 0..* | canonical() | FHIR 프로토콜 또는 정의를 인스턴스화
instantiatesUri | Σ | 0..* | uri | 외부 프로토콜 또는 정의를 인스턴스화
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | 충족한 요청
groupIdentifier | Σ | 0..1 | Identifier | 이 처방이 포함된 복합 처방
courseOfTherapyType |  | 0..1 | CodeableConcept | 약물 투여의 전반적인 패턴 바인딩(Binding): medicationRequest Course of Therapy Codes (example): 약물 투여의 전반적인 패턴을 식별.
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | 관련 보험 적용 범위
note |  | 0..* | Annotation | 처방에 대한 정보
dosageInstruction | S | 1..* | Dosage | 약물 투여 및 복용 지침
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
sequence | Σ | 0..1 | integer | 복용량 지침의 순서
text | S Σ | 0..1 | string | 용법
additionalInstruction | Σ | 0..* | CodeableConcept | 환자에 대한 추가 지침 또는 주의사항. 예: 식사와 함께 복용, 졸음 유발 가능성 있음 바인딩(Binding): SNOMEDCTAdditionalDosageInstructions (example): 추가 지침을 식별하는 코드화된 개념. 예: 물과 함께 복용, 중장비 조작 자제
patientInstruction | Σ | 0..1 | string | 환자 또는 소비자 중심의 지침
timing | S Σ | 0..1 | Timing | 약품 투여 및 복용 일정
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
event | Σ | 0..* | dateTime | When the event occurs
repeat | S Σ C | 0..1 | Element | 약품 투여 및 복용 반복 정보 Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
bounds[x] | Σ | 0..1 |  | Length/Range of lengths, or (Start and/or end) limits
boundsDuration |  |  | Duration |
boundsRange |  |  | Range |
boundsPeriod |  |  | Period |
count | Σ | 0..1 | positiveInt | 반복 횟수
countMax | Σ | 0..1 | positiveInt | 최대 반복 횟수
duration | Σ | 0..1 | decimal | 지속 기간
durationMax | Σ | 0..1 | decimal | 지속 기간 (Max)
durationUnit | Σ | 0..1 | code | s | min | h | d | wk | mo | a -시간 단위 (UCUM) 바인딩(Binding): UnitsOfTime (required): 시간 단위 (UCUM 단위)
frequency | S Σ | 0..1 | positiveInt | 주기 당 약품 투여 및 복용 횟수
frequencyMax | Σ | 0..1 | positiveInt | 주기 당 약품 투여 및 복용 최대 횟수
period | S Σ | 0..1 | decimal | 약품 투여 및 복용 주기 수치
periodMax | Σ | 0..1 | decimal | 약품 투여 및 복용 주기 최대 수치 (3-4 hours)
periodUnit | S Σ | 0..1 | code | 약품 투여 및 복용 주기 단위: s | min | h | d | wk | mo | a 바인딩(Binding): UnitsOfTime (required)
dayOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun 바인딩(Binding): DaysOfWeek (required)
timeOfDay | Σ | 0..* | time | Time of day for action
when | Σ | 0..* | code | 발생 기간 코드 바인딩(Binding): EventTiming (required): 일정과 관련된 실제 이벤트.
offset | Σ | 0..1 | unsignedInt | 이벤트로부터 분(minutes) 간격 (이전 또는 이후)
code | Σ | 0..1 | CodeableConcept | BID | TID | QID | AM | PM | QD | QOD | + 바인딩(Binding): TimingAbbreviation (preferred): 알려진/정의된 타이밍 패턴에 대한 코드.
asNeeded[x] | Σ | 0..1 |  | 복용 전제 조건 바인딩(Binding): SNOMEDCTMedicationAsNeededReasonCodes (example): 약물 복용량을 소비하거나 투여하기 전에 충족되거나 평가되어야 하는 전제 조건을 식별하는 코드화된 개념. 예: "통증", "성교 30분 전", "재발 시" 등.
asNeededBoolean |  |  | boolean |
asNeededCodeableConcept |  |  | CodeableConcept |
site | Σ | 0..1 | CodeableConcept | 투여할 신체 부위 바인딩(Binding): SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): 약물을 신체에 투여 및 도포하는 위치를 설명하는 코드화된 개념.
route | Σ | 0..1 | CodeableConcept | 약물이 몸에 투입되는 방법 바인딩(Binding): SNOMEDCTRouteCodes (example): 대상의 신체에 치료제를 투여 및 도포하는 경로 또는 생리학적 경로를 설명하는 코드화된 개념.
method | Σ | 0..1 | CodeableConcept | 약물을 투여하는 방법 바인딩(Binding): SNOMEDCTAdministrationMethodCodes (example): 약물을 투여하는 방법을 설명하는 코드화된 개념.
doseAndRate | S Σ | 1..* | Element | 투여 및 복용량
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
type | Σ | 0..1 | CodeableConcept | 지정된 복용량 또는 비율의 종류 바인딩(Binding): DoseAndRateType (example): 지정된 복용량 또는 비율의 종류.
Slices for dose[x] | S Σ | 1..1 |  | 1회량, 1회량 단위 분할항목(Slice): Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | S Σ | 0..1 | SimpleQuantity | 단위를 포함한 투여 및 복용량 바인딩(Binding): UCUMCodes (preferred)
dose[x]:doseRange | S Σ | 0..1 | Range | 범위로 지정된 투여 및 복용량
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
low | Σ | 0..1 | SimpleQuantity | 최소 바인딩(Binding): UCUMCodes (preferred)
high | Σ | 0..1 | SimpleQuantity | 최대 바인딩(Binding): UCUMCodes (preferred)
rate[x] | Σ | 0..1 |  | 시간 단위당 투약량
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | Σ | 0..1 | Ratio | 시간 단위당 약물 상한선
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity | 투여당 약물 상한선
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity | 환자 생애 약물 상한선
dispenseRequest | S | 0..1 | BackboneElement | 처방 요청
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
initialFill |  | 0..1 | BackboneElement | 최초 제조 세부사항
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
quantity |  | 0..1 | SimpleQuantity | 초기 조제 수량
duration |  | 0..1 | Duration | 초기 조제 시 예상 복용 기간
dispenseInterval |  | 0..1 | Duration | 최소 조제 간격
validityPeriod |  | 0..1 | Period | 처방전 유효기간
numberOfRepeatsAllowed |  | 0..1 | unsignedInt | 허가된 재제조 횟수
quantity |  | 0..1 | SimpleQuantity | 단위를 포함한 처방 총량 바인딩(Binding): UCUMCodes (preferred)
expectedSupplyDuration | S | 0..1 | Duration | 처방 기간: s | min | h | d | wk | mo | a
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
value | Σ | 0..1 | decimal | 숫자 값 (암시적 정밀도 포함)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - 값을 이해하는 방법 바인딩(Binding): QuantityComparator (required): 한정자를 이해하는 방법과 한정자가 표현되는 방법.
unit | Σ | 0..1 | string | 단위 표현
system | Σ C | 0..1 | uri | 단위를 정의한 코드체계
code | Σ | 0..1 | code | 처방 기간 단위 코드 선호값: d
performer |  | 0..1 | Reference(Organization) | 지정된 제조자
substitution |  | 0..1 | BackboneElement | 약물 대체에 대한 제한 사항
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
allowed[x] |  | 1..1 |  | 약물 대체 허용 여부 바인딩(Binding): ActSubstanceAdminSubstitutionCode (example): 허용되는 약물 대체 유형을 식별
allowedBoolean |  |  | boolean |
allowedCodeableConcept |  |  | CodeableConcept |
reason |  | 0..1 | CodeableConcept | 약물 대체를 해야 하는/하면 안되는 이유 바인딩(Binding): SubstanceAdminSubstitutionReason (example): 처방과 다른 약물로 대체를 해야 하는/하면 안되는 이유를 설명하는 코드화된 개념.
priorPrescription |  | 0..1 | Reference(MedicationRequest) | 대체되는 처방
detectedIssue |  | 0..* | Reference(DetectedIssue) | 조치와 관련된 임상적 문제
eventHistory |  | 0..* | Reference(Provenance) | 수명 주기에서 관심 있는 이벤트 목록
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
MedicationRequest.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
MedicationRequest.status | required | medicationrequest Status `http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1` From the FHIR Standard
MedicationRequest.statusReason | example | medicationRequest Status Reason Codes `http://hl7.org/fhir/ValueSet/medicationrequest-status-reason` From the FHIR Standard
MedicationRequest.intent | required | medicationRequest Intent `http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1` From the FHIR Standard
MedicationRequest.category | example | medicationRequest Category Codes `http://hl7.org/fhir/ValueSet/medicationrequest-category` From the FHIR Standard
MedicationRequest.priority | required | RequestPriority `http://hl7.org/fhir/ValueSet/request-priority|4.0.1` From the FHIR Standard
MedicationRequest.medication[x] | example | SNOMEDCTMedicationCodes `http://hl7.org/fhir/ValueSet/medication-codes` From the FHIR Standard
MedicationRequest.medication[x]:medicationCodeableConcept | preferred | 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
MedicationRequest.performerType | example | ProcedurePerformerRoleCodes `http://hl7.org/fhir/ValueSet/performer-role` From the FHIR Standard
MedicationRequest.reasonCode | example | Condition/Problem/DiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` From the FHIR Standard
MedicationRequest.courseOfTherapyType | example | medicationRequest Course of Therapy Codes `http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy` From the FHIR Standard
MedicationRequest.dosageInstruction.additionalInstruction | example | SNOMEDCTAdditionalDosageInstructions `http://hl7.org/fhir/ValueSet/additional-instruction-codes` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.durationUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.dayOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.when | required | EventTiming `http://hl7.org/fhir/ValueSet/event-timing|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.code | preferred | TimingAbbreviation `http://hl7.org/fhir/ValueSet/timing-abbreviation` From the FHIR Standard
MedicationRequest.dosageInstruction.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes `http://hl7.org/fhir/ValueSet/medication-as-needed-reason` From the FHIR Standard
MedicationRequest.dosageInstruction.site | example | SNOMEDCTAnatomicalStructureForAdministrationSiteCodes `http://hl7.org/fhir/ValueSet/approach-site-codes` From the FHIR Standard
MedicationRequest.dosageInstruction.route | example | SNOMEDCTRouteCodes `http://hl7.org/fhir/ValueSet/route-codes` From the FHIR Standard
MedicationRequest.dosageInstruction.method | example | SNOMEDCTAdministrationMethodCodes `http://hl7.org/fhir/ValueSet/administration-method-codes` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.type | example | DoseAndRateType `http://hl7.org/fhir/ValueSet/dose-rate-type` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.quantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.expectedSupplyDuration.comparator | required | QuantityComparator `http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1` From the FHIR Standard
MedicationRequest.substitution.allowed[x] | example | ActSubstanceAdminSubstitutionCode `http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode`
MedicationRequest.substitution.reason | example | SubstanceAdminSubstitutionReason `http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | MedicationRequest | 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 | MedicationRequest | 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 | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | MedicationRequest | 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() |
tim-1 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() |
tim-2 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() |
tim-4 | error | MedicationRequest.dosageInstruction.timing.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 |
tim-5 | error | MedicationRequest.dosageInstruction.timing.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 |
tim-6 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() |
tim-7 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() |
tim-8 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() |
tim-9 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) : offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not())) |
tim-10 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa : timeOfDay.empty() or when.empty() |

This structure is derived from MedicationRequest

Summary

Mandatory: 3 elements(5 nested mandatory elements)
Must-Support: 22 elements

Structures

This structure refers to these other structures:

- KR Core Medication Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medication)
- KR Core Patient Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-patient)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Extensions

This structure refers to these extensions:

- http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of MedicationRequest.medication[x]
- The element 1 is sliced based on the value of MedicationRequest.dosageInstruction.doseAndRate.dose[x]

Differential View

This structure is derived from MedicationRequest

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | KR Core MedicationRequest Profile
status | S | 1..1 | code | 처방 상태: active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown 선호값: completed
intent | S | 1..1 | code | 처방 의도: order | proposal | plan + 선호값: order
Slices for medication[x] | S | 1..1 | CodeableConcept, Reference(Medication) | 처방 약품 정보 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
medication[x]:medicationReference | S | 0..1 | Reference(KR Core Medication Profile) | 약품 정보 참조
medication[x]:medicationCodeableConcept | S | 0..1 | CodeableConcept | 약품 제품 정보 바인딩(Binding): KR Core EDI Medication Codes (preferred)
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | 모든 분할항목에 적용되는 내용/규칙
extension:krcore-medicationIngredient | S | 1..* | CodeableConcept | 약품 성분명 URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient 바인딩(Binding): ATC Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
display | S | 1..1 | string | 시스템에서 정의한 표현
subject |  | 1..1 | Reference(KR Core Patient Profile) | 처방 대상
authoredOn |  | 0..1 | dateTime | 처방 일시
dosageInstruction | S | 1..* | Dosage | 약물 투여 및 복용 지침
text | S | 0..1 | string | 용법
timing | S | 0..1 | Timing | 약품 투여 및 복용 일정
repeat | S | 0..1 | Element | 약품 투여 및 복용 반복 정보
frequency | S | 0..1 | positiveInt | 주기 당 약품 투여 및 복용 횟수
period | S | 0..1 | decimal | 약품 투여 및 복용 주기 수치
periodUnit | S | 0..1 | code | 약품 투여 및 복용 주기 단위: s | min | h | d | wk | mo | a 바인딩(Binding): UnitsOfTime (required)
doseAndRate | S | 1..* | Element | 투여 및 복용량
Slices for dose[x] | S | 1..1 | Range, SimpleQuantity | 1회량, 1회량 단위 분할항목(Slice): 순서 없음, 다음 요소의 자료형이 다른 임의의 분할항목을 허용:$this
dose[x]:doseQuantity | S | 0..1 | SimpleQuantity | 단위를 포함한 투여 및 복용량 바인딩(Binding): UCUMCodes (preferred)
dose[x]:doseRange | S | 0..1 | Range | 범위로 지정된 투여 및 복용량
low |  | 0..1 | SimpleQuantity | 최소 바인딩(Binding): UCUMCodes (preferred)
high |  | 0..1 | SimpleQuantity | 최대 바인딩(Binding): UCUMCodes (preferred)
dispenseRequest | S | 0..1 | BackboneElement | 처방 요청
quantity |  | 0..1 | SimpleQuantity | 단위를 포함한 처방 총량 바인딩(Binding): UCUMCodes (preferred)
expectedSupplyDuration | S | 0..1 | Duration | 처방 기간: s | min | h | d | wk | mo | a 바인딩(Binding): UnitsOfTime (required)
code |  | 0..1 | code | 처방 기간 단위 코드 선호값: d
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
MedicationRequest.medication[x]:medicationCodeableConcept | preferred | 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
MedicationRequest.dosageInstruction.timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.quantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.expectedSupplyDuration | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | KR Core MedicationRequest Profile
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
status | ?!S Σ | 1..1 | code | 처방 상태: active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown 바인딩(Binding): medicationrequest Status (required): 처방 이벤트의 상태를 지정하는 코드화된 개념. 처방전의 수명 주기를 설명. 선호값: completed
intent | ?!S Σ | 1..1 | code | 처방 의도: order | proposal | plan + 바인딩(Binding): medicationRequest Intent (required): 약물 주문의 종류. 선호값: order
doNotPerform | ?!Σ | 0..1 | boolean | 처방 금지 요청의 경우 True
Slices for medication[x] | S Σ | 1..1 |  | 처방 약품 정보 분할항목(Slice): Unordered, Closed by type:$this 바인딩(Binding): SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
medicationCodeableConcept |  |  | CodeableConcept |
medicationReference |  |  | Reference(Medication) |
medication[x]:medicationReference | S Σ | 0..1 | Reference(KR Core Medication Profile) | 약품 정보 참조
medication[x]:medicationCodeableConcept | S Σ | 0..1 | CodeableConcept | 약품 제품 정보 바인딩(Binding): KR Core EDI Medication Codes (preferred)
Slices for extension |  | 1..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-medicationIngredient | S | 1..* | CodeableConcept | 약품 성분명 URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient 바인딩(Binding): ATC Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
display | S Σ | 1..1 | string | 시스템에서 정의한 표현
subject | Σ | 1..1 | Reference(KR Core Patient Profile) | 처방 대상
authoredOn | Σ | 0..1 | dateTime | 처방 일시
dosageInstruction | S | 1..* | Dosage | 약물 투여 및 복용 지침
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
text | S Σ | 0..1 | string | 용법
timing | S Σ | 0..1 | Timing | 약품 투여 및 복용 일정
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
repeat | S Σ C | 0..1 | Element | 약품 투여 및 복용 반복 정보 Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
frequency | S Σ | 0..1 | positiveInt | 주기 당 약품 투여 및 복용 횟수
period | S Σ | 0..1 | decimal | 약품 투여 및 복용 주기 수치
periodUnit | S Σ | 0..1 | code | 약품 투여 및 복용 주기 단위: s | min | h | d | wk | mo | a 바인딩(Binding): UnitsOfTime (required)
doseAndRate | S Σ | 1..* | Element | 투여 및 복용량
Slices for dose[x] | S Σ | 1..1 |  | 1회량, 1회량 단위 분할항목(Slice): Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | S Σ | 0..1 | SimpleQuantity | 단위를 포함한 투여 및 복용량 바인딩(Binding): UCUMCodes (preferred)
dose[x]:doseRange | S Σ | 0..1 | Range | 범위로 지정된 투여 및 복용량
low | Σ | 0..1 | SimpleQuantity | 최소 바인딩(Binding): UCUMCodes (preferred)
high | Σ | 0..1 | SimpleQuantity | 최대 바인딩(Binding): UCUMCodes (preferred)
dispenseRequest | S | 0..1 | BackboneElement | 처방 요청
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
quantity |  | 0..1 | SimpleQuantity | 단위를 포함한 처방 총량 바인딩(Binding): UCUMCodes (preferred)
expectedSupplyDuration | S | 0..1 | Duration | 처방 기간: s | min | h | d | wk | mo | a
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - 값을 이해하는 방법 바인딩(Binding): QuantityComparator (required): 한정자를 이해하는 방법과 한정자가 표현되는 방법.
code | Σ | 0..1 | code | 처방 기간 단위 코드 선호값: d
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
MedicationRequest.status | required | medicationrequest Status `http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1` From the FHIR Standard
MedicationRequest.intent | required | medicationRequest Intent `http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1` From the FHIR Standard
MedicationRequest.medication[x] | example | SNOMEDCTMedicationCodes `http://hl7.org/fhir/ValueSet/medication-codes` From the FHIR Standard
MedicationRequest.medication[x]:medicationCodeableConcept | preferred | 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
MedicationRequest.dosageInstruction.timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.quantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.expectedSupplyDuration.comparator | required | QuantityComparator `http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | MedicationRequest | 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 | MedicationRequest | 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 | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | MedicationRequest | 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() |
tim-1 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() |
tim-2 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() |
tim-4 | error | MedicationRequest.dosageInstruction.timing.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 |
tim-5 | error | MedicationRequest.dosageInstruction.timing.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 |
tim-6 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() |
tim-7 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() |
tim-8 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() |
tim-9 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) : offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not())) |
tim-10 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa : timeOfDay.empty() or when.empty() |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | KR Core MedicationRequest 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 | External ids for this request
status | ?!S Σ | 1..1 | code | 처방 상태: active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown 바인딩(Binding): medicationrequest Status (required): 처방 이벤트의 상태를 지정하는 코드화된 개념. 처방전의 수명 주기를 설명. 선호값: completed
statusReason |  | 0..1 | CodeableConcept | 현재 상태의 이유 바인딩(Binding): medicationRequest Status Reason Codes (example): 지정된 상태의 원인을 식별.
intent | ?!S Σ | 1..1 | code | 처방 의도: order | proposal | plan + 바인딩(Binding): medicationRequest Intent (required): 약물 주문의 종류. 선호값: order
category |  | 0..* | CodeableConcept | 약물 사용 유형 바인딩(Binding): medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment.
priority | Σ | 0..1 | code | routine | urgent | asap | stat 바인딩(Binding): RequestPriority (required): 요청 조치에 할당할 중요도 수준을 식별.
doNotPerform | ?!Σ | 0..1 | boolean | 처방 금지 요청의 경우 True
reported[x] | Σ | 0..1 |  | Reported rather than primary record
reportedBoolean |  |  | boolean |
reportedReference |  |  | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) |
Slices for medication[x] | S Σ | 1..1 |  | 처방 약품 정보 분할항목(Slice): Unordered, Closed by type:$this 바인딩(Binding): SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
medicationCodeableConcept |  |  | CodeableConcept |
medicationReference |  |  | Reference(Medication) |
medication[x]:medicationReference | S Σ | 0..1 | Reference(KR Core Medication Profile) | 약품 정보 참조
medication[x]:medicationCodeableConcept | S Σ | 0..1 | CodeableConcept | 약품 제품 정보 바인딩(Binding): KR Core EDI Medication Codes (preferred)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
Slices for extension |  | 1..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-medicationIngredient | S | 1..* | CodeableConcept | 약품 성분명 URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient 바인딩(Binding): ATC Codes (extensible)
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 | S Σ | 1..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
subject | Σ | 1..1 | Reference(KR Core Patient Profile) | 처방 대상
encounter |  | 0..1 | Reference(Encounter) | 본 수술 및 처치가 속한 수진 encounter/admission/stay
supportingInformation |  | 0..* | Reference(Resource) | 약물 주문 시 도움이 되는 정보
authoredOn | Σ | 0..1 | dateTime | 처방 일시
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request
performer |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | 지정된 투약 수행자
performerType | Σ | 0..1 | CodeableConcept | 지정된 투약 수행자의 유형 바인딩(Binding): ProcedurePerformerRoleCodes (example): 지정된 투약 수행자 개인의 유형을 식별.
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) | 처방을 입력한 사람
reasonCode |  | 0..* | CodeableConcept | 약을 주문하거나 주문하지 않은 이유 또는 표시 바인딩(Binding): Condition/Problem/DiagnosisCodes (example): 약을 주문한 이유를 나타내는 코드화된 개념.
reasonReference |  | 0..* | Reference(Condition | Observation) | 처방전 작성 근거
instantiatesCanonical | Σ | 0..* | canonical() | FHIR 프로토콜 또는 정의를 인스턴스화
instantiatesUri | Σ | 0..* | uri | 외부 프로토콜 또는 정의를 인스턴스화
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | 충족한 요청
groupIdentifier | Σ | 0..1 | Identifier | 이 처방이 포함된 복합 처방
courseOfTherapyType |  | 0..1 | CodeableConcept | 약물 투여의 전반적인 패턴 바인딩(Binding): medicationRequest Course of Therapy Codes (example): 약물 투여의 전반적인 패턴을 식별.
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | 관련 보험 적용 범위
note |  | 0..* | Annotation | 처방에 대한 정보
dosageInstruction | S | 1..* | Dosage | 약물 투여 및 복용 지침
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
sequence | Σ | 0..1 | integer | 복용량 지침의 순서
text | S Σ | 0..1 | string | 용법
additionalInstruction | Σ | 0..* | CodeableConcept | 환자에 대한 추가 지침 또는 주의사항. 예: 식사와 함께 복용, 졸음 유발 가능성 있음 바인딩(Binding): SNOMEDCTAdditionalDosageInstructions (example): 추가 지침을 식별하는 코드화된 개념. 예: 물과 함께 복용, 중장비 조작 자제
patientInstruction | Σ | 0..1 | string | 환자 또는 소비자 중심의 지침
timing | S Σ | 0..1 | Timing | 약품 투여 및 복용 일정
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
event | Σ | 0..* | dateTime | When the event occurs
repeat | S Σ C | 0..1 | Element | 약품 투여 및 복용 반복 정보 Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
bounds[x] | Σ | 0..1 |  | Length/Range of lengths, or (Start and/or end) limits
boundsDuration |  |  | Duration |
boundsRange |  |  | Range |
boundsPeriod |  |  | Period |
count | Σ | 0..1 | positiveInt | 반복 횟수
countMax | Σ | 0..1 | positiveInt | 최대 반복 횟수
duration | Σ | 0..1 | decimal | 지속 기간
durationMax | Σ | 0..1 | decimal | 지속 기간 (Max)
durationUnit | Σ | 0..1 | code | s | min | h | d | wk | mo | a -시간 단위 (UCUM) 바인딩(Binding): UnitsOfTime (required): 시간 단위 (UCUM 단위)
frequency | S Σ | 0..1 | positiveInt | 주기 당 약품 투여 및 복용 횟수
frequencyMax | Σ | 0..1 | positiveInt | 주기 당 약품 투여 및 복용 최대 횟수
period | S Σ | 0..1 | decimal | 약품 투여 및 복용 주기 수치
periodMax | Σ | 0..1 | decimal | 약품 투여 및 복용 주기 최대 수치 (3-4 hours)
periodUnit | S Σ | 0..1 | code | 약품 투여 및 복용 주기 단위: s | min | h | d | wk | mo | a 바인딩(Binding): UnitsOfTime (required)
dayOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun 바인딩(Binding): DaysOfWeek (required)
timeOfDay | Σ | 0..* | time | Time of day for action
when | Σ | 0..* | code | 발생 기간 코드 바인딩(Binding): EventTiming (required): 일정과 관련된 실제 이벤트.
offset | Σ | 0..1 | unsignedInt | 이벤트로부터 분(minutes) 간격 (이전 또는 이후)
code | Σ | 0..1 | CodeableConcept | BID | TID | QID | AM | PM | QD | QOD | + 바인딩(Binding): TimingAbbreviation (preferred): 알려진/정의된 타이밍 패턴에 대한 코드.
asNeeded[x] | Σ | 0..1 |  | 복용 전제 조건 바인딩(Binding): SNOMEDCTMedicationAsNeededReasonCodes (example): 약물 복용량을 소비하거나 투여하기 전에 충족되거나 평가되어야 하는 전제 조건을 식별하는 코드화된 개념. 예: "통증", "성교 30분 전", "재발 시" 등.
asNeededBoolean |  |  | boolean |
asNeededCodeableConcept |  |  | CodeableConcept |
site | Σ | 0..1 | CodeableConcept | 투여할 신체 부위 바인딩(Binding): SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): 약물을 신체에 투여 및 도포하는 위치를 설명하는 코드화된 개념.
route | Σ | 0..1 | CodeableConcept | 약물이 몸에 투입되는 방법 바인딩(Binding): SNOMEDCTRouteCodes (example): 대상의 신체에 치료제를 투여 및 도포하는 경로 또는 생리학적 경로를 설명하는 코드화된 개념.
method | Σ | 0..1 | CodeableConcept | 약물을 투여하는 방법 바인딩(Binding): SNOMEDCTAdministrationMethodCodes (example): 약물을 투여하는 방법을 설명하는 코드화된 개념.
doseAndRate | S Σ | 1..* | Element | 투여 및 복용량
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
type | Σ | 0..1 | CodeableConcept | 지정된 복용량 또는 비율의 종류 바인딩(Binding): DoseAndRateType (example): 지정된 복용량 또는 비율의 종류.
Slices for dose[x] | S Σ | 1..1 |  | 1회량, 1회량 단위 분할항목(Slice): Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | S Σ | 0..1 | SimpleQuantity | 단위를 포함한 투여 및 복용량 바인딩(Binding): UCUMCodes (preferred)
dose[x]:doseRange | S Σ | 0..1 | Range | 범위로 지정된 투여 및 복용량
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
low | Σ | 0..1 | SimpleQuantity | 최소 바인딩(Binding): UCUMCodes (preferred)
high | Σ | 0..1 | SimpleQuantity | 최대 바인딩(Binding): UCUMCodes (preferred)
rate[x] | Σ | 0..1 |  | 시간 단위당 투약량
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | Σ | 0..1 | Ratio | 시간 단위당 약물 상한선
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity | 투여당 약물 상한선
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity | 환자 생애 약물 상한선
dispenseRequest | S | 0..1 | BackboneElement | 처방 요청
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
initialFill |  | 0..1 | BackboneElement | 최초 제조 세부사항
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
quantity |  | 0..1 | SimpleQuantity | 초기 조제 수량
duration |  | 0..1 | Duration | 초기 조제 시 예상 복용 기간
dispenseInterval |  | 0..1 | Duration | 최소 조제 간격
validityPeriod |  | 0..1 | Period | 처방전 유효기간
numberOfRepeatsAllowed |  | 0..1 | unsignedInt | 허가된 재제조 횟수
quantity |  | 0..1 | SimpleQuantity | 단위를 포함한 처방 총량 바인딩(Binding): UCUMCodes (preferred)
expectedSupplyDuration | S | 0..1 | Duration | 처방 기간: s | min | h | d | wk | mo | a
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
value | Σ | 0..1 | decimal | 숫자 값 (암시적 정밀도 포함)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - 값을 이해하는 방법 바인딩(Binding): QuantityComparator (required): 한정자를 이해하는 방법과 한정자가 표현되는 방법.
unit | Σ | 0..1 | string | 단위 표현
system | Σ C | 0..1 | uri | 단위를 정의한 코드체계
code | Σ | 0..1 | code | 처방 기간 단위 코드 선호값: d
performer |  | 0..1 | Reference(Organization) | 지정된 제조자
substitution |  | 0..1 | BackboneElement | 약물 대체에 대한 제한 사항
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
allowed[x] |  | 1..1 |  | 약물 대체 허용 여부 바인딩(Binding): ActSubstanceAdminSubstitutionCode (example): 허용되는 약물 대체 유형을 식별
allowedBoolean |  |  | boolean |
allowedCodeableConcept |  |  | CodeableConcept |
reason |  | 0..1 | CodeableConcept | 약물 대체를 해야 하는/하면 안되는 이유 바인딩(Binding): SubstanceAdminSubstitutionReason (example): 처방과 다른 약물로 대체를 해야 하는/하면 안되는 이유를 설명하는 코드화된 개념.
priorPrescription |  | 0..1 | Reference(MedicationRequest) | 대체되는 처방
detectedIssue |  | 0..* | Reference(DetectedIssue) | 조치와 관련된 임상적 문제
eventHistory |  | 0..* | Reference(Provenance) | 수명 주기에서 관심 있는 이벤트 목록
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
MedicationRequest.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
MedicationRequest.status | required | medicationrequest Status `http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1` From the FHIR Standard
MedicationRequest.statusReason | example | medicationRequest Status Reason Codes `http://hl7.org/fhir/ValueSet/medicationrequest-status-reason` From the FHIR Standard
MedicationRequest.intent | required | medicationRequest Intent `http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1` From the FHIR Standard
MedicationRequest.category | example | medicationRequest Category Codes `http://hl7.org/fhir/ValueSet/medicationrequest-category` From the FHIR Standard
MedicationRequest.priority | required | RequestPriority `http://hl7.org/fhir/ValueSet/request-priority|4.0.1` From the FHIR Standard
MedicationRequest.medication[x] | example | SNOMEDCTMedicationCodes `http://hl7.org/fhir/ValueSet/medication-codes` From the FHIR Standard
MedicationRequest.medication[x]:medicationCodeableConcept | preferred | 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
MedicationRequest.performerType | example | ProcedurePerformerRoleCodes `http://hl7.org/fhir/ValueSet/performer-role` From the FHIR Standard
MedicationRequest.reasonCode | example | Condition/Problem/DiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` From the FHIR Standard
MedicationRequest.courseOfTherapyType | example | medicationRequest Course of Therapy Codes `http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy` From the FHIR Standard
MedicationRequest.dosageInstruction.additionalInstruction | example | SNOMEDCTAdditionalDosageInstructions `http://hl7.org/fhir/ValueSet/additional-instruction-codes` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.durationUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.dayOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.when | required | EventTiming `http://hl7.org/fhir/ValueSet/event-timing|4.0.1` From the FHIR Standard
MedicationRequest.dosageInstruction.timing.code | preferred | TimingAbbreviation `http://hl7.org/fhir/ValueSet/timing-abbreviation` From the FHIR Standard
MedicationRequest.dosageInstruction.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes `http://hl7.org/fhir/ValueSet/medication-as-needed-reason` From the FHIR Standard
MedicationRequest.dosageInstruction.site | example | SNOMEDCTAnatomicalStructureForAdministrationSiteCodes `http://hl7.org/fhir/ValueSet/approach-site-codes` From the FHIR Standard
MedicationRequest.dosageInstruction.route | example | SNOMEDCTRouteCodes `http://hl7.org/fhir/ValueSet/route-codes` From the FHIR Standard
MedicationRequest.dosageInstruction.method | example | SNOMEDCTAdministrationMethodCodes `http://hl7.org/fhir/ValueSet/administration-method-codes` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.type | example | DoseAndRateType `http://hl7.org/fhir/ValueSet/dose-rate-type` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.quantity | preferred | UCUMCodes(a valid code from UCUM) `http://hl7.org/fhir/ValueSet/ucum-units` From the FHIR Standard
MedicationRequest.dispenseRequest.expectedSupplyDuration.comparator | required | QuantityComparator `http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1` From the FHIR Standard
MedicationRequest.substitution.allowed[x] | example | ActSubstanceAdminSubstitutionCode `http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode`
MedicationRequest.substitution.reason | example | SubstanceAdminSubstitutionReason `http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | MedicationRequest | 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 | MedicationRequest | 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 | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | MedicationRequest | 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() |
tim-1 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() |
tim-2 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() |
tim-4 | error | MedicationRequest.dosageInstruction.timing.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 |
tim-5 | error | MedicationRequest.dosageInstruction.timing.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 |
tim-6 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() |
tim-7 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() |
tim-8 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() |
tim-9 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) : offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not())) |
tim-10 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa : timeOfDay.empty() or when.empty() |

This structure is derived from MedicationRequest

Summary

Mandatory: 3 elements(5 nested mandatory elements)
Must-Support: 22 elements

Structures

This structure refers to these other structures:

- KR Core Medication Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medication)
- KR Core Patient Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-patient)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Extensions

This structure refers to these extensions:

- http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of MedicationRequest.medication[x]
- The element 1 is sliced based on the value of MedicationRequest.dosageInstruction.doseAndRate.dose[x]

Other representations of profile: CSV, Excel, Schematron

### Notes:

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

### KR Core Search Parameters (defined)

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

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
ingredient-code | token | 약품성분명 | MedicationRequest.medication.ofType(CodeableConcept).extension(‘http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medicationIngredient’).value.ofType(CodeableConcept) | SHOULD

### KR Core Search Parameters (derived)

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

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
authoredon | datetime | 약물 처방 일시 | MedicationRequest.authoredOn | MAY
code | token | 처방한 약물 | (MedicationRequest.medication as CodeableConcept) | SHOULD
intent | token | 약물 처방 의도 | MedicationRequest.intent | SHOULD
medication | reference | 처방한 약물 | MedicationRequest.medication.ofType(Reference) | SHOULD
patient | reference | 약물 처방 대상 | MedicationRequest.subject.where(resolve() is Patient) | SHALL
status | token | 약물 처방 진행 상태 | MedicationRequest.status | MAY

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

- multipleAnd
- multipleOr
- comparator
- modifier
- chain

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