{
  "resourceType": "StructureDefinition",
  "id": "HiisDeviceDefinitionMivSet",
  "url": "https://fhir.bfarm.de/StructureDefinition/HiisDeviceDefinitionMivSet",
  "version": "3.1.0-TEST",
  "name": "HiisDeviceDefinitionMivSet",
  "title": "HiisDeviceDefinitionMivSet",
  "status": "draft",
  "description": "Extension for referencing an MIV Set (Mandatory Interoperable Value Set).",
  "fhirVersion": "4.0.1",
  "kind": "complex-type",
  "abstract": false,
  "context": [
    {
      "type": "element",
      "expression": "DeviceDefinition"
    }
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension",
        "path": "Extension",
        "short": "MIV Set",
        "definition": "Contains information about a supported MIV Set including time parameters for interfaces.",
        "mustSupport": true
      },
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Extension.extension:delayFromRealTime",
        "path": "Extension.extension",
        "sliceName": "delayFromRealTime",
        "short": "Delay from Real Time",
        "definition": "Maximum delay in seconds of the end-to-end synchronization from the Personal Health Device to the Health Record under normal operational conditions. (Only set in HiisDeviceDataRecorderDefinition.)",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Extension.extension:delayFromRealTime.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:delayFromRealTime.url",
        "path": "Extension.extension.url",
        "fixedUri": "delayFromRealTime"
      },
      {
        "id": "Extension.extension:delayFromRealTime.value[x]",
        "path": "Extension.extension.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Extension.extension:delayFromRealTime.value[x]:valueDuration",
        "path": "Extension.extension.value[x]",
        "sliceName": "valueDuration",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Duration"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Extension.extension:gracePeriod",
        "path": "Extension.extension",
        "sliceName": "gracePeriod",
        "short": "Grace Period",
        "definition": "Time span a DiGA must wait between two requests for data that affect the same MIV and patient. (Only set in HiisDeviceDataRecorderDefinition.)",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Extension.extension:gracePeriod.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:gracePeriod.url",
        "path": "Extension.extension.url",
        "fixedUri": "gracePeriod"
      },
      {
        "id": "Extension.extension:gracePeriod.value[x]",
        "path": "Extension.extension.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Extension.extension:gracePeriod.value[x]:valueDuration",
        "path": "Extension.extension.value[x]",
        "sliceName": "valueDuration",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Duration"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Extension.extension:historicDataPeriod",
        "path": "Extension.extension",
        "sliceName": "historicDataPeriod",
        "short": "Historic Data Period",
        "definition": "Minimum number of days historic data is available at the Device Data Recorder. (Only set in HiisDeviceDataRecorderDefinition.)",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Extension.extension:historicDataPeriod.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:historicDataPeriod.url",
        "path": "Extension.extension.url",
        "fixedUri": "historicDataPeriod"
      },
      {
        "id": "Extension.extension:historicDataPeriod.value[x]",
        "path": "Extension.extension.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Extension.extension:historicDataPeriod.value[x]:valueDuration",
        "path": "Extension.extension.value[x]",
        "sliceName": "valueDuration",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Duration"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Extension.extension:mivSet",
        "path": "Extension.extension",
        "sliceName": "mivSet",
        "short": "MIV Set Reference",
        "definition": "Reference to the supported MIV Set.",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Extension.extension:mivSet.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:mivSet.url",
        "path": "Extension.extension.url",
        "fixedUri": "mivSet"
      },
      {
        "id": "Extension.extension:mivSet.value[x]",
        "path": "Extension.extension.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Extension.extension:mivSet.value[x]:valueReference",
        "path": "Extension.extension.value[x]",
        "sliceName": "valueReference",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Extension.extension:mivSet.value[x]:valueReference.reference",
        "path": "Extension.extension.value[x].reference",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Extension.extension:mivSet.value[x]:valueReference.display",
        "path": "Extension.extension.value[x].display",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "fixedUri": "https://fhir.bfarm.de/StructureDefinition/HiisDeviceDefinitionMivSet"
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "max": "0"
      }
    ]
  }
}