Page Status: updated 2023-03-02

MedicationRequest

Page index

Introduction

In the Swedish National Medication List, the MedicationRequest resource, shown in the profile NLLMedicationRequest, represents a prescription. This resource is used when prescribing medicinal products and medical consumables.

The profile is used for both ordinary packaged prescriptions (sv helförpackningsförskrivning) and for dose dispensed prescriptions (sv: dosdipenserad förskrivning).

A prescription can be issued to a patient identified with a Swedish personal identity number or by name and birth date.

When the patient has a Swedish personal identity number (sv: personnummer) the "subject" element is a literal reference to the Patient. If the perscription is issued to a patient identified by name and birthdate, the "subject" element is an inline reference to a Patient, i.e. a contained Patient, and the prescription must be adressed to a specific pharmacy (by the element nllReceivingPharmacy).

The prescriber (the "requester" element) is always handled as a contained Practitioner.

When a prescription is renewed (sv: förnyad), replaced (sv: ersatt) or when a new parallell prescrioption is registered (sv: registrera), the new prescription is linked to the preceeding prescription in a prescription chain. (More information about parallell prescriptions is available in this section below: Parallell prescriptions in a prescription chain).
All prescriptions in a prescription chain have the same prescription chain-id (in the element nllPrescriptionChain).

For every change in a patient's medication list (medication requests, medication dispenses, multi dose dispenses, multi dose consents) meta data about the change is saved as a Provenance.

Overview

idS Σ0..1System.String
versionIdS Σ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileΣ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
nllPatientTreatmentReasonS I0..1Extension(string)
nllPrescriptionChainS I0..1Extension(uuid)
nllPrescriptionFormatS I1..1Extension(code)Binding
url1..1System.StringFixed Value
valueDatedate
url1..1System.StringFixed Value
valueDatedate
url1..1System.StringFixed Value
nllRegistrationBasisS I1..1Extension(code)Binding
url1..1System.StringFixed Value
valueDatedate
url1..1System.StringFixed Value
valueDatedate
url1..1System.StringFixed Value
valueDatedate
url1..1System.StringFixed Value
nllCompletePrescriptionChoiceS I0..1Extension(code)Binding
nllOrdinationsIdS I0..1Extension(decimal)
nllTidigareOrdinationsidS I0..1Extension(decimal)
url1..1System.StringFixed Value
valueStringstring
url1..1System.StringFixed Value
valuePositiveIntpositiveInt
url1..1System.StringFixed Value
valuePositiveIntpositiveInt
url1..1System.StringFixed Value
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uriFixed Value
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
systemS Σ1..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
intentS Σ ?!1..1codeBindingFixed Value
category0..*CodeableConcept
priorityS Σ0..1codeBinding
doNotPerformΣ ?!0..1boolean
reportedBooleanboolean
reportedReferenceReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
subjectS Σ I1..1Reference(NLLPatient)
encounterI0..1Reference(Encounter)
supportingInformationI0..*Reference(Resource)
authoredOnS Σ1..1dateTime
requesterS Σ I1..1Reference(NLLPractitioner)
performerI0..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam)
performerTypeΣ0..1CodeableConcept
recorderI0..1Reference(Practitioner | PractitionerRole)
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
reasonReferenceI0..*Reference(Condition | Observation)
instantiatesCanonicalΣ0..*canonical()
instantiatesUriΣ0..*uri
basedOnΣ I0..*Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation)
groupIdentifierΣ0..1Identifier
courseOfTherapyType0..1CodeableConcept
insuranceI0..*Reference(Coverage | ClaimResponse)
url1..1System.StringFixed Value
valueCodecode
authorStringstring
authorReferenceReference(Practitioner | Patient | RelatedPerson | Organization)
timeΣ0..1dateTime
textS Σ1..1markdown
nllObservandumDoseS I0..1Extension(boolean)
url1..1System.StringFixed Value
valueStringstring
url1..1System.StringFixed Value
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)
url1..1System.StringFixed Value
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
sequenceS Σ1..1integer
textS Σ0..1string
codingΣ0..*Coding
textS Σ0..1string
patientInstructionS Σ1..1string
eventΣ0..*dateTime
nllSubSequenceDurationS I0..1Extension(Quantity)
valueS Σ1..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1codeBindingFixed Value
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1codeBindingFixed Value
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
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
systemS Σ0..1uri
versionS Σ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
typeΣ0..1CodeableConcept
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1code
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1code
valueS Σ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ0..1code
valueS Σ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1code
valueS Σ0..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1code
valueS Σ0..1decimalFixed Value
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemS Σ I0..1uriFixed Value
codeS Σ0..1codeFixed Value
maxDosePerAdministrationΣ I0..1SimpleQuantity
maxDosePerLifetimeΣ I0..1SimpleQuantity
nllNumberOfPackagesPrescribedS I0..1Extension(positiveInt)
nllDosePackagingS I1..1Extension(boolean)
nllPrescriptionCommunicableDiseasesActS I0..1Extension(boolean)
nllPatientPharmaceuticalBenefitsActS I1..1Extension(boolean)
nllConditionsPharmaceuticalBenefitsActS I0..1Extension(boolean)
url1..1System.StringFixed Value
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
url1..1System.StringFixed Value
valueS Σ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
url1..1System.StringFixed Value
url1..1System.StringFixed Value
valueBooleanboolean
url1..1System.StringFixed Value
valueΣ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
url1..1System.StringFixed Value
valueDatedate
url1..1System.StringFixed Value
nllNumberOfFillsRemainingS I0..1Extension(positiveInt)
nllReceivingPharmacyS I0..1Extension(Reference(NLLPharmacyLocation))
url1..1System.StringFixed Value
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
nllSubstitutionOpposedS I0..1Extension(code)Binding
nllNumberOfDispensesAllowedS I0..1Extension(unsignedInt)
nllNextDateDispenseIntervalS I0..1Extension(date)
valueS Σ1..1decimalFixed Value
comparatorΣ ?!0..0codeBinding
unitS Σ0..1stringFixed Value
systemS Σ I0..1uriFixed Value
codeS Σ1..1codeFixed Value
durationI0..0Duration
valueS Σ1..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemS Σ I0..1uri
codeS Σ1..1codeBinding
nllFirstDispenseBeforeS I0..1Extension(date)
startΣ I0..1dateTime
endS Σ I0..1dateTime
numberOfRepeatsAllowedS0..1unsignedInt
valueS Σ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
expectedSupplyDurationI0..1Duration
performerI0..1Reference(Organization)
allowedBooleanboolean
reason0..1CodeableConcept
priorPrescriptionS I0..1Reference(NLLMedicationRequest)
detectedIssueS I0..*Reference(NLLDetectedIssue)
eventHistoryI0..*Reference(Provenance)

Contained resources

References to other resources are based on contained resources in the following cases.

Element Resource Case
subject Patient When a patient is identified by name and birthdate only
requester Practitioner Always
dispenseRequest.nllReceivingPharmacy Location Always

For more information about references and contained resources see Resources - References.

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.

Dosage

How to use the elements in dosageInstruction (the BackBoneElement Dosage) is described on the page Dosage and in the Handbok för vård- och apotekstjänster. Message examples for dosages are available on the page Dosage - Create

Medication request statuses

The following statuses are used within the National Medication List for prescriptions. For some updates additional information about the reason for change of status is automatically added, see value set Förskrivningsstatusorsak (medication-request-status-reasons).

Parameter Comment
active The prescription is available for dispatching (sv: Aktiv).
on-hold The prescription is NOT available for dispatching (sv: Parkerad).
cancelled MedicationRequest was faulty registered e.g. wrong medication or patient (sv: Makulerad).
completed All dispatches have been done for the MedicationRequest (sv: Slutexpedierad).
stopped MedicationRequest is no longer available for dispatches, e.g. due to the validity period dates have passed (sv: Avslutad).

See Value Set Förskrivningsstatus (medication-request-status).

Prescription chains

One of the features in the National Medication List is prescription chains. A prescription chain is a sequence of prescriptions where an old prescription has been terminated and replaced by a new prescription.

MedicationRequest.extension:nllPrescriptionChain is set by the National Medication List on all new prescriptions so from a technical point of view all precriptions are part of a chain. However the term prescription chain refers to when there are two or more prescriptions with the same chain ID.

A prescription chain is created when a prescription is replaced (sv. Ersätts) or renewed (sv. Förnyas). To replace or renew a prescription, it is required that the chain ID element, MedicationRequest.extension:nllPrescriptionChain, is included in the POST MedcationRequest request. The new prescription will then have the same chain ID as the old prescription and MedicationRequest.priorPrescription will be set to refer to the old prescription.

It is possible to fetch all prescriptions that are part of a chain via the prescription chain ID, ../MedicationRequest?nllPrescriptionChain=[UUID]. See below for more search options.

In order to sort all prescriptions in the chain in chronological order the element MedicationRequest.priorPrescription is used. It points at the prior prescription in the chain so the first prescription in the chain has no prior prescription, or a prior prescription that is missing because old records has reached end of life and have been removed. The second prescription in the chain points at the first one and so on. The chain may also include cancelled (sv. makulera) prescriptions, i.e. a prescription that was never used. It is therefore possible that more than one prescription points at the same prior prescription.

Below is an example of how a prescriptions in a prescription chain may be linked together: