MII IG Kerndatensatz-Modul Molekulargenetischer Befundbericht
2027.0.0-ballot.1 -
Germany
MII IG Kerndatensatz-Modul Molekulargenetischer Befundbericht - Downloaded Version 2027.0.0-ballot.1 See the Directory of published versions
| Official URL: https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/polygener-risiko-score | Version: 2027.0.0-ballot.1 | |||
| Active as of 2026-09-13 | Computable Name: MII_PR_MolGen_PolygenerRisikoScore | |||
Profil für Polygenen Risiko Score
A polygenic risk score (PRS), sometimes also referred to as a polygenic score (PGS) or genetic risk score (GRS), is an estimate of an individual's genetic risk for a particular trait, obtained by aggregating and quantifying the effects of many commonly occurring variants (usually defined as a minor allele frequency of ≥1%) across the genome.
Einflussfaktor (influencing factor)
Snapshot
Examples
Written by the migration, not carried from the source. The Simplifier guide rendered these examples inline on this page; the IG Publisher renders each one on its own page instead, so they are listed here as links, in the order the source had them and with the captions it gave them. Nothing was added or dropped.
mii-exa-molgen-prs-brca1 — ExamplesUsages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots, and their representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Identifier | Identifikator |
![]() ![]() |
SΣ | 1..1 | code | Status Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc. |
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Code |
![]() ![]() |
SΣ | 1..1 | Reference(Patient | Group) | Patient |
![]() ![]() |
SΣ | 0..1 | Reference(Encounter) | Kontakt |
![]() ![]() |
SΣ | 0..1 | Zeitpunkt | |
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
Period | |||
![]() ![]() |
SΣ | 0..1 | Reference(Condition) | Erkrankung |
![]() ![]() |
S | 0..* | Reference(Resource) | Grundlage |
![]() ![]() |
SC | 0..* | BackboneElement | Vorhersage Constraints: ras-2 |
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Einflussfaktor URL: https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/risk-assessment-einflussfaktor |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Ergebnis Binding Description: (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc. |
![]() ![]() ![]() |
SC | 0..1 | Wahrscheinlichkeit Constraints: ras-1 | |
![]() ![]() ![]() ![]() |
decimal | |||
![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Qualitatives Risiko Binding: RiskProbability (example): The likelihood of the occurrence of a specified outcome. |
![]() ![]() ![]() |
S | 0..1 | decimal | Relatives Risiko |
![]() ![]() ![]() |
S | 0..1 | Zeitrahmen | |
![]() ![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() ![]() |
Range | |||
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| RiskAssessment.prediction.outcome | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.qualitativeRisk | Base | example | Risk Probability | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | RiskAssessment | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | RiskAssessment | If 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-4 | error | RiskAssessment | If 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-5 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | RiskAssessment | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| ras-1 | error | RiskAssessment.prediction.probability[x] | low and high must be percentages, if present |
(low.empty() or ((low.code = '%') and (low.system = %ucum))) and (high.empty() or ((high.code = '%') and (high.system = %ucum)))
|
| ras-2 | error | RiskAssessment.prediction | Must be <= 100 |
probability is decimal implies (probability as decimal) <= 100
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Identifikator | ||||
![]() ![]() |
0..1 | Reference(Resource) | Request fulfilled by this assessment | |||||
![]() ![]() |
0..1 | Reference(Resource) | Part of this occurrence | |||||
![]() ![]() |
SΣ | 1..1 | code | Status Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Evaluation mechanism Binding Description: (example): The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc. | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Code | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient | Group) | Patient | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Encounter) | Kontakt | ||||
![]() ![]() |
SΣ | 0..1 | Zeitpunkt | |||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() |
SΣ | 0..1 | Reference(Condition) | Erkrankung | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment? | ||||
![]() ![]() |
0..* | CodeableConcept | Why the assessment was necessary? | |||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why the assessment was necessary? | |||||
![]() ![]() |
S | 0..* | Reference(Resource) | Grundlage | ||||
![]() ![]() |
SC | 0..* | BackboneElement | Vorhersage Constraints: ras-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Einflussfaktor URL: https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/risk-assessment-einflussfaktor | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Ergebnis Binding Description: (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc. | ||||
![]() ![]() ![]() |
SC | 0..1 | Wahrscheinlichkeit Constraints: ras-1 | |||||
![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Qualitatives Risiko Binding: RiskProbability (example): The likelihood of the occurrence of a specified outcome. | ||||
![]() ![]() ![]() |
S | 0..1 | decimal | Relatives Risiko | ||||
![]() ![]() ![]() |
S | 0..1 | Zeitrahmen | |||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
0..1 | string | Explanation of prediction | |||||
![]() ![]() |
0..1 | string | How to reduce risk | |||||
![]() ![]() |
0..* | Annotation | Comments on the risk assessment | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| RiskAssessment.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| RiskAssessment.method | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.outcome | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.qualitativeRisk | Base | example | Risk Probability | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | RiskAssessment | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | RiskAssessment | If 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-4 | error | RiskAssessment | If 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-5 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | RiskAssessment | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| ras-1 | error | RiskAssessment.prediction.probability[x] | low and high must be percentages, if present |
(low.empty() or ((low.code = '%') and (low.system = %ucum))) and (high.empty() or ((high.code = '%') and (high.system = %ucum)))
|
| ras-2 | error | RiskAssessment.prediction | Must be <= 100 |
probability is decimal implies (probability as decimal) <= 100
|
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Identifier | Identifikator |
![]() ![]() |
SΣ | 1..1 | code | Status Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc. |
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Code |
![]() ![]() |
SΣ | 1..1 | Reference(Patient | Group) | Patient |
![]() ![]() |
SΣ | 0..1 | Reference(Encounter) | Kontakt |
![]() ![]() |
SΣ | 0..1 | Zeitpunkt | |
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
Period | |||
![]() ![]() |
SΣ | 0..1 | Reference(Condition) | Erkrankung |
![]() ![]() |
S | 0..* | Reference(Resource) | Grundlage |
![]() ![]() |
SC | 0..* | BackboneElement | Vorhersage Constraints: ras-2 |
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Einflussfaktor URL: https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/risk-assessment-einflussfaktor |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Ergebnis Binding Description: (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc. |
![]() ![]() ![]() |
SC | 0..1 | Wahrscheinlichkeit Constraints: ras-1 | |
![]() ![]() ![]() ![]() |
decimal | |||
![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Qualitatives Risiko Binding: RiskProbability (example): The likelihood of the occurrence of a specified outcome. |
![]() ![]() ![]() |
S | 0..1 | decimal | Relatives Risiko |
![]() ![]() ![]() |
S | 0..1 | Zeitrahmen | |
![]() ![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() ![]() |
Range | |||
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| RiskAssessment.prediction.outcome | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.qualitativeRisk | Base | example | Risk Probability | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | RiskAssessment | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | RiskAssessment | If 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-4 | error | RiskAssessment | If 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-5 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | RiskAssessment | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| ras-1 | error | RiskAssessment.prediction.probability[x] | low and high must be percentages, if present |
(low.empty() or ((low.code = '%') and (low.system = %ucum))) and (high.empty() or ((high.code = '%') and (high.system = %ucum)))
|
| ras-2 | error | RiskAssessment.prediction | Must be <= 100 |
probability is decimal implies (probability as decimal) <= 100
|
Differential View
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Identifikator | ||||
![]() ![]() |
0..1 | Reference(Resource) | Request fulfilled by this assessment | |||||
![]() ![]() |
0..1 | Reference(Resource) | Part of this occurrence | |||||
![]() ![]() |
SΣ | 1..1 | code | Status Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Evaluation mechanism Binding Description: (example): The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc. | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Code | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient | Group) | Patient | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Encounter) | Kontakt | ||||
![]() ![]() |
SΣ | 0..1 | Zeitpunkt | |||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() |
SΣ | 0..1 | Reference(Condition) | Erkrankung | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment? | ||||
![]() ![]() |
0..* | CodeableConcept | Why the assessment was necessary? | |||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why the assessment was necessary? | |||||
![]() ![]() |
S | 0..* | Reference(Resource) | Grundlage | ||||
![]() ![]() |
SC | 0..* | BackboneElement | Vorhersage Constraints: ras-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Einflussfaktor URL: https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/risk-assessment-einflussfaktor | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Ergebnis Binding Description: (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc. | ||||
![]() ![]() ![]() |
SC | 0..1 | Wahrscheinlichkeit Constraints: ras-1 | |||||
![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Qualitatives Risiko Binding: RiskProbability (example): The likelihood of the occurrence of a specified outcome. | ||||
![]() ![]() ![]() |
S | 0..1 | decimal | Relatives Risiko | ||||
![]() ![]() ![]() |
S | 0..1 | Zeitrahmen | |||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
0..1 | string | Explanation of prediction | |||||
![]() ![]() |
0..1 | string | How to reduce risk | |||||
![]() ![]() |
0..* | Annotation | Comments on the risk assessment | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| RiskAssessment.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| RiskAssessment.method | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.outcome | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.qualitativeRisk | Base | example | Risk Probability | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | RiskAssessment | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | RiskAssessment | If 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-4 | error | RiskAssessment | If 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-5 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | RiskAssessment | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| ras-1 | error | RiskAssessment.prediction.probability[x] | low and high must be percentages, if present |
(low.empty() or ((low.code = '%') and (low.system = %ucum))) and (high.empty() or ((high.code = '%') and (high.system = %ucum)))
|
| ras-2 | error | RiskAssessment.prediction | Must be <= 100 |
probability is decimal implies (probability as decimal) <= 100
|
Other representations of profile: CSV, Excel, Schematron