> For the complete documentation index, see [llms.txt](https://docs.snomed.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.snomed.org/snomed-ct-specifications/snomed-ct-release-file-specification/snomed-ct-identifiers/6.3-sctid-constraints.md).

# SCTID Constraints

The permissible value for the [SCTID](/snomed-ct-specifications/snomed-ct-release-file-specification/appendices/appendix-b.-specification-reference-information/s/sctid-data-type.md)s are limited by the following rules:

* Only positive integer values that are greater than 10<sup>5</sup> and less than 10<sup>18</sup> are permitted.
* The only valid [string](/snomed-ct-specifications/snomed-ct-release-file-specification/appendices/appendix-b.-specification-reference-information/s/string-data-type.md) renderings of the identifier value are String of decimal digits (0-9), commencing with a non zero digit.
* The second and third digits from the right hand end of the string rendering of the identifier must match one of the partition-identifier values specified in this guide.
* The rightmost digit of the string rendering is a check-digit and must match the value calculated using the specified check-digit computation.

{% hint style="info" %}
**Note**

* As a result of these rules, many 64-bit integers are not valid SCTIDs. The value limitations enable any valid SCTID to be stored in either a signed or unsigned 64-bit integer.
* The rules also ensure that an SCTID can be distinguished from code from one of the antecedent code systems Read Codes(which are 4 or 5 characters in length) and legacy Identifiers from SNOMED RT and it predecessors (which always start with a letter).
* SNOMED RT identifiers are SCTIDs identical to those used in SNOMED CT but in some cases will now refer to inactive concepts. In these cases, data in the [900000000000489007 |Concept inactivation indicator reference set|](http://snomed.info/id/900000000000489007) and [900000000000522004 |Historical association reference set|](http://snomed.info/id/900000000000522004) can be used to find the identifier of the closest equivalent active concept.
  {% endhint %}

{% hint style="danger" %}
**Warning**

In some systems and frameworks the default numeric data type is a floating point representation according to IEEE 754. For example, as of today in JavaScript the number type (by default) is a double precision floating precision data type allowing representation of 53-bit integers, which is not sufficient for SCTIDs.

It is recommended that you specify a 64-bit integer type for representing SCTIDs rather than using a default numeric data type. Where a 64-bit integer data type is not available, please use a string data type to represent the SCTIDs.
{% endhint %}

<a href="https://docs.google.com/forms/d/e/1FAIpQLScTmbZIf0UEQwYDkY27EEWBkaiYkHSbR0_9DmFrMLXoQLyL7Q/viewform?usp=pp_url&#x26;entry.1767247133=Release+File+Specification&#x26;entry.670899847=SCTID%20Constraints" class="button primary">Provide Feedback</a>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.snomed.org/snomed-ct-specifications/snomed-ct-release-file-specification/snomed-ct-identifiers/6.3-sctid-constraints.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
