Clinical Practice Guidelines
2.0.0 - trial-use International flag

Clinical Practice Guidelines, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cqf-recommendations/ and changes regularly. See the Directory of published versions

Resource Profile: CPG Clinical Impression

Official URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-clinicalimpression Version: 2.0.0
Active as of 2024-11-21 Computable Name: CPGClinicalImpression
Other Identifiers: OID:2.16.840.1.113883.4.642.40.48.42.35

CPG Clinical Impression captures clinician judgement at any particular point, and related to the case features and pathway, strategies, and recommendations.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from ClinicalImpression

NameFlagsCard.TypeDescription & Constraintsdoco
.. ClinicalImpression 0..* ClinicalImpression A clinical assessment performed when planning treatments and management strategies for a patient
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... impressionFor S 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta CPG Impression For Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-impressionFor
... identifier S 0..* Identifier Business identifier
... status S 1..1 code in-progress | completed | entered-in-error
... description S 0..1 string Why/how the assessment was performed
... subject S 1..1 Reference(CPG Patient) Patient or group assessed
... encounter S 0..1 Reference(CPG Encounter) Encounter created as part of
... effective[x] S 0..1 dateTime, Period Time of assessment
... date S 0..1 dateTime When the assessment was documented
... assessor S 0..1 Reference(CPG Practitioner | CPG Practitioner Role) The clinician performing the assessment
... protocol S 0..* uri Clinical Protocol followed

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. ClinicalImpression 0..* ClinicalImpression A clinical assessment performed when planning treatments and management strategies for a patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... impressionFor S 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta CPG Impression For Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-impressionFor
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code in-progress | completed | entered-in-error
Binding: ClinicalImpressionStatus (required): The workflow state of a clinical impression.

... code SΣ 0..1 CodeableConcept Kind of assessment performed
Binding Description (No ValueSet): (example): Identifies categories of clinical impressions. This is a place-holder only. It may be removed.

... description SΣ 0..1 string Why/how the assessment was performed
... subject SΣ 1..1 Reference(CPG Patient) Patient or group assessed
... encounter SΣ 0..1 Reference(CPG Encounter) Encounter created as part of
... effective[x] SΣ 0..1 Time of assessment
.... effectiveDateTime dateTime
.... effectivePeriod Period
... date SΣ 0..1 dateTime When the assessment was documented
... assessor SΣ 0..1 Reference(CPG Practitioner | CPG Practitioner Role) The clinician performing the assessment
... protocol S 0..* uri Clinical Protocol followed

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ClinicalImpression.statusrequiredClinicalImpressionStatus
http://hl7.org/fhir/ValueSet/clinicalimpression-status|4.0.1
from the FHIR Standard
ClinicalImpression.codeexample

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorClinicalImpressionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorClinicalImpressionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorClinicalImpressionIf 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-5errorClinicalImpressionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceClinicalImpressionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ClinicalImpression 0..* ClinicalImpression A clinical assessment performed when planning treatments and management strategies for a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... impressionFor S 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta CPG Impression For Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-impressionFor
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier Business identifier
... status ?!SΣ 1..1 code in-progress | completed | entered-in-error
Binding: ClinicalImpressionStatus (required): The workflow state of a clinical impression.

... statusReason 0..1 CodeableConcept Reason for current status
Binding Description (No ValueSet): (example): Codes identifying the reason for the current state of a clinical impression.

... code SΣ 0..1 CodeableConcept Kind of assessment performed
Binding Description (No ValueSet): (example): Identifies categories of clinical impressions. This is a place-holder only. It may be removed.

... description SΣ 0..1 string Why/how the assessment was performed
... subject SΣ 1..1 Reference(CPG Patient) Patient or group assessed
... encounter SΣ 0..1 Reference(CPG Encounter) Encounter created as part of
... effective[x] SΣ 0..1 Time of assessment
.... effectiveDateTime dateTime
.... effectivePeriod Period
... date SΣ 0..1 dateTime When the assessment was documented
... assessor SΣ 0..1 Reference(CPG Practitioner | CPG Practitioner Role) The clinician performing the assessment
... previous 0..1 Reference(ClinicalImpression) Reference to last assessment
... problem Σ 0..* Reference(Condition | AllergyIntolerance) Relevant impressions of patient state
... investigation 0..* BackboneElement One or more sets of investigations (signs, symptoms, etc.)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 CodeableConcept A name/code for the set
Binding: InvestigationType (example): A name/code for a set of investigations.

.... item 0..* Reference(Observation | QuestionnaireResponse | FamilyMemberHistory | DiagnosticReport | RiskAssessment | ImagingStudy | Media) Record of a specific investigation
... protocol S 0..* uri Clinical Protocol followed
... summary 0..1 string Summary of the assessment
... finding 0..* BackboneElement Possible or likely findings and diagnoses
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemCodeableConcept 0..1 CodeableConcept What was found
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the Condition or diagnosis.

.... itemReference 0..1 Reference(Condition | Observation | Media) What was found
.... basis 0..1 string Which investigations support finding
... prognosisCodeableConcept 0..* CodeableConcept Estimate of likely outcome
Binding: ClinicalImpressionPrognosis (example): Prognosis or outlook findings.


... prognosisReference 0..* Reference(RiskAssessment) RiskAssessment expressing likely outcome
... supportingInfo 0..* Reference(Resource) Information supporting the clinical impression
... note 0..* Annotation Comments made about the ClinicalImpression

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ClinicalImpression.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
ClinicalImpression.statusrequiredClinicalImpressionStatus
http://hl7.org/fhir/ValueSet/clinicalimpression-status|4.0.1
from the FHIR Standard
ClinicalImpression.statusReasonexample
ClinicalImpression.codeexample
ClinicalImpression.investigation.codeexampleInvestigationType
http://hl7.org/fhir/ValueSet/investigation-sets
from the FHIR Standard
ClinicalImpression.finding.itemCodeableConceptexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
ClinicalImpression.prognosisCodeableConceptexampleClinicalImpressionPrognosis
http://hl7.org/fhir/ValueSet/clinicalimpression-prognosis
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorClinicalImpressionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorClinicalImpressionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorClinicalImpressionIf 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-5errorClinicalImpressionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceClinicalImpressionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from ClinicalImpression

NameFlagsCard.TypeDescription & Constraintsdoco
.. ClinicalImpression 0..* ClinicalImpression A clinical assessment performed when planning treatments and management strategies for a patient
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... impressionFor S 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta CPG Impression For Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-impressionFor
... identifier S 0..* Identifier Business identifier
... status S 1..1 code in-progress | completed | entered-in-error
... description S 0..1 string Why/how the assessment was performed
... subject S 1..1 Reference(CPG Patient) Patient or group assessed
... encounter S 0..1 Reference(CPG Encounter) Encounter created as part of
... effective[x] S 0..1 dateTime, Period Time of assessment
... date S 0..1 dateTime When the assessment was documented
... assessor S 0..1 Reference(CPG Practitioner | CPG Practitioner Role) The clinician performing the assessment
... protocol S 0..* uri Clinical Protocol followed

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ClinicalImpression 0..* ClinicalImpression A clinical assessment performed when planning treatments and management strategies for a patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... impressionFor S 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta CPG Impression For Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-impressionFor
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code in-progress | completed | entered-in-error
Binding: ClinicalImpressionStatus (required): The workflow state of a clinical impression.

... code SΣ 0..1 CodeableConcept Kind of assessment performed
Binding Description (No ValueSet): (example): Identifies categories of clinical impressions. This is a place-holder only. It may be removed.

... description SΣ 0..1 string Why/how the assessment was performed
... subject SΣ 1..1 Reference(CPG Patient) Patient or group assessed
... encounter SΣ 0..1 Reference(CPG Encounter) Encounter created as part of
... effective[x] SΣ 0..1 Time of assessment
.... effectiveDateTime dateTime
.... effectivePeriod Period
... date SΣ 0..1 dateTime When the assessment was documented
... assessor SΣ 0..1 Reference(CPG Practitioner | CPG Practitioner Role) The clinician performing the assessment
... protocol S 0..* uri Clinical Protocol followed

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ClinicalImpression.statusrequiredClinicalImpressionStatus
http://hl7.org/fhir/ValueSet/clinicalimpression-status|4.0.1
from the FHIR Standard
ClinicalImpression.codeexample

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorClinicalImpressionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorClinicalImpressionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorClinicalImpressionIf 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-5errorClinicalImpressionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceClinicalImpressionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ClinicalImpression 0..* ClinicalImpression A clinical assessment performed when planning treatments and management strategies for a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... impressionFor S 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta CPG Impression For Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-impressionFor
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier Business identifier
... status ?!SΣ 1..1 code in-progress | completed | entered-in-error
Binding: ClinicalImpressionStatus (required): The workflow state of a clinical impression.

... statusReason 0..1 CodeableConcept Reason for current status
Binding Description (No ValueSet): (example): Codes identifying the reason for the current state of a clinical impression.

... code SΣ 0..1 CodeableConcept Kind of assessment performed
Binding Description (No ValueSet): (example): Identifies categories of clinical impressions. This is a place-holder only. It may be removed.

... description SΣ 0..1 string Why/how the assessment was performed
... subject SΣ 1..1 Reference(CPG Patient) Patient or group assessed
... encounter SΣ 0..1 Reference(CPG Encounter) Encounter created as part of
... effective[x] SΣ 0..1 Time of assessment
.... effectiveDateTime dateTime
.... effectivePeriod Period
... date SΣ 0..1 dateTime When the assessment was documented
... assessor SΣ 0..1 Reference(CPG Practitioner | CPG Practitioner Role) The clinician performing the assessment
... previous 0..1 Reference(ClinicalImpression) Reference to last assessment
... problem Σ 0..* Reference(Condition | AllergyIntolerance) Relevant impressions of patient state
... investigation 0..* BackboneElement One or more sets of investigations (signs, symptoms, etc.)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 CodeableConcept A name/code for the set
Binding: InvestigationType (example): A name/code for a set of investigations.

.... item 0..* Reference(Observation | QuestionnaireResponse | FamilyMemberHistory | DiagnosticReport | RiskAssessment | ImagingStudy | Media) Record of a specific investigation
... protocol S 0..* uri Clinical Protocol followed
... summary 0..1 string Summary of the assessment
... finding 0..* BackboneElement Possible or likely findings and diagnoses
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemCodeableConcept 0..1 CodeableConcept What was found
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the Condition or diagnosis.

.... itemReference 0..1 Reference(Condition | Observation | Media) What was found
.... basis 0..1 string Which investigations support finding
... prognosisCodeableConcept 0..* CodeableConcept Estimate of likely outcome
Binding: ClinicalImpressionPrognosis (example): Prognosis or outlook findings.


... prognosisReference 0..* Reference(RiskAssessment) RiskAssessment expressing likely outcome
... supportingInfo 0..* Reference(Resource) Information supporting the clinical impression
... note 0..* Annotation Comments made about the ClinicalImpression

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ClinicalImpression.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
ClinicalImpression.statusrequiredClinicalImpressionStatus
http://hl7.org/fhir/ValueSet/clinicalimpression-status|4.0.1
from the FHIR Standard
ClinicalImpression.statusReasonexample
ClinicalImpression.codeexample
ClinicalImpression.investigation.codeexampleInvestigationType
http://hl7.org/fhir/ValueSet/investigation-sets
from the FHIR Standard
ClinicalImpression.finding.itemCodeableConceptexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
ClinicalImpression.prognosisCodeableConceptexampleClinicalImpressionPrognosis
http://hl7.org/fhir/ValueSet/clinicalimpression-prognosis
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorClinicalImpressionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorClinicalImpressionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorClinicalImpressionIf 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-5errorClinicalImpressionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceClinicalImpressionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron