{
  "resourceType": "StructureDefinition",
  "id": "6e0b67aa-c931-456b-8efc-f8852571826a",
  "meta": {
    "versionId": "12",
    "lastUpdated": "2017-05-07T09:21:18.748+00:00"
  },
  "text": {
    "status": "additional",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>Note: this Bundle profile should actually slice the bundle entry by profile (entry.resource).\n\nHowever the .NET validator currently does not yet support slicing by profile.\n\nTo get the example working, we hacked the example input and manually assigned unique id's to all the bundle entry elements.\nThen we hacked the bundle profile to slice on the value of entry.id.\nNow the validator can match the example bundle entries to the correct profile entry slicing constraints.\n\n</p></div>"
  },
  "url": "http://example.org/fhir/StructureDefinition/PhysioMonitorDeviceBundle",
  "name": "PhysioMonitorDeviceBundle",
  "status": "draft",
  "date": "2017-05-06T14:58:22.5342137+00:00",
  "description": "StructureDefinition for Physio Monitoring Device Bundle Resource",
  "fhirVersion": "3.0.0",
  "kind": "resource",
  "abstract": false,
  "type": "Bundle",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "path": "Bundle.entry",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "id"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Bundle.entry:Patient",
        "path": "Bundle.entry",
        "sliceName": "Patient",
        "min": 1,
        "max": "1"
      },
      {
        "path": "Bundle.entry.id",
        "fixedString": "Patient"
      },
      {
        "path": "Bundle.entry.resource",
        "short": "A Patient resource",
        "min": 1,
        "type": [
          {
            "code": "Patient"
          }
        ]
      },
      {
        "path": "Bundle.entry.request.method",
        "short": "hGET | POST | PUT | DELETE",
        "fixedCode": "POST"
      },
      {
        "path": "Bundle.entry.request.url",
        "fixedUri": "Patient"
      },
      {
        "id": "Bundle.entry:Device",
        "path": "Bundle.entry",
        "sliceName": "Device",
        "min": 1,
        "max": "1"
      },
      {
        "path": "Bundle.entry.id",
        "fixedString": "Device"
      },
      {
        "id": "Bundle.entry:Device.resource",
        "path": "Bundle.entry.resource",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "short": "A device profile",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Device",
            "profile": "http://example.org/fhir/StructureDefinition/PatientMonitorMultiParamDevice"
          }
        ]
      },
      {
        "path": "Bundle.entry.request.method",
        "fixedCode": "POST"
      },
      {
        "path": "Bundle.entry.request.url",
        "fixedUri": "Device"
      },
      {
        "id": "Bundle.entry:PhysioMonitorComponent",
        "path": "Bundle.entry",
        "sliceName": "PhysioMonitorComponent",
        "min": 1,
        "max": "1"
      },
      {
        "path": "Bundle.entry.id",
        "fixedString": "DeviceComponent1"
      },
      {
        "id": "Bundle.entry:PhysioMonitorComponent.resource",
        "path": "Bundle.entry.resource",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "DeviceComponent",
            "profile": "http://example.org/fhir/StructureDefinition/PhysioMonitorComponent"
          }
        ]
      },
      {
        "path": "Bundle.entry.request.method",
        "fixedCode": "POST"
      },
      {
        "path": "Bundle.entry.request.url",
        "fixedUri": "DeviceComponent"
      }
    ]
  }
}