1.0.0 - manual-build

PososIG - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Data Type Profile: Medication Dosage

Official URL: https://posos.co/StructureDefinition/MedicationDosage Version: 1.0.0
Active as of 2025-07-03 Computable Name: MedicationDosage

Dosage for a medication prescribed in the scanned prescription

Usages:

  • This DataType Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Dosage 0..* Dosage How the medication is/was taken or should be taken
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... sequence Σ 0..1 integer Indicates the order of the dosage instruction when multiple are present
... text Σ 0..1 string Posology text detected in the scanned prescription
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repeat ΣC 0..1 Element A set of rules or boundaries describing the frequency and duration of the event
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
..... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
...... bounds[x]:boundsDuration Σ 0..1 Duration The duration over which the timing is effective
...... bounds[x]:boundsPeriod Σ 0..1 Period The period during which the event should occur (start/end dates)
...... bounds[x]:boundsRange Σ 0..1 Range The range of time over which the timing is effective
..... count Σ 0..1 positiveInt Number of times the event should occur
..... countMax Σ 0..1 positiveInt The maximum number of repetitions
..... duration Σ 0..1 decimal How long each occurrence lasts (in the specified unit)
..... durationMax Σ 0..1 decimal The maximum duration per occurrence
..... durationUnit Σ 0..1 code Unit of time for duration (e.g., h for hours)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
..... frequency Σ 0..1 positiveInt Number of times to repeat in a given period
..... frequencyMax Σ 0..1 positiveInt Maximum number of repetitions per period
..... period Σ 0..1 decimal The time interval between repetitions
..... periodMax Σ 0..1 decimal The upper limit of the time interval between repetitions
..... periodUnit Σ 0..1 code Unit of time for the period (e.g., d for days)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay Σ 0..* time Times of day when the event should occur (e.g., 08:00)
..... when Σ 0..* code Codes indicating when during the day the event should occur
Binding: EventTiming (required)
... Slices for asNeeded[x] Σ 0..1 Take "as needed" (for x)
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
.... asNeeded[x]:asNeededBoolean Σ 0..1 boolean Indicates whether the medication is only taken when needed within a specific dosing schedule
... site Σ 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososSiteCoding Σ 0..1 Coding Code defined by a terminology system
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: https://terminology.posos.co/pathway
... route Σ 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososRouteCoding Σ 0..1 Coding Code defined by a terminology system
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: https://standardterms.edqm.eu
... doseAndRate Σ 0..* Element Amount of medication administered at one time (dose), and the rate at which the medication is administered (rate). Each item defines how much medication should be given and how quickly
.... Slices for dose[x] Σ 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
..... dose[x]:doseQuantity Σ 0..1 SimpleQuantity A specific quantity to be administered
..... dose[x]:doseRange Σ 0..1 Range A range of quantities that may be administered
... maxDosePerPeriod Σ 0..1 Ratio The maximum total amount of medication that can be administered over a given time period. It is used to limit cumulative exposure (e.g., 4g per 24h)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week
From the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing
From the FHIR Standard
Dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
From the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
From the FHIR Standard
Dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf 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-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from Dosage

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Dosage 0..* Dosage How the medication is/was taken or should be taken
... sequence 0..1 integer Indicates the order of the dosage instruction when multiple are present
... text 0..1 string Posology text detected in the scanned prescription
... timing 0..1 Timing When the medication should be administered. Specifies frequency, interval, and timing bounds (e.g., 3 times a day)
.... repeat 0..1 Element A set of rules or boundaries describing the frequency and duration of the event
..... Slices for bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... bounds[x]:boundsDuration 0..1 Duration The duration over which the timing is effective
...... bounds[x]:boundsPeriod 0..1 Period The period during which the event should occur (start/end dates)
...... bounds[x]:boundsRange 0..1 Range The range of time over which the timing is effective
..... count 0..1 positiveInt Number of times the event should occur
..... countMax 0..1 positiveInt The maximum number of repetitions
..... duration 0..1 decimal How long each occurrence lasts (in the specified unit)
..... durationMax 0..1 decimal The maximum duration per occurrence
..... durationUnit 0..1 code Unit of time for duration (e.g., h for hours)
..... frequency 0..1 positiveInt Number of times to repeat in a given period
..... frequencyMax 0..1 positiveInt Maximum number of repetitions per period
..... period 0..1 decimal The time interval between repetitions
..... periodMax 0..1 decimal The upper limit of the time interval between repetitions
..... periodUnit 0..1 code Unit of time for the period (e.g., d for days)
..... dayOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay 0..* time Times of day when the event should occur (e.g., 08:00)
..... when 0..* code Codes indicating when during the day the event should occur
Binding: EventTiming (required)
.... asNeeded[x]:asNeededBoolean 0..1 boolean Indicates whether the medication is only taken when needed within a specific dosing schedule
... site 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososSiteCoding 0..1 Coding Code defined by a terminology system
...... system 0..1 uri Identity of the terminology system
Fixed Value: https://terminology.posos.co/pathway
... route 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososRouteCoding 0..1 Coding Code defined by a terminology system
...... system 0..1 uri Identity of the terminology system
Fixed Value: https://standardterms.edqm.eu
... doseAndRate 0..* Element Amount of medication administered at one time (dose), and the rate at which the medication is administered (rate). Each item defines how much medication should be given and how quickly
.... Slices for dose[x] 0..1 Range, SimpleQuantity Amount of medication per dose
Slice: Unordered, Open by type:$this
..... dose[x]:doseQuantity 0..1 SimpleQuantity A specific quantity to be administered
..... dose[x]:doseRange 0..1 Range A range of quantities that may be administered
... maxDosePerPeriod 0..1 Ratio The maximum total amount of medication that can be administered over a given time period. It is used to limit cumulative exposure (e.g., 4g per 24h)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week
From the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing
From the FHIR Standard
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Dosage 0..* Dosage How the medication is/was taken or should be taken
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... text Σ 0..1 string Posology text detected in the scanned prescription
... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
... timing Σ 0..1 Timing When the medication should be administered. Specifies frequency, interval, and timing bounds (e.g., 3 times a day)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... event Σ 0..* dateTime When the event occurs
.... repeat ΣC 0..1 Element A set of rules or boundaries describing the frequency and duration of the event
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
...... bounds[x]:boundsDuration Σ 0..1 Duration The duration over which the timing is effective
...... bounds[x]:boundsPeriod Σ 0..1 Period The period during which the event should occur (start/end dates)
...... bounds[x]:boundsRange Σ 0..1 Range The range of time over which the timing is effective
..... count Σ 0..1 positiveInt Number of times the event should occur
..... countMax Σ 0..1 positiveInt The maximum number of repetitions
..... duration Σ 0..1 decimal How long each occurrence lasts (in the specified unit)
..... durationMax Σ 0..1 decimal The maximum duration per occurrence
..... durationUnit Σ 0..1 code Unit of time for duration (e.g., h for hours)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
..... frequency Σ 0..1 positiveInt Number of times to repeat in a given period
..... frequencyMax Σ 0..1 positiveInt Maximum number of repetitions per period
..... period Σ 0..1 decimal The time interval between repetitions
..... periodMax Σ 0..1 decimal The upper limit of the time interval between repetitions
..... periodUnit Σ 0..1 code Unit of time for the period (e.g., d for days)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay Σ 0..* time Times of day when the event should occur (e.g., 08:00)
..... when Σ 0..* code Codes indicating when during the day the event should occur
Binding: EventTiming (required)
..... offset Σ 0..1 unsignedInt Minutes from event (before or after)
.... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
... Slices for asNeeded[x] Σ 0..1 Take "as needed" (for x)
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
.... asNeeded[x]:asNeededBoolean Σ 0..1 boolean Indicates whether the medication is only taken when needed within a specific dosing schedule
... site Σ 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososSiteCoding Σ 0..1 Coding Code defined by a terminology system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: https://terminology.posos.co/pathway
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 0..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... route Σ 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososRouteCoding Σ 0..1 Coding Code defined by a terminology system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: https://standardterms.edqm.eu
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 0..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
... doseAndRate Σ 0..* Element Amount of medication administered at one time (dose), and the rate at which the medication is administered (rate). Each item defines how much medication should be given and how quickly
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.
.... Slices for dose[x] Σ 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
..... dose[x]:doseQuantity Σ 0..1 SimpleQuantity A specific quantity to be administered
..... dose[x]:doseRange Σ 0..1 Range A range of quantities that may be administered
.... rate[x] Σ 0..1 Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)
... maxDosePerPeriod Σ 0..1 Ratio The maximum total amount of medication that can be administered over a given time period. It is used to limit cumulative exposure (e.g., 4g per 24h)
... maxDosePerAdministration Σ 0..1 SimpleQuantity Upper limit on medication per administration
... maxDosePerLifetime Σ 0..1 SimpleQuantity Upper limit on medication per lifetime of the patient

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
From the FHIR Standard
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week
From the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing
From the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
From the FHIR Standard
Dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
From the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
From the FHIR Standard
Dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
From the FHIR Standard
Dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
From the FHIR Standard
Dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf 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-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from Dosage

Summary

Fixed: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.timing.repeat.bounds[x]
  • The element 1 is sliced based on the value of Dosage.asNeeded[x]
  • The element 1 is sliced based on the value of Dosage.site.coding
  • The element 1 is sliced based on the value of Dosage.route.coding
  • The element 1 is sliced based on the value of Dosage.doseAndRate.dose[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Dosage 0..* Dosage How the medication is/was taken or should be taken
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... sequence Σ 0..1 integer Indicates the order of the dosage instruction when multiple are present
... text Σ 0..1 string Posology text detected in the scanned prescription
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repeat ΣC 0..1 Element A set of rules or boundaries describing the frequency and duration of the event
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
..... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
...... bounds[x]:boundsDuration Σ 0..1 Duration The duration over which the timing is effective
...... bounds[x]:boundsPeriod Σ 0..1 Period The period during which the event should occur (start/end dates)
...... bounds[x]:boundsRange Σ 0..1 Range The range of time over which the timing is effective
..... count Σ 0..1 positiveInt Number of times the event should occur
..... countMax Σ 0..1 positiveInt The maximum number of repetitions
..... duration Σ 0..1 decimal How long each occurrence lasts (in the specified unit)
..... durationMax Σ 0..1 decimal The maximum duration per occurrence
..... durationUnit Σ 0..1 code Unit of time for duration (e.g., h for hours)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
..... frequency Σ 0..1 positiveInt Number of times to repeat in a given period
..... frequencyMax Σ 0..1 positiveInt Maximum number of repetitions per period
..... period Σ 0..1 decimal The time interval between repetitions
..... periodMax Σ 0..1 decimal The upper limit of the time interval between repetitions
..... periodUnit Σ 0..1 code Unit of time for the period (e.g., d for days)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay Σ 0..* time Times of day when the event should occur (e.g., 08:00)
..... when Σ 0..* code Codes indicating when during the day the event should occur
Binding: EventTiming (required)
... Slices for asNeeded[x] Σ 0..1 Take "as needed" (for x)
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
.... asNeeded[x]:asNeededBoolean Σ 0..1 boolean Indicates whether the medication is only taken when needed within a specific dosing schedule
... site Σ 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososSiteCoding Σ 0..1 Coding Code defined by a terminology system
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: https://terminology.posos.co/pathway
... route Σ 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososRouteCoding Σ 0..1 Coding Code defined by a terminology system
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: https://standardterms.edqm.eu
... doseAndRate Σ 0..* Element Amount of medication administered at one time (dose), and the rate at which the medication is administered (rate). Each item defines how much medication should be given and how quickly
.... Slices for dose[x] Σ 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
..... dose[x]:doseQuantity Σ 0..1 SimpleQuantity A specific quantity to be administered
..... dose[x]:doseRange Σ 0..1 Range A range of quantities that may be administered
... maxDosePerPeriod Σ 0..1 Ratio The maximum total amount of medication that can be administered over a given time period. It is used to limit cumulative exposure (e.g., 4g per 24h)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week
From the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing
From the FHIR Standard
Dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
From the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
From the FHIR Standard
Dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf 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-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

Differential View

This structure is derived from Dosage

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Dosage 0..* Dosage How the medication is/was taken or should be taken
... sequence 0..1 integer Indicates the order of the dosage instruction when multiple are present
... text 0..1 string Posology text detected in the scanned prescription
... timing 0..1 Timing When the medication should be administered. Specifies frequency, interval, and timing bounds (e.g., 3 times a day)
.... repeat 0..1 Element A set of rules or boundaries describing the frequency and duration of the event
..... Slices for bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... bounds[x]:boundsDuration 0..1 Duration The duration over which the timing is effective
...... bounds[x]:boundsPeriod 0..1 Period The period during which the event should occur (start/end dates)
...... bounds[x]:boundsRange 0..1 Range The range of time over which the timing is effective
..... count 0..1 positiveInt Number of times the event should occur
..... countMax 0..1 positiveInt The maximum number of repetitions
..... duration 0..1 decimal How long each occurrence lasts (in the specified unit)
..... durationMax 0..1 decimal The maximum duration per occurrence
..... durationUnit 0..1 code Unit of time for duration (e.g., h for hours)
..... frequency 0..1 positiveInt Number of times to repeat in a given period
..... frequencyMax 0..1 positiveInt Maximum number of repetitions per period
..... period 0..1 decimal The time interval between repetitions
..... periodMax 0..1 decimal The upper limit of the time interval between repetitions
..... periodUnit 0..1 code Unit of time for the period (e.g., d for days)
..... dayOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay 0..* time Times of day when the event should occur (e.g., 08:00)
..... when 0..* code Codes indicating when during the day the event should occur
Binding: EventTiming (required)
.... asNeeded[x]:asNeededBoolean 0..1 boolean Indicates whether the medication is only taken when needed within a specific dosing schedule
... site 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososSiteCoding 0..1 Coding Code defined by a terminology system
...... system 0..1 uri Identity of the terminology system
Fixed Value: https://terminology.posos.co/pathway
... route 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososRouteCoding 0..1 Coding Code defined by a terminology system
...... system 0..1 uri Identity of the terminology system
Fixed Value: https://standardterms.edqm.eu
... doseAndRate 0..* Element Amount of medication administered at one time (dose), and the rate at which the medication is administered (rate). Each item defines how much medication should be given and how quickly
.... Slices for dose[x] 0..1 Range, SimpleQuantity Amount of medication per dose
Slice: Unordered, Open by type:$this
..... dose[x]:doseQuantity 0..1 SimpleQuantity A specific quantity to be administered
..... dose[x]:doseRange 0..1 Range A range of quantities that may be administered
... maxDosePerPeriod 0..1 Ratio The maximum total amount of medication that can be administered over a given time period. It is used to limit cumulative exposure (e.g., 4g per 24h)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week
From the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing
From the FHIR Standard

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Dosage 0..* Dosage How the medication is/was taken or should be taken
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... text Σ 0..1 string Posology text detected in the scanned prescription
... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
... timing Σ 0..1 Timing When the medication should be administered. Specifies frequency, interval, and timing bounds (e.g., 3 times a day)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... event Σ 0..* dateTime When the event occurs
.... repeat ΣC 0..1 Element A set of rules or boundaries describing the frequency and duration of the event
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
...... bounds[x]:boundsDuration Σ 0..1 Duration The duration over which the timing is effective
...... bounds[x]:boundsPeriod Σ 0..1 Period The period during which the event should occur (start/end dates)
...... bounds[x]:boundsRange Σ 0..1 Range The range of time over which the timing is effective
..... count Σ 0..1 positiveInt Number of times the event should occur
..... countMax Σ 0..1 positiveInt The maximum number of repetitions
..... duration Σ 0..1 decimal How long each occurrence lasts (in the specified unit)
..... durationMax Σ 0..1 decimal The maximum duration per occurrence
..... durationUnit Σ 0..1 code Unit of time for duration (e.g., h for hours)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
..... frequency Σ 0..1 positiveInt Number of times to repeat in a given period
..... frequencyMax Σ 0..1 positiveInt Maximum number of repetitions per period
..... period Σ 0..1 decimal The time interval between repetitions
..... periodMax Σ 0..1 decimal The upper limit of the time interval between repetitions
..... periodUnit Σ 0..1 code Unit of time for the period (e.g., d for days)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay Σ 0..* time Times of day when the event should occur (e.g., 08:00)
..... when Σ 0..* code Codes indicating when during the day the event should occur
Binding: EventTiming (required)
..... offset Σ 0..1 unsignedInt Minutes from event (before or after)
.... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
... Slices for asNeeded[x] Σ 0..1 Take "as needed" (for x)
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
.... asNeeded[x]:asNeededBoolean Σ 0..1 boolean Indicates whether the medication is only taken when needed within a specific dosing schedule
... site Σ 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososSiteCoding Σ 0..1 Coding Code defined by a terminology system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: https://terminology.posos.co/pathway
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 0..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... route Σ 0..1 CodeableConcept The path or site into or onto the body where the medication should be administered
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:pososRouteCoding Σ 0..1 Coding Code defined by a terminology system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: https://standardterms.edqm.eu
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 0..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
... doseAndRate Σ 0..* Element Amount of medication administered at one time (dose), and the rate at which the medication is administered (rate). Each item defines how much medication should be given and how quickly
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.
.... Slices for dose[x] Σ 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
..... dose[x]:doseQuantity Σ 0..1 SimpleQuantity A specific quantity to be administered
..... dose[x]:doseRange Σ 0..1 Range A range of quantities that may be administered
.... rate[x] Σ 0..1 Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)
... maxDosePerPeriod Σ 0..1 Ratio The maximum total amount of medication that can be administered over a given time period. It is used to limit cumulative exposure (e.g., 4g per 24h)
... maxDosePerAdministration Σ 0..1 SimpleQuantity Upper limit on medication per administration
... maxDosePerLifetime Σ 0..1 SimpleQuantity Upper limit on medication per lifetime of the patient

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
From the FHIR Standard
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week
From the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing
From the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
From the FHIR Standard
Dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
From the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
From the FHIR Standard
Dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
From the FHIR Standard
Dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
From the FHIR Standard
Dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf 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-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from Dosage

Summary

Fixed: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.timing.repeat.bounds[x]
  • The element 1 is sliced based on the value of Dosage.asNeeded[x]
  • The element 1 is sliced based on the value of Dosage.site.coding
  • The element 1 is sliced based on the value of Dosage.route.coding
  • The element 1 is sliced based on the value of Dosage.doseAndRate.dose[x]

 

Other representations of profile: CSV, Excel, Schematron