PackagesCanonicalsLogsProblems
    Packages
    ca.infoway.io.psca@2.0.0-DFT-Ballot-alpha-1
    http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/observation-results-radiology-ca-ps
description: This profile represents the constraints applied to the Observation resource by the pan-Canadian Patient Summary project, which specifies a radiology observation for a patient summary based on the FHIR standard R4.\n\nThis observation may represent the conclusions of a diagnostic procedure such a Chest RX, or it may group the set of results produced by that single or multi-modality procedure.\n\nIn the latter case, the main observation (this one) carries the overall conclusion of the study and/or a global interpretation by the observer of the study as value of this observation; and may references the atomic results of the study as \"child observations\".\n\nIt also allows providing details about the related study using the partOf element referring to an ImagingStudy resource.
package_name: ca.infoway.io.psca
derivation: constraint
name: ObservationResultsRadiologyPSCA
type: Observation
elements:
  category:
    type: CodeableConcept
    index: 2
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: 1
      slices:
        radiology:
          match:
            coding:
            - {code: imaging, system: 'http://terminology.hl7.org/CodeSystem/observation-category'}
          schema:
            mustSupport: true
            pattern:
              type: CodeableConcept
              value:
                coding:
                - {code: imaging, system: 'http://terminology.hl7.org/CodeSystem/observation-category'}
            _required: true
            index: 3
          min: 1
          max: 1
  hasMember:
    type: Reference
    refers: ['http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/observation-results-radiology-ca-ps']
    index: 20
  value:
    choices: []
    index: 14
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: $this, type: type}
      min: null
      slices:
        valueString:
          match: {}
          schema:
            label: Overall Conclusion
            mustSupport: true
            choices: [valueString]
            index: 16
          min: 0
          max: 1
  valueString:
    type: string
    mustSupport: true
    label: Overall Conclusion
    choiceOf: value
    index: 17
    slicing:
      slices:
        valueString:
          match: {}
          schema: {type: string, mustSupport: true, label: Overall Conclusion, choiceOf: value, index: 17}
          min: 0
          max: 1
  component:
    mustSupport: true
    index: 21
    slicing:
      rules: closed
      description: Slicing based on value[x] type.
      discriminator:
      - {path: value, type: type}
      min: null
      slices:
        observationText:
          match: {}
          schema:
            short: Observation Text
            array: true
            index: 22
            elements:
              code:
                type: CodeableConcept
                binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/results-radiology-txtobs-uv-ips'}
                index: 23
              value:
                choices: [valueString]
                index: 25
              valueString: {type: string, choiceOf: value, index: 26}
            required: [valueString, value]
        observationCode:
          match: {}
          schema:
            short: Observation Code
            array: true
            index: 27
            elements:
              code:
                type: CodeableConcept
                binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/results-radiology-observations-uv-ips'}
                index: 28
              value:
                choices: [valueCodeableConcept]
                index: 30
              valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 31}
            required: [value, valueCodeableConcept]
        numericQuantityMeasurement:
          match: {}
          schema:
            short: Observation Measurement, including linear, area and volume quantity measurements
            array: true
            index: 32
            elements:
              code:
                type: CodeableConcept
                binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/results-radiology-numobs-uv-ips'}
                index: 33
              value:
                choices: [valueQuantity]
                index: 35
              valueQuantity: {type: Quantity, choiceOf: value, index: 36}
            required: [value, valueQuantity]
        numericRangeMeasurement:
          match: {}
          schema:
            short: Observation Measurement, including linear, area and volume range measurements
            array: true
            index: 37
            elements:
              code:
                type: CodeableConcept
                binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/results-radiology-numobs-uv-ips'}
                index: 38
              value:
                choices: [valueRange]
                index: 40
              valueRange: {type: Range, choiceOf: value, index: 41}
            required: [valueRange, value]
        numericRatioMeasurement:
          match: {}
          schema:
            short: Observation Measurement, including linear, area and volume ratio measurements
            array: true
            index: 42
            elements:
              code:
                type: CodeableConcept
                binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/results-radiology-numobs-uv-ips'}
                index: 43
              value:
                choices: [valueRatio]
                index: 45
              valueRatio: {type: Ratio, choiceOf: value, index: 46}
            required: [valueRatio, value]
        numericSampledDataMeasurement:
          match: {}
          schema:
            short: Observation Measurement, including linear, area and volume sampled data measurements
            array: true
            index: 47
            elements:
              code:
                type: CodeableConcept
                binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/results-radiology-numobs-uv-ips'}
                index: 48
              value:
                choices: [valueSampledData]
                index: 50
              valueSampledData: {type: SampledData, choiceOf: value, index: 51}
            required: [valueSampledData, value]
  effective[x]:
    extensions:
      data-absent-reason: {url: 'http://hl7.org/fhir/StructureDefinition/data-absent-reason', min: 0, max: 1, short: 'effective[x] absence reason', type: Extension, mustSupport: true, index: 11}
    elements:
      extension:
        short: effective[x] absence reason
        type: Extension
        mustSupport: true
        url: http://hl7.org/fhir/StructureDefinition/data-absent-reason
        index: 11
        slicing:
          slices:
            data-absent-reason:
              match: {}
              schema: {short: 'effective[x] absence reason', type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/data-absent-reason', index: 11}
              min: 0
              max: 1
  effectiveDateTime:
    type: dateTime
    constraint:
      psca-rad-2: {human: Datetime must be at least to day, severity: error, expression: $this.ofType(dateTime).empty() or ($this as dateTime).toString().length() >= 8}
    mustSupport: true
    choiceOf: effective
    index: 9
  status:
    label: Observation 'complete' status codes
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/results-status-uv-ips'}
    index: 1
  effective:
    constraint:
      psca-rad-2: {human: Datetime must be at least to day, severity: error, expression: $this.ofType(dateTime).empty() or ($this as dateTime).toString().length() >= 8}
    mustSupport: true
    choices: [effectiveDateTime, effectivePeriod]
    index: 8
  code:
    label: Diagnostic Procedure Code
    binding: {strength: example, valueSet: 'http://fhir.infoway-inforoute.ca/io/psca/ValueSet/pCLOCD'}
    mustSupport: true
    index: 4
  bodySite: {type: CodeableConcept, label: body site, index: 18}
  device:
    type: Reference
    refers: ['http://hl7.org/fhir/uv/ips/StructureDefinition/Device-observer-uv-ips']
    index: 19
  partOf:
    type: Reference
    refers: ['http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/imagingstudy-ca-ps']
    index: 0
  subject:
    type: Reference
    mustSupport: true
    refers: ['http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/patient-ca-ps']
    index: 5
    elements:
      reference: {mustSupport: true, index: 6}
    required: [reference]
  performer:
    type: Reference
    mustSupport: true
    refers: ['http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/organization-lab-ca-ps', 'http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/patient-ca-ps', 'http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitioner-lab-ca-ps', 'http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitionerrole-lab-ca-ps', 'http://hl7.org/fhir/StructureDefinition/CareTeam', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson']
    index: 12
  effectivePeriod:
    type: Period
    constraint:
      psca-rad-2: {human: Datetime must be at least to day, severity: error, expression: $this.ofType(dateTime).empty() or ($this as dateTime).toString().length() >= 8}
    mustSupport: true
    choiceOf: effective
    index: 10
package_version: 2.0.0-DFT-Ballot-alpha-1
class: profile
kind: resource
url: http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/observation-results-radiology-ca-ps
base: http://hl7.org/fhir/StructureDefinition/Observation
version: null
required: [effectiveDateTime, effectivePeriod, category, effective, performer]