> For the complete documentation index, see [llms.txt](https://documentation.opencrvs.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.opencrvs.org/v1.6/setup/3.-installation/3.2-set-up-your-own-country-configuration/3.2.3-set-up-cr-offices-and-health-facilities/3.2.3.1-prepare-source-file-for-crvs-office-facilities.md).

# 4.2.3.1 Prepare source file for CRVS Office facilities

Prepare your ***crvs-facilities*** source file. This is a [csv](https://en.wikipedia.org/wiki/Comma-separated_values) file for every civil registration office in your country. You can import and create csv files in Excel or Google Drive.

Using our [crvs-facilities.csv](https://github.com/opencrvs/opencrvs-countryconfig/blob/develop/src/data-seeding/locations/source/crvs-facilities.csv) file as an example, update it with the CRVS Office information for your country. Our crvs-facilities.csv file looks like this:

| id         | name                   | partOf               | locationType |
| ---------- | ---------------------- | -------------------- | ------------ |
| 2OKicPQMNI | HQ Office              | Location/BxrIbNW7f3K | CRVS\_OFFICE |
| JEhYJ82xRI | Isamba District Office | Location/HPGiE9Jjh2r | CRVS\_OFFICE |
| JWMRGwDBXK | Ibombo District Office | Location/oEBf29y8JP8 | CRVS\_OFFICE |

Each row will represent a unique "CRVS Office" in your country.

{% hint style="info" %}
Do not change or re-format the header row as the seeding process requires these names to be precise in order to parse the csv. Do not use commas in any cell and do not have any empty rows.
{% endhint %}

The **id** column is a unique identifier for each office. This could be a unique identifier you already use or alternatively you could create unique identifiers programatically, using Excel or using an online UUID generator website for which there are many free ones available. **It is important to note that the id must contain no spaces, no rich texts or commas**

This Excel / Google Sheets formula creates a random unique ID:

```
=DEC2HEX(RANDBETWEEN(0, 4294967295), 8)
```

The **name** column contains the human readable name for the office. We do not currently support multilingual names for the office. **It is important to note that the name must contain no commas**

The **partOf** column shows that the office is part of a higher level administrative division. Notice how we use the levels **admin\<level>Pcode** to set the office as a child of a particular parent level. For example **HQ Office** district is a child of **Isamba** district thanks to this partOf value. Perhaps you may also recognise that these form part of [FHIR Reference URLs](https://www.hl7.org/fhir/references-definitions.html#Reference.reference) hence the requirement for them to be absent of spaces and special characters:

```
Location/HPGiE9Jjh2
```

* The **locationType** column must be set to CRVS\_OFFICE


---

# 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://documentation.opencrvs.org/v1.6/setup/3.-installation/3.2-set-up-your-own-country-configuration/3.2.3-set-up-cr-offices-and-health-facilities/3.2.3.1-prepare-source-file-for-crvs-office-facilities.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.
