<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="FTCommunication-1d466f50-d185-4d0e-9206-c12a5a789d28" />
  <url value="https://www.esante.lu/fhir-spec/StructureDefinition/FTCommunication" />
  <version value="0.0.1" />
  <name value="FTCommunication" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Communication" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Communication" />
  <derivation value="constraint" />
  <differential>
    <element id="Communication">
      <path value="Communication" />
      <short value="Sending the lab result as XML and/or PDF to a heealth professional" />
    </element>
    <element id="Communication.meta">
      <path value="Communication.meta" />
      <min value="1" />
    </element>
    <element id="Communication.meta.id">
      <path value="Communication.meta.id" />
      <max value="0" />
    </element>
    <element id="Communication.meta.versionId">
      <path value="Communication.meta.versionId" />
      <max value="0" />
    </element>
    <element id="Communication.meta.lastUpdated">
      <path value="Communication.meta.lastUpdated" />
      <max value="0" />
    </element>
    <element id="Communication.meta.source">
      <path value="Communication.meta.source" />
      <max value="0" />
    </element>
    <element id="Communication.meta.profile">
      <path value="Communication.meta.profile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://www.esante.lu/fhir-spec/StructureDefinition/FTCommunication" />
    </element>
    <element id="Communication.meta.security">
      <path value="Communication.meta.security" />
      <max value="0" />
    </element>
    <element id="Communication.meta.tag">
      <path value="Communication.meta.tag" />
      <max value="0" />
    </element>
    <element id="Communication.implicitRules">
      <path value="Communication.implicitRules" />
      <max value="0" />
    </element>
    <element id="Communication.language">
      <path value="Communication.language" />
      <max value="0" />
    </element>
    <element id="Communication.text">
      <path value="Communication.text" />
      <max value="0" />
    </element>
    <element id="Communication.contained">
      <path value="Communication.contained" />
      <max value="0" />
    </element>
    <element id="Communication.extension">
      <path value="Communication.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <short value="The link to the CDA sent on the DSP" />
    </element>
    <element id="Communication.extension:CDAReference">
      <path value="Communication.extension" />
      <sliceName value="CDAReference" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://www.esante.lu/fhir-spec/StructureDefinition/CDAReferenceExt" />
      </type>
    </element>
    <element id="Communication.identifier">
      <path value="Communication.identifier" />
      <short value="An identifier for the Communication" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://www.esante.lu/fhir-spec/StructureDefinition/EPSimpleIdentifier" />
      </type>
    </element>
    <element id="Communication.instantiatesCanonical">
      <path value="Communication.instantiatesCanonical" />
      <max value="0" />
    </element>
    <element id="Communication.instantiatesUri">
      <path value="Communication.instantiatesUri" />
      <max value="0" />
    </element>
    <element id="Communication.basedOn">
      <path value="Communication.basedOn" />
      <short value="The prescription" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://www.esante.lu/fhir-spec/StructureDefinition/EPLabPrescription" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="Communication.basedOn.id">
      <path value="Communication.basedOn.id" />
      <max value="0" />
    </element>
    <element id="Communication.basedOn.reference">
      <path value="Communication.basedOn.reference" />
      <short value="Reference to the prescription by its identifier" />
      <min value="1" />
      <example>
        <label value="Example" />
        <valueString value="CarePlan?identifier=urn:ietf:rfc:3986|urn:uuid:cb207203-5809-4fc7-8265-775b936ee511" />
      </example>
      <condition value="val-2" />
      <constraint>
        <key value="val-2" />
        <severity value="error" />
        <human value="SHALL reference a CarePlan by its identifier" />
        <expression value="startsWith('CarePlan?identifier=urn:ietf:rfc:3986|urn:uuid:') and length()=83" />
        <source value="https://www.esante.lu/fhir-spec/StructureDefinition/FTCommunication" />
      </constraint>
    </element>
    <element id="Communication.basedOn.type">
      <path value="Communication.basedOn.type" />
      <max value="0" />
    </element>
    <element id="Communication.basedOn.identifier">
      <path value="Communication.basedOn.identifier" />
      <max value="0" />
    </element>
    <element id="Communication.basedOn.display">
      <path value="Communication.basedOn.display" />
      <max value="0" />
    </element>
    <element id="Communication.partOf">
      <path value="Communication.partOf" />
      <max value="0" />
    </element>
    <element id="Communication.inResponseTo">
      <path value="Communication.inResponseTo" />
      <max value="0" />
    </element>
    <element id="Communication.status">
      <path value="Communication.status" />
      <condition value="val-commStatus" />
      <constraint>
        <key value="val-commStatus" />
        <severity value="error" />
        <human value="Only the statuses in-progress, completed, stopped and  entered-in-error are used" />
        <expression value="($this = 'in-progress') or ($this = 'completed') or ($this = 'entered-in-error')  or ($this = 'stopped')" />
        <source value="https://www.esante.lu/fhir-spec/StructureDefinition/FTCommunication" />
      </constraint>
    </element>
    <element id="Communication.statusReason">
      <path value="Communication.statusReason" />
      <max value="0" />
    </element>
    <element id="Communication.category">
      <path value="Communication.category" />
      <definition value="Constant" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Communication.category.id">
      <path value="Communication.category.id" />
      <max value="0" />
    </element>
    <element id="Communication.category.coding">
      <path value="Communication.category.coding" />
      <min value="1" />
      <max value="1" />
      <fixedCoding>
        <system value="https://www.esante.lu/fhir-spec/CodeSystem/EPrescCategories" />
        <code value="FT_DOCS" />
      </fixedCoding>
    </element>
    <element id="Communication.category.coding.id">
      <path value="Communication.category.coding.id" />
      <max value="0" />
    </element>
    <element id="Communication.category.coding.system">
      <path value="Communication.category.coding.system" />
      <min value="1" />
    </element>
    <element id="Communication.category.coding.version">
      <path value="Communication.category.coding.version" />
      <max value="0" />
    </element>
    <element id="Communication.category.coding.code">
      <path value="Communication.category.coding.code" />
      <min value="1" />
    </element>
    <element id="Communication.category.coding.display">
      <path value="Communication.category.coding.display" />
      <max value="0" />
    </element>
    <element id="Communication.category.coding.userSelected">
      <path value="Communication.category.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Communication.category.text">
      <path value="Communication.category.text" />
      <max value="0" />
    </element>
    <element id="Communication.priority">
      <path value="Communication.priority" />
      <max value="0" />
    </element>
    <element id="Communication.medium">
      <path value="Communication.medium" />
      <max value="0" />
    </element>
    <element id="Communication.subject">
      <path value="Communication.subject" />
      <max value="0" />
    </element>
    <element id="Communication.topic">
      <path value="Communication.topic" />
      <max value="0" />
    </element>
    <element id="Communication.about">
      <path value="Communication.about" />
      <max value="0" />
    </element>
    <element id="Communication.encounter">
      <path value="Communication.encounter" />
      <max value="0" />
    </element>
    <element id="Communication.sent">
      <path value="Communication.sent" />
      <min value="1" />
    </element>
    <element id="Communication.recipient">
      <path value="Communication.recipient" />
      <short value="The health professionals to send to, included in the Bundle" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://www.esante.lu/fhir-spec/StructureDefinition/FTPractitioner" />
        <aggregation value="bundled" />
      </type>
    </element>
    <element id="Communication.recipient.reference">
      <path value="Communication.recipient.reference" />
      <min value="1" />
      <example>
        <label value="Example" />
        <valueString value="urn:uuid:43b25517-9ab1-4a3b-96b0-809e7f118c41" />
      </example>
    </element>
    <element id="Communication.recipient.type">
      <path value="Communication.recipient.type" />
      <max value="0" />
    </element>
    <element id="Communication.recipient.identifier">
      <path value="Communication.recipient.identifier" />
      <max value="0" />
    </element>
    <element id="Communication.recipient.display">
      <path value="Communication.recipient.display" />
      <max value="0" />
    </element>
    <element id="Communication.reasonCode">
      <path value="Communication.reasonCode" />
      <max value="0" />
    </element>
    <element id="Communication.reasonReference">
      <path value="Communication.reasonReference" />
      <short value="Result transmitted by this Communication" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://www.esante.lu/fhir-spec/StructureDefinition/FTDiagReport" />
        <aggregation value="bundled" />
      </type>
      <example>
        <label value="Example" />
        <valueString value="urn:uuid:43b25517-9ab1-4a3b-96b0-809e7f118c41" />
      </example>
    </element>
    <element id="Communication.payload">
      <path value="Communication.payload" />
      <slicing>
        <discriminator>
          <type value="profile" />
          <path value="content.ofType(Reference).resolve()" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <max value="1" />
    </element>
    <element id="Communication.payload:pdf">
      <path value="Communication.payload" />
      <sliceName value="pdf" />
      <short value="Reference to a PDF Document" />
      <definition value="This payload must only be used if the PDF Document is different for the targeted requester (Communication) - If the document is common, it must be supplied in the DiagnosticReport" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Communication.payload:pdf.content[x]">
      <path value="Communication.payload.content[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource" />
        <aggregation value="bundled" />
      </type>
    </element>
    <element id="Communication.payload:pdf.contentReference">
      <path value="Communication.payload.contentReference" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://www.esante.lu/fhir-spec/StructureDefinition/FTResPDF" />
        <aggregation value="bundled" />
      </type>
      <example>
        <label value="Example" />
        <valueString value="urn:uuid:43b25517-9ab1-4a3b-96b0-809e7f118c41" />
      </example>
    </element>
    <element id="Communication.payload:pdf.contentReference.reference">
      <path value="Communication.payload.contentReference.reference" />
      <min value="1" />
    </element>
    <element id="Communication.payload:pdf.contentReference.type">
      <path value="Communication.payload.contentReference.type" />
      <max value="0" />
    </element>
    <element id="Communication.payload:pdf.contentReference.identifier">
      <path value="Communication.payload.contentReference.identifier" />
      <max value="0" />
    </element>
    <element id="Communication.payload:pdf.contentReference.display">
      <path value="Communication.payload.contentReference.display" />
      <max value="0" />
    </element>
    <element id="Communication.note">
      <path value="Communication.note" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>