# Naming Conventions

## Case

### For Everything, Apart from the Data Object Title

The DCI case convention is inspired by the convention used for the OpenID standards, which is [snake case](https://en.wikipedia.org/wiki/Snake_case).

As a consequence, [snake case](https://en.wikipedia.org/wiki/Snake_case) is used as a case convention for everything except for the data object title.

Reference to the OpenID naming practice can be found using this [link](https://openid.net/specs/openid-connect-core-1_0.html#).

{% embed url="<https://en.wikipedia.org/wiki/Snake_case>" %}
Snake Case
{% endembed %}

{% embed url="<https://openid.net/specs/openid-connect-core-1_0.html>" %}
openID naming practice
{% endembed %}

### Data Object Title

For the name of the data objects, e.g. CRVSPerson, CamelCase is used.

{% embed url="<https://en.wikipedia.org/wiki/Camel_case>" %}
Camel Case
{% endembed %}

## Labelling of Different Elements of Standards&#x20;

In order to uniquely identify different parts of the standards a unique label is assigned to a part created.

### Example

For instance, CD.COM.01 identifier\_type defines a code directory (CD) that can be a common (COM) data object across multiple interfaces and is the 1st (01) code directory defined in that common interface/GitBook space.

Another example

DO.CRVS.01 crvs\_person defines a data object (DO) that is specific to the CRVS (CRVS) and SP-MIS interface and is the 1st (01) data object defined for that specific CRVS and SP-MIS interface/GitBook space.

### First Part of the Label

This defines which part of the standard we are looking at.

| Acronym | Meaning                           |
| ------- | --------------------------------- |
| ASM     | Assumption                        |
| EXC     | Exception                         |
| PRS     | Process                           |
| DO      | Data object                       |
| CD      | Code directory                    |
| DT      | Data type                         |
| DF      | Data format                       |
| API     | Application programming interface |

### Second Part of the Label

Depending on whether one part of a standard can be used across multiple interfaces or not, as explained in the [Structure & Versioning of the Standards](/standards/standards-for-interoperability-interfaces/structure-and-versioning-of-the-standards.md), the respective space/interface is indicated in the second part of the label.

| Acronym | Meaning                                 |
| ------- | --------------------------------------- |
| COM     | Common                                  |
| CRVS    | Civil registration and vital statistics |

### Third Part of the Label

This can either be .API for the API specific code directories/error codes, or a consecutive numbering starting from 01.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://standards.spdci.org/standards/standards-for-interoperability-interfaces/naming-conventions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
