PackagesCanonicalsLogsProblems
    Packages
    de.basisprofil.r4@1.5.0
    http://fhir.de/StructureDefinition/observation-de-vitalsign
description: Observation-Profil VitalSignDE ist das Parentprofil der restlichen Vitalsignprofile
package_name: de.basisprofil.r4
derivation: constraint
name: VitalSignDE
type: Observation
elements:
  category:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: 1
      slices:
        VSCat:
          match:
            coding:
            - {code: vital-signs, system: 'http://terminology.hl7.org/CodeSystem/observation-category'}
          schema:
            pattern:
              type: CodeableConcept
              value:
                coding:
                - {code: vital-signs, system: 'http://terminology.hl7.org/CodeSystem/observation-category'}
            _required: true
            index: 1
          min: 1
          max: 1
  value[x]:
    elements:
      value: {index: 13}
      unit: {index: 14}
      system:
        pattern: {type: Uri, value: 'http://unitsofmeasure.org'}
        index: 15
      code:
        binding: {strength: required, valueSet: 'http://fhir.de/ValueSet/UcumVitalsCommonDE'}
        index: 16
    required: [value, unit, system, code]
  valueQuantity: {type: Quantity, choiceOf: value, index: 12}
  value:
    choices: [valueQuantity]
    index: 11
  component:
    constraint:
      vs-de-3: {human: If there is no a value a data absent reason must be present, source: 'http://fhir.de/StructureDefinition/observation-de-vitalsign', severity: error, expression: value.exists() xor dataAbsentReason.exists()}
    index: 17
    elements:
      value:
        choices: []
        index: 19
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: $this, type: type}
          min: null
          slices:
            valueQuantity:
              match: {}
              schema:
                choices: [valueQuantity]
                index: 21
              min: 0
              max: 1
      valueQuantity:
        type: Quantity
        choiceOf: value
        index: 22
        slicing:
          slices:
            valueQuantity:
              match: {}
              schema: {type: Quantity, choiceOf: value, index: 22}
              min: 0
              max: 1
      value[x]:
        elements:
          value: {index: 23}
          unit: {index: 24}
          system:
            pattern: {type: Uri, value: 'http://unitsofmeasure.org'}
            index: 25
          code: {index: 26}
        required: [value, unit, system, code]
  effectiveDateTime:
    type: dateTime
    constraint:
      vs-de-1: {human: 'If Observation.effective[x] has a value then that value shall be precise to the day', source: 'http://fhir.de/StructureDefinition/observation-de-vitalsign', severity: error, expression: (($this is dateTime) implies ($this as dateTime).toString().length() >= 10) and ($this.start.exists() implies ($this.start as dateTime).toString().length() >= 10) and ($this.end.exists() implies ($this.end as dateTime).toString().length() >= 10)}
    choiceOf: effective
    index: 8
  effective:
    constraint:
      vs-de-1: {human: 'If Observation.effective[x] has a value then that value shall be precise to the day', source: 'http://fhir.de/StructureDefinition/observation-de-vitalsign', severity: error, expression: (($this is dateTime) implies ($this as dateTime).toString().length() >= 10) and ($this.start.exists() implies ($this.start as dateTime).toString().length() >= 10) and ($this.end.exists() implies ($this.end as dateTime).toString().length() >= 10)}
    choices: [effectiveDateTime, effectivePeriod]
    index: 7
  code:
    elements:
      coding:
        index: 2
        slicing:
          rules: open
          discriminator:
          - {path: $this, type: pattern}
          min: 1
          slices:
            loinc:
              match: {}
              schema: {array: true, min: 1, _required: true, index: 3}
              min: 1
            snomed:
              match: {}
              schema: {array: true, index: 4}
              min: 0
    required: [coding]
  subject:
    type: Reference
    refers: ['http://hl7.org/fhir/StructureDefinition/Patient']
    index: 5
  effectivePeriod:
    type: Period
    constraint:
      vs-de-1: {human: 'If Observation.effective[x] has a value then that value shall be precise to the day', source: 'http://fhir.de/StructureDefinition/observation-de-vitalsign', severity: error, expression: (($this is dateTime) implies ($this as dateTime).toString().length() >= 10) and ($this.start.exists() implies ($this.start as dateTime).toString().length() >= 10) and ($this.end.exists() implies ($this.end as dateTime).toString().length() >= 10)}
    choiceOf: effective
    index: 9
package_version: 1.5.0
class: profile
kind: resource
url: http://fhir.de/StructureDefinition/observation-de-vitalsign
base: http://hl7.org/fhir/StructureDefinition/Observation
version: 1.5.0
required: [effectiveDateTime, effectivePeriod, subject, category, effective]