{
  "resourceType": "StructureDefinition",
  "url": "http://apiframework.dedalus.eu/fhir/StructureDefinition/CodeSystem",
  "name": "CodeSystem",
  "title": "API Framework CodeSystem",
  "status": "active",
  "experimental": false,
  "description": "Dedalus API Framework core profile for CodeSystem",
  "fhirVersion": "3.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "CodeSystem",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/CodeSystem",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "CodeSystem.id",
        "path": "CodeSystem.id",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.meta",
        "path": "CodeSystem.meta",
        "min": 1,
        "type": [
          {
            "code": "Meta",
            "profile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/Meta-ForCommonConformance"
          }
        ]
      },
      {
        "id": "CodeSystem.meta.tag",
        "path": "CodeSystem.meta.tag",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "CodeSystem.meta.tag:isDelta",
        "path": "CodeSystem.meta.tag",
        "sliceName": "isDelta",
        "max": "1"
      },
      {
        "id": "CodeSystem.meta.tag:isDelta.system",
        "path": "CodeSystem.meta.tag.system",
        "min": 1,
        "fixedUri": "http://apiframework.dedalus.eu/tag/isDelta"
      },
      {
        "id": "CodeSystem.meta.tag:isDelta.code",
        "path": "CodeSystem.meta.tag.code",
        "short": "true | false",
        "min": 1
      },
      {
        "id": "CodeSystem.text",
        "path": "CodeSystem.text",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.extension",
        "path": "CodeSystem.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "CodeSystem.extension:hasNonUniqueConceptCodes",
        "path": "CodeSystem.extension",
        "sliceName": "hasNonUniqueConceptCodes",
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/extension-codeSystem-hasNonUniqueConceptCodes"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "CodeSystem.url",
        "path": "CodeSystem.url",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "CodeSystem.version",
        "path": "CodeSystem.version",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "CodeSystem.name",
        "path": "CodeSystem.name",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.title",
        "path": "CodeSystem.title",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.status",
        "path": "CodeSystem.status",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.experimental",
        "path": "CodeSystem.experimental",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.publisher",
        "path": "CodeSystem.publisher",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.description",
        "path": "CodeSystem.description",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.caseSensitive",
        "path": "CodeSystem.caseSensitive",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.valueSet",
        "path": "CodeSystem.valueSet",
        "requirements": "This element is mandatory in a CREATE transaction so that terminology server can create the corresponding \"Entire CodeSystem\" ValueSet with the correct canonical URL.",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.versionNeeded",
        "path": "CodeSystem.versionNeeded",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "CodeSystem.content",
        "path": "CodeSystem.content",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.property",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
            "valueString": "Property"
          }
        ],
        "path": "CodeSystem.property",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "code"
            }
          ],
          "rules": "openAtEnd"
        },
        "mustSupport": true
      },
      {
        "id": "CodeSystem.property.code",
        "path": "CodeSystem.property.code",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.property.type",
        "path": "CodeSystem.property.type",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.property:concept-status",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
            "valueString": "Property"
          }
        ],
        "path": "CodeSystem.property",
        "sliceName": "concept-status",
        "definition": "Conceives the status of the concept\r\nactive | deleted",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.property:concept-status.code",
        "path": "CodeSystem.property.code",
        "fixedCode": "status"
      },
      {
        "id": "CodeSystem.property:concept-status.type",
        "path": "CodeSystem.property.type",
        "fixedCode": "code",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.property:concept-period-start",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
            "valueString": "Property"
          }
        ],
        "path": "CodeSystem.property",
        "sliceName": "concept-period-start",
        "requirements": "Defines the start of the effective validity period of the concept",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.property:concept-period-start.code",
        "path": "CodeSystem.property.code",
        "fixedCode": "period-start"
      },
      {
        "id": "CodeSystem.property:concept-period-start.type",
        "path": "CodeSystem.property.type",
        "fixedCode": "dateTime"
      },
      {
        "id": "CodeSystem.property:concept-period-end",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
            "valueString": "Property"
          }
        ],
        "path": "CodeSystem.property",
        "sliceName": "concept-period-end",
        "requirements": "Defines the end of the effective validity period of the concept",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.property:concept-period-end.code",
        "path": "CodeSystem.property.code",
        "fixedCode": "period-end"
      },
      {
        "id": "CodeSystem.property:concept-period-end.type",
        "path": "CodeSystem.property.type",
        "fixedCode": "dateTime"
      },
      {
        "id": "CodeSystem.concept",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
            "valueString": "ConceptDefinition"
          }
        ],
        "path": "CodeSystem.concept",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.concept.id",
        "path": "CodeSystem.concept.id",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.concept.code",
        "path": "CodeSystem.concept.code",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.concept.display",
        "path": "CodeSystem.concept.display",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.concept.designation",
        "path": "CodeSystem.concept.designation",
        "mustSupport": true
      },
      {
        "id": "CodeSystem.concept.property",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
            "valueString": "ConceptProperty"
          }
        ],
        "path": "CodeSystem.concept.property",
        "mustSupport": true
      }
    ]
  }
}