description: Defines the medication request resource for the Medication Service in the ePA system. package_name: rs/de.gematik.epa.medication derivation: constraint name: EPAMedicationRequest type: MedicationRequest elements: substitution: mustSupport: true index: 48 elements: allowed: mustSupport: true choices: [allowedBoolean] index: 50 allowedBoolean: {type: boolean, mustSupport: true, choiceOf: allowed, index: 51} dispenseRequest: mustSupport: true index: 43 elements: quantity: mustSupport: true index: 44 elements: value: {short: Number of Prescribed Packages, mustSupport: true, index: 45} system: pattern: {type: uri, value: 'http://unitsofmeasure.org'} mustSupport: true type: uri index: 46 code: mustSupport: true pattern: {type: code, value: '{Package}'} type: code index: 47 required: [code, system, value] required: [quantity] authoredOn: {short: Issue Date, mustSupport: true, index: 36} note: mustSupport: true index: 38 elements: text: {short: Dispensing Note, mustSupport: true, index: 39} extension: index: 0 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: multiplePrescription: match: {url: null} schema: type: Extension mustSupport: true url: https://gematik.de/fhir/epa-medication/StructureDefinition/multiple-prescription-extension index: 1 extensions: indicator: url: null mustSupport: true index: 2 elements: value: mustSupport: true choices: [valueBoolean] index: 4 slicing: slices: valueBoolean: match: {} schema: mustSupport: true choices: [valueBoolean] index: 4 valueBoolean: type: boolean mustSupport: true choiceOf: value index: 5 slicing: slices: valueBoolean: match: {} schema: {type: boolean, mustSupport: true, choiceOf: value, index: 5} counter: url: null mustSupport: true index: 6 elements: value: mustSupport: true choices: [valueRatio] index: 8 slicing: slices: valueRatio: match: {} schema: mustSupport: true choices: [valueRatio] index: 8 valueRatio: type: Ratio mustSupport: true choiceOf: value index: 9 slicing: slices: valueRatio: match: {} schema: {type: Ratio, mustSupport: true, choiceOf: value, index: 9} value[x]: elements: numerator: mustSupport: true index: 10 elements: value: {mustSupport: true, index: 11} denominator: mustSupport: true index: 12 elements: value: {mustSupport: true, index: 13} period: url: null mustSupport: true index: 14 elements: value: mustSupport: true choices: [valuePeriod] index: 16 slicing: slices: valuePeriod: match: {} schema: mustSupport: true choices: [valuePeriod] index: 16 valuePeriod: type: Period mustSupport: true choiceOf: value index: 17 slicing: slices: valuePeriod: match: {} schema: {type: Period, mustSupport: true, choiceOf: value, index: 17} value[x]: elements: start: {mustSupport: true, index: 18} end: {mustSupport: true, index: 19} id: url: null mustSupport: true index: 20 elements: value: mustSupport: true choices: [valueIdentifier] index: 22 slicing: slices: valueIdentifier: match: {} schema: mustSupport: true choices: [valueIdentifier] index: 22 valueIdentifier: type: Identifier mustSupport: true choiceOf: value index: 23 slicing: slices: valueIdentifier: match: {} schema: {type: Identifier, mustSupport: true, choiceOf: value, index: 23} value[x]: elements: system: {mustSupport: true, index: 24} value: {mustSupport: true, index: 25} elements: extension: mustSupport: true index: 2 slicing: slices: indicator: match: {} schema: mustSupport: true index: 2 elements: value: mustSupport: true choices: [valueBoolean] index: 4 slicing: slices: valueBoolean: match: {} schema: mustSupport: true choices: [valueBoolean] index: 4 valueBoolean: type: boolean mustSupport: true choiceOf: value index: 5 slicing: slices: valueBoolean: match: {} schema: {type: boolean, mustSupport: true, choiceOf: value, index: 5} counter: match: {} schema: mustSupport: true index: 6 elements: value: mustSupport: true choices: [valueRatio] index: 8 slicing: slices: valueRatio: match: {} schema: mustSupport: true choices: [valueRatio] index: 8 valueRatio: type: Ratio mustSupport: true choiceOf: value index: 9 slicing: slices: valueRatio: match: {} schema: {type: Ratio, mustSupport: true, choiceOf: value, index: 9} value[x]: elements: numerator: mustSupport: true index: 10 elements: value: {mustSupport: true, index: 11} denominator: mustSupport: true index: 12 elements: value: {mustSupport: true, index: 13} period: match: {} schema: mustSupport: true index: 14 elements: value: mustSupport: true choices: [valuePeriod] index: 16 slicing: slices: valuePeriod: match: {} schema: mustSupport: true choices: [valuePeriod] index: 16 valuePeriod: type: Period mustSupport: true choiceOf: value index: 17 slicing: slices: valuePeriod: match: {} schema: {type: Period, mustSupport: true, choiceOf: value, index: 17} value[x]: elements: start: {mustSupport: true, index: 18} end: {mustSupport: true, index: 19} id: match: {} schema: mustSupport: true index: 20 elements: value: mustSupport: true choices: [valueIdentifier] index: 22 slicing: slices: valueIdentifier: match: {} schema: mustSupport: true choices: [valueIdentifier] index: 22 valueIdentifier: type: Identifier mustSupport: true choiceOf: value index: 23 slicing: slices: valueIdentifier: match: {} schema: {type: Identifier, mustSupport: true, choiceOf: value, index: 23} value[x]: elements: system: {mustSupport: true, index: 24} value: {mustSupport: true, index: 25} requester: type: Reference mustSupport: true refers: ['http://hl7.org/fhir/StructureDefinition/PractitionerRole'] index: 37 status: binding: {strength: required, valueSet: 'https://gematik.de/fhir/epa-medication/ValueSet/epa-medication-request-vs'} index: 29 dosageInstruction: mustSupport: true index: 40 elements: text: {short: Dosage Instructions, mustSupport: true, index: 41} patientInstruction: {short: Instructions for Use, mustSupport: true, index: 42} identifier: index: 26 slicing: rules: open ordered: false description: ePrescription identifier and overall transaction identifier discriminator: - {path: $this, type: pattern} min: null slices: RxPrescriptionProcessIdentifier: match: {system: 'https://gematik.de/fhir/epa-medication/sid/rx-prescription-process-identifier'} schema: type: Identifier pattern: type: Identifier value: {system: 'https://gematik.de/fhir/epa-medication/sid/rx-prescription-process-identifier'} index: 27 min: 0 max: 1 RxOriginatorProcessIdentifier: match: {system: 'https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier'} schema: type: Identifier pattern: type: Identifier value: {system: 'https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier'} index: 28 min: 0 max: 1 intent: {short: filler-order, mustSupport: true, index: 30} medicationReference: type: Reference mustSupport: true choiceOf: medication refers: ['http://hl7.org/fhir/StructureDefinition/Medication'] index: 33 subject: mustSupport: true index: 34 elements: identifier: {type: Identifier, mustSupport: true, index: 35} medication: mustSupport: true choices: [medicationReference] index: 32 package_version: 1.0.0-RC extensions: multiplePrescription: url: https://gematik.de/fhir/epa-medication/StructureDefinition/multiple-prescription-extension type: Extension mustSupport: true index: 1 extensions: indicator: url: null mustSupport: true index: 2 elements: value: mustSupport: true choices: [valueBoolean] index: 4 slicing: slices: valueBoolean: match: {} schema: mustSupport: true choices: [valueBoolean] index: 4 valueBoolean: type: boolean mustSupport: true choiceOf: value index: 5 slicing: slices: valueBoolean: match: {} schema: {type: boolean, mustSupport: true, choiceOf: value, index: 5} counter: url: null mustSupport: true index: 6 elements: value: mustSupport: true choices: [valueRatio] index: 8 slicing: slices: valueRatio: match: {} schema: mustSupport: true choices: [valueRatio] index: 8 valueRatio: type: Ratio mustSupport: true choiceOf: value index: 9 slicing: slices: valueRatio: match: {} schema: {type: Ratio, mustSupport: true, choiceOf: value, index: 9} value[x]: elements: numerator: mustSupport: true index: 10 elements: value: {mustSupport: true, index: 11} denominator: mustSupport: true index: 12 elements: value: {mustSupport: true, index: 13} period: url: null mustSupport: true index: 14 elements: value: mustSupport: true choices: [valuePeriod] index: 16 slicing: slices: valuePeriod: match: {} schema: mustSupport: true choices: [valuePeriod] index: 16 valuePeriod: type: Period mustSupport: true choiceOf: value index: 17 slicing: slices: valuePeriod: match: {} schema: {type: Period, mustSupport: true, choiceOf: value, index: 17} value[x]: elements: start: {mustSupport: true, index: 18} end: {mustSupport: true, index: 19} id: url: null mustSupport: true index: 20 elements: value: mustSupport: true choices: [valueIdentifier] index: 22 slicing: slices: valueIdentifier: match: {} schema: mustSupport: true choices: [valueIdentifier] index: 22 valueIdentifier: type: Identifier mustSupport: true choiceOf: value index: 23 slicing: slices: valueIdentifier: match: {} schema: {type: Identifier, mustSupport: true, choiceOf: value, index: 23} value[x]: elements: system: {mustSupport: true, index: 24} value: {mustSupport: true, index: 25} elements: extension: mustSupport: true index: 2 slicing: slices: indicator: match: {} schema: mustSupport: true index: 2 elements: value: mustSupport: true choices: [valueBoolean] index: 4 slicing: slices: valueBoolean: match: {} schema: mustSupport: true choices: [valueBoolean] index: 4 valueBoolean: type: boolean mustSupport: true choiceOf: value index: 5 slicing: slices: valueBoolean: match: {} schema: {type: boolean, mustSupport: true, choiceOf: value, index: 5} counter: match: {} schema: mustSupport: true index: 6 elements: value: mustSupport: true choices: [valueRatio] index: 8 slicing: slices: valueRatio: match: {} schema: mustSupport: true choices: [valueRatio] index: 8 valueRatio: type: Ratio mustSupport: true choiceOf: value index: 9 slicing: slices: valueRatio: match: {} schema: {type: Ratio, mustSupport: true, choiceOf: value, index: 9} value[x]: elements: numerator: mustSupport: true index: 10 elements: value: {mustSupport: true, index: 11} denominator: mustSupport: true index: 12 elements: value: {mustSupport: true, index: 13} period: match: {} schema: mustSupport: true index: 14 elements: value: mustSupport: true choices: [valuePeriod] index: 16 slicing: slices: valuePeriod: match: {} schema: mustSupport: true choices: [valuePeriod] index: 16 valuePeriod: type: Period mustSupport: true choiceOf: value index: 17 slicing: slices: valuePeriod: match: {} schema: {type: Period, mustSupport: true, choiceOf: value, index: 17} value[x]: elements: start: {mustSupport: true, index: 18} end: {mustSupport: true, index: 19} id: match: {} schema: mustSupport: true index: 20 elements: value: mustSupport: true choices: [valueIdentifier] index: 22 slicing: slices: valueIdentifier: match: {} schema: mustSupport: true choices: [valueIdentifier] index: 22 valueIdentifier: type: Identifier mustSupport: true choiceOf: value index: 23 slicing: slices: valueIdentifier: match: {} schema: {type: Identifier, mustSupport: true, choiceOf: value, index: 23} value[x]: elements: system: {mustSupport: true, index: 24} value: {mustSupport: true, index: 25} class: profile kind: resource url: https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-request base: http://hl7.org/fhir/StructureDefinition/MedicationRequest version: 1.0.0 required: [authoredOn, dispenseRequest]