description: This profile applies constraints to the Observation resource for CA Core+ to support laboratory test results in the pan-Canadian context. package_name: ca.infoway.io.core derivation: constraint name: ObservationLaboratoryResultCACore type: Observation elements: category: type: CodeableConcept mustSupport: true index: 1 slicing: rules: open discriminator: - {path: $this, type: pattern} min: 1 slices: laboratory: match: coding: - {code: laboratory, system: 'http://terminology.hl7.org/CodeSystem/observation-category'} schema: mustSupport: true pattern: type: CodeableConcept value: coding: - {code: laboratory, system: 'http://terminology.hl7.org/CodeSystem/observation-category'} _required: true index: 2 min: 1 max: 1 encounter: type: Reference refers: ['http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/encounter-ca-core'] index: 6 valueTime: type: time mustSupport: true choiceOf: value index: 36 slicing: slices: valueTime: match: {} schema: {type: time, mustSupport: true, choiceOf: value, index: 36} min: 0 max: 1 valueQuantity: type: Quantity mustSupport: true choiceOf: value index: 24 slicing: slices: valueQuantity: match: {} schema: {type: Quantity, mustSupport: true, choiceOf: value, index: 24} min: 0 max: 1 value: mustSupport: true choices: [valueTime] index: 35 slicing: slices: valueTime: match: {} schema: mustSupport: true choices: [valueTime] index: 35 min: 0 max: 1 valueString: type: string mustSupport: true choiceOf: value index: 33 slicing: slices: valueString: match: {} schema: {type: string, mustSupport: true, choiceOf: value, index: 33} min: 0 max: 1 valueRatio: type: Ratio mustSupport: true choiceOf: value index: 30 slicing: slices: valueRatio: match: {} schema: {type: Ratio, mustSupport: true, choiceOf: value, index: 30} min: 0 max: 1 valueDateTime: type: dateTime mustSupport: true choiceOf: value index: 18 slicing: slices: valueDateTime: match: {} schema: {type: dateTime, mustSupport: true, choiceOf: value, index: 18} min: 0 max: 1 component: {mustSupport: true, index: 37} 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: 9} elements: extension: short: effective[x] absence reason type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/data-absent-reason index: 9 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: 9} min: 0 max: 1 status: {mustSupport: true, index: 0} effective: mustSupport: true choices: [] index: 8 code: type: CodeableConcept binding: {strength: example, valueSet: 'http://fhir.infoway-inforoute.ca/io/cacore/ValueSet/pCLOCD'} mustSupport: true index: 3 valueCodeableConcept: type: CodeableConcept mustSupport: true choiceOf: value index: 15 slicing: slices: valueCodeableConcept: match: {} schema: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 15} min: 0 max: 1 valuePeriod: type: Period mustSupport: true choiceOf: value index: 21 slicing: slices: valuePeriod: match: {} schema: {type: Period, mustSupport: true, choiceOf: value, index: 21} min: 0 max: 1 valueRange: type: Range mustSupport: true choiceOf: value index: 27 slicing: slices: valueRange: match: {} schema: {type: Range, mustSupport: true, choiceOf: value, index: 27} min: 0 max: 1 subject: type: Reference mustSupport: true refers: ['http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/patient-ca-core'] index: 4 elements: reference: {mustSupport: true, index: 5} required: [reference] performer: {mustSupport: true, index: 10} package_version: 1.0.0-dft-preballot-beta-01 class: profile kind: resource url: http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/observation-laboratoryresult-ca-core base: http://hl7.org/fhir/StructureDefinition/Observation version: null required: [subject, category, effective, performer]