MediRecords FHIR Implementation Guide
1.4.2 - release


Data Type Profile: MR Dosage Admission (Draft)

Defining URL:https://fhir.medirecords.com/StructureDefinition/mr-medication-dosage-admission
Version:1.4.2
Name:MRDosageAdmission
Title:MR Dosage Admission (Draft)
Status:Active as of 2025-04-15 05:35:16+0000
Definition:

MediRecords Medication Dosage profile to record details about the dosage prescribed in an admission context.

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

https://fhir.medirecords.com/StructureDefinition/mr-medication-dosage-admission

Formal Views of Profile Content

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

This structure is derived from AUBaseDosage

Summary

Mandatory: 10 elements(1 nested mandatory element)
Must-Support: 19 elements
Fixed: 1 element

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.timing.repeat.bounds[x]

This structure is derived from AUBaseDosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage AUBaseDosage
... text S 1..1 string Free text dosage instructions e.g. SIG
... timing S 1..1 Timing When medication should be administered
.... repeat S 1..1 Element When the event is to occur
..... Slices for bounds[x] 1..1 Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... bounds[x]:boundsPeriod S 1..1 Period Length/Range of lengths, or (Start and/or end) limits
....... start S 1..1 dateTime Starting time with inclusive boundary
....... end S 0..1 dateTime End time with inclusive boundary, if not ongoing
..... frequency S 0..1 positiveInt Event occurs frequency times per period
..... period S 0..1 decimal Event occurs frequency times per period
..... periodUnit S 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
..... dayOfWeek S 0..* code mon | tue | wed | thu | fri | sat | sun
..... timeOfDay S 0..* time Time of day for action
.... code S 1..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
..... coding S 0..1 Coding Code defined by a terminology system
..... text S 1..1 string Plain text representation of the concept
... route S 1..1 CodeableConcept How drug should enter body
.... coding S 0..1 Coding Code defined by a terminology system
..... system 0..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
..... code S 1..1 code Symbol in syntax defined by the system
.... text S 1..1 string Plain text representation of the concept
.... Slices for extension Content/Rules for all slices
..... doseQuantityText S 0..1 string Dose Quantity Text
URL: https://fhir.medirecords.com/StructureDefinition/mr-dose-string-extn

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* AUBaseDosage Dosage information in an Australian healthcare context
... 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 SΣ 1..1 string Free text dosage instructions e.g. SIG
... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (preferred)
... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
... timing SΣ 1..1 Timing When medication should be administered
.... 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 SΣC 1..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... 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] Σ 1..1 Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... bounds[x]:boundsPeriod SΣ 1..1 Period Length/Range of lengths, or (Start and/or end) limits
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... start SΣC 1..1 dateTime Starting time with inclusive boundary
....... end SΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
..... count Σ 0..1 positiveInt Number of times to repeat
..... countMax Σ 0..1 positiveInt Maximum number of times to repeat
..... duration Σ 0..1 decimal How long when it happens
..... durationMax Σ 0..1 decimal How long when it happens (Max)
..... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency SΣ 0..1 positiveInt Event occurs frequency times per period
..... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
..... period SΣ 0..1 decimal Event occurs frequency times per period
..... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
..... periodUnit SΣ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek SΣ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay SΣ 0..* time Time of day for action
..... when Σ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.


..... offset Σ 0..1 unsignedInt Minutes from event (before or after)
.... code SΣ 1..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣ 0..1 Coding Code defined by a terminology system
..... text SΣ 1..1 string Plain text representation of the concept
... asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: Clinical Finding . (preferred)
.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
... site Σ 0..1 CodeableConcept Body site to administer to
Binding: Body Site . (preferred)
... route SΣ 1..1 CodeableConcept How drug should enter body
Binding: Route of Administration . (preferred)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 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: http://snomed.info/sct
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..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 SΣ 1..1 string Plain text representation of the concept
... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (preferred)
... doseAndRate Σ 0..* Element Amount of medication administered
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... doseQuantityText S 0..1 string Dose Quantity Text
URL: https://fhir.medirecords.com/StructureDefinition/mr-dose-string-extn
.... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... dose[x] Σ 0..1 Amount of medication per dose
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
.... rate[x] Σ 0..1 Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)
... maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
... 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
NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* AUBaseDosage Dosage information in an Australian healthcare context
... text Σ 1..1 string Free text dosage instructions e.g. SIG
... timing Σ 1..1 Timing When medication should be administered
.... repeat ΣC 1..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... Slices for bounds[x] Content/Rules for all slices
...... bounds[x]:boundsPeriod Σ 1..1 Period Length/Range of lengths, or (Start and/or end) limits
....... start ΣC 1..1 dateTime Starting time with inclusive boundary
....... end ΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
..... frequency Σ 0..1 positiveInt Event occurs frequency times per period
..... period Σ 0..1 decimal Event occurs frequency times per period
..... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
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 Time of day for action
.... code Σ 1..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

..... coding Σ 0..1 Coding Code defined by a terminology system
..... text Σ 1..1 string Plain text representation of the concept
... route Σ 1..1 CodeableConcept How drug should enter body
Binding: Route of Administration . (preferred)
.... coding Σ 0..1 Coding Code defined by a terminology system
..... code Σ 1..1 code Symbol in syntax defined by the system
.... text Σ 1..1 string Plain text representation of the concept
.... Slices for extension Content/Rules for all slices
..... doseQuantityText 0..1 string Dose Quantity Text
URL: https://fhir.medirecords.com/StructureDefinition/mr-dose-string-extn

doco Documentation for this format

This structure is derived from AUBaseDosage

Summary

Mandatory: 10 elements(1 nested mandatory element)
Must-Support: 19 elements
Fixed: 1 element

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.timing.repeat.bounds[x]

Differential View

This structure is derived from AUBaseDosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage AUBaseDosage
... text S 1..1 string Free text dosage instructions e.g. SIG
... timing S 1..1 Timing When medication should be administered
.... repeat S 1..1 Element When the event is to occur
..... Slices for bounds[x] 1..1 Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... bounds[x]:boundsPeriod S 1..1 Period Length/Range of lengths, or (Start and/or end) limits
....... start S 1..1 dateTime Starting time with inclusive boundary
....... end S 0..1 dateTime End time with inclusive boundary, if not ongoing
..... frequency S 0..1 positiveInt Event occurs frequency times per period
..... period S 0..1 decimal Event occurs frequency times per period
..... periodUnit S 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
..... dayOfWeek S 0..* code mon | tue | wed | thu | fri | sat | sun
..... timeOfDay S 0..* time Time of day for action
.... code S 1..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
..... coding S 0..1 Coding Code defined by a terminology system
..... text S 1..1 string Plain text representation of the concept
... route S 1..1 CodeableConcept How drug should enter body
.... coding S 0..1 Coding Code defined by a terminology system
..... system 0..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
..... code S 1..1 code Symbol in syntax defined by the system
.... text S 1..1 string Plain text representation of the concept
.... Slices for extension Content/Rules for all slices
..... doseQuantityText S 0..1 string Dose Quantity Text
URL: https://fhir.medirecords.com/StructureDefinition/mr-dose-string-extn

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* AUBaseDosage Dosage information in an Australian healthcare context
... 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 SΣ 1..1 string Free text dosage instructions e.g. SIG
... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (preferred)
... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
... timing SΣ 1..1 Timing When medication should be administered
.... 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 SΣC 1..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... 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] Σ 1..1 Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... bounds[x]:boundsPeriod SΣ 1..1 Period Length/Range of lengths, or (Start and/or end) limits
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... start SΣC 1..1 dateTime Starting time with inclusive boundary
....... end SΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
..... count Σ 0..1 positiveInt Number of times to repeat
..... countMax Σ 0..1 positiveInt Maximum number of times to repeat
..... duration Σ 0..1 decimal How long when it happens
..... durationMax Σ 0..1 decimal How long when it happens (Max)
..... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency SΣ 0..1 positiveInt Event occurs frequency times per period
..... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
..... period SΣ 0..1 decimal Event occurs frequency times per period
..... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
..... periodUnit SΣ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek SΣ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay SΣ 0..* time Time of day for action
..... when Σ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.


..... offset Σ 0..1 unsignedInt Minutes from event (before or after)
.... code SΣ 1..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣ 0..1 Coding Code defined by a terminology system
..... text SΣ 1..1 string Plain text representation of the concept
... asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: Clinical Finding . (preferred)
.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
... site Σ 0..1 CodeableConcept Body site to administer to
Binding: Body Site . (preferred)
... route SΣ 1..1 CodeableConcept How drug should enter body
Binding: Route of Administration . (preferred)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 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: http://snomed.info/sct
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..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 SΣ 1..1 string Plain text representation of the concept
... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (preferred)
... doseAndRate Σ 0..* Element Amount of medication administered
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... doseQuantityText S 0..1 string Dose Quantity Text
URL: https://fhir.medirecords.com/StructureDefinition/mr-dose-string-extn
.... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... dose[x] Σ 0..1 Amount of medication per dose
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
.... rate[x] Σ 0..1 Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)
... maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
... 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

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSetURI
Dosage.additionalInstructionpreferredSNOMEDCTAdditionalDosageInstructions
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|4.0.1
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
Dosage.asNeeded[x]preferredClinicalFinding .
https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1
Dosage.sitepreferredBodySite .
https://healthterminologies.gov.au/fhir/ValueSet/body-site-1
Dosage.routepreferredRouteOfAdministration .
https://healthterminologies.gov.au/fhir/ValueSet/route-of-administration-1
Dosage.methodpreferredSNOMEDCTAdministrationMethodCodes
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()