<StructureDefinition xmlns="http://hl7.org/fhir">
  <meta>
    <lastUpdated value="2026-06-29T15:31:30.4887539+00:00" />
  </meta>
  <url value="http://mpd.noma.no/structuredefinition/substance-classification" />
  <version value="2.1" />
  <name value="SubstanceSpecification_ClassificationExtension_NOMA_GUPRI" />
  <title value="SubstanceSpecification_ClassificationExtension_NOMA_GUPRI" />
  <status value="draft" />
  <date value="2020-09-17T11:33:08.6995668+00:00" />
  <purpose value="Classificatin of substances" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="SubstanceSpecification" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <snapshot>
    <element id="Extension">
      <path value="Extension" />
      <short value="Classifies the substance" />
      <definition value="Optional xtension for classifying substances. Possible classification categories:&#xD;&#xA;- All the substance's ATC code(s). One entry per code.&#xD;&#xA;- The substance's E-number(s). One entry per e-number.&#xD;&#xA;- Whether the substance is therapeutic (only published when &quot;true&quot;)&#xD;&#xA;- Whether the substance is a prodrug (only published when &quot;true&quot;)&#xD;&#xA;- Whether the substance is complex (only published when &quot;true&quot;)" />
      <comment value="##### Published (optional) classification categories:&#xD;&#xA;&#xD;&#xA;###### **E-Number**&#xD;&#xA;The substance's [E-number(s)](https://ec.europa.eu/food/food-feed-portal/screen/food-additives/search). A substance can have multiple e-numbers.&#xD;&#xA;Cardinality: 0..*  &#xD;&#xA;Code: The E-number  &#xD;&#xA;Display: The E-number name (substance)  &#xD;&#xA;System URL: [https://mpd.noma.no/codesystem/e-number](https://mpd.noma.no/codesystem/e-number)&#xD;&#xA;###### **Is Therapeutic**&#xD;&#xA;Whether the substance is therapeutic (only published when &quot;true&quot;).  &#xD;&#xA;Cardinality: 0..1  &#xD;&#xA;Code: &quot;true&quot;  &#xD;&#xA;Display: &quot;Er terapautisk del&quot;  &#xD;&#xA;System URL: [https://mpd.noma.no/codesystem/is-active-moiety](https://mpd.noma.no/codesystem/is-active-moiety)&#xD;&#xA;###### **Is Prodrug**&#xD;&#xA;Whether the substance is a prodrug (only published when &quot;true&quot;)  &#xD;&#xA;Cardinality: 0..1  &#xD;&#xA;Code: &quot;true&quot;  &#xD;&#xA;Display: &quot;Er prodrug&quot;  &#xD;&#xA;System URL: [https://mpd.noma.no/codesystem/is-prodrug](https://mpd.noma.no/codesystem/is-prodrug)&#xD;&#xA;###### **Is Complex**&#xD;&#xA;Whether the substance is complex (only published when &quot;true&quot;)  &#xD;&#xA;Cardinality: 0..1  &#xD;&#xA;Code: &quot;true&quot;  &#xD;&#xA;Display: &quot;Er kompleks&quot;  &#xD;&#xA;System URL: [https://mpd.noma.no/codesystem/is-complex-substance](https://mpd.noma.no/codesystem/is-complex-substance)&#xD;&#xA;###### **ATC codes**&#xD;&#xA;All the substance's ATC code(s). Human codes only.&#xD;&#xA;Cardinality: 0..*  &#xD;&#xA;Code: The ATC code  &#xD;&#xA;Display: The (substances) name  &#xD;&#xA;System URLs, one per first-level ATC:  &#xD;&#xA;&#xD;&#xA;| ATC Category Name | Source | URL (GUPRI) |&#xD;&#xA;| :------- | :------ |:------ |&#xD;&#xA;| ATC (A) Alimentary tract and metabolism | WHO | [https://mpd.noma.no/codesystem/atc-a-alimentary-tract-and-metabolism](https://mpd.noma.no/codesystem/atc-a-alimentary-tract-and-metabolism) |&#xD;&#xA;| ATC (J) Antiinfectives | WHO | [https://mpd.noma.no/codesystem/atc-j-antiinfectives-for-systemic-use](https://mpd.noma.no/codesystem/atc-j-antiinfectives-for-systemic-use) |&#xD;&#xA;| ATC (L) Antineoplastic, immunomodulating agents | WHO | [https://mpd.noma.no/codesystem/atc-l-antineoplastic-and-immunomodulating-agents](https://mpd.noma.no/codesystem/atc-l-antineoplastic-and-immunomodulating-agents) |&#xD;&#xA;| ATC (P) Antiparasitic Products | WHO | [https://mpd.noma.no/codesystem/atc-p-antiparasitic-products-insecticides-and-repellents](https://mpd.noma.no/codesystem/atc-p-antiparasitic-products-insecticides-and-repellents) |&#xD;&#xA;| ATC (B) Blood, Blood Forming Organs | WHO | [https://mpd.noma.no/codesystem/atc-b-blood-and-blood-forming-organs](https://mpd.noma.no/codesystem/atc-b-blood-and-blood-forming-organs) |&#xD;&#xA;| ATC (C) Cardiovascular System | WHO | [https://mpd.noma.no/codesystem/atc-c-cardiovascular-system](https://mpd.noma.no/codesystem/atc-c-cardiovascular-system) |&#xD;&#xA;| ATC (D) Dermatologicals | WHO | [https://mpd.noma.no/codesystem/atc-d-dermatologicals](https://mpd.noma.no/codesystem/atc-d-dermatologicals) |&#xD;&#xA;| ATC (G) Genito urinary System | WHO | [https://mpd.noma.no/codesystem/atc-g-genito-urinary-system-and-sex-hormones](https://mpd.noma.no/codesystem/atc-g-genito-urinary-system-and-sex-hormones) |&#xD;&#xA;| ATC (M) Musculo-skeletal System | WHO | [https://mpd.noma.no/codesystem/atc-m-musculo-skeletal-system](https://mpd.noma.no/codesystem/atc-m-musculo-skeletal-system) |&#xD;&#xA;| ATC (N) Nervous system | WHO | [https://mpd.noma.no/codesystem/atc-n-nervous-system](https://mpd.noma.no/codesystem/atc-n-nervous-system) |&#xD;&#xA;| ATC (R) Respiratory System | WHO | [https://mpd.noma.no/codesystem/atc-r-respiratory-system](https://mpd.noma.no/codesystem/atc-r-respiratory-system) |&#xD;&#xA;| ATC (S) Sensory Organs | WHO | [https://mpd.noma.no/codesystem/atc-s-sensory-organs](https://mpd.noma.no/codesystem/atc-s-sensory-organs) |&#xD;&#xA;| ATC (H) Systemic Hormonal Preparations | WHO | [https://mpd.noma.no/codesystem/atc-h-systemic-hormonal-preparations-excl-sex-hormones-and-insulins](https://mpd.noma.no/codesystem/atc-h-systemic-hormonal-preparations-excl-sex-hormones-and-insulins) |&#xD;&#xA;| ATC (V) Various | WHO | [https://mpd.noma.no/codesystem/atc-v-various](https://mpd.noma.no/codesystem/atc-v-various) |" />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Extension" />
        <min value="0" />
        <max value="*" />
      </base>
      <condition value="ele-1" />
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <xpath value="@value|f:*|h:div" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <constraint>
        <key value="ext-1" />
        <severity value="error" />
        <human value="Must have either extensions or value[x], not both" />
        <expression value="extension.exists() != value.exists()" />
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
        <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension.id">
      <path value="Extension.id" />
      <representation value="xmlAttr" />
      <short value="Unique id for inter-element referencing" />
      <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string" />
        </extension>
        <code value="http://hl7.org/fhirpath/System.String" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <description value="Extensions are always sliced by (at least) url" />
        <rules value="open" />
      </slicing>
      <short value="Additional content defined by implementations" />
      <definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
      <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
      <alias value="extensions" />
      <alias value="user content" />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="Element.extension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
      <condition value="ele-1" />
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <xpath value="@value|f:*|h:div" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <constraint>
        <key value="ext-1" />
        <severity value="error" />
        <human value="Must have either extensions or value[x], not both" />
        <expression value="extension.exists() != value.exists()" />
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
        <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <representation value="xmlAttr" />
      <short value="identifies the meaning of the extension" />
      <definition value="Source of the definition for the extension code - a logical name or a URL." />
      <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="Extension.url" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="uri" />
        </extension>
        <code value="http://hl7.org/fhirpath/System.String" />
      </type>
      <fixedUri value="http://mpd.noma.no/structuredefinition/substance-classification" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <short value="Value of extension" />
      <definition value="Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list)." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Extension.value[x]" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="ele-1" />
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <xpath value="@value|f:*|h:div" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="Classifies the substance" />
      <definition value="Optional xtension for classifying substances. Possible classification categories:&#xD;&#xA;- All the substance's ATC code(s). One entry per code.&#xD;&#xA;- The substance's E-number(s). One entry per e-number.&#xD;&#xA;- Whether the substance is therapeutic (only published when &quot;true&quot;)&#xD;&#xA;- Whether the substance is a prodrug (only published when &quot;true&quot;)&#xD;&#xA;- Whether the substance is complex (only published when &quot;true&quot;)" />
      <comment value="##### Published (optional) classification categories:&#xD;&#xA;&#xD;&#xA;###### **E-Number**&#xD;&#xA;The substance's [E-number(s)](https://ec.europa.eu/food/food-feed-portal/screen/food-additives/search). A substance can have multiple e-numbers.&#xD;&#xA;Cardinality: 0..*  &#xD;&#xA;Code: The E-number  &#xD;&#xA;Display: The E-number name (substance)  &#xD;&#xA;System URL: [https://mpd.noma.no/codesystem/e-number](https://mpd.noma.no/codesystem/e-number)&#xD;&#xA;###### **Is Therapeutic**&#xD;&#xA;Whether the substance is therapeutic (only published when &quot;true&quot;).  &#xD;&#xA;Cardinality: 0..1  &#xD;&#xA;Code: &quot;true&quot;  &#xD;&#xA;Display: &quot;Er terapautisk del&quot;  &#xD;&#xA;System URL: [https://mpd.noma.no/codesystem/is-active-moiety](https://mpd.noma.no/codesystem/is-active-moiety)&#xD;&#xA;###### **Is Prodrug**&#xD;&#xA;Whether the substance is a prodrug (only published when &quot;true&quot;)  &#xD;&#xA;Cardinality: 0..1  &#xD;&#xA;Code: &quot;true&quot;  &#xD;&#xA;Display: &quot;Er prodrug&quot;  &#xD;&#xA;System URL: [https://mpd.noma.no/codesystem/is-prodrug](https://mpd.noma.no/codesystem/is-prodrug)&#xD;&#xA;###### **Is Complex**&#xD;&#xA;Whether the substance is complex (only published when &quot;true&quot;)  &#xD;&#xA;Cardinality: 0..1  &#xD;&#xA;Code: &quot;true&quot;  &#xD;&#xA;Display: &quot;Er kompleks&quot;  &#xD;&#xA;System URL: [https://mpd.noma.no/codesystem/is-complex-substance](https://mpd.noma.no/codesystem/is-complex-substance)&#xD;&#xA;###### **ATC codes**&#xD;&#xA;All the substance's ATC code(s). Human codes only.&#xD;&#xA;Cardinality: 0..*  &#xD;&#xA;Code: The ATC code  &#xD;&#xA;Display: The (substances) name  &#xD;&#xA;System URLs, one per first-level ATC:  &#xD;&#xA;&#xD;&#xA;| ATC Category Name | Source | URL (GUPRI) |&#xD;&#xA;| :------- | :------ |:------ |&#xD;&#xA;| ATC (A) Alimentary tract and metabolism | WHO | [https://mpd.noma.no/codesystem/atc-a-alimentary-tract-and-metabolism](https://mpd.noma.no/codesystem/atc-a-alimentary-tract-and-metabolism) |&#xD;&#xA;| ATC (J) Antiinfectives | WHO | [https://mpd.noma.no/codesystem/atc-j-antiinfectives-for-systemic-use](https://mpd.noma.no/codesystem/atc-j-antiinfectives-for-systemic-use) |&#xD;&#xA;| ATC (L) Antineoplastic, immunomodulating agents | WHO | [https://mpd.noma.no/codesystem/atc-l-antineoplastic-and-immunomodulating-agents](https://mpd.noma.no/codesystem/atc-l-antineoplastic-and-immunomodulating-agents) |&#xD;&#xA;| ATC (P) Antiparasitic Products | WHO | [https://mpd.noma.no/codesystem/atc-p-antiparasitic-products-insecticides-and-repellents](https://mpd.noma.no/codesystem/atc-p-antiparasitic-products-insecticides-and-repellents) |&#xD;&#xA;| ATC (B) Blood, Blood Forming Organs | WHO | [https://mpd.noma.no/codesystem/atc-b-blood-and-blood-forming-organs](https://mpd.noma.no/codesystem/atc-b-blood-and-blood-forming-organs) |&#xD;&#xA;| ATC (C) Cardiovascular System | WHO | [https://mpd.noma.no/codesystem/atc-c-cardiovascular-system](https://mpd.noma.no/codesystem/atc-c-cardiovascular-system) |&#xD;&#xA;| ATC (D) Dermatologicals | WHO | [https://mpd.noma.no/codesystem/atc-d-dermatologicals](https://mpd.noma.no/codesystem/atc-d-dermatologicals) |&#xD;&#xA;| ATC (G) Genito urinary System | WHO | [https://mpd.noma.no/codesystem/atc-g-genito-urinary-system-and-sex-hormones](https://mpd.noma.no/codesystem/atc-g-genito-urinary-system-and-sex-hormones) |&#xD;&#xA;| ATC (M) Musculo-skeletal System | WHO | [https://mpd.noma.no/codesystem/atc-m-musculo-skeletal-system](https://mpd.noma.no/codesystem/atc-m-musculo-skeletal-system) |&#xD;&#xA;| ATC (N) Nervous system | WHO | [https://mpd.noma.no/codesystem/atc-n-nervous-system](https://mpd.noma.no/codesystem/atc-n-nervous-system) |&#xD;&#xA;| ATC (R) Respiratory System | WHO | [https://mpd.noma.no/codesystem/atc-r-respiratory-system](https://mpd.noma.no/codesystem/atc-r-respiratory-system) |&#xD;&#xA;| ATC (S) Sensory Organs | WHO | [https://mpd.noma.no/codesystem/atc-s-sensory-organs](https://mpd.noma.no/codesystem/atc-s-sensory-organs) |&#xD;&#xA;| ATC (H) Systemic Hormonal Preparations | WHO | [https://mpd.noma.no/codesystem/atc-h-systemic-hormonal-preparations-excl-sex-hormones-and-insulins](https://mpd.noma.no/codesystem/atc-h-systemic-hormonal-preparations-excl-sex-hormones-and-insulins) |&#xD;&#xA;| ATC (V) Various | WHO | [https://mpd.noma.no/codesystem/atc-v-various](https://mpd.noma.no/codesystem/atc-v-various) |" />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="http://mpd.noma.no/structuredefinition/substance-classification" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
  </differential>
</StructureDefinition>