description: Defines constraints and extensions on the Observation resource for the minimal set of data to query and retrieve laboratory test results package_name: hl7.fhir.us.core derivation: constraint name: USCoreLaboratoryResultObservationProfile type: Observation elements: category: type: CodeableConcept mustSupport: true array: true min: 1 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: type: CodeableConcept mustSupport: true _required: true pattern: type: CodeableConcept value: coding: - {code: laboratory, system: 'http://terminology.hl7.org/CodeSystem/observation-category'} index: 2 min: 1 max: 1 valueTime: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: time mustSupport: true choiceOf: value index: 21 valueQuantity: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: Quantity mustSupport: true choiceOf: value index: 13 value: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value mustSupport: true choices: [valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueInteger, valueRange, valueRatio, valueSampledData, valueTime, valueDateTime, valuePeriod] index: 12 valueString: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: string mustSupport: true choiceOf: value index: 15 valueRatio: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: Ratio mustSupport: true choiceOf: value index: 19 valueBoolean: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: boolean mustSupport: true choiceOf: value index: 16 valueDateTime: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: dateTime mustSupport: true choiceOf: value index: 22 valueSampledData: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: SampledData mustSupport: true choiceOf: value index: 20 effectiveDateTime: constraint: us-core-1: {human: Datetime must be at least to day., severity: error, expression: Observation.effectiveDateTime.exists() implies Observation.effectiveDateTime.toString().length() >= 8} type: dateTime mustSupport: true choiceOf: effective index: 7 status: type: code binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/observation-status'} mustSupport: true index: 0 effective: constraint: us-core-1: {human: Datetime must be at least to day., severity: error, expression: Observation.effectiveDateTime.exists() implies Observation.effectiveDateTime.toString().length() >= 8} mustSupport: true choices: [effectiveDateTime, effectivePeriod, effectiveTiming, effectiveInstant] index: 6 code: short: Laboratory Test Name type: CodeableConcept mustSupport: true binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/observation-codes'} index: 3 effectiveTiming: constraint: us-core-1: {human: Datetime must be at least to day., severity: error, expression: Observation.effectiveDateTime.exists() implies Observation.effectiveDateTime.toString().length() >= 8} type: Timing mustSupport: true choiceOf: effective index: 9 valueCodeableConcept: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: CodeableConcept mustSupport: true choiceOf: value index: 14 valuePeriod: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: Period mustSupport: true choiceOf: value index: 23 effectiveInstant: constraint: us-core-1: {human: Datetime must be at least to day., severity: error, expression: Observation.effectiveDateTime.exists() implies Observation.effectiveDateTime.toString().length() >= 8} type: instant mustSupport: true choiceOf: effective index: 10 valueRange: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: Range mustSupport: true choiceOf: value index: 18 valueInteger: constraint: us-core-4: human: SHOULD use Snomed CT for coded Results severity: warning extension: - {url: 'http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice', valueBoolean: true} expression: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct' us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Result Value type: integer mustSupport: true choiceOf: value index: 17 subject: type: Reference mustSupport: true refers: ['http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient'] index: 4 dataAbsentReason: type: CodeableConcept mustSupport: true binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/data-absent-reason'} index: 24 effectivePeriod: constraint: us-core-1: {human: Datetime must be at least to day., severity: error, expression: Observation.effectiveDateTime.exists() implies Observation.effectiveDateTime.toString().length() >= 8} type: Period mustSupport: true choiceOf: effective index: 8 package_version: 3.2.0 class: profile kind: resource url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab base: http://hl7.org/fhir/StructureDefinition/Observation version: 3.2.0 required: [status, subject, category, code]