{
  "resourceType": "StructureDefinition",
  "id": "DisinfectionCycle",
  "url": "https://example.org/fhir/StructureDefinition/DisinfectionCycle",
  "version": "1.0.0",
  "name": "DisinfectionCycle",
  "status": "active",
  "date": "2024-11-19",
  "description": "A profile defining the structure and constraints for the Disinfection Cycle Bundle containing procedures, substances, devices, observations, and related resources.",
  "fhirVersion": "5.0.0",
  "kind": "resource",
  "abstract": false,
  "type": "Bundle",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle",
  "differential": {
    "element": [
      {
        "id": "Bundle.identifier",
        "path": "Bundle.identifier",
        "min": 1,
        "type": [
          {
            "code": "Identifier"
          }
        ]
      },
      {
        "id": "Bundle.type",
        "path": "Bundle.type",
        "fixedCode": "collection"
      },
      {
        "id": "Bundle.entry",
        "path": "Bundle.entry",
        "min": 1,
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Bundle.entry.fullUrl",
        "path": "Bundle.entry.fullUrl",
        "min": 1,
        "type": [
          {
            "code": "uri"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource",
        "path": "Bundle.entry.resource",
        "min": 1,
        "type": [
          {
            "code": "Resource"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Procedure",
        "path": "Bundle.entry.resource",
        "type": [
          {
            "code": "Procedure"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Procedure.subject",
        "path": "Bundle.entry.resource.Procedure.subject",
        "min": 1,
        "type": [
          {
            "code": "Reference"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Procedure.status",
        "path": "Bundle.entry.resource.Procedure.status",
        "min": 1,
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Substance",
        "path": "Bundle.entry.resource",
        "type": [
          {
            "code": "Substance"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Substance.code",
        "path": "Bundle.entry.resource.Substance.code",
        "min": 1,
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Organization",
        "path": "Bundle.entry.resource",
        "type": [
          {
            "code": "Organization"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Practitioner",
        "path": "Bundle.entry.resource",
        "type": [
          {
            "code": "Practitioner"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Device",
        "path": "Bundle.entry.resource",
        "type": [
          {
            "code": "Device"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Device.serialNumber",
        "path": "Bundle.entry.resource.Device.serialNumber",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Observation",
        "path": "Bundle.entry.resource",
        "type": [
          {
            "code": "Observation"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Observation.status",
        "path": "Bundle.entry.resource.Observation.status",
        "min": 1,
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.Observation.code",
        "path": "Bundle.entry.resource.Observation.code",
        "min": 1,
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.DeviceDefinition",
        "path": "Bundle.entry.resource",
        "type": [
          {
            "code": "DeviceDefinition"
          }
        ]
      },
      {
        "id": "Bundle.entry.resource.DeviceDefinition.identifier",
        "path": "Bundle.entry.resource.DeviceDefinition.identifier",
        "min": 1,
        "type": [
          {
            "code": "Identifier"
          }
        ]
      }
    ]
  }
}