# Tipe Data

Terdapat 4 tipe data FHIR yang digunakan sebagai standar interoperabilitas data kesehatan pada SATUSEHAT:

{% tabs %}
{% tab title="Primitif" %}
Tipe primitif atau sederhana, adalah tipe data yang paling dasar/primitif untuk definisikan sebuah nilai tertentu.

<table><thead><tr><th width="193">Tipe Data</th><th>Penjelasan</th></tr></thead><tbody><tr><td><code>boolean</code></td><td>Nilai untuk tipe data ini hanya salah satu dari dua nilai ini: <code>true</code> atau <code>false</code>.</td></tr><tr><td><code>integer</code></td><td>Bagian dari bilangan rasional yang merepresentasikan bilangan bulat, dengan rentang nilai dari <code>−2.147.483.648</code> hingga <code>2.147.483.647</code> dalam sistem operasi 32-bit. Untuk nilai yang lebih besar disarankan menggunakan tipe data <code>decimal</code>.</td></tr><tr><td><code>string</code></td><td><p>Data yang berisi sekumpulan karakter <a href="https://en.wikipedia.org/wiki/Unicode">unicode</a>, dengan aturan:</p><ul><li>jumlah karakter tidak boleh lebih dari 1.048.576 karakter</li><li>harus karakter unicode dengan poin ≥ 32 (<code>u0032</code>), kecuali untuk <code>u0009</code> (horizontal tab <code>/t</code>), <code>u0010</code> (carriage return <code>/r</code>), dan <code>u0013</code> (line feed <code>/n</code>)</li><li>tidak boleh ada spasi di awal atau akhir data</li><li>tidak boleh kosong atau tidak ada karakter (jumlah karakter nol).</li></ul></td></tr><tr><td><code>decimal</code></td><td>Bagian dari bilangan rasional yang merepresentasikan bilangan desimal. TIpe ini juga bisa menerima tipe <code>integer</code>, bila nilai tersebut melebihi kapasitas dari tipe terkait.</td></tr><tr><td><code>uri</code></td><td><p>Referensi berbentuk string terkait <em>Uniform Resource Identifier</em> (<a href="https://www.rfc-editor.org/info/rfc3986">RFC 3986</a>), dengan catatan:</p><ul><li>bersifat <em>case sensitive</em></li><li>dapat berupa alamat absolut atau relatif, dan bisa ada penanda <em>fragment</em> (<code>#</code>)</li><li>untuk nilai berupa kode <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUID</a> harus menggunakan huruf kecil semuanya, contoh: <code>urn:uuid:53fefa32-fcbb-4ff8-8a92-55ee120877b7</code>.</li></ul></td></tr><tr><td><code>url</code></td><td><p>Referensi berbentuk <code>string</code> terkait <em>Uniform Resource Locator</em> (<a href="https://www.rfc-editor.org/rfc/rfc1738">RFC 1738</a>), dengan catatan:</p><ul><li>URL diakses langsung menggunakan protokol yang sudah ditentukan. Protokol URL umum biasanya adalah <strong>http{s}:</strong>, <strong>ftp:</strong>, <strong>mailto:</strong> and <strong>mllp:</strong></li></ul></td></tr><tr><td><code>canonical</code></td><td><p>URI yang mereferensi ke <em>resource by its canonical URL</em> (<a href="https://hl7.org/fhir/references.html#canonical">canonical URL</a>).</p><ul><li>memiliki perbedaan dengan URI karena pada canonical URL ini biasanya dipisahkan dengan tanda separator.</li></ul></td></tr><tr><td><code>base64binary</code></td><td>Merupakan <em>stream of bytes</em> yang disandikan menggunakan <em>Base64</em> (<a href="https://www.rfc-editor.org/rfc/rfc4648">RFC 4648</a>)</td></tr><tr><td><code>instant</code></td><td><p>Merupakan tipe data yang menampilkan waktu dengan format <code>YYYY-MM-DDThh:mm:ss.sss+zz:zz</code>, contoh: <code>2015-02-07T13:28:17.239+02:00</code>, dengan catatan:</p><ul><li>tipe ini hanya berlaku untuk sistem, bukan untuk waktu yang digunakan oleh manusia</li><li>Waktu yang ditampilkan harus ditentukan setidaknya sampai detik dan harus menyertakan zona waktu.</li></ul></td></tr><tr><td><code>date</code></td><td><p>Nilai tanggal atau potongan tanggal yang digunakan untuk kebutuhan komunikasi (manusia), dengan format:</p><ul><li><code>YYYY</code> contohnya: <code>2022</code></li><li><code>YYYY-MM</code> contohnya: <code>1993-02</code></li><li><code>YYYY-MM-DD</code> contohnya: <code>2023-02-01</code></li></ul></td></tr><tr><td><code>dateTime</code></td><td><p>Nilai untuk tanggal, sebagian dari tanggal (tahun, bulan dan tahun), atau waktu, yang biasa digunakan dalam komunikasi bukan mesin (tidak ada campur tangan manusia). Formatnya bisa berupa:</p><ul><li><code>YYYY</code> contohnya: <code>2018</code>,</li><li><code>YYYY-MM</code> contohnya: <code>1973-06</code>,</li><li><code>YYYY-MM-DD</code> contohnya: <code>1905-08-23</code>, atau</li><li><code>YYYY-MM-DDThh:mm:ss+zz:zz</code> contohnya: <code>2015-02-07T13:28:17-05:00</code> atau bisa juga <code>2017-01-01T00:00:00.000Z</code>.</li></ul><p>Untuk waktu dengan nilai <code>24:00</code> tidak diperbolehkan.</p></td></tr><tr><td><code>time</code></td><td><p>Nilai untuk waktu, dengan format:</p><ul><li><code>hh:mm:ss</code> contohnya: <code>11:07:20</code></li></ul></td></tr><tr><td><code>code</code></td><td>Mengindikasikan nilai referensi yang berbentuk <code>string</code>, di mana nilai tersebut adalah bagian dari data yang didefinisikan di tempat/sistem lainnya.</td></tr><tr><td><code>oid</code></td><td>Merupakan OID yang direpresentasikan sebagai URI (<a href="https://www.ietf.org/rfc/rfc3001.txt">RFC 3001</a>), contoh: <code>urn:oid:1.2.3.4.5</code></td></tr><tr><td><code>id</code></td><td>Berisi kombinasi huruf besar (<code>A..Z</code>) huruf kecil (<code>a..z</code>) angka (<code>0..9</code>) tanda (<code>.</code>) atau (<code>-</code>) dengan panjang maksimal 64 karakter.</td></tr><tr><td><code>markdown</code></td><td>Berisi nilai <code>string</code> FHIR yang mengandung sintaks <code>markdown</code> untuk proses yang menggunakan <code>markdown</code> <em>presentation engine</em>.</td></tr><tr><td><code>unsignedInt</code></td><td>Berisi bilangan negatif <code>integer</code> dengan <em>range</em> angka (<code>0..2</code>,<code>147</code>,<code>483</code>,<code>647</code>)</td></tr><tr><td><code>positiveInt</code></td><td>Berisi bilangan positif <code>integer</code> dengan <em>range</em> angka (<code>1..2</code>,<code>147</code>,<code>483</code>,<code>647</code>)</td></tr><tr><td><code>uuid</code></td><td>Merupakan UUID (GUID) yang direpresentasikan sebagai URI (<a href="https://www.ietf.org/rfc/rfc4122.txt">RFC 4122</a>).</td></tr></tbody></table>
{% endtab %}

{% tab title="Umum" %}
Tipe data umum, yang termasuk juga tipe data yang bersifat kompleks yang didefinisikan seperti `.` dengan sekumpulan properti yang memiliki tipe data masing-masing, yang dapat digunakan berulang kali dalam mendefinisikan sebuah nilai dalam suatu *element* atau *resource*.

<table><thead><tr><th>Tipe Data</th><th width="304">Penjelasan</th><th>Keterangan</th></tr></thead><tbody><tr><td><code>Address</code></td><td><p>Tipe data untuk menyimpan nilai data berupa alamat dari suatu lokasi tertentu.</p><pre class="language-json" data-title="Struktur JSON"><code class="lang-json">{
  *use: code (1)
  *type: code (2)
  text: string (3)
  line: [ string ] (4)
  city: string (5)
  district: string (6)
  state: string (7)
  postalCode: string (8)
  country: string (9)
  period: period (10)
}
</code></pre></td><td><ol><li>Keperluan, nilai code mengacu dari salah satu nilai di (IdentifierUse).</li><li>Jenis alamat, nilai {ftp-code} mengacu dari salah satu nilai di (AddressType).</li><li>Alamat lengkap.</li><li>Nama jalan, nomor rumah, dll.</li><li>Nama kota/kabupaten.</li><li>Nama kecamatan.</li><li>Nama kelurahan.</li><li>Kode pos.</li><li>Nama atau kode negara, bisa menggunakan kode standar ISO dari ISO 3166-2 atau ISO 3166-3.</li><li>Rentang waktu sejak kapan alamat aktif dipakai.</li></ol></td></tr></tbody></table>
{% endtab %}

{% tab title="Metadata" %}
Tipe metadata berisi sekumpulan tipe yang digunakan pada *resource* yang membutuhkan sebuah informasi tambahan berbentuk metadata.

<table><thead><tr><th>Tipe Data</th><th width="291">Penjelasan</th><th>Keterangan</th></tr></thead><tbody><tr><td><mark style="color:red;"><code>ContactDetail</code></mark></td><td><p>Tipe data ini berisi informasi kontak secara detail.</p><p><strong>Struktur JSON:</strong></p><pre class="language-json"><code class="lang-json">{
  name: string (1)
  telecom: [ ContactPoint ] (2)
}
</code></pre></td><td><ol><li>Nama individu untuk dihubungi.</li><li>Kontak detail dari individu atau organisasi.</li></ol></td></tr><tr><td><mark style="color:red;"><code>Contributor</code></mark></td><td><p></p><p><strong>Struktur JSON:</strong></p><pre class="language-ruby"><code class="lang-ruby">{
  *type: code (1)
  *name: string (2)
  contact: [ ContactDetail ] (3)
}
</code></pre></td><td><ol><li>Code dari tipe kontributor yang menjadi acuan (author, editor, reviewer, endorser).</li><li>Siapa yang menyumbangkan konten.</li><li>Kontak detail dari kontributor.</li></ol></td></tr></tbody></table>
{% endtab %}

{% tab title="Khusus" %}
Tipe khusus biasanya didefinisikan dan digunakan untuk penggunaan yang khusus/spesifik.

<table><thead><tr><th>Tipe Data</th><th width="324">Penjelasan</th><th>Keterangan</th></tr></thead><tbody><tr><td><code>CodeableReference</code></td><td><p>Tipe data ini merepresentasikan nilai yang merujuk pada beberapa referensi <em>resource</em> atau konsep elemen lainnya.</p><p><strong>Struktur JSON:</strong></p><pre class="language-json"><code class="lang-json">{
  concept: CodeableConcept (1)
  reference: Reference (2)
}
</code></pre></td><td><ol><li>Mereferensi ke konsep <em>(by class)</em></li><li>Mereferensi ke <em>resource</em> lainnya <em>(by instance)</em></li></ol></td></tr></tbody></table>
{% endtab %}
{% endtabs %}


---

# 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://dokumentasisatusehat-stg.dto.kemkes.go.id/resource-and-terminologi/tipe-data.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.
