Clinical Study Protocol
1.0.0-ballot2 - STU 1 Ballot2

Clinical Study Protocol - Downloaded Version 1.0.0-ballot2 See the Directory of published versions

## Extension:

Official URL: http://hl7.org/fhir/uv/clinical-study-protocol/StructureDefinition/m11-approval | Version: 1.0.0-ballot2 | Highlight text changes?
Standards status: Trial-use Active as of 2026-04-09 | Maturity Level: 2 | Computable Name: M11_Approval
Copyright/Legal: Portions of this material derives from the ICH M11 Harmonised Guideline CeSHarP. The ICH M11 Harmonised Guideline CeSHarP is copyright ©2025+ International Committee on Harmonisation and is made available under license. CDISC publishes semantics for the ICH M11 protocol data elements and valid value sets. This terminology set is published and stored in the NCI Thesaurus Subset C217023 - ICH M11 Terminology (https://evsexplore.semantics.cancer.gov/evsexplore/subset/ncit/C217023) The NCI Thesaurus is released under the CC BY 4.0 license CDISC also publishes the USDM reference architecture which is covered by the CC-BY-4.0 license For more licensing information and links see: licenses.html

Approval and sign off

Context of Use

This extension may be used on the following element(s)

- Element ID: `http://hl7.org/fhir/uv/clinical-study-protocol/StructureDefinition/m11-research-study-profile#ResearchStudy`

### Must Support Elements

At least one of approvalDate or signatureUrl SHOULD be populated§1

Usage info

Usages:

- Use this Extension: M11 Research Study Profile
- Examples for this Extension: ResearchStudy/Exemplar-ResearchStudy-001 and ResearchStudy/Exemplar-ResearchStudy-Current-Amendment

You can also check for usages in the FHIR IG Statistics

### Formal Views of Extension Content

Description Differentials, Snapshots, and other representations.

- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension | C | 0..* | Extension | Sign-off details Constraints: date-required
Slices for extension |  |  |  | Content/Rules for all slices
extension:approvalDate | S | 0..1 | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "approvalDate"
value[x] |  | 0..1 | date | Value of extension
extension:signature |  | 0..1 | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "signature"
value[x] |  | 0..1 | Signature | Value of extension
extension:signatureUrl | S | 0..1 | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "signatureUrl"
value[x] |  | 0..1 |  | Value of extension
valueString |  |  | string |
valueUrl |  |  | url |
extension:signatureMethod |  | 0..1 | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "signatureMethod"
value[x] |  | 0..1 | string | Value of extension
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/clinical-study-protocol/StructureDefinition/m11-approval"
value[x] |  | 0..0 |  | Value of extension
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
date-required | warning | Extension | At least one of approvalDate or signatureUrl SHOULD be populated. | `extension.where(url = 'approvalDate').exists() or extension.where(url = 'signatureUrl').exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension | C | 0..* | Extension | Sign-off details Constraints: date-required
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:approvalDate | S | 0..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url | Σ | 1..1 | uri | "approvalDate"
value[x] | Σ | 0..1 | date | Value of extension
extension:signature |  | 0..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url | Σ | 1..1 | uri | "signature"
value[x] | Σ | 0..1 | Signature | Value of extension
extension:signatureUrl | S | 0..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url | Σ | 1..1 | uri | "signatureUrl"
value[x] | Σ | 0..1 |  | Value of extension
valueString |  |  | string |
valueUrl |  |  | url |
extension:signatureMethod |  | 0..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url | Σ | 1..1 | uri | "signatureMethod"
value[x] | Σ | 0..1 | string | Value of extension
url | Σ | 1..1 | uri | "http://hl7.org/fhir/uv/clinical-study-protocol/StructureDefinition/m11-approval"
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
date-required | warning | Extension | At least one of approvalDate or signatureUrl SHOULD be populated. | `extension.where(url = 'approvalDate').exists() or extension.where(url = 'signatureUrl').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()`

Summary

Complex Extension: Approval and sign off

- approvalDate: date: An Extension
- signature: Signature: An Extension
- signatureUrl: string, url: An Extension
- signatureMethod: string: An Extension

Maturity: 2

Differential ViewDifferential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension | C | 0..* | Extension | Sign-off details Constraints: date-required
Slices for extension |  |  |  | Content/Rules for all slices
extension:approvalDate | S | 0..1 | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "approvalDate"
value[x] |  | 0..1 | date | Value of extension
extension:signature |  | 0..1 | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "signature"
value[x] |  | 0..1 | Signature | Value of extension
extension:signatureUrl | S | 0..1 | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "signatureUrl"
value[x] |  | 0..1 |  | Value of extension
valueString |  |  | string |
valueUrl |  |  | url |
extension:signatureMethod |  | 0..1 | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "signatureMethod"
value[x] |  | 0..1 | string | Value of extension
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/clinical-study-protocol/StructureDefinition/m11-approval"
value[x] |  | 0..0 |  | Value of extension
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
date-required | warning | Extension | At least one of approvalDate or signatureUrl SHOULD be populated. | `extension.where(url = 'approvalDate').exists() or extension.where(url = 'signatureUrl').exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension | C | 0..* | Extension | Sign-off details Constraints: date-required
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:approvalDate | S | 0..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url | Σ | 1..1 | uri | "approvalDate"
value[x] | Σ | 0..1 | date | Value of extension
extension:signature |  | 0..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url | Σ | 1..1 | uri | "signature"
value[x] | Σ | 0..1 | Signature | Value of extension
extension:signatureUrl | S | 0..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url | Σ | 1..1 | uri | "signatureUrl"
value[x] | Σ | 0..1 |  | Value of extension
valueString |  |  | string |
valueUrl |  |  | url |
extension:signatureMethod |  | 0..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url | Σ | 1..1 | uri | "signatureMethod"
value[x] | Σ | 0..1 | string | Value of extension
url | Σ | 1..1 | uri | "http://hl7.org/fhir/uv/clinical-study-protocol/StructureDefinition/m11-approval"
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
date-required | warning | Extension | At least one of approvalDate or signatureUrl SHOULD be populated. | `extension.where(url = 'approvalDate').exists() or extension.where(url = 'signatureUrl').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()`

Summary

Complex Extension: Approval and sign off

- approvalDate: date: An Extension
- signature: Signature: An Extension
- signatureUrl: string, url: An Extension
- signatureMethod: string: An Extension

Maturity: 2

Other representations of profile: CSV, Excel, Schematron