{
  "resourceType": "StructureDefinition",
  "url": "http://apiframework.dedalus.eu/fhir/StructureDefinition/Communication",
  "name": "Communication",
  "status": "active",
  "experimental": false,
  "date": "2018-02-23",
  "description": "Communication D4",
  "fhirVersion": "3.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Communication",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Communication",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Communication.id",
        "path": "Communication.id",
        "mustSupport": true
      },
      {
        "id": "Communication.meta",
        "path": "Communication.meta",
        "min": 1,
        "type": [
          {
            "code": "Meta",
            "profile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/Meta-ForCommonConformance"
          }
        ]
      },
      {
        "id": "Communication.text",
        "path": "Communication.text",
        "mustSupport": true
      },
      {
        "id": "Communication.status",
        "path": "Communication.status",
        "mustSupport": true
      },
      {
        "id": "Communication.medium",
        "path": "Communication.medium",
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSetReference": {
            "reference": "http://apiframework.dedalus.eu/fhir/ValueSet/CommunicationMedium"
          }
        }
      },
      {
        "id": "Communication.subject",
        "path": "Communication.subject",
        "mustSupport": true
      },
      {
        "id": "Communication.recipient",
        "path": "Communication.recipient",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Communication.context",
        "path": "Communication.context",
        "mustSupport": true
      },
      {
        "id": "Communication.received",
        "path": "Communication.received",
        "mustSupport": true
      },
      {
        "id": "Communication.sender",
        "path": "Communication.sender",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Communication.payload",
        "path": "Communication.payload",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "id"
            }
          ],
          "ordered": false,
          "rules": "openAtEnd"
        },
        "mustSupport": true
      },
      {
        "id": "Communication.payload.id",
        "path": "Communication.payload.id",
        "mustSupport": true
      },
      {
        "id": "Communication.payload.content[x]",
        "path": "Communication.payload.content[x]",
        "type": [
          {
            "code": "string"
          },
          {
            "code": "Attachment"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Communication.payload:payloadBody",
        "path": "Communication.payload",
        "sliceName": "payloadBody",
        "short": "text-based body of the communication",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Communication.payload:payloadBody.id",
        "path": "Communication.payload.id",
        "requirements": "Uniquely identifies the repetition of payload that will contain the payload body",
        "min": 1,
        "fixedString": "payloadBody"
      },
      {
        "id": "Communication.payload:payloadBody.content[x]:contentString",
        "path": "Communication.payload.contentString",
        "sliceName": "contentString",
        "type": [
          {
            "code": "string"
          }
        ]
      }
    ]
  }
}