HL7 FHIR Implementation Guide: Breast Cancer Data, Release 1 - US Realm (Draft for Comment 2)

This page is part of the Breast Cancer Data Logical Models and FHIR Profiles (v0.2.0: STU 1 Draft) based on FHIR R3. . For a full list of available versions, see the Directory of published versions

MammaprintRecurrenceScoreProfile

 

The official URL for this profile is:

http://hl7.org/fhir/us/breastcancer/StructureDefinition/oncology-MammaprintRecurrenceScore

Breast cancer genomic signature assay for 10-year risk of distant recurrence score calculated by Mammaprint. In the United States, MammaPrint can only be used on cancers that are stage I or stage II, invasive, smaller than 5 centimeters, and estrogen-receptor-positive or -negative. Scores range from -1.0 to +1.0, with scores less than 0 indicating high risk, and scores greater than 0 indicating low risk. The is currently no LOINC code for Mammaprint test.

This profile builds on US Core Results Profile.

This profile was published on Fri Aug 17 00:00:00 AEST 2018 as a draft by The HL7 Cancer Interoperability Group sponsored by Clinical Interoperability Council Work Group (CIC).

View the corresponding MammaprintRecurrenceScoreModel logical model.

Summary

Mandatory: 0 element (5 nested mandatory elements)
Fixed Value: 5 elements
Prohibited: 4 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Observation.category.coding is sliced based on the value of value:code
  • The element Observation.code.coding is sliced based on the value of value:code

BC Mapping Source

This structure represents the following BC mapping definition:

oncology.MammaprintRecurrenceScore maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults:
  PersonOfRecord maps to subject
  LaboratoryObservationTopic.TopicCode maps to code
  LaboratoryObservationTopic.FindingMethod maps to method
  LaboratoryObservationTopic.Details maps to comment
  LaboratoryObservationTopic.Category maps to category
  LaboratoryObservationTopic.AnatomicalLocation maps to bodySite
  LaboratoryObservationTopic.Device maps to device
  LaboratoryObservationTopic.Specimen maps to specimen
  LaboratoryObservationTopic.ReferenceRange maps to referenceRange
  LaboratoryObservationTopic.ReferenceRange.Range.LowerBound maps to referenceRange.low
  LaboratoryObservationTopic.ReferenceRange.Range.UpperBound maps to referenceRange.high
  LaboratoryObservationTopic.ReferenceRange.Type maps to referenceRange.type
  LaboratoryObservationTopic.ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo
  LaboratoryObservationTopic.ReferenceRange.ApplicableAgeRange maps to referenceRange.age
  LaboratoryObservationTopic.EvaluationComponent maps to component (slice on = coding.code; slice strategy = includes)
  LaboratoryObservationTopic.EvaluationComponent._Concept maps to component.code
  LaboratoryObservationTopic.EvaluationComponent.Quantity maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.CodeableConcept maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.string maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Range maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Ratio maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Media maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.time maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.dateTime maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.TimePeriod maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.IntegerQuantity maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.ExceptionValue maps to component.dataAbsentReason
  LaboratoryObservationTopic.EvaluationComponent.Interpretation maps to component.interpretation
  LaboratoryObservationTopic.EvaluationComponent.ReferenceRange maps to component.referenceRange
  fix related.type to #has-member
  LaboratoryObservationTopic.PanelMembers maps to related
  LaboratoryObservationTopic.PanelMembers.Observation maps to related.target (slice at = related; slice on = target.reference.resolve(); slice on type = profile; slice strategy = includes)
  ObservationContext.ResultValue maps to value[x]
  ObservationContext.ExceptionValue maps to dataAbsentReason
  ObservationContext.Interpretation maps to interpretation
  ObservationContext.Issued maps to issued
  ObservationContext.FindingStatus maps to status
  ObservationContext.RelevantTime maps to effective[x]
  ObservationContext.DeltaFlag maps to http://hl7.org/fhir/StructureDefinition/observation-delta

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation BC MammaprintRecurrenceScore Profile
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... category
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1Coding
..... system Fixed Value: http://hl7.org/fhir/observation-category
..... code Fixed Value: laboratory
... code
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1CodingMammaPrint
..... system Fixed Value: http://ncimeta.nci.nih.gov
..... code Fixed Value: C2827401
... valueQuantity Quantity
... dataAbsentReason Binding: DataAbsentReason (extensible)
... interpretation Binding: BC RecurrenceRiskScoreInterpretationVS ValueSet (required)
... bodySite 0..0
... method Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC BreastSpecimen Profile)
... device 0..0
... referenceRange
.... appliesTo Binding: Observation Reference Range Applies To Codes (extensible)
... related 0..0
... component 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*BC MammaprintRecurrenceScore Profile
us-core-2: If there is no component or related element then either a value[x] or a data absent reason must be present
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... basedOn Σ0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ProcedureRequest | ReferralRequest)Fulfills plan, proposal or order
... status ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category SI1..*CodeableConceptClassification of type of observation
Binding: Observation Category Codes (preferred)
us-core-5: Must have a category of 'laboratory' and a code system 'http://hl7.org/fhir/observation-category'
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣCodingCode defined by a terminology system
Slice: Unordered, Open by value:code
.... coding Σ1..1Coding
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/observation-category
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... code SΣ1..1CodeableConceptLaboratory Test Name
Binding: LOINC Codes (extensible)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣCodingCode defined by a terminology system
Slice: Unordered, Open by value:code
.... coding Σ1..1CodingMammaPrint
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://ncimeta.nci.nih.gov
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: C2827401
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject SΣ1..1Reference(US Core Patient Profile)Who and/or what this is about
... context 0..1Reference(Encounter | EpisodeOfCare)Healthcare event during which this observation is made
... effective[x] SΣI0..1dateTime, PeriodClinically relevant time/time-period for observation
us-core-1: Datetime must be at least to day.
... issued Σ0..1instantDate/Time this was made available
... performer Σ0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... valueQuantity SΣI0..1QuantityResult Value
us-core-4: SHOULD use Snomed CT for coded Results
us-core-3: SHALL use UCUM for coded quantity units.
... dataAbsentReason SI0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: BC RecurrenceRiskScoreInterpretationVS ValueSet (required)
... comment 0..1stringComments about result
... method 0..1CodeableConceptHow it was done
Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC BreastSpecimen Profile)Specimen used for this observation
... referenceRange I0..*BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (extensible)
.... appliesTo 0..*CodeableConceptReference range population
Binding: Observation Reference Range Applies To Codes (extensible)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation

doco Documentation for this format

Summary

Mandatory: 0 element (5 nested mandatory elements)
Fixed Value: 5 elements
Prohibited: 4 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Observation.category.coding is sliced based on the value of value:code
  • The element Observation.code.coding is sliced based on the value of value:code

BC Mapping Source

This structure represents the following BC mapping definition:

oncology.MammaprintRecurrenceScore maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults:
  PersonOfRecord maps to subject
  LaboratoryObservationTopic.TopicCode maps to code
  LaboratoryObservationTopic.FindingMethod maps to method
  LaboratoryObservationTopic.Details maps to comment
  LaboratoryObservationTopic.Category maps to category
  LaboratoryObservationTopic.AnatomicalLocation maps to bodySite
  LaboratoryObservationTopic.Device maps to device
  LaboratoryObservationTopic.Specimen maps to specimen
  LaboratoryObservationTopic.ReferenceRange maps to referenceRange
  LaboratoryObservationTopic.ReferenceRange.Range.LowerBound maps to referenceRange.low
  LaboratoryObservationTopic.ReferenceRange.Range.UpperBound maps to referenceRange.high
  LaboratoryObservationTopic.ReferenceRange.Type maps to referenceRange.type
  LaboratoryObservationTopic.ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo
  LaboratoryObservationTopic.ReferenceRange.ApplicableAgeRange maps to referenceRange.age
  LaboratoryObservationTopic.EvaluationComponent maps to component (slice on = coding.code; slice strategy = includes)
  LaboratoryObservationTopic.EvaluationComponent._Concept maps to component.code
  LaboratoryObservationTopic.EvaluationComponent.Quantity maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.CodeableConcept maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.string maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Range maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Ratio maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Media maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.time maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.dateTime maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.TimePeriod maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.IntegerQuantity maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.ExceptionValue maps to component.dataAbsentReason
  LaboratoryObservationTopic.EvaluationComponent.Interpretation maps to component.interpretation
  LaboratoryObservationTopic.EvaluationComponent.ReferenceRange maps to component.referenceRange
  fix related.type to #has-member
  LaboratoryObservationTopic.PanelMembers maps to related
  LaboratoryObservationTopic.PanelMembers.Observation maps to related.target (slice at = related; slice on = target.reference.resolve(); slice on type = profile; slice strategy = includes)
  ObservationContext.ResultValue maps to value[x]
  ObservationContext.ExceptionValue maps to dataAbsentReason
  ObservationContext.Interpretation maps to interpretation
  ObservationContext.Issued maps to issued
  ObservationContext.FindingStatus maps to status
  ObservationContext.RelevantTime maps to effective[x]
  ObservationContext.DeltaFlag maps to http://hl7.org/fhir/StructureDefinition/observation-delta

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation BC MammaprintRecurrenceScore Profile
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... category
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1Coding
..... system Fixed Value: http://hl7.org/fhir/observation-category
..... code Fixed Value: laboratory
... code
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1CodingMammaPrint
..... system Fixed Value: http://ncimeta.nci.nih.gov
..... code Fixed Value: C2827401
... valueQuantity Quantity
... dataAbsentReason Binding: DataAbsentReason (extensible)
... interpretation Binding: BC RecurrenceRiskScoreInterpretationVS ValueSet (required)
... bodySite 0..0
... method Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC BreastSpecimen Profile)
... device 0..0
... referenceRange
.... appliesTo Binding: Observation Reference Range Applies To Codes (extensible)
... related 0..0
... component 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*BC MammaprintRecurrenceScore Profile
us-core-2: If there is no component or related element then either a value[x] or a data absent reason must be present
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... basedOn Σ0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ProcedureRequest | ReferralRequest)Fulfills plan, proposal or order
... status ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category SI1..*CodeableConceptClassification of type of observation
Binding: Observation Category Codes (preferred)
us-core-5: Must have a category of 'laboratory' and a code system 'http://hl7.org/fhir/observation-category'
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣCodingCode defined by a terminology system
Slice: Unordered, Open by value:code
.... coding Σ1..1Coding
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/observation-category
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... code SΣ1..1CodeableConceptLaboratory Test Name
Binding: LOINC Codes (extensible)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣCodingCode defined by a terminology system
Slice: Unordered, Open by value:code
.... coding Σ1..1CodingMammaPrint
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://ncimeta.nci.nih.gov
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: C2827401
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject SΣ1..1Reference(US Core Patient Profile)Who and/or what this is about
... context 0..1Reference(Encounter | EpisodeOfCare)Healthcare event during which this observation is made
... effective[x] SΣI0..1dateTime, PeriodClinically relevant time/time-period for observation
us-core-1: Datetime must be at least to day.
... issued Σ0..1instantDate/Time this was made available
... performer Σ0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... valueQuantity SΣI0..1QuantityResult Value
us-core-4: SHOULD use Snomed CT for coded Results
us-core-3: SHALL use UCUM for coded quantity units.
... dataAbsentReason SI0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: BC RecurrenceRiskScoreInterpretationVS ValueSet (required)
... comment 0..1stringComments about result
... method 0..1CodeableConceptHow it was done
Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC BreastSpecimen Profile)Specimen used for this observation
... referenceRange I0..*BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (extensible)
.... appliesTo 0..*CodeableConceptReference range population
Binding: Observation Reference Range Applies To Codes (extensible)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, TTL), Schema: XML Schematron

 

Terminology Bindings

PathNameConformanceValueSet
Observation.languageCommon LanguagesextensibleCommon Languages
Observation.statusObservationStatusrequiredObservationStatus
Observation.categoryObservation Category CodespreferredObservation Category Codes
Observation.codeLOINC CodesextensibleLOINC Codes
Observation.dataAbsentReasonDataAbsentReasonextensibleDataAbsentReason
Observation.interpretationBC RecurrenceRiskScoreInterpretationVS ValueSetrequiredRecurrenceRiskScoreInterpretationVS
Observation.method?extpreferredhttp://loinc.org/vs
Observation.referenceRange.typeObservation Reference Range Meaning CodesextensibleObservation Reference Range Meaning Codes
Observation.referenceRange.appliesToObservation Reference Range Applies To CodesextensibleObservation Reference Range Applies To Codes
Observation.related.typeObservationRelationshipTyperequiredObservationRelationshipType
Observation.component.codeLOINC CodesexampleLOINC Codes
Observation.component.dataAbsentReasonDataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationObservation Interpretation CodesextensibleObservation Interpretation Codes
Observation.component.referenceRange.typeObservation Reference Range Meaning CodesextensibleObservation Reference Range Meaning Codes
Observation.component.referenceRange.appliesToObservation Reference Range Applies To CodesexampleObservation Reference Range Applies To Codes

 

Constraints

IdPathDetailsRequirements
dom-2ObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1ObservationIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4ObservationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-3ObservationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
obs-7ObservationIf code is the same as a component code then the value element associated with the code SHALL NOT be present
: value.empty() or code!=component.code
obs-6ObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
us-core-2ObservationIf there is no component or related element then either a value[x] or a data absent reason must be present
: (component.empty() and related.empty()) implies (dataAbsentReason or value)
us-core-5Observation.categoryMust have a category of 'laboratory' and a code system 'http://hl7.org/fhir/observation-category'
: where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='laboratory').exists()
us-core-1Observation.effective[x]Datetime must be at least to day.
: ($this as dateTime).toString().length() >= 8
us-core-4Observation.valueQuantitySHOULD use Snomed CT for coded Results
: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct'
us-core-3Observation.valueQuantitySHALL use UCUM for coded quantity units.
: valueQuantity.system.empty() or valueQuantity.system = 'http://unitsofmeasure.org'
ele-1Observation.referenceRangeAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
obs-3Observation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()