This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4 R3
Vocabulary Work Group | Maturity Level: 1 | Informative | Use Context: Any |
URL for this extension:
http://hl7.org/fhir/StructureDefinition/codesystem-history
Status: draft. Extension maintained by: HL7
Information on changes made to the Value Set Definition over time, and also has a contained audit trail of all such changes.
Context of Use: Use on Element ID CodeSystem
Summary
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
history | 0..* | Extension | URL = http://hl7.org/fhir/StructureDefinition/codesystem-history history: Information on changes made to the Value Set Definition over time, and also has a contained audit trail of all such changes. Use on Element ID CodeSystem | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
extension:name | I | 0..1 | Extension | The name of this set of history entries |
extension | I | 0..0 | ||
url | 1..1 | uri | "name" | |
value[x] | I | 1..1 | string | Value of extension |
extension:revision | I | 0..* | Extension | Audit of all changes for a history entry |
extension | I | 0..0 | ||
extension:date | I | 1..1 | Extension | Date the change was made |
extension | I | 0..0 | ||
url | 1..1 | uri | "date" | |
value[x] | I | 1..1 | dateTime | Value of extension |
extension:id | I | 1..1 | Extension | Version marker after the change was made |
extension | I | 0..0 | ||
url | 1..1 | uri | "id" | |
value[x] | I | 1..1 | string | Value of extension |
extension:author | I | 1..1 | Extension | Who made the change |
extension | I | 0..0 | ||
url | 1..1 | uri | "author" | |
value[x] | I | 1..1 | string | Value of extension |
extension:notes | I | 0..1 | Extension | Information about the change |
extension | I | 0..0 | ||
url | 1..1 | uri | "notes" | |
value[x] | I | 1..1 | string | Value of extension |
url | 1..1 | uri | "revision" | |
value[x] | I | 0..0 | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical() | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference() | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueContributor | Contributor | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/codesystem-history" | |
value[x] | I | 0..0 | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical() | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference() | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueContributor | Contributor | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
Documentation for this format |
Full Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
extension | 0..* | Extension | URL = http://hl7.org/fhir/StructureDefinition/codesystem-history history: Information on changes made to the Value Set Definition over time, and also has a contained audit trail of all such changes. Use on Element ID CodeSystem | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
extension:name | I | 0..1 | Extension | The name of this set of history entries |
extension | I | 0..0 | ||
url | 1..1 | uri | "name" | |
value[x] | I | 1..1 | string | Value of extension |
extension:revision | I | 0..* | Extension | Audit of all changes for a history entry |
extension | I | 0..0 | ||
extension:date | I | 1..1 | Extension | Date the change was made |
extension | I | 0..0 | ||
url | 1..1 | uri | "date" | |
value[x] | I | 1..1 | dateTime | Value of extension |
extension:id | I | 1..1 | Extension | Version marker after the change was made |
extension | I | 0..0 | ||
url | 1..1 | uri | "id" | |
value[x] | I | 1..1 | string | Value of extension |
extension:author | I | 1..1 | Extension | Who made the change |
extension | I | 0..0 | ||
url | 1..1 | uri | "author" | |
value[x] | I | 1..1 | string | Value of extension |
extension:notes | I | 0..1 | Extension | Information about the change |
extension | I | 0..0 | ||
url | 1..1 | uri | "notes" | |
value[x] | I | 1..1 | string | Value of extension |
url | 1..1 | uri | "revision" | |
value[x] | I | 0..0 | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical() | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference() | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueContributor | Contributor | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/codesystem-history" | |
value[x] | I | 0..0 | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical() | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference() | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueContributor | Contributor | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
Documentation for this format |
XML Template
<!-- history --> <extension xmlns="http://hl7.org/fhir" url="http://hl7.org/fhir/StructureDefinition/codesystem-history" > <-- extension sliced by value:url in the specified orderOpen--> <extension url="name"> 0..1 Extension <!-- 0..1 The name of this set of history entries --> <valueString value="[string]"/><!-- 1..1 Value of extension --> </extension> <extension url="revision"> 0..* Extension <!-- 0..* Audit of all changes for a history entry --> <value[x]><!-- 0..0 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 Value of extension --></value[x]> </extension> </extension>
JSON Template
{ // history "extension" : [ // sliced by value:url in the specified order, Open { // The name of this set of history entries // C? // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "name", // R! "valueString" : "<string>" // C? R! Value of extension }, { // Audit of all changes for a history entry // C? // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "revision" // R! // value[x]: Value of extension. One of these 50: } ], "url" : "http://hl7.org/fhir/StructureDefinition/codesystem-history", // R! // value[x]: Value of extension. One of these 50: }
Summary
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
history | 0..* | Extension | URL = http://hl7.org/fhir/StructureDefinition/codesystem-history history: Information on changes made to the Value Set Definition over time, and also has a contained audit trail of all such changes. Use on Element ID CodeSystem | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
extension:name | I | 0..1 | Extension | The name of this set of history entries |
extension | I | 0..0 | ||
url | 1..1 | uri | "name" | |
value[x] | I | 1..1 | string | Value of extension |
extension:revision | I | 0..* | Extension | Audit of all changes for a history entry |
extension | I | 0..0 | ||
extension:date | I | 1..1 | Extension | Date the change was made |
extension | I | 0..0 | ||
url | 1..1 | uri | "date" | |
value[x] | I | 1..1 | dateTime | Value of extension |
extension:id | I | 1..1 | Extension | Version marker after the change was made |
extension | I | 0..0 | ||
url | 1..1 | uri | "id" | |
value[x] | I | 1..1 | string | Value of extension |
extension:author | I | 1..1 | Extension | Who made the change |
extension | I | 0..0 | ||
url | 1..1 | uri | "author" | |
value[x] | I | 1..1 | string | Value of extension |
extension:notes | I | 0..1 | Extension | Information about the change |
extension | I | 0..0 | ||
url | 1..1 | uri | "notes" | |
value[x] | I | 1..1 | string | Value of extension |
url | 1..1 | uri | "revision" | |
value[x] | I | 0..0 | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical() | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference() | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueContributor | Contributor | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/codesystem-history" | |
value[x] | I | 0..0 | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical() | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference() | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueContributor | Contributor | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
Documentation for this format |
Full Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
extension | 0..* | Extension | URL = http://hl7.org/fhir/StructureDefinition/codesystem-history history: Information on changes made to the Value Set Definition over time, and also has a contained audit trail of all such changes. Use on Element ID CodeSystem | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
extension:name | I | 0..1 | Extension | The name of this set of history entries |
extension | I | 0..0 | ||
url | 1..1 | uri | "name" | |
value[x] | I | 1..1 | string | Value of extension |
extension:revision | I | 0..* | Extension | Audit of all changes for a history entry |
extension | I | 0..0 | ||
extension:date | I | 1..1 | Extension | Date the change was made |
extension | I | 0..0 | ||
url | 1..1 | uri | "date" | |
value[x] | I | 1..1 | dateTime | Value of extension |
extension:id | I | 1..1 | Extension | Version marker after the change was made |
extension | I | 0..0 | ||
url | 1..1 | uri | "id" | |
value[x] | I | 1..1 | string | Value of extension |
extension:author | I | 1..1 | Extension | Who made the change |
extension | I | 0..0 | ||
url | 1..1 | uri | "author" | |
value[x] | I | 1..1 | string | Value of extension |
extension:notes | I | 0..1 | Extension | Information about the change |
extension | I | 0..0 | ||
url | 1..1 | uri | "notes" | |
value[x] | I | 1..1 | string | Value of extension |
url | 1..1 | uri | "revision" | |
value[x] | I | 0..0 | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical() | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference() | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueContributor | Contributor | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/codesystem-history" | |
value[x] | I | 0..0 | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical() | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference() | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueContributor | Contributor | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
Documentation for this format |
XML Template
<!-- history --> <extension xmlns="http://hl7.org/fhir" url="http://hl7.org/fhir/StructureDefinition/codesystem-history" > <-- extension sliced by value:url in the specified orderOpen--> <extension url="name"> 0..1 Extension <!-- 0..1 The name of this set of history entries --> <valueString value="[string]"/><!-- 1..1 Value of extension --> </extension> <extension url="revision"> 0..* Extension <!-- 0..* Audit of all changes for a history entry --> <value[x]><!-- 0..0 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 Value of extension --></value[x]> </extension> </extension>
JSON Template
{ // history "extension" : [ // sliced by value:url in the specified order, Open { // The name of this set of history entries // C? // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "name", // R! "valueString" : "<string>" // C? R! Value of extension }, { // Audit of all changes for a history entry // C? // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "revision" // R! // value[x]: Value of extension. One of these 50: } ], "url" : "http://hl7.org/fhir/StructureDefinition/codesystem-history", // R! // value[x]: Value of extension. One of these 50: }
Constraints