{
  "resourceType": "StructureDefinition",
  "id": "Profile-HiGHmed-InfectionControl-SerologischeDiagnostik",
  "url": "http://highmed.org/fhir/StructureDefinition/ic/SerologischeDiagnostik",
  "version": "1.0.0",
  "name": "Profile_HiGHmed_InfectionControl_SerologischeDiagnostik",
  "title": "HiGHmed - Infection Control - Serologische Diagnostik",
  "status": "active",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Observation",
  "baseDefinition": "https://www.medizininformatik-initiative.de/fhir/core/modul-labor/StructureDefinition/ObservationLab",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Observation.category.coding",
        "path": "Observation.category.coding",
        "min": 3
      },
      {
        "id": "Observation.category.coding:snomedct-subcategory",
        "path": "Observation.category.coding",
        "sliceName": "snomedct-subcategory",
        "min": 1,
        "max": "1",
        "patternCoding": {
          "system": "http://snomed.info/sct",
          "code": "122442008"
        }
      },
      {
        "id": "Observation.code.coding",
        "path": "Observation.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "min": 2,
        "mustSupport": true
      },
      {
        "id": "Observation.code.coding:serologiediagnostik-allgemein",
        "path": "Observation.code.coding",
        "sliceName": "serologiediagnostik-allgemein",
        "min": 1,
        "max": "1",
        "patternCoding": {
          "system": "http://snomed.info/sct",
          "code": "252318005"
        },
        "mustSupport": true
      },
      {
        "id": "Observation.code.coding:immunologie-nachweistests-spezialisierung-loinc",
        "path": "Observation.code.coding",
        "sliceName": "immunologie-nachweistests-spezialisierung-loinc",
        "min": 1,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://highmed.org/ValueSet/ic/immunologie-nachweistests-spezialisierung-loinc"
        }
      },
      {
        "id": "Observation.value[x]",
        "path": "Observation.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Observation.value[x]:valueQuantity",
        "path": "Observation.value[x]",
        "sliceName": "valueQuantity",
        "max": "0"
      },
      {
        "id": "Observation.value[x]:valueCodeableConcept",
        "path": "Observation.value[x]",
        "sliceName": "valueCodeableConcept",
        "binding": {
          "strength": "required",
          "valueSet": "http://highmed.org/fhir/ValueSet/ic/positive-weaklypositive-negative-inconclusive-snomed"
        }
      },
      {
        "id": "Observation.specimen",
        "path": "Observation.specimen",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://highmed.org/fhir/StructureDefinition/ic/Specimen",
              "http://highmed.org/fhir/StructureDefinition/ic/Specimen2"
            ]
          }
        ]
      },
      {
        "id": "Observation.component",
        "path": "Observation.component",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "code"
            }
          ],
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntigenAssay",
        "path": "Observation.component",
        "sliceName": "AntigenAssay",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntigenAssay.code",
        "path": "Observation.component.code",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "121276004"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntigenAssay.value[x]",
        "path": "Observation.component.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntigenAssay.value[x]:valueQuantity",
        "path": "Observation.component.value[x]",
        "sliceName": "valueQuantity",
        "min": 1,
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://highmed.org/fhir/ValueSet/ic/AntigenAssayEinheit"
        }
      },
      {
        "id": "Observation.component:AntigenAssay.value[x]:valueQuantity.value",
        "path": "Observation.component.value[x].value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntigenAssay.value[x]:valueQuantity.system",
        "path": "Observation.component.value[x].system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntigenAssay.value[x]:valueQuantity.code",
        "path": "Observation.component.value[x].code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntibodyMeasurement",
        "path": "Observation.component",
        "sliceName": "AntibodyMeasurement",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntibodyMeasurement.code",
        "path": "Observation.component.code",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "3527003"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntibodyMeasurement.value[x]",
        "path": "Observation.component.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntibodyMeasurement.value[x]:valueQuantity",
        "path": "Observation.component.value[x]",
        "sliceName": "valueQuantity",
        "min": 1,
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://highmed.org/fhir/ValueSet/ic/AntibodyMeasurementEinheit"
        }
      },
      {
        "id": "Observation.component:AntibodyMeasurement.value[x]:valueQuantity.value",
        "path": "Observation.component.value[x].value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntibodyMeasurement.value[x]:valueQuantity.system",
        "path": "Observation.component.value[x].system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component:AntibodyMeasurement.value[x]:valueQuantity.code",
        "path": "Observation.component.value[x].code",
        "min": 1,
        "mustSupport": true
      }
    ]
  }
}