Page Status: updated 2022-03-25

Dosage

Page index

Introduction

The profile NLLDosage is not a profile on a standalone resource, but on a BackBoneElement called Dosage. A Dosage, shown in the profile NLLDosage, represents a dosage within a prescription or dispense. The dosageInstruction element in a MedicationRequest or MedicationDispense makes it possible to describe how a medication should be used by the patient in a structured machine readable way. The vast number of ways to use different medications can make it quite complex to specify a dosage instruction in the correct way. This page aims to explain some of the concepts used in the Swedish National Medication List, but it is important to read the complete documentation in Handbok för vård- och apotekstjänster to fully understand how to create and understand a dosage instruction.

There are also a number of examples here Dosage - Create that can be of help to understand how different type of instructions are created i FHIR messages.

Regarding information about how the "must support"-property is used in the Swedish National MedicationList, please refer to the page Resources

Overview

id0..1string
nllObservandumDoseS I0..1Extension(boolean)
nllAdministeringInstructionS I0..1Extension(string)
id0..1string
extensionI0..*Extension
url1..1uriFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
nllSubSequenceS I0..1Extension(integer)
nllDosageTypeS I0..1Extension(code)
id0..1string
extensionI0..*Extension
url1..1uriFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
modifierExtensionΣ ?! I0..*Extension
sequenceS Σ1..1integer
textS Σ0..1string
id0..1string
extensionI0..*Extension
codingΣ0..*Coding
textS Σ0..1string
patientInstructionS Σ1..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
eventΣ0..*dateTime
id0..1string
nllSubSequenceDurationS I0..1Extension(Quantity)
id0..1string
extensionI0..*Extension
valueS Σ1..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1codeBindingFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1codeBindingFixed Value
id0..1string
extensionI0..*Extension
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1codeBindingFixed Value
countS Σ0..1positiveInt
countMaxΣ0..1positiveInt
durationS Σ0..1decimal
durationMaxΣ0..1decimal
durationUnitS Σ0..1codeBinding
frequencyS Σ0..1positiveInt
frequencyMaxS Σ0..1positiveInt
periodS Σ0..1decimal
periodMaxS Σ0..1decimal
periodUnitS Σ0..1codeBinding
dayOfWeekS Σ0..*codeBinding
timeOfDayS Σ0..*time
whenS Σ0..*codeBinding
offsetΣ0..1unsignedInt
codeΣ0..1CodeableConceptBinding
asNeededBooleanboolean
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionI0..*Extension
typeΣ0..1CodeableConcept
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1code
id0..1string
extensionI0..*Extension
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1code
id0..1string
extensionI0..*Extension
valueS Σ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ0..1code
id0..1string
extensionI0..*Extension
valueS Σ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1code
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
valueS Σ0..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1code
id0..1string
extensionI0..*Extension
valueS Σ0..1decimalFixed Value
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemS Σ I0..1uriFixed Value
codeS Σ0..1codeFixed Value
maxDosePerAdministrationΣ I0..1SimpleQuantity
maxDosePerLifetimeΣ I0..1SimpleQuantity

Details

Description of all elements can be found here, Element descriptions.

Mapping of FHIR element names to the National Medication List names can be found here, Element language mappings.

Element dosageInstruction in MedicationRequest and MedicationDispense

The element dosageInstruction is mandatory in MedicationRequest with one exception regarding prescribed consumables, for which a dosage instruction is optional. On a MedicationDispense made based on a prescription available NLL (NLLMedicationDispense) the dosageInstruction must only be specified when it differs from the dosageInstruction on the MedicationRequest. When a prescription isn't available (NLLDispensePaperPrescription), a dosageInstruction shall be specified.

A dosage is described in one or more dosageInstructions. This means that the dosage can be described as a set of 'steps' where each step is described in a separate dosageInstruction.

For each dosageInstruction it is possible to enter information that applies to that specific dosageInstruction/step. NB! Some elements must have the same values on each dosageInstruction (this is validated in the national medication list):

  • The dose unit must be the same on all dosageInstructions, i.e. the code form Dosenhet (nll-ucum-unit) or Doseringshastighetsenhet (nll-ucum-rate-unit) must be the same on each dosageInstruction. This also means that it's not allowed to specify 'dose' on some dosageInstructions and 'dose rate' on other dosageInstructions.
  • The administering instructions must have the same values on all dosageInstructions, i.e. site, nllSiteQualifier, route, method and nllMedicalDevice must have the same values on each dosageInstruction.
  • The patientInstruction, additionalInstruction and nllAdministeringInstruction must have the same values on all dosageInstructions.
  • The dosage type must be the same on all dosageInstructions. See Dosage type for more information about different dosage types.

Sequence

The attribute 'sequence' specifies the order of the dosageInstructions. The sequence on the first dosageInstruction must always have the value 1.
If two dosage instuctions have the same value in a sequence, they should be treated as parallell instructions and not sequential. This is the case when a patient uses two different doses at the same time, e.g. "1 tablet in the morning and 2 tables in the evening".

Sequential sequences start with 1 and increment by 1 without gaps.

NB! Two sequences that run in parallel shall not have the medication administration times at the same time of day, as that would imply that the doses of the different dosage instructions would be added and administered to the patient at the same point in time.

Subsequence

Subsequences enable irregular dosage schedules that should be repeated within a sequence. Please read the Handbok för vård- och apotekstjänster for more information about scenarios when it is needed to use subsequences.

A dosage can be divided into subsequences, sub-steps. A subsequence is described with a dosageInstruction. The attribute subsequence is used for subsequences to be in correct order. Subsequences start with 1 and increment by 1 without gaps.

Subsequences can only be used for timed administration (sv. tillfällesdosering), see Timed administration.

Subsequences can be both sequential and parallel. Two dosing subsequences that run in parallel shall not have the medication administration times on the same time of day, as that would imply that the doses of the different dosage instructions would be added and administered to the patient at the same point in time.

Dosage type

Timed administration (sv. tillfällesdosering)

Timed administration dosage type is used when the medication should be administered at specific points in time during the day.

Exact time (time of day)

A dosage can be expressed as a dose which should be administered at certain times of the day, for example '1 tablet at 7:00, 15:00 and 23:00' or '1 tablet at 8:00 every other day'.

NB! This type of dosage must be used for prescribing medications that are dose dispensed.

Approximated time (when)

A dosage can be expressed as an approximated time in different ways, for example as '1 tablet in the morning, at lunchtime and in the evening' or '1 tablet in the morning every other day'. The allowed values for approximated times are descibed in the value set Period på dygnet (nll-event-timing)

Sequences

The dosage type 'timed administration' allows the dosageInstructions to be both sequential and parallell. This means that the sequence must start with 1, increment by 1 and have no gaps. Two dosageInstructions may have the same sequence number which then means that they are parallell dosageInstructions.

Subsequences

Subsequences can be used for the dosage type 'timed administration'.

Frequence administration (sv. frekvensdosering)

The frequence administration dosage type describes the dose and the number of administrations during a defined period, for example '1 tablet 3 times a day' or '1 tablet every other day'.

This means that the exact days and points in time where the medication should be administered are not defined for a frequence administration.

Sequences

The frequence administration dosage type only allows the dosage instructions to be sequential. This means that the sequence must start with 1, increment by 1, have no gaps and that each dosage must have a unique sequence number.

Subsequences

It is not permitted to use subsequences for the frequence administration dosage type.

Interval administration (sv. intervalldosering)

The interval administration dosage type is used when the dose and administration should take place with a certain time interval during the day, for example '1 tablet every 8 hours'.

Sequences

The interval administration dosage type only allows the dosage instructions to be sequential. This means that the sequence must start with 1, increment by 1, have no gaps and that each dosage must have a unique sequence number.

Subsequences

It is not permitted to use subsequences for the interval administration dosage type.

One time administration (sv. engångsdosering)

A one time dosage is used when the medicine should be administrated only once. It is possible to specify the time or period of the day.

Sequences

The one time dosage type only allows one dosage instruction (sequence = 1).

Subsequences

It is not permitted to use subsequences for the one time dosage type.

Free text dosage (sv. fritextdosering)

A dosage described in free text is intended for situations when it is difficult to specify the instruction in a structured way. This type of dosage shall be avoided as far as possible, as it does not create the same opportunities to facilitate the care of the patient.

Sequences

The free text dosage type only allows one dosage instruction (sequence = 1).

Subsequences

It is not permitted to use subsequences for the free text dosage type.