Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page provides more detail on how the web interface displays medication information, which it fetches from the Aggregated FHIR API. Note that whilst this page explains which elements are inspected, the web interface does not provide any feedback about which/whether other FHIR elements are present in the database that are not being displayed.

The Manual provides more information on the functionality; this page is aimed at a technical audience who need to understand which FHIR elements are used to populate the information displayed.

...

the relationship between the FHIR resources and the web interface.

FHIR® Resources

The web interface populates Medicines from the following FHIR resources:

...

First, the main Dosage is determined as follows (from the dosageInstruction element for MedicationRequest, or dosage element for MedicationStatement): that DosageOtherwise Then, we inspect the main Dosage and retrieve

Component

MedicationRequest

MedicationStatement

Status

This is not shown explicitly, but is included in the logic which determines if the medication is current or past.

status

status code mappings (FHIR → PKB):

  • active → ACTIVE

  • on-hold → ACTIVE

  • cancelled → ACTIVE

  • completed → INACTIVE

  • entered-in-error → ACTIVE

  • stopped → ACTIVE

  • draft → ACTIVE

  • unknown → ACTIVE

status

status code mappings (FHIR → PKB):

  • active → ACTIVE

  • completed → INACTIVE

  • entered-in-error → ACTIVE

  • intended → ACTIVE

  • stopped → ACTIVE

  • on-hold → ACTIVE

  • unknown → ACTIVE

  • not-taken → ACTIVE

Substance

The medication substance is shown in 2 places:

  • A primary display string. This is a simple display string shown in the unexpanded row view.

  • Additional details. Information about the medication code and system values are shown in the expanded row view.

<conditional>

If medicationReference is populated:

???

Else:

???

Primary display string

  • If medicationCodeableConcept.text is populated: the same text

  • else: the first populated medicationCodeableConcept.coding[x].display

  • else: the empty string

Additional details

The code and system of all medicationCodeableConcept.coding Codings are shown. Other elements of the Coding are not shown.

Note: the system will be replaced with user-friendly name when known to PKB.

Else:

Primary display string

Additional details

As per the logic above for primary display string.

Start Timestamp

<conditional>

If this extension is present: http://nictiz.nl/fhir/StructureDefinition/zib-Medication-PeriodOfUse

extension[x]: valuePeriod.start

Else:

authoredOn

effectivePeriod.start

End Timestamp

<conditional>

If this extension is present: http://nictiz.nl/fhir/StructureDefinition/zib-Medication-PeriodOfUse

extension[x]: valuePeriod.end

Else:

No value.

effectivePeriod.end

Frequency Text

Frequency Value

Frequency Units

Frequency Priority

Dose Value

For the dosage and frequency-related information, PKB will use the Primary Dosage, which is the Dosage determined as follows:

If MedicationRequest: then use dosageInstruction; else if MedicationStatement: then use dosage

  • If there is exactly one Dosage where sequence is 1, then use

  • the same

  • Else: use the first Dosage in the list

Frequency Text

Frequency Value

Frequency Units

Frequency Priority

Dose Value

From the Primary Dosage:

doseAndRep[0].doseQuantity.value

Dose Units

First, the main Dosage is determined as follows (from the dosage element):

  • If there is exactly one Dosage where sequence is 1, then use that Dosage

  • Otherwise use the first Dosage in the list

Then, we inspect the main Dosage and retrieve:

/ Medication Unit

The dose unit is shown in 2 places:

  • A primary display string. This is a simple display string shown in the unexpanded row view.

    • Note: this is only displayed if Dose Value is populated.

  • Additional details. Information about the dose unit code and system values are shown in the expanded row view.

<conditional>

If doseAndRep[0].doseQuantity If this Quantity of the Primary Dosage has a code, no unit and no system, then it is considered to contain a PKB-assigned code.Otherwise, we :

The code is assumed to be one of the supported unit values as per [[Medication Unit]].

Primary display string

The primary display string will be an appropriate display name with i18n applied.

Additional details

There is no additional code information to display.

Else:

We inspect the first Dosage (which might differ from the previously determined main Primary Dosage) and inspect doseAndRep[0].doseQuantity for the http://fhir.patientsknowbest.com/structuredefinition/dose-units extension.

Primary display string

Additional details

The code and system of all Codings are shown.

Medication Unit

InstructionsOther elements of the Coding are not shown.

Note: the system will be replaced with user-friendly name when known to PKB.

Instructions

From the Primary Dosage, the instructions displayed will be the concatenation of all of the following information, in this order:

  • Dosage.patientInstruction

  • Each Dosage.additionalInstruction[x].text value