{
  "resourceType": "StructureDefinition",
  "meta": {
    "lastUpdated": "2018-10-26T14:21:39.512+00:00"
  },
  "url": "http://apiframework.dedalus.eu/fhir/StructureDefinition/specimen-label",
  "name": "specimen-label",
  "status": "active",
  "experimental": false,
  "fhirVersion": "3.0.1",
  "kind": "complex-type",
  "abstract": false,
  "contextType": "resource",
  "context": [
    "Specimen"
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension",
        "path": "Extension",
        "short": "Infos about labels",
        "definition": "Infos about labels (type and number)"
      },
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:numberOfCopiesToPrint",
        "path": "Extension.extension",
        "sliceName": "numberOfCopiesToPrint",
        "short": "Number of labels to print",
        "definition": "Specifies the number of copies to print for each label",
        "requirements": "Need to specify explicitly the number of copies to be printed",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:numberOfCopiesToPrint.url",
        "path": "Extension.extension.url",
        "fixedUri": "numberOfCopiesToPrint"
      },
      {
        "id": "Extension.extension:numberOfCopiesToPrint.value[x]:valueInteger",
        "path": "Extension.extension.valueInteger",
        "sliceName": "valueInteger",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Extension.extension:labelAsPrinterString",
        "path": "Extension.extension",
        "sliceName": "labelAsPrinterString",
        "short": "ZPL/PL label",
        "definition": "The ZPL/PL string representation of the label",
        "max": "1"
      },
      {
        "id": "Extension.extension:labelAsPrinterString.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:labelAsPrinterString.extension:stringLabel",
        "path": "Extension.extension.extension",
        "sliceName": "stringLabel",
        "short": "ZPL/PL string representation of the label",
        "definition": "The ZPL/PL string representation of the label",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:labelAsPrinterString.extension:stringLabel.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "stringLabel"
      },
      {
        "id": "Extension.extension:labelAsPrinterString.extension:stringLabel.value[x]:valueString",
        "path": "Extension.extension.extension.valueString",
        "sliceName": "valueString",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:labelAsPrinterString.extension:printerLanguage",
        "path": "Extension.extension.extension",
        "sliceName": "printerLanguage",
        "max": "1"
      },
      {
        "id": "Extension.extension:labelAsPrinterString.extension:printerLanguage.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "printerLanguage"
      },
      {
        "id": "Extension.extension:labelAsPrinterString.extension:printerLanguage.value[x]:valueCode",
        "path": "Extension.extension.extension.valueCode",
        "sliceName": "valueCode",
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "Extension.extension:labelAsPrinterString.url",
        "path": "Extension.extension.url",
        "fixedUri": "labelAsPrinterString"
      },
      {
        "id": "Extension.extension:labelAsPrinterString.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0",
        "type": [
          {
            "code": "base64Binary"
          },
          {
            "code": "boolean"
          },
          {
            "code": "code"
          },
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "decimal"
          },
          {
            "code": "id"
          },
          {
            "code": "instant"
          },
          {
            "code": "integer"
          },
          {
            "code": "markdown"
          },
          {
            "code": "oid"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "string"
          },
          {
            "code": "time"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "uri"
          },
          {
            "code": "Address"
          },
          {
            "code": "Age"
          },
          {
            "code": "Annotation"
          },
          {
            "code": "Attachment"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "Coding"
          },
          {
            "code": "ContactPoint"
          },
          {
            "code": "Count"
          },
          {
            "code": "Distance"
          },
          {
            "code": "Duration"
          },
          {
            "code": "HumanName"
          },
          {
            "code": "Identifier"
          },
          {
            "code": "Money"
          },
          {
            "code": "Period"
          },
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          },
          {
            "code": "Reference"
          },
          {
            "code": "SampledData"
          },
          {
            "code": "Signature"
          },
          {
            "code": "Timing"
          }
        ]
      },
      {
        "id": "Extension.extension:labelAsDocument",
        "path": "Extension.extension",
        "sliceName": "labelAsDocument",
        "label": "labelAsDocument",
        "short": "Label in a document format",
        "definition": "This element contains the label as a printable attached document (e.g a PDF)",
        "max": "1"
      },
      {
        "id": "Extension.extension:labelAsDocument.url",
        "path": "Extension.extension.url",
        "fixedUri": "labelAsDocument"
      },
      {
        "id": "Extension.extension:labelAsDocument.value[x]:valueAttachment",
        "path": "Extension.extension.valueAttachment",
        "sliceName": "valueAttachment",
        "min": 1,
        "type": [
          {
            "code": "Attachment"
          }
        ]
      },
      {
        "id": "Extension.extension:labelAsDocument.value[x]:valueAttachment.contentType",
        "path": "Extension.extension.valueAttachment.contentType",
        "requirements": "Data processors need to know how to interpret the data.",
        "min": 1
      },
      {
        "id": "Extension.extension:labelAsDocument.value[x]:valueAttachment.data",
        "path": "Extension.extension.valueAttachment.data",
        "min": 1
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair",
        "path": "Extension.extension",
        "sliceName": "labelAsKeyValuePair",
        "max": "1"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair",
        "path": "Extension.extension.extension",
        "sliceName": "keyValuePair"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.extension",
        "path": "Extension.extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.extension:key",
        "path": "Extension.extension.extension.extension",
        "sliceName": "key",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.extension:key.url",
        "path": "Extension.extension.extension.extension.url",
        "fixedUri": "key"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.extension:key.value[x]:valueString",
        "path": "Extension.extension.extension.extension.valueString",
        "sliceName": "valueString",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.extension:value",
        "path": "Extension.extension.extension.extension",
        "sliceName": "value",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.extension:value.url",
        "path": "Extension.extension.extension.extension.url",
        "fixedUri": "value"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.extension:value.value[x]:valueString",
        "path": "Extension.extension.extension.extension.valueString",
        "sliceName": "valueString",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "keyValuePair"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.extension:keyValuePair.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.url",
        "path": "Extension.extension.url",
        "fixedUri": "labelAsKeyValuePair"
      },
      {
        "id": "Extension.extension:labelAsKeyValuePair.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "fixedUri": "http://apiframework.dedalus.eu/fhir/StructureDefinition/specimen-label"
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "max": "0",
        "type": [
          {
            "code": "base64Binary"
          },
          {
            "code": "boolean"
          },
          {
            "code": "code"
          },
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "decimal"
          },
          {
            "code": "id"
          },
          {
            "code": "instant"
          },
          {
            "code": "integer"
          },
          {
            "code": "markdown"
          },
          {
            "code": "oid"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "string"
          },
          {
            "code": "time"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "uri"
          },
          {
            "code": "Address"
          },
          {
            "code": "Age"
          },
          {
            "code": "Annotation"
          },
          {
            "code": "Attachment"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "Coding"
          },
          {
            "code": "ContactPoint"
          },
          {
            "code": "Count"
          },
          {
            "code": "Distance"
          },
          {
            "code": "Duration"
          },
          {
            "code": "HumanName"
          },
          {
            "code": "Identifier"
          },
          {
            "code": "Money"
          },
          {
            "code": "Period"
          },
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          },
          {
            "code": "Reference"
          },
          {
            "code": "SampledData"
          },
          {
            "code": "Signature"
          },
          {
            "code": "Timing"
          }
        ]
      }
    ]
  }
}