# Import SNOMED CT from RF2

Before importing an RF2 file you can check existing content by for example looking up the available SNOMED CT Concepts in the created SNOMED CT resource:

```bash
curl -u "test:test" http://localhost:8080/snowowl/snomedct/SNOMEDCT/concepts?pretty
```

As the response also indicates, the terminology is empty:

```json
{
  "items": [ ],
  "limit": 50,
  "total": 0
}
```

Let's import an [RF2 ](https://confluence.ihtsdotools.org/display/DOCGLOSS/release+format+2)archive using its SNAPSHOT content (see release types [here](https://confluence.ihtsdotools.org/display/DOCRELFMT/3.2+Release+Types)) so that we can further explore the available SNOMED CT APIs. To start the import process, send the following request:

```bash
curl -v -u "test:test" http://localhost:8080/snowowl/snomedct/SNOMEDCT/import?type=snapshot\&createVersions=false \
-F file=@SnomedCT_InternationalRF2_PRODUCTION.zip
```

Curl will display the entire interaction between it and the server, including many request and response headers. We are interested in these two (response) rows in particular:

```
< HTTP/1.1 201 Created
< Location: http://localhost:8080/snowowl/snomedct/SNOMEDCT/import/107f6efa69886bfdd73db5586dcf0e15f738efed
```

The first one indicates that the file was uploaded successfully and a job has been created to track the progress of the import, while the second row indicates the location of this import job.

{% hint style="warning" %}
Depending on the size and type of the RF2 package, hardware, and Snow Owl configuration, RF2 imports might take a few hours to complete (but usually less). Official SNAPSHOT distributions can be imported in less than 30 minutes by allocating at least 6 GB of heap size to Snow Owl and configuring it to use a solid-state disk for the data directory.
{% endhint %}

The process itself is asynchronous and its status can be checked by periodically sending a GET request to the location returned in the response header:

```bash
curl -u "test:test" http://localhost:8080/snowowl/snomedct/SNOMEDCT/import/107f6efa69886bfdd73db5586dcf0e15f738efed?pretty
```

The expected response while the import is running:

```json
{
  "id": "107f6efa69886bfdd73db5586dcf0e15f738efed",
  "status": "RUNNING"
}
```

Upon completion, you should receive a different response that lists component identifiers visited during the import as well as any defects encountered in uploaded release files:

```json
{
  "id": "107f6efa69886bfdd73db5586dcf0e15f738efed",
  "status": "FINISHED",
  "response": {
    "visitedComponents": [ ... ],
    "defects": [ ],
    "success": true
  }
}
```


---

# 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://docs.b2ihealthcare.com/snow-owl/quick-start/snomed-ct.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.
