{
  "resourceType": "StructureDefinition",
  "id": "hso-lib-FESTInteractiondata",
  "url": "https://hso.no/fhir/StructureDefinition/HsoLibFESTInteractiondata",
  "version": "1.0",
  "name": "HsoLibFESTInteractiondata",
  "status": "draft",
  "date": "2021-05-01",
  "description": "Data describing the interaction between two or more medications.",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "complex-type",
  "abstract": false,
  "context": [
    {
      "expression": "Basic",
      "type": "element"
    }
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension",
        "path": "Extension",
        "short": "Interactiondata",
        "definition": "Interactiondata based on information from FEST."
      },
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "min": 4
      },
      {
        "id": "Extension.extension:relevance",
        "path": "Extension.extension",
        "sliceName": "relevance",
        "short": "Relevance of interaction",
        "definition": "Coded values that identifies how critical the interaction is.",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:relevance.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:relevance.url",
        "path": "Extension.extension.url",
        "fixedUri": "relevance"
      },
      {
        "id": "Extension.extension:relevance.value[x]",
        "path": "Extension.extension.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Extension.extension:relevance.value[x].coding.system",
        "path": "Extension.extension.value[x].coding.system",
        "fixedUri": "urn:oid:2.16.578.1.12.4.1.1.7483"
      },
      {
        "id": "Extension.extension:situationcriterium",
        "path": "Extension.extension",
        "sliceName": "situationcriterium",
        "short": "Describes when the warning is relevant",
        "definition": "Textual description telling when interaction is relevant.",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Extension.extension:situationcriterium.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:situationcriterium.url",
        "path": "Extension.extension.url",
        "fixedUri": "situationcriterium"
      },
      {
        "id": "Extension.extension:situationcriterium.value[x]",
        "path": "Extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:clinicalconsequence",
        "path": "Extension.extension",
        "sliceName": "clinicalconsequence",
        "short": "Conseques of not taking action",
        "definition": "Describes what actions should be taken and consequeses of not taking action.",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:clinicalconsequence.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:clinicalconsequence.url",
        "path": "Extension.extension.url",
        "fixedUri": "clinicalconsequence"
      },
      {
        "id": "Extension.extension:clinicalconsequence.value[x]",
        "path": "Extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:interactionmechanism",
        "path": "Extension.extension",
        "sliceName": "interactionmechanism",
        "short": "What leads to interaction",
        "definition": "Describes what are the mechanisms that lead to interaction.",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Extension.extension:interactionmechanism.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:interactionmechanism.url",
        "path": "Extension.extension.url",
        "fixedUri": "interactionmechanism"
      },
      {
        "id": "Extension.extension:interactionmechanism.value[x]",
        "path": "Extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:source",
        "path": "Extension.extension",
        "sliceName": "source",
        "short": "Source used to identify interaction",
        "definition": "What source that docuements the interaction problem.",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:source.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:source.url",
        "path": "Extension.extension.url",
        "fixedUri": "source"
      },
      {
        "id": "Extension.extension:source.value[x]",
        "path": "Extension.extension.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Extension.extension:source.value[x].coding.system",
        "path": "Extension.extension.value[x].coding.system",
        "fixedUri": "urn:oid:2.16.578.1.12.4.1.1.7485"
      },
      {
        "id": "Extension.extension:handling",
        "path": "Extension.extension",
        "sliceName": "handling",
        "short": "Actions that should be taken",
        "definition": "Describes how to handle the interaction.",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Extension.extension:handling.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:handling.url",
        "path": "Extension.extension.url",
        "fixedUri": "handling"
      },
      {
        "id": "Extension.extension:handling.value[x]",
        "path": "Extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:displayrule",
        "path": "Extension.extension",
        "sliceName": "displayrule",
        "short": "Rule for showing to user",
        "definition": "Identifes when to present to user and what kind of user.",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Extension.extension:displayrule.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:displayrule.url",
        "path": "Extension.extension.url",
        "fixedUri": "displayrule"
      },
      {
        "id": "Extension.extension:displayrule.value[x]",
        "path": "Extension.extension.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Extension.extension:displayrule.value[x].coding.system",
        "path": "Extension.extension.value[x].coding.system",
        "fixedUri": "urn:oid:2.16.578.1.12.4.1.1.7442"
      },
      {
        "id": "Extension.extension:reference",
        "path": "Extension.extension",
        "sliceName": "reference",
        "short": "References to background information",
        "definition": "References to documentation of the interaction.",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Extension.extension:reference.extension:source",
        "path": "Extension.extension.extension",
        "sliceName": "source",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Extension.extension:reference.extension:source.extension",
        "path": "Extension.extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:reference.extension:source.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "source"
      },
      {
        "id": "Extension.extension:reference.extension:source.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:reference.extension:link",
        "path": "Extension.extension.extension",
        "sliceName": "link",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Extension.extension:reference.extension:link.extension",
        "path": "Extension.extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:reference.extension:link.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "link"
      },
      {
        "id": "Extension.extension:reference.extension:link.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "url"
          }
        ]
      },
      {
        "id": "Extension.extension:reference.url",
        "path": "Extension.extension.url",
        "fixedUri": "reference"
      },
      {
        "id": "Extension.extension:reference.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:substancegroup",
        "path": "Extension.extension",
        "sliceName": "substancegroup",
        "short": "identifies substances that interact",
        "definition": "substances that are identified to interact.",
        "min": 1,
        "max": "*"
      },
      {
        "id": "Extension.extension:substancegroup.extension",
        "path": "Extension.extension.extension",
        "min": 1
      },
      {
        "id": "Extension.extension:substancegroup.extension:name",
        "path": "Extension.extension.extension",
        "sliceName": "name",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:substancegroup.extension:name.extension",
        "path": "Extension.extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:substancegroup.extension:name.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "name"
      },
      {
        "id": "Extension.extension:substancegroup.extension:name.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance",
        "path": "Extension.extension.extension",
        "sliceName": "substance",
        "min": 1,
        "max": "*"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension",
        "path": "Extension.extension.extension.extension",
        "min": 1
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:atc",
        "path": "Extension.extension.extension.extension",
        "sliceName": "atc",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:atc.extension",
        "path": "Extension.extension.extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:atc.url",
        "path": "Extension.extension.extension.extension.url",
        "fixedUri": "atc"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:atc.value[x]",
        "path": "Extension.extension.extension.extension.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:atc.value[x].coding.system",
        "path": "Extension.extension.extension.extension.value[x].coding.system",
        "fixedUri": "urn:oid:2.16.578.1.12.4.1.1.7180"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:substance",
        "path": "Extension.extension.extension.extension",
        "sliceName": "substance",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:substance.extension",
        "path": "Extension.extension.extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:substance.url",
        "path": "Extension.extension.extension.extension.url",
        "fixedUri": "substance"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:substance.value[x]",
        "path": "Extension.extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:refsubstance",
        "path": "Extension.extension.extension.extension",
        "sliceName": "refsubstance",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:refsubstance.extension",
        "path": "Extension.extension.extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:refsubstance.url",
        "path": "Extension.extension.extension.extension.url",
        "fixedUri": "refsubstance"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.extension:refsubstance.value[x]",
        "path": "Extension.extension.extension.extension.value[x]",
        "type": [
          {
            "code": "Reference"
          }
        ]
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "substance"
      },
      {
        "id": "Extension.extension:substancegroup.extension:substance.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:substancegroup.url",
        "path": "Extension.extension.url",
        "fixedUri": "substancegroup"
      },
      {
        "id": "Extension.extension:substancegroup.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "fixedUri": "https://hso.no/fhir/StructureDefinition/HsoLibFESTInteractiondata"
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "max": "0"
      }
    ]
  }
}