EHDSDosaging
type: StructureDefinition
node role: treeRoot
id:
  v: EHDSDosaging
text:
  status:
    v: extensions
  div: Generated Narrative: StructureDefinition EHDSDosaging Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> EHDSDosaging 0..* Base Dosaging model Instances of this logical model can be the target of a Reference #xD; sequence 0..1 integer Order of the dosage instruction, in case one treatment consists of several dosaging schemes #xD; text 0..1 string Free text usage/dosage instructions when structured dosage information is not fully provided #xD; renderedDescription 0..1 string Text representation rendered from all dosaging data elements with a value #xD; additionalInstruction 0..* CodeableConcept Coded instructions, e.g warnings to the patient, like 'may cause drowsiness' etc #xD; patientInstruction 0..1 string Patient oriented instructions as free text #xD; doseAndRate 0..* Base Amount of medication administered per one dose (= one timing) #xD; type 0..1 CodeableConcept The kind of dose or rate specified (e.g calculated, ordered, etc). #xD; dose[x] 0..1 Amount of medication per one dose. (1 tablet, 2-3 tablets, 20ml) #xD; doseQuantity Quantity #xD; doseRange Range #xD; rate[x] 0..1 Time period during which one defined dose is administered (per 1 hour, per 5-10 minutes) #xD; rateRatio Ratio #xD; rateQuantity Quantity #xD; rateRange Range #xD; timing 0..1 Base When medication should be administered (period, time of day, frequency, etc) #xD; event 0..* dateTime Exact date and/or time of the administration #xD; code 0..1 CodeableConcept Timing abbreviation (AM - morning, Q4H - once in every 4 hours, BID - twice a day, etc) #xD; repeat 0..1 Base Repetition of the administration. #xD; bounds 0..1 Base Time bounds for the treatment (current dosaging scheme). Only one of the following can exist. #xD; duration 0..1 Quantity Number of time units, e.g 10 days #xD; range 0..1 Range A range of numbers of time units, 5-10 days #xD; period 0..1 Period Start and end date, 05.08.2023 - 10.08.2023 #xD; count 0..1 Base Numbe…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics
  value: code
    v: can-be-target
url:
  v: https://www.xt-ehr.eu/specifications/fhir/StructureDefinition/EHDSDosaging
version:
  v: 0.1.0
name:
  v: EHDSDosaging
title:
  v: Dosaging model
status:
  v: draft
date:
  v: 2025-08-25T17:05:40+00:00
publisher:
  v: Xt-EHR
contact:
  name:
    v: Xt-EHR
  telecom:
    system:
      v: url
    value:
      v: http://Xt-EHR.eu
description:
  v: Logical model for usage instructions for administring the requested product. Based on FHIR Dosage complex data type. When implemented, this model may be reduced significantly according to the specific use case.
fhir version:
  v: 5.0.0
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
  name:
    v: RIM Mapping
kind:
  v: logical
abstract:
  v: false
type:
  v: https://www.xt-ehr.eu/specifications/fhir/StructureDefinition/EHDSDosaging
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Base
  link: http://hl7.org/fhir/StructureDefinition/Base
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
    value: string
      v: 5.0.0
  element:
    id:
      v: EHDSDosaging
    path:
      v: EHDSDosaging
    short:
      v: Dosaging model
    definition:
      v: Logical model for usage instructions for administring the requested product. Based on FHIR Dosage complex data type. When implemented, this model may be reduced significantly according to the specific use case.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    is modifier:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: EHDSDosaging.sequence
    path:
      v: EHDSDosaging.sequence
    short:
      v: Order of the dosage instruction, in case one treatment consists of several dosaging schemes
    definition:
      v: Order of the dosage instruction, in case one treatment consists of several dosaging schemes
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: EHDSDosaging.sequence
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: integer
  element:
    id:
      v: EHDSDosaging.text
    path:
      v: EHDSDosaging.text
    short:
      v: Free text usage/dosage instructions when structured dosage information is not fully provided
    definition:
      v: Free text usage/dosage instructions when structured dosage information is not fully provided
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: EHDSDosaging.text
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: string
  element:
    id:
      v: EHDSDosaging.renderedDescription
    path:
      v: EHDSDosaging.renderedDescription
    short:
      v: Text representation rendered from all dosaging data elements with a value
    definition:
      v: Text representation rendered from all dosaging data elements with a value
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: EHDSDosaging.renderedDescription
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: string
  element:
    id:
      v: EHDSDosaging.additionalInstruction
    path:
      v: EHDSDosaging.additionalInstruction
    short:
      v: Coded instructions, e.g warnings to the patient, like 'may cause drowsiness' etc
    definition:
      v: Coded instructions, e.g warnings to the patient, like 'may cause drowsiness' etc
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: EHDSDosaging.additionalInstruction
      min:
        v: 0
      max:
        v: *
    type:
      code:
        v: CodeableConcept
  element:
    id:
      v: EHDSDosaging.patientInstruction
    path:
      v: EHDSDosaging.patientInstruction
    short:
      v: Patient oriented instructions as free text
    definition:
      v: Patient oriented instructions as free text
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: EHDSDosaging.patientInstruction
      min:
        v: 0
      max:
        v: 1

code:
  v: string

id:
  v: EHDSDosaging.doseAndRate
path:
  v: EHDSDosaging.doseAndRate
short:
  v: Amount of medication administered per one dose (= one timing)
definition:
  v: Amount of medication administered per one dose (= one timing)
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.doseAndRate
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Base

id:
  v: EHDSDosaging.doseAndRate.type
path:
  v: EHDSDosaging.doseAndRate.type
short:
  v: The kind of dose or rate specified (e.g calculated, ordered, etc).
definition:
  v: The kind of dose or rate specified (e.g calculated, ordered, etc).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.doseAndRate.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.doseAndRate.dose[x]
path:
  v: EHDSDosaging.doseAndRate.dose[x]
short:
  v: Amount of medication per one dose. (1 tablet, 2-3 tablets, 20ml)
definition:
  v: Amount of medication per one dose. (1 tablet, 2-3 tablets, 20ml)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.doseAndRate.dose[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
type:
  code:
    v: Range

id:
  v: EHDSDosaging.doseAndRate.rate[x]
path:
  v: EHDSDosaging.doseAndRate.rate[x]
short:
  v: Time period during which one defined dose is administered (per 1 hour, per 5-10 minutes)
definition:
  v: Time period during which one defined dose is administered (per 1 hour, per 5-10 minutes)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.doseAndRate.rate[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Ratio
type:
  code:
    v: Quantity
type:
  code:
    v: Range

id:
  v: EHDSDosaging.timing
path:
  v: EHDSDosaging.timing
short:
  v: When medication should be administered (period, time of day, frequency, etc)
definition:
  v: When medication should be administered (period, time of day, frequency, etc)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.event
path:
  v: EHDSDosaging.timing.event
short:
  v: Exact date and/or time of the administration
definition:
  v: Exact date and/or time of the administration
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.timing.event
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: dateTime

id:
  v: EHDSDosaging.timing.code
path:
  v: EHDSDosaging.timing.code
short:
  v: Timing abbreviation (AM - morning, Q4H - once in every 4 hours, BID - twice a day, etc)
definition:
  v: Timing abbreviation (AM - morning, Q4H - once in every 4 hours, BID - twice a day, etc)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.timing.repeat
path:
  v: EHDSDosaging.timing.repeat
short:
  v: Repetition of the administration.
definition:
  v: Repetition of the administration.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.bounds
path:
  v: EHDSDosaging.timing.repeat.bounds
short:
  v: Time bounds for the treatment (current dosaging scheme). Only one of the following can exist.
definition:
  v: Time bounds for the treatment (current dosaging scheme). Only one of the following can exist.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.bounds
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.bounds.duration
path:
  v: EHDSDosaging.timing.repeat.bounds.duration
short:
  v: Number of time units, e.g 10 days
definition:
  v: Number of time units, e.g 10 days
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.bounds.duration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.bounds.range
path:
  v: EHDSDosaging.timing.repeat.bounds.range
short:
  v: A range of numbers of time units, 5-10 days
definition:
  v: A range of numbers of time units, 5-10 days
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.bounds.range
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Range

id:
  v: EHDSDosaging.timing.repeat.bounds.period
path:
  v: EHDSDosaging.timing.repeat.bounds.period
short:
  v: Start and end date, 05.08.2023 - 10.08.2023
definition:
  v: Start and end date, 05.08.2023 - 10.08.2023
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.bounds.period
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period

id:
  v: EHDSDosaging.timing.repeat.count
path:
  v: EHDSDosaging.timing.repeat.count
short:
  v: Number of times to repeat, exact or range
definition:
  v: Number of times to repeat, exact or range
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.count
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.count.count
path:
  v: EHDSDosaging.timing.repeat.count.count
short:
  v: Number of times (e.g 'once', '10 times')
definition:
  v: Number of times (e.g 'once', '10 times')
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.count.count
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.timing.repeat.count.countMax
path:
  v: EHDSDosaging.timing.repeat.count.countMax
short:
  v: Maximum number of times (e.g 'maximum 10 times')
definition:
  v: Maximum number of times (e.g 'maximum 10 times')
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.count.countMax
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.timing.repeat.duration
path:
  v: EHDSDosaging.timing.repeat.duration
short:
  v: Duration of one administration, exact or range
definition:
  v: Duration of one administration, exact or range
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.duration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.duration.duration
path:
  v: EHDSDosaging.timing.repeat.duration.duration
short:
  v: Duration of administration (e.g '5 minutes', '1 hour')
definition:
  v: Duration of administration (e.g '5 minutes', '1 hour')
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.duration.duration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.duration.durationMax
path:
  v: EHDSDosaging.timing.repeat.duration.durationMax
short:
  v: Maximum duration of administration (e.g 'maximum 1 hour')
definition:
  v: Maximum duration of administration (e.g 'maximum 1 hour')
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.duration.durationMax
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.frequency
path:
  v: EHDSDosaging.timing.repeat.frequency
short:
  v: Frequency of intake/administration (e.g 'three times a day')
definition:
  v: Frequency of intake/administration (e.g 'three times a day')
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.frequency
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.frequency.numberOfTimes
path:
  v: EHDSDosaging.timing.repeat.frequency.numberOfTimes
short:
  v: Number of times per period (e.g '3 times')
definition:
  v: Number of times per period (e.g '3 times')
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.frequency.numberOfTimes
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.timing.repeat.frequency.maxNumberOfTimes
path:
  v: EHDSDosaging.timing.repeat.frequency.maxNumberOfTimes
short:
  v: Maximum number of times per period (e.g. 'maximum 3 times')
definition:
  v: Maximum number of times per period (e.g. 'maximum 3 times')
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.frequency.maxNumberOfTimes
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.timing.repeat.frequency.period
path:
  v: EHDSDosaging.timing.repeat.frequency.period
short:
  v: Duration to which the frequency applies (e.g '... / 1 day')
definition:
  v: Duration to which the frequency applies (e.g '... / 1 day')
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.frequency.period
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.frequency.periodMax
path:
  v: EHDSDosaging.timing.repeat.frequency.periodMax
short:
  v: Upper limit of the period (e.g ... / 4-6 hours)
definition:
  v: Upper limit of the period (e.g ... / 4-6 hours)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.frequency.periodMax
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.dayOfWeek
path:
  v: EHDSDosaging.timing.repeat.dayOfWeek
short:
  v: The day of the week of administration, e.g Mon, Tue, etc
definition:
  v: The day of the week of administration, e.g Mon, Tue, etc
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.timing.repeat.dayOfWeek
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.timing.repeat.timeOfDay
path:
  v: EHDSDosaging.timing.repeat.timeOfDay
short:
  v: Time of day of administration (e.g '10:00')
definition:
  v: Time of day of administration (e.g '10:00')
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.timing.repeat.timeOfDay
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: time

id:
  v: EHDSDosaging.timing.repeat.eventTime
path:
  v: EHDSDosaging.timing.repeat.eventTime
short:
  v: An event the administration is bound to, e.g 'before meal', '30 min before meal'
definition:
  v: An event the administration is bound to, e.g 'before meal', '30 min before meal'
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.timing.repeat.eventTime
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.eventTime.when
path:
  v: EHDSDosaging.timing.repeat.eventTime.when
short:
  v: Time period or event ('before meal', 'immediately', 'morning')
definition:
  v: Time period or event ('before meal', 'immediately', 'morning')
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.timing.repeat.eventTime.when
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.timing.repeat.eventTime.offset
path:
  v: EHDSDosaging.timing.repeat.eventTime.offset
short:
  v: minutes from event, before or after (?not sure how to show before/after with only positive integers)
definition:
  v: minutes from event, before or after (?not sure how to show before/after with only positive integers)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.timing.repeat.eventTime.offset
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.asNeeded
path:
  v: EHDSDosaging.asNeeded
short:
  v: Take as needed
definition:
  v: Take as needed
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.asNeeded
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean

id:
  v: EHDSDosaging.asNeededFor
path:
  v: EHDSDosaging.asNeededFor
short:
  v: Take as needed for the coded reason
definition:
  v: Take as needed for the coded reason
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.asNeededFor
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.bodySite
path:
  v: EHDSDosaging.bodySite
short:
  v: Body site of administration
definition:
  v: Body site of administration
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.bodySite
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.routeOfAdministration
path:
  v: EHDSDosaging.routeOfAdministration
short:
  v: Route of administration
definition:
  v: Route of administration
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.routeOfAdministration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.methodOfAdministration
path:
  v: EHDSDosaging.methodOfAdministration
short:
  v: Method of administration
definition:
  v: Method of administration
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.methodOfAdministration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.maxDose
path:
  v: EHDSDosaging.maxDose
short:
  v: Maximum dose for the patient
definition:
  v: Maximum dose for the patient
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.maxDose
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Base

id:
  v: EHDSDosaging.maxDose.maxDosePerPeriod
path:
  v: EHDSDosaging.maxDose.maxDosePerPeriod
short:
  v: Upper limit on medication per unit of time
definition:
  v: Upper limit on medication per unit of time
min:
  v: 0
max:
  v: *
base:
  path:
    v: EHDSDosaging.maxDose.maxDosePerPeriod
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Ratio

id:
  v: EHDSDosaging.maxDose.maxDosePerAdministration
path:
  v: EHDSDosaging.maxDose.maxDosePerAdministration
short:
  v: Upper limit on medication per one administration
definition:
  v: Upper limit on medication per one administration
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.maxDose.maxDosePerAdministration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.maxDose.maxDosePerLifetime
path:
  v: EHDSDosaging.maxDose.maxDosePerLifetime
short:
  v: Upper limit on medication per lifetime of the patient
definition:
  v: Upper limit on medication per lifetime of the patient
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EHDSDosaging.maxDose.maxDosePerLifetime
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity

element:
  id:
    v: EHDSDosaging
  path:
    v: EHDSDosaging
  short:
    v: Dosaging model
  definition:
    v: Logical model for usage instructions for administring the requested product. Based on FHIR Dosage complex data type. When implemented, this model may be reduced significantly according to the specific use case.
element:
  id:
    v: EHDSDosaging.sequence
  path:
    v: EHDSDosaging.sequence
  short:
    v: Order of the dosage instruction, in case one treatment consists of several dosaging schemes
  definition:
    v: Order of the dosage instruction, in case one treatment consists of several dosaging schemes
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: integer
element:
  id:
    v: EHDSDosaging.text
  path:
    v: EHDSDosaging.text
  short:
    v: Free text usage/dosage instructions when structured dosage information is not fully provided
  definition:
    v: Free text usage/dosage instructions when structured dosage information is not fully provided
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: EHDSDosaging.renderedDescription
  path:
    v: EHDSDosaging.renderedDescription
  short:
    v: Text representation rendered from all dosaging data elements with a value
  definition:
    v: Text representation rendered from all dosaging data elements with a value
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: EHDSDosaging.additionalInstruction
  path:
    v: EHDSDosaging.additionalInstruction
  short:
    v: Coded instructions, e.g warnings to the patient, like 'may cause drowsiness' etc
  definition:
    v: Coded instructions, e.g warnings to the patient, like 'may cause drowsiness' etc
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: CodeableConcept
element:
  id:
    v: EHDSDosaging.patientInstruction
  path:
    v: EHDSDosaging.patientInstruction
  short:
    v: Patient oriented instructions as free text
  definition:
    v: Patient oriented instructions as free text
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: EHDSDosaging.doseAndRate
  path:
    v: EHDSDosaging.doseAndRate
  short:
    v: Amount of medication administered per one dose (= one timing)
  definition:
    v: Amount of medication administered per one dose (= one timing)
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: Base
element:
  id:
    v: EHDSDosaging.doseAndRate.type
  path:
    v: EHDSDosaging.doseAndRate.type
  short:
    v: The kind of dose or rate specified (e.g calculated, ordered, etc).
  definition:
    v: The kind of dose or rate specified (e.g calculated, ordered, etc).
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: CodeableConcept
element:
  id:
    v: EHDSDosaging.doseAndRate.dose[x]
  path:
    v: EHDSDosaging.doseAndRate.dose[x]
  short:
    v: Amount of medication per one dose. (1 tablet, 2-3 tablets, 20ml)
  definition:
    v: Amount of medication per one dose. (1 tablet, 2-3 tablets, 20ml)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: Quantity
  type:
    code:
      v: Range
element:
  id:
    v: EHDSDosaging.doseAndRate.rate[x]
  path:
    v: EHDSDosaging.doseAndRate.rate[x]
  short:
    v: Time period during which one defined dose is administered (per 1 hour, per 5-10 minutes)
  definition:
    v: Time period during which one defined dose is administered (per 1 hour, per 5-10 minutes)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: Ratio
  type:
    code:
      v: Quantity
  type:
    code:
      v: Range
element:
  id:
    v: EHDSDosaging.timing
  path:
    v: EHDSDosaging.timing
  short:
    v: When medication should be administered (period, time of day, frequency, etc)
  definition:
    v: When medication should be administered (period, time of day, frequency, etc)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: Base
element:
  id:
    v: EHDSDosaging.timing.event
  path:
    v: EHDSDosaging.timing.event
  short:
    v: Exact date and/or time of the administration
  definition:
    v: Exact date and/or time of the administration
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: dateTime
element:
  id:
    v: EHDSDosaging.timing.code
  path:
    v: EHDSDosaging.timing.code
  short:
    v: Timing abbreviation (AM - morning, Q4H - once in every 4 hours, BID - twice a day, etc)

v: Timing abbreviation (AM - morning, Q4H - once in every 4 hours, BID - twice a day, etc)

v: 0

v: 1

code:
  v: CodeableConcept

id:
  v: EHDSDosaging.timing.repeat
path:
  v: EHDSDosaging.timing.repeat
short:
  v: Repetition of the administration.
definition:
  v: Repetition of the administration.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.bounds
path:
  v: EHDSDosaging.timing.repeat.bounds
short:
  v: Time bounds for the treatment (current dosaging scheme). Only one of the following can exist.
definition:
  v: Time bounds for the treatment (current dosaging scheme). Only one of the following can exist.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.bounds.duration
path:
  v: EHDSDosaging.timing.repeat.bounds.duration
short:
  v: Number of time units, e.g 10 days
definition:
  v: Number of time units, e.g 10 days
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.bounds.range
path:
  v: EHDSDosaging.timing.repeat.bounds.range
short:
  v: A range of numbers of time units, 5-10 days
definition:
  v: A range of numbers of time units, 5-10 days
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Range

id:
  v: EHDSDosaging.timing.repeat.bounds.period
path:
  v: EHDSDosaging.timing.repeat.bounds.period
short:
  v: Start and end date, 05.08.2023 - 10.08.2023
definition:
  v: Start and end date, 05.08.2023 - 10.08.2023
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Period

id:
  v: EHDSDosaging.timing.repeat.count
path:
  v: EHDSDosaging.timing.repeat.count
short:
  v: Number of times to repeat, exact or range
definition:
  v: Number of times to repeat, exact or range
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.count.count
path:
  v: EHDSDosaging.timing.repeat.count.count
short:
  v: Number of times (e.g 'once', '10 times')
definition:
  v: Number of times (e.g 'once', '10 times')
min:
  v: 0
max:
  v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.timing.repeat.count.countMax
path:
  v: EHDSDosaging.timing.repeat.count.countMax
short:
  v: Maximum number of times (e.g 'maximum 10 times')
definition:
  v: Maximum number of times (e.g 'maximum 10 times')
min:
  v: 0
max:
  v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.timing.repeat.duration
path:
  v: EHDSDosaging.timing.repeat.duration
short:
  v: Duration of one administration, exact or range
definition:
  v: Duration of one administration, exact or range
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.duration.duration
path:
  v: EHDSDosaging.timing.repeat.duration.duration
short:
  v: Duration of administration (e.g '5 minutes', '1 hour')
definition:
  v: Duration of administration (e.g '5 minutes', '1 hour')
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.duration.durationMax
path:
  v: EHDSDosaging.timing.repeat.duration.durationMax
short:
  v: Maximum duration of administration (e.g 'maximum 1 hour')
definition:
  v: Maximum duration of administration (e.g 'maximum 1 hour')
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.frequency
path:
  v: EHDSDosaging.timing.repeat.frequency
short:
  v: Frequency of intake/administration (e.g 'three times a day')
definition:
  v: Frequency of intake/administration (e.g 'three times a day')
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.frequency.numberOfTimes
path:
  v: EHDSDosaging.timing.repeat.frequency.numberOfTimes
short:
  v: Number of times per period (e.g '3 times')
definition:
  v: Number of times per period (e.g '3 times')
min:
  v: 0
max:
  v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.timing.repeat.frequency.maxNumberOfTimes
path:
  v: EHDSDosaging.timing.repeat.frequency.maxNumberOfTimes
short:
  v: Maximum number of times per period (e.g. 'maximum 3 times')
definition:
  v: Maximum number of times per period (e.g. 'maximum 3 times')
min:
  v: 0
max:
  v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.timing.repeat.frequency.period
path:
  v: EHDSDosaging.timing.repeat.frequency.period
short:
  v: Duration to which the frequency applies (e.g '... / 1 day')
definition:
  v: Duration to which the frequency applies (e.g '... / 1 day')
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.frequency.periodMax
path:
  v: EHDSDosaging.timing.repeat.frequency.periodMax
short:
  v: Upper limit of the period (e.g ... / 4-6 hours)
definition:
  v: Upper limit of the period (e.g ... / 4-6 hours)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.timing.repeat.dayOfWeek
path:
  v: EHDSDosaging.timing.repeat.dayOfWeek
short:
  v: The day of the week of administration, e.g Mon, Tue, etc
definition:
  v: The day of the week of administration, e.g Mon, Tue, etc
min:
  v: 0
max:
  v: *
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.timing.repeat.timeOfDay
path:
  v: EHDSDosaging.timing.repeat.timeOfDay
short:
  v: Time of day of administration (e.g '10:00')
definition:
  v: Time of day of administration (e.g '10:00')
min:
  v: 0
max:
  v: *
type:
  code:
    v: time

id:
  v: EHDSDosaging.timing.repeat.eventTime
path:
  v: EHDSDosaging.timing.repeat.eventTime
short:
  v: An event the administration is bound to, e.g 'before meal', '30 min before meal'
definition:
  v: An event the administration is bound to, e.g 'before meal', '30 min before meal'
min:
  v: 0
max:
  v: *
type:
  code:
    v: Base

id:
  v: EHDSDosaging.timing.repeat.eventTime.when
path:
  v: EHDSDosaging.timing.repeat.eventTime.when
short:
  v: Time period or event ('before meal', 'immediately', 'morning')
definition:
  v: Time period or event ('before meal', 'immediately', 'morning')
min:
  v: 0
max:
  v: *
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.timing.repeat.eventTime.offset
path:
  v: EHDSDosaging.timing.repeat.eventTime.offset
short:
  v: minutes from event, before or after (?not sure how to show before/after with only positive integers)
definition:
  v: minutes from event, before or after (?not sure how to show before/after with only positive integers)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: integer

id:
  v: EHDSDosaging.asNeeded
path:
  v: EHDSDosaging.asNeeded
short:
  v: Take as needed
definition:
  v: Take as needed
min:
  v: 0
max:
  v: 1
type:
  code:
    v: boolean

id:
  v: EHDSDosaging.asNeededFor
path:
  v: EHDSDosaging.asNeededFor
short:
  v: Take as needed for the coded reason
definition:
  v: Take as needed for the coded reason
min:
  v: 0
max:
  v: *
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.bodySite
path:
  v: EHDSDosaging.bodySite
short:
  v: Body site of administration
definition:
  v: Body site of administration
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.routeOfAdministration
path:
  v: EHDSDosaging.routeOfAdministration
short:
  v: Route of administration
definition:
  v: Route of administration
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.methodOfAdministration
path:
  v: EHDSDosaging.methodOfAdministration
short:
  v: Method of administration
definition:
  v: Method of administration
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept

id:
  v: EHDSDosaging.maxDose
path:
  v: EHDSDosaging.maxDose
short:
  v: Maximum dose for the patient
definition:
  v: Maximum dose for the patient
min:
  v: 0
max:
  v: *
type:
  code:
    v: Base

id:
  v: EHDSDosaging.maxDose.maxDosePerPeriod
path:
  v: EHDSDosaging.maxDose.maxDosePerPeriod
short:
  v: Upper limit on medication per unit of time
definition:
  v: Upper limit on medication per unit of time
min:
  v: 0
max:
  v: *
type:
  code:
    v: Ratio

id:
  v: EHDSDosaging.maxDose.maxDosePerAdministration
path:
  v: EHDSDosaging.maxDose.maxDosePerAdministration
short:
  v: Upper limit on medication per one administration
definition:
  v: Upper limit on medication per one administration
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Quantity

id:
  v: EHDSDosaging.maxDose.maxDosePerLifetime
path:
  v: EHDSDosaging.maxDose.maxDosePerLifetime
short:
  v: Upper limit on medication per lifetime of the patient
definition:
  v: Upper limit on medication per lifetime of the patient
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Quantity