{
  "resourceType": "StructureDefinition",
  "url": "http://apiframework.dedalus.eu/fhir/StructureDefinition/Specimen-ForAIS",
  "name": "Specimen-ForAIS",
  "title": "API Framework Specimen-ForAIS",
  "status": "active",
  "experimental": false,
  "description": "Api Framework FHRI Profile for AIS specimens",
  "fhirVersion": "3.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Specimen",
  "baseDefinition": "http://apiframework.dedalus.eu/fhir/StructureDefinition/Specimen",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Specimen.extension",
        "path": "Specimen.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Specimen.extension:checkIn",
        "path": "Specimen.extension",
        "sliceName": "checkIn",
        "definition": "Details about specimen checkin",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/extension-specimen-checkIn"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Specimen.extension:description",
        "path": "Specimen.extension",
        "sliceName": "description",
        "definition": "Human-generated short description of the specimen",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/extension-Specimen-description"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Specimen.identifier",
        "path": "Specimen.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Specimen.identifier:labelBarcode",
        "path": "Specimen.identifier",
        "sliceName": "labelBarcode",
        "definition": "Unique identifier used to create the barcode printed on the label placed on the container. This is just an identifier, not the actul label (which shall be placed in specimen.label)",
        "max": "1"
      },
      {
        "id": "Specimen.identifier:labelBarcode.system",
        "path": "Specimen.identifier.system",
        "fixedUri": "http://apiframework.dedalus.eu/identifiers/ais/specimen/labelBarcode",
        "mustSupport": true
      },
      {
        "id": "Specimen.identifier:labelBarcode.value",
        "path": "Specimen.identifier.value",
        "mustSupport": true
      },
      {
        "id": "Specimen.identifier:sequenceIdentifier",
        "path": "Specimen.identifier",
        "sliceName": "sequenceIdentifier",
        "definition": "Unique identifier of the speciment on the AIS system (aka Sequence in Oracle)",
        "max": "1"
      },
      {
        "id": "Specimen.identifier:sequenceIdentifier.system",
        "path": "Specimen.identifier.system",
        "fixedUri": "http://apiframework.dedalus.eu/identifiers/ais/specimen/sequence",
        "mustSupport": true
      },
      {
        "id": "Specimen.identifier:sequenceIdentifier.value",
        "path": "Specimen.identifier.value",
        "mustSupport": true
      },
      {
        "id": "Specimen.type",
        "path": "Specimen.type",
        "binding": {
          "strength": "required"
        }
      },
      {
        "id": "Specimen.parent",
        "path": "Specimen.parent",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/Specimen-ForAIS"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Specimen.collection.extension:procedure",
        "path": "Specimen.collection.extension",
        "sliceName": "procedure",
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": "http://apiframework.dedalus.eu/fhir/StructureDefinition/extension-specimen-collectionProcedure"
          }
        ]
      },
      {
        "id": "Specimen.collection.collected[x]:collectedDateTime",
        "path": "Specimen.collection.collectedDateTime",
        "sliceName": "collectedDateTime",
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Specimen.collection.method",
        "path": "Specimen.collection.method",
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "valueSetReference": {
            "reference": "http://apiframework.dedalus.eu/fhir/ValueSet/SpecimenCollectionMethod-ForAIS"
          }
        }
      },
      {
        "id": "Specimen.collection.bodySite",
        "path": "Specimen.collection.bodySite",
        "binding": {
          "strength": "example",
          "valueSetUri": "http://apiframework.dedalus.eu/fhir/ValueSet/SpecimenBodySite"
        }
      },
      {
        "id": "Specimen.processing",
        "path": "Specimen.processing",
        "mustSupport": true
      },
      {
        "id": "Specimen.processing.procedure",
        "path": "Specimen.processing.procedure",
        "mustSupport": true,
        "binding": {
          "strength": "example",
          "valueSetReference": {
            "reference": "http://apiframework.dedalus.eu/fhir/ValueSet/SpecimenProcessingProcedure-ForAIS"
          }
        }
      },
      {
        "id": "Specimen.container",
        "path": "Specimen.container",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Specimen.container.description",
        "path": "Specimen.container.description",
        "definition": "Textual description of the container. Might contain an alphanumeric value representing the order of the specimen among other specimens of the same type in the same order",
        "mustSupport": true
      },
      {
        "id": "Specimen.container.type",
        "path": "Specimen.container.type",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSetReference": {
            "reference": "http://apiframework.dedalus.eu/fhir/ValueSet/SpecimenContainerType-ForAIS"
          }
        }
      }
    ]
  }
}