{
  "resourceType": "StructureDefinition",
  "url": "http://apiframework.dedalus.eu/fhir/StructureDefinition/RequestGroup-ForORD",
  "name": "RequestGroup-ForORD",
  "title": "API Framework RequestGroup-ForProcedureOrder",
  "status": "active",
  "experimental": false,
  "date": "2019-02-23",
  "description": "Request grouping resource used in procedure orders",
  "fhirVersion": "3.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "RequestGroup",
  "baseDefinition": "http://apiframework.dedalus.eu/fhir/StructureDefinition/RequestGroup",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "RequestGroup.extension",
        "path": "RequestGroup.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "RequestGroup.extension:additionalInfo",
        "path": "RequestGroup.extension",
        "sliceName": "additionalInfo",
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/request-additionalInfo"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier",
        "path": "RequestGroup.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type.coding.code"
            }
          ],
          "rules": "open"
        },
        "requirements": "At least one business identifier for the requestrgoup is required, since it will be used as a boundary in linked procedurerequests via the procedurerequest.requisition property",
        "min": 1
      },
      {
        "id": "RequestGroup.identifier.type",
        "path": "RequestGroup.identifier.type",
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier.type.coding",
        "path": "RequestGroup.identifier.type.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier.type.coding.system",
        "path": "RequestGroup.identifier.type.coding.system",
        "min": 1
      },
      {
        "id": "RequestGroup.identifier.type.coding.code",
        "path": "RequestGroup.identifier.type.coding.code",
        "min": 1
      },
      {
        "id": "RequestGroup.identifier.system",
        "path": "RequestGroup.identifier.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier.value",
        "path": "RequestGroup.identifier.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier:placerGroupNumber",
        "path": "RequestGroup.identifier",
        "sliceName": "placerGroupNumber",
        "max": "1"
      },
      {
        "id": "RequestGroup.identifier:placerGroupNumber.type",
        "path": "RequestGroup.identifier.type",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier:placerGroupNumber.type.coding",
        "path": "RequestGroup.identifier.type.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier:placerGroupNumber.type.coding.code",
        "path": "RequestGroup.identifier.type.coding.code",
        "min": 1,
        "fixedCode": "PLAC"
      },
      {
        "id": "RequestGroup.identifier:placerGroupNumber.system",
        "path": "RequestGroup.identifier.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier:placerGroupNumber.value",
        "path": "RequestGroup.identifier.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier:fillerGroupNumber",
        "path": "RequestGroup.identifier",
        "sliceName": "fillerGroupNumber",
        "max": "1"
      },
      {
        "id": "RequestGroup.identifier:fillerGroupNumber.type",
        "path": "RequestGroup.identifier.type",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier:fillerGroupNumber.type.coding",
        "path": "RequestGroup.identifier.type.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier:fillerGroupNumber.type.coding.code",
        "path": "RequestGroup.identifier.type.coding.code",
        "min": 1,
        "fixedCode": "FILL"
      },
      {
        "id": "RequestGroup.identifier:fillerGroupNumber.system",
        "path": "RequestGroup.identifier.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RequestGroup.identifier:fillerGroupNumber.value",
        "path": "RequestGroup.identifier.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RequestGroup.action.participant",
        "path": "RequestGroup.action.participant",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Person"
          },
          {
            "code": "Reference",
            "targetProfile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/Practitioner"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
          }
        ]
      }
    ]
  }
}