#### Interoperability Toolkit
Core

### ProfileId

#### Overview

The profileId attribute contained in the distribution envelope is a reference to a documented profile. Each specification details the profile identifiers which can be used as well as the configuration details for those profiles.

The schema for the configuration profile content can be found as follows:

Item |
--- | ---
Schema for the ITK Configuration Profile. | View

The schema elements and attributes are documented below. Specific rules exist for certain artefacts which are also detailed below.

Name | Cardinality | Data Type | Description
--- | --- | --- | ---
ProfileConfig | 1..1 |  | Root element for the schema
profileId | 1..1 | II | The identifier details for the profile.
@root | 1..1 | UID | An OID which identifies the scheme from which the profile identifiers are drawn. For profiles specified in the ITK, the OID 2.16.840.1.113883.2.1.3.2.4.18.28 should be used.
@extension | 1..1 | ST | The profile identifier itself.
messageType | 1..1 | CV | The identifier details for the profile.
@code | 1..1 | CS | The identifier of the message type.
@codeSystem | 1..1 | UID | An OID which identifies the scheme from which the message type identifiers are drawn. For message type specified in the ITK, the OID 2.16.840.1.113883.2.1.3.2.4.18.17 should be used.
@displayName | 1..1 | ST | The display name of the message type.
@codesystemName | 0..0 | ST | This attribute is constrained out.
@codesystemVersion | 0..0 | ST | This attribute is constrained out.
configGroup | 1..* |  | A grouper for various types of configuration items.
@type | 1..1 | CS | Identifies the type of configuration item e.g. Vocabulary, Templates, CMETs (as described below)
configItem | 1..* |  | Details the particular configuration item. The population of this element depends on the type of configuration item being specified.
@code | 0..1 | CS | See below for configuration item type specific description
@codeSystem | 0..1 | UID | See below for configuration item type specific description
@displayName | 0..1 | ST | See below for configuration item type specific description
@codesystemName | 0..1 | ST | See below for configuration item type specific description
@codesystemVersion | 0..1 | ST | See below for configuration item type specific description
@name | 0..1 | ST | See below for configuration item type specific description
@version | 0..1 | ST | See below for configuration item type specific description
@schemaName | 0..1 | ST | See below for configuration item type specific description

#### Vocabularies

The instance should be populated as follows for vocabularies:

Name | Cardinality | Data Type | Description
--- | --- | --- | ---
configGroup | 1..1 |  |
@type | 1..1 | CS | This item shall contain the string "Vocabularies"
configItem | 1..* |  |
@code | 0..0 | CS | This attribute is constrained out.
@codeSystem | 1..1 | UID | The OID representing the vocabulary.
@displayName | 0..0 | ST | This attribute is constrained out.
@codesystemName | 1..1 | ST | The name of the vocabulary.
@codesystemVersion | 1..1 | ST | The version of the vocabulary.
@name | 0..0 | ST | This attribute is constrained out.
@version | 0..0 | ST | This attribute is constrained out.
@schemaName | 0..0 | ST | This attribute is constrained out.

#### Templates

The instance should be populated as follows for templates:

Name | Cardinality | Data Type | Description
--- | --- | --- | ---
configGroup | 1..1 |  |
@type | 1..1 | CS | This item shall contain the string "Templates"
configItem | 1..* |  |
@code | 1..1 | CS | The identifier of the template.
@codeSystem | 1..1 | UID | The OID representing the template scheme.
@displayName | 1..1 | ST | The name of the template.
@codesystemName | 0..0 | ST | This attribute is constrained out.
@codesystemVersion | 0..0 | ST | This attribute is constrained out.
@name | 0..0 | ST | This attribute is constrained out.
@version | 0..0 | ST | This attribute is constrained out.
@schemaName | 0..0 | ST | This attribute is constrained out.

#### CMETs

The instance should be populated as follows for CMETs:

Name | Cardinality | Data Type | Description
--- | --- | --- | ---
configGroup | 1..1 |  |
@type | 1..1 | CS | This item shall contain the string "CMETs"
configItem | 1..* |  |
@code | 1..1 | CS | The identifier of the CMET.
@codeSystem | 0..0 | UID | This attribute is constrained out.
@displayName | 1..1 | ST | The name of the CMET.
@codesystemName | 0..0 | ST | This attribute is constrained out.
@codesystemVersion | 0..0 | ST | This attribute is constrained out.
@name | 0..0 | ST | This attribute is constrained out.
@version | 0..0 | ST | This attribute is constrained out.
@schemaName | 0..0 | ST | This attribute is constrained out.

#### Template Constraints

The instance should be populated as follows for Template Constraints:

Name | Cardinality | Data Type | Description
--- | --- | --- | ---
configGroup | 1..1 |  |
@type | 1..1 | CS | This item shall contain the string "TemplateConstraints"
configItem | 1..* |  |
@code | 0..0 | CS | This attribute is constrained out.
@codeSystem | 0..0 | UID | This attribute is constrained out.
@displayName | 0..0 | ST | This attribute is constrained out.
@codesystemName | 0..0 | ST | This attribute is constrained out.
@codesystemVersion | 0..0 | ST | This attribute is constrained out.
@name | 1..1 | ST | The identifier of the Template Constraint.
@version | 1..1 | ST | This contains version of Template Constraint.
@schemaName | 0..0 | ST | This attribute is constrained out.

#### Core Schemas

The instance should be populated as follows for Core Schemas:

Name | Cardinality | Data Type | Description
--- | --- | --- | ---
configGroup | 1..1 |  |
@type | 1..1 | CS | This item shall contain the string "CoreSchemas"
configItem | 1..* |  |
@code | 0..0 | CS | This attribute is constrained out.
@codeSystem | 0..0 | UID | This attribute is constrained out.
@displayName | 0..0 | ST | This attribute is constrained out.
@codesystemName | 0..0 | ST | This attribute is constrained out.
@codesystemVersion | 0..0 | ST | This attribute is constrained out.
@name | 0..0 | ST | This attribute is constrained out.
@version | 1..1 | ST | This contains version of Core Schema.
@schemaName | 1..1 | ST | The identifier of the Core Schema.