{
  "resourceType": "StructureDefinition",
  "url": "https://noma.no/fhir/StructureDefinition/SubstanceSpecification_NOMA_v3_0",
  "version": "3.0",
  "name": "SubstanceSpecification_NOMA_v3_0",
  "title": "SubstanceSpecification_NOMA_v3_0",
  "status": "active",
  "description": "Representing the Substances in the Norwegian Substance database",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "SubstanceSpecification",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/SubstanceSpecification",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "SubstanceSpecification",
        "path": "SubstanceSpecification",
        "comment": "Based on ISO 11238",
        "alias": [
          "SubstanceDefinition (FHIR R5)"
        ]
      },
      {
        "id": "SubstanceSpecification.extension",
        "path": "SubstanceSpecification.extension",
        "slicing": {
          "ordered": true,
          "rules": "open"
        },
        "min": 1,
        "mustSupport": false,
        "isModifier": false
      },
      {
        "id": "SubstanceSpecification.extension:SMSID",
        "path": "SubstanceSpecification.extension",
        "sliceName": "SMSID",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://mpd.noma.no/identifier/sms-id"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "SubstanceSpecification.extension:FestId",
        "path": "SubstanceSpecification.extension",
        "sliceName": "FestId",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://mpd.noma.no/identifier/fest-substans-id"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "SubstanceSpecification.extension:UniiCode",
        "path": "SubstanceSpecification.extension",
        "sliceName": "UniiCode",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://mpd.noma.no/identifier/unii-code"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "SubstanceSpecification.extension:classification",
        "path": "SubstanceSpecification.extension",
        "sliceName": "classification",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://mpd.noma.no/structuredefinition/substance-classification"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "SubstanceSpecification.modifierExtension",
        "path": "SubstanceSpecification.modifierExtension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.identifier.extension",
        "path": "SubstanceSpecification.identifier.extension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.identifier.use",
        "path": "SubstanceSpecification.identifier.use",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.identifier.type",
        "path": "SubstanceSpecification.identifier.type",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.identifier.period",
        "path": "SubstanceSpecification.identifier.period",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.identifier.assigner",
        "path": "SubstanceSpecification.identifier.assigner",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.type.extension",
        "path": "SubstanceSpecification.type.extension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.type.coding.extension",
        "path": "SubstanceSpecification.type.coding.extension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.type.coding.system",
        "path": "SubstanceSpecification.type.coding.system",
        "fixedUri": "https://mpd.noma.no/codesystem/substance-type"
      },
      {
        "id": "SubstanceSpecification.type.coding.version",
        "path": "SubstanceSpecification.type.coding.version",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.type.coding.userSelected",
        "path": "SubstanceSpecification.type.coding.userSelected",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.type.text",
        "path": "SubstanceSpecification.type.text",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.status",
        "path": "SubstanceSpecification.status",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.domain",
        "path": "SubstanceSpecification.domain",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.description",
        "path": "SubstanceSpecification.description",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.source",
        "path": "SubstanceSpecification.source",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.comment",
        "path": "SubstanceSpecification.comment",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.moiety",
        "path": "SubstanceSpecification.moiety",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.property",
        "path": "SubstanceSpecification.property",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.referenceInformation",
        "path": "SubstanceSpecification.referenceInformation",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.structure",
        "path": "SubstanceSpecification.structure",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.code",
        "path": "SubstanceSpecification.code",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.extension:substanceSpecificationNameAliasNOMA",
        "path": "SubstanceSpecification.name.extension",
        "sliceName": "substanceSpecificationNameAliasNOMA",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://mpd.noma.no/structuredefinition/alias-name"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "SubstanceSpecification.name.modifierExtension",
        "path": "SubstanceSpecification.name.modifierExtension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.type",
        "path": "SubstanceSpecification.name.type",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.status",
        "path": "SubstanceSpecification.name.status",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.preferred",
        "path": "SubstanceSpecification.name.preferred",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.language.extension",
        "path": "SubstanceSpecification.name.language.extension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.language.coding.extension",
        "path": "SubstanceSpecification.name.language.coding.extension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.language.coding.system",
        "path": "SubstanceSpecification.name.language.coding.system",
        "fixedUri": "https://mpd.noma.no/codesystem/language-codes"
      },
      {
        "id": "SubstanceSpecification.name.language.coding.version",
        "path": "SubstanceSpecification.name.language.coding.version",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.language.coding.userSelected",
        "path": "SubstanceSpecification.name.language.coding.userSelected",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.language.text",
        "path": "SubstanceSpecification.name.language.text",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.domain",
        "path": "SubstanceSpecification.name.domain",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.jurisdiction",
        "path": "SubstanceSpecification.name.jurisdiction",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.synonym",
        "path": "SubstanceSpecification.name.synonym",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.translation",
        "path": "SubstanceSpecification.name.translation",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.official",
        "path": "SubstanceSpecification.name.official",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.name.source",
        "path": "SubstanceSpecification.name.source",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.molecularWeight",
        "path": "SubstanceSpecification.molecularWeight",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.extension",
        "path": "SubstanceSpecification.relationship.extension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.modifierExtension",
        "path": "SubstanceSpecification.relationship.modifierExtension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.substance[x]",
        "path": "SubstanceSpecification.relationship.substance[x]",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://noma.no/fhir/StructureDefinition/SubstanceSpecification_NOMA_v3_0"
            ]
          },
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "SubstanceSpecification.relationship.relationship.extension",
        "path": "SubstanceSpecification.relationship.relationship.extension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.relationship.coding.extension",
        "path": "SubstanceSpecification.relationship.relationship.coding.extension",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.relationship.coding.system",
        "path": "SubstanceSpecification.relationship.relationship.coding.system",
        "fixedUri": "https://mpd.noma.no/codesystem/substance-relationship-role"
      },
      {
        "id": "SubstanceSpecification.relationship.relationship.coding.version",
        "path": "SubstanceSpecification.relationship.relationship.coding.version",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.relationship.coding.userSelected",
        "path": "SubstanceSpecification.relationship.relationship.coding.userSelected",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.relationship.text",
        "path": "SubstanceSpecification.relationship.relationship.text",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.isDefining",
        "path": "SubstanceSpecification.relationship.isDefining",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.amount[x]",
        "path": "SubstanceSpecification.relationship.amount[x]",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.amountRatioLowLimit",
        "path": "SubstanceSpecification.relationship.amountRatioLowLimit",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.amountType",
        "path": "SubstanceSpecification.relationship.amountType",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.relationship.source",
        "path": "SubstanceSpecification.relationship.source",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.nucleicAcid",
        "path": "SubstanceSpecification.nucleicAcid",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.polymer",
        "path": "SubstanceSpecification.polymer",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.protein",
        "path": "SubstanceSpecification.protein",
        "max": "0"
      },
      {
        "id": "SubstanceSpecification.sourceMaterial",
        "path": "SubstanceSpecification.sourceMaterial",
        "max": "0"
      }
    ]
  }
}