FHIR Extensions Pack
5.3.0-ballot-tc1 - (September 2025 Ballot) International flag

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.3.0-ballot-tc1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

Extension: Medication Classification

Official URL: http://hl7.org/fhir/StructureDefinition/medication-classification Version: 5.3.0-ballot-tc1
Standards status: Trial-use Maturity Level: 1 Responsible: HL7 International / Pharmacy Computable Name: MedicationClassification

Provides a classification for a medication, mirroring the structure of MedicationKnowledge.classification. This allows a Medication resource to carry classification information (e.g., therapeutic class, pharmacologic class) in , including the type of classification system used, one or more classification codes, and an optional source reference.

Context of Use

This extension may be used on the following element(s)

Usage info

Usages:

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

You can also check for usages in the FHIR IG Statistics

Changes since version 5.2.0:

  • New Content
  • Formal Views of Extension Content

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

    This structure is derived from Extension

    Summary

    Complex Extension: Provides a classification for a medication, mirroring the structure of MedicationKnowledge.classification. This allows a Medication resource to carry classification information (e.g., therapeutic class, pharmacologic class) in , including the type of classification system used, one or more classification codes, and an optional source reference.

    • type: CodeableConcept: Identifies the kind of classification being expressed — that is, the conceptual dimension along which the medication is being grouped. Examples include anatomical class, therapeutic class, pharmacologic class, mechanism of action, chemical-structure class, regulatory classification, controlled-substance schedule, legal or marketing status, reimbursement or formulary class, and public-health lists such as the WHO Essential Medicines List. Note that coding systems such as WHO ATC are not themselves a 'type'; an ATC code expresses an anatomical, therapeutic, pharmacologic, or chemical classification depending on the hierarchy level used. The specific code(s) from such a system are carried in the classification sub-extension.
    • classification: CodeableConcept: A specific classification concept drawn from the scheme declared in the type sub-extension. For example, if type is 'therapeutic', this carries a therapeutic-class code; if type is 'anatomical', an anatomical-group code (such as an ATC level-1 code). Multiple codes may be provided when a medication belongs to more than one class within the same scheme.
    • source: string, uri: The authority, publication, or system that supplied this classification (free text or URI). Useful when the classification is not directly resolvable from the type coding system, or to record a specific edition/jurisdictional publisher.

    Maturity: 1

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Medication Classification
    ... extension 1..* Extension Extension
    ... Slices for extension Content/Rules for all slices
    .... extension:type 1..1 Extension The kind of classification (e.g., anatomical, therapeutic, pharmacologic, regulatory)
    ..... extension 0..0 Extension
    ..... url 1..1 uri "type"
    ..... value[x] 0..1 CodeableConcept Value of extension
    Binding: MedicationClassificationTypeVS (example)
    .... extension:classification 0..* Extension The specific classification code within the scheme declared in type (e.g., an ATC code, a therapeutic-class code)
    ..... extension 0..0 Extension
    ..... url 1..1 uri "classification"
    ..... value[x] 0..1 CodeableConcept Value of extension
    .... extension:source 0..1 Extension The source or reference for the classification (as a string or URI)
    ..... extension 0..0 Extension
    ..... url 1..1 uri "source"
    ..... value[x] 0..1 Value of extension
    ...... valueString string
    ...... valueUri uri
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/medication-classification"

    doco Documentation for this format
    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Medication Classification
    ... id 0..1 id Unique id for inter-element referencing
    ... Slices for extension 1..* Extension Extension
    Slice: Unordered, Open by value:url
    .... extension:type 1..1 Extension The kind of classification (e.g., anatomical, therapeutic, pharmacologic, regulatory)
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "type"
    ..... value[x] 0..1 CodeableConcept Value of extension
    Binding: MedicationClassificationTypeVS (example)
    .... extension:classification 0..* Extension The specific classification code within the scheme declared in type (e.g., an ATC code, a therapeutic-class code)
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "classification"
    ..... value[x] 0..1 CodeableConcept Value of extension
    .... extension:source 0..1 Extension The source or reference for the classification (as a string or URI)
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "source"
    ..... value[x] 0..1 Value of extension
    ...... valueString string
    ...... valueUri uri
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/medication-classification"

    doco Documentation for this format

    This structure is derived from Extension

    Summary

    Complex Extension: Provides a classification for a medication, mirroring the structure of MedicationKnowledge.classification. This allows a Medication resource to carry classification information (e.g., therapeutic class, pharmacologic class) in , including the type of classification system used, one or more classification codes, and an optional source reference.

    • type: CodeableConcept: Identifies the kind of classification being expressed — that is, the conceptual dimension along which the medication is being grouped. Examples include anatomical class, therapeutic class, pharmacologic class, mechanism of action, chemical-structure class, regulatory classification, controlled-substance schedule, legal or marketing status, reimbursement or formulary class, and public-health lists such as the WHO Essential Medicines List. Note that coding systems such as WHO ATC are not themselves a 'type'; an ATC code expresses an anatomical, therapeutic, pharmacologic, or chemical classification depending on the hierarchy level used. The specific code(s) from such a system are carried in the classification sub-extension.
    • classification: CodeableConcept: A specific classification concept drawn from the scheme declared in the type sub-extension. For example, if type is 'therapeutic', this carries a therapeutic-class code; if type is 'anatomical', an anatomical-group code (such as an ATC level-1 code). Multiple codes may be provided when a medication belongs to more than one class within the same scheme.
    • source: string, uri: The authority, publication, or system that supplied this classification (free text or URI). Useful when the classification is not directly resolvable from the type coding system, or to record a specific edition/jurisdictional publisher.

    Maturity: 1

    Differential View

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Medication Classification
    ... extension 1..* Extension Extension
    ... Slices for extension Content/Rules for all slices
    .... extension:type 1..1 Extension The kind of classification (e.g., anatomical, therapeutic, pharmacologic, regulatory)
    ..... extension 0..0 Extension
    ..... url 1..1 uri "type"
    ..... value[x] 0..1 CodeableConcept Value of extension
    Binding: MedicationClassificationTypeVS (example)
    .... extension:classification 0..* Extension The specific classification code within the scheme declared in type (e.g., an ATC code, a therapeutic-class code)
    ..... extension 0..0 Extension
    ..... url 1..1 uri "classification"
    ..... value[x] 0..1 CodeableConcept Value of extension
    .... extension:source 0..1 Extension The source or reference for the classification (as a string or URI)
    ..... extension 0..0 Extension
    ..... url 1..1 uri "source"
    ..... value[x] 0..1 Value of extension
    ...... valueString string
    ...... valueUri uri
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/medication-classification"

    doco Documentation for this format

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Medication Classification
    ... id 0..1 id Unique id for inter-element referencing
    ... Slices for extension 1..* Extension Extension
    Slice: Unordered, Open by value:url
    .... extension:type 1..1 Extension The kind of classification (e.g., anatomical, therapeutic, pharmacologic, regulatory)
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "type"
    ..... value[x] 0..1 CodeableConcept Value of extension
    Binding: MedicationClassificationTypeVS (example)
    .... extension:classification 0..* Extension The specific classification code within the scheme declared in type (e.g., an ATC code, a therapeutic-class code)
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "classification"
    ..... value[x] 0..1 CodeableConcept Value of extension
    .... extension:source 0..1 Extension The source or reference for the classification (as a string or URI)
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "source"
    ..... value[x] 0..1 Value of extension
    ...... valueString string
    ...... valueUri uri
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/medication-classification"

    doco Documentation for this format

     

    Other representations of profile: CSV, Excel, Schematron

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Extension.extension:type.​value[x] Base example Medication Classification Type VS 📦5.3.0-ballot-tc1 This IG

    Constraints

    Id Grade Path(s) Description Expression
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

    R4B

    The extension is unchanged in R4B

    R4

    The extension is unchanged in R4

    R3

    The extension is unchanged in R3

    Search Parameters for this Extension

    (none found)