PackagesCanonicalsLogsProblems
    Packages
    Eu.Dedalus.D4Solutions.COVID@19-1.0.0-develop
    http://d4solutions.dedalus.eu/fhir/StructureDefinition/QuestionnaireResponse-COVID19
description: null
package_name: Eu.Dedalus.D4Solutions.COVID
derivation: constraint
name: QuestionnaireResponse-COVID19
type: QuestionnaireResponse
elements:
  meta:
    elements:
      tag: {index: 0}
  contained:
    mustSupport: true
    index: 1
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: type}
      min: null
      slices:
        relatedPerson:
          match: {}
          schema: {type: Resource, index: 2}
          max: 1
  status:
    pattern: {type: Code, value: completed}
    index: 3
  subject:
    type: Reference
    mustSupport: true
    refers: ['http://d4solutions.dedalus.eu/fhir/StructureDefinition/PatientIT-COVID19']
    index: 4
  context:
    type: Reference
    refers: ['http://d4solutions.dedalus.eu/fhir/StructureDefinition/Encounter-COVID19']
    index: 5
  author:
    type: Reference
    refers: ['http://d4solutions.dedalus.eu/fhir/StructureDefinition/PatientIT-COVID19', 'http://d4solutions.dedalus.eu/fhir/StructureDefinition/RelatedPerson-COVID19']
    index: 6
  source:
    type: Reference
    refers: ['http://d4solutions.dedalus.eu/fhir/StructureDefinition/PatientIT-COVID19']
    index: 7
  item:
    index: 8
    slicing:
      rules: open
      discriminator:
      - {path: linkId, type: value}
      min: null
      slices:
        soggiornoAreaRischio:
          match: {linkId: soggiornoAreaRischio}
          schema:
            _required: true
            index: 9
            elements:
              linkId:
                pattern: {type: String, value: soggiornoAreaRischio}
                index: 10
              answer:
                index: 11
                elements:
                  valueBoolean:
                    type: boolean
                    index: 12
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema: {type: boolean, index: 12}
            required: [answer]
        soggiornoLuogo:
          match: {linkId: soggiornoLuogo}
          schema:
            index: 13
            elements:
              linkId:
                pattern: {type: String, value: soggiornoLuogo}
                index: 14
              answer:
                index: 15
                elements:
                  valueString:
                    type: string
                    index: 16
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema: {type: string, _required: true, index: 16}
                          min: 1
                required: [valueString]
            required: [answer]
        dataPartenzaZonaRischio:
          match: {linkId: dataPartenzaZonaRischio}
          schema:
            index: 17
            elements:
              linkId:
                pattern: {type: String, value: dataPartenzaZonaRischio}
                index: 18
              answer:
                index: 19
                elements:
                  valueDate:
                    type: date
                    index: 20
                    slicing:
                      slices:
                        valueDate:
                          match: {}
                          schema: {type: date, _required: true, index: 20}
                          min: 1
                required: [valueDate]
            required: [answer]
        esposizCasiAccertati:
          match: {linkId: esposizCasiAccertati}
          schema:
            _required: true
            index: 21
            elements:
              linkId:
                pattern: {type: String, value: esposizCasiAccertati}
                index: 22
              answer:
                index: 23
                elements:
                  valueBoolean:
                    type: boolean
                    index: 24
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema: {type: boolean, _required: true, index: 24}
                          min: 1
                required: [valueBoolean]
            required: [answer]
        esposizCasiSospetti:
          match: {linkId: null}
          schema:
            _required: true
            index: 25
            elements:
              answer:
                index: 26
                elements:
                  valueBoolean:
                    type: boolean
                    index: 27
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema: {type: boolean, _required: true, index: 27}
                          min: 1
                required: [valueBoolean]
            required: [answer]
        contattiPersoneRientrate:
          match: {linkId: null}
          schema:
            _required: true
            index: 28
            elements:
              answer:
                index: 29
                elements:
                  valueBoolean:
                    type: boolean
                    index: 30
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema: {type: boolean, _required: true, index: 30}
                          min: 1
                required: [valueBoolean]
            required: [answer]
        contattiFamiliariCasiSospetti:
          match: {linkId: contattiFamiliariCasiSospetti}
          schema:
            _required: true
            index: 31
            elements:
              linkId:
                pattern: {type: String, value: contattiFamiliariCasiSospetti}
                index: 32
              answer:
                index: 33
                elements:
                  valueBoolean:
                    type: boolean
                    index: 34
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema: {type: boolean, _required: true, index: 34}
                          min: 1
                required: [valueBoolean]
            required: [answer]
        numeroConviventi:
          match: {linkId: numeroConviventi}
          schema:
            index: 35
            elements:
              linkId:
                pattern: {type: String, value: numeroConviventi}
                index: 36
              answer:
                index: 37
                elements:
                  valueInteger:
                    type: integer
                    index: 38
                    slicing:
                      slices:
                        valueInteger:
                          match: {}
                          schema: {type: integer, _required: true, index: 38}
                          min: 1
                required: [valueInteger]
            required: [answer]
package_version: 19-1.0.0-develop
class: profile
kind: resource
url: http://d4solutions.dedalus.eu/fhir/StructureDefinition/QuestionnaireResponse-COVID19
base: http://apiframework.dedalus.eu/fhir/StructureDefinition/QuestionnaireResponse
version: null
required: [subject]