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.

Setiap terdapat simbol asterik * sebelum nama variabel atau parameter yang disebutkan, maka variabel atau parameter tersebut bersifat WAJIB, harus ada, atau pasti selalu ada, contoh: *variabel.
Setiap terdapat simbol tanya ? sebelum nama variabel atau parameter yang disebutkan, maka variabel atau parameter tersebut WAJIB ada bila memenuhi kondisi tertentu, contoh: ?variabel.
Tabel 1. Tipe Data Umum
Tipe DataPenjelasan

Address

Tipe data untuk menyimpan nilai data berupa alamat dari suatu lokasi tertentu.

Struktur 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)
}
1Keperluan, nilai code mengacu dari salah satu nilai di (IdentifierUse).
2Jenis alamat, nilai {ftp-code} mengacu dari salah satu nilai di (AddressType).
3Alamat lengkap.
4Nama jalan, nomor rumah, dll.
5Nama kota/kabupaten.
6Nama kecamatan.
7Nama kelurahan.
8Kode pos.
9Nama atau kode negara, bisa menggunakan kode standar ISO dari ISO 3166-2 atau ISO 3166-3.
10Rentang waktu sejak kapan alamat aktif dipakai.

Age

Tipe data untuk menyimpan nilai data berupa usia yang mengacu pada referensi berikut ini ( CommonUCUMCodesForAge)

Annotation

Tipe data ini berisi catatan teks yang berisi informasi mengenai siapa dan kapan yang membuat suatu pernyataan.

Struktur JSON:

{
  ?authorReference: reference (1)
  ?authorString: string (2)
  time: dateTime (3)
  *text: markdown (4)
}
1Kemana saja Annotation tersebut menunjukan referensi ke resource lainnya (Practitioner, Patient, RelatedPerson, Organization).
2Text mengenai informasi mengenai siapa yang membuat Annotation tersebut.
3Kapan Annotation tersebut dibuat.
4Isi data Annotation tersebut dalam sintaks markdown.

Attachment

Tipe data ini memuat dan mereferensikan lampiran atau data tambahan dalam format lain. Biasanya tipe data ini digunakan untuk menampilkan data berupa gambar atau laporan dalam format PDF. Tipe data ini juga dapat digunakan untuk semua data yang memiliki tipe MIME.

Struktur JSON:

{
  contentType: code (1)
  language: code (2)
  data: base64Binary (3)
  url: url (4)
  size: unsignedInt (5)
  hash: base64Binary (6)
  title: string (7)
  creation: dateTime (8)
}
1Jenis lampiran atau data tambahan dengan tipe MIME (MimeType).
2Bahasa yang digunakan dalam lampiran atau data tambahan tersebut (BCP-47).
3Data inline, base64ed.
4Data berupa URI, tempat di mana data dapat ditemukan.
5Jumlah byte dalam data tersebut.
6Hash data (sha-1, base64ed).
7Label untuk ditampilkan sebagai judul dari lampiran atau data tambahan tersebut.
8Data berupa tanggal dan waktu lampiran atau data tambahan tersebut pertama kali dibuat.

CodeableConcept

Tipe data ini merepresentasikan nilai yang biasanya diberikan oleh satu atau beberapa referensi terminologi atau ontologi lainnya.

Struktur JSON:

{
  coding: [ coding ] (1)
  text: string (2)
}
1Sistem koding yang terdefinisi di sistem yang menjadi acuan.
2Deskripsi dari konsep yang dimaksud.

CodeableReference

Tipe data ini merepresentasikan nilai yang merujuk pada beberapa referensi resource atau konsep elemen lainnya.

Struktur JSON:

{
  concept: CodeableConcept (1)
  reference: Reference (2)
}
1Mereferensi ke konsep (by class)
2Mereferensi ke resource lainnya (by instance)

Coding

Tipe data yang merepresentasikan definisi konsep dengan menggunakan simbol tertentu, yang sebelumnya didefinisikan dalam suatu sistem tertentu (CodeSystem).

Struktur JSON:

{
  system: uri (1)
  version: string (2)
  code: code (3)
  display: string (4)
  userSelected: boolean (5)
}
1URI dari sistem yang menjadi acuan.
2Versi dari sistem yang menjadi acuan.
3Simbol yang terdefinisi di sistem yang menjadi acuan.
4Deskripsi dari sistem yang menjadi acuan.
5Indikator terkait apakah sistem koding ini dipilih oleh pengguna.

ContactPoint

Tipe data yang berisi nilai semua kontak seseorang atau organisasi, seperti info kontak berupa nomor telepon, email, dan lain-lain.

Struktur JSON:

{
  system: code (1)
  value: string (2)
  use: code (3)
  rank: positiveInt (4)
  period: Period (5)
}
1Code dari sistem yang menjadi acuan (phone, fax, email, pager, url, sms).
2Detail informasi mengenai kontak tersebut.
3Tujuan yang terdefinisi di sistem yang menjadi acuan (home, work, temp, old, mobile).
4Urutan yang digunakan dalam tipe data ini (1 = nilai tertinggi).
5Periode waktu ketika tipe data ini digunakan.

Count

Tipe data untuk menyimpan nilai perhitungan yang mereferensi ke resource Quantity.

Distance

Tipe data untuk menyimpan nilai data berupa jarak yang mengacu pada referensi berikut ini (CommonUCUMCodesForDistance).

Duration

Tipe data untuk menyimpan nilai berupa durasi yang mengacu pada referensi berikut ini (CommonUCUMCodesForDuration).

HumanName

Tipe data berisi Nama manusia berupa teks.

Struktur JSON:

{
  use: code (1)
  text: string (2)
  family: string (3)
  given: [ string ] (4)
  prefix: [ string ] (5)
  suffix: [ string ] (6)
  period: Period (7)
}
1Code dari penggunaan nama yang menjadi acuan (usual, official, temp, nickname, anonymous, old, maiden).
2Berisi teks yang merepresentasikan nama lengkap.
3Berisi teks yang merepresentasikan nama belakang.
4Berisi teks yang merepresentasikan nama panggilan (tidak selalu nama depan, bisa juga nama tengah atau nama belakang).
5Prefik dari nama, kata tambahan di bagian awal sebelum penulisan nama, misal gelar atau panggilan (Prof. dr., Mr., Ny., dll).
6Suffik dari nama, kata tambahan di bagian akhir setelah penulisan nama, misal gelar (ST, MBA, dll).
7Periode waktu ketika tipe data ini digunakan.

Identifier

Tipe data Identifier biasanya digunakan untuk menghubungkan konten pada suatu resource ke konten eksternal yang tersedia pada framework atau protokol lainnya.

Struktur JSON:

{
  use: code (1)
  type: CodeableConcept (2)
  system: uri (3)
  value: string (4)
  period: Period (5)
  assigner: Reference (6)
}
1Code dari penggunaan identifier yang menjadi acuan (usual, official, temp, secondary, old).
2Deskripsi dari tipe data tersebut.
3Namespace untuk nilai dari identifier.
4Berisi nilai yang unik.
5Periode waktu ketika id digunakan.
6Berisi nama organisasi yang mengeluarkan id tersebut.

Money

Tipe data untuk menyimpan nilai mata uang yang mereferensi ke resource Quantity.

Struktur JSON:

{
  value: decimal (1)
  currency: code (2)
}
1Nilai numerik dalam bentuk decimal.
2Nilai mata uang yang mengacu pada ISO 4217 tentang code mata uang.

MoneyQuantity

Tipe data ini berisi nilai jumlah uang yang mereferensi ke resource Quantity.

Period

Tipe data untuk menyimpan nilai periode/rentang waktu, yang didefinisikan oleh awal dan akhir dari tanggal atau waktu tertentu.

Struktur JSON:

{
  start: dateTime (1)
  end: dateTime (2)
}
1Awal tanggal/waktu.
2Akhir tanggal/waktu.

Quantity

Tipe data untuk menyimpan nilai data hasil pengukuran dari suatu entitas.

Struktur JSON:

{
  value: decimal (1)
  comparator: code (2)
  unit: string (3)
  system: uri (4)
  code: code (5)
}
1Nilai yang didapatkan dalam decimal atau dapat juga berupa integer.
2Keterangan pembanding dari nilai tersebut, nilai untuk properti ini WAJIB ada bila nilainya berupa perkiraan (tidak =, tapi bisa >, , <, atau ), ValueSet-nya didefinisikan di (QuantityComparator).
3Jenis unit pengukuran yang dipakai.
4Referensi sistem terkait kode unitnya, nilai untuk properti ini WAJIB ada bila properti unit ada nilainya atau terisi.
5Kode dari unit yang dipakai.

Range

Tipe data untuk menentukan rentang nilai secara terurut yang ditentukan oleh batas terendah dan tertinggi.

Struktur JSON:

{
  low: SimpleQuantity (1)
  high: SimpleQuantity (2)
}
1Berisi rentang nilai dengan limit rendah.
2Berisi rentang nilai dengan limit tinggi.

Ratio

Tipe data yang digunakan sebagai penghubung antara dua nilai kuantitas yang dinyatakan sebagai numerator dan denominator.

Struktur JSON:

{
  numerator: Quantity (1)
  denominator: Quantity (2)
}
1Berisi nilai numerator (pembilang).
2Berisi nilai denominator (penyebut).

RatioRange

Tipe data yang berisi rentang rasio dari dua nilai Kuantitas dinyatakan sebagai numerator rendah, tinggi, dan denominator.

Struktur JSON:

{
  lowNumerator: SimpleQuantity (1)
  highNumerator: SimpleQuantity (2)
  denominator: SimpleQuantity (3)
}
1Berisi nilai numerator (pembilang) rendah.
2Berisi nilai numerator (pembilang) tinggi.
3Berisi nilai denominator (penyebut).

Reference

Tipe data untuk menyimpan data yang menunjukan referensi ke resource lainnya. Reference selalu didefinisikan dan direpresentasikan dengan satu alur, yaitu dari resource sumber (source) ke resource tujuan (target).

Struktur JSON:

{
  reference: string (1)
  type: uri (2)
  identifier: Identifier (3)
  display: string (4)
}
1Berisi referensi secara literal
2Tipe referensi acuan.
3Berisi referensi logikal.
4Deskripsi terkait referensi.

Catatan: Salah satu dari properti reference, identifier, atau display harus didefinisikan (ada nilainya).

SampledData

Tipe data yang digunakan untuk melakukan serangkaian pengukuran yang dilakukan oleh perangkat.

Struktur JSON:

{
  origin: [ SimpleQuantity ] (1)
  period: [ decimal ] (2)
  factor: decimal (3)
  lowerLimit: decimal (4)
  upperLimit: decimal (5)
  dimensions: [ positiveInt ] (6)
  data: string (7)
}
1Berisi nilai nol dan satuannya.
2Berisi Jumlah milidetik antara sampel data.
3Berisi data ganda yang ditambahkan sebelum data aslinya.
4Deteksi nilai limit rendah.
5Deteksi nilai limit tinggi.
6Jumlah titik sampel pada setiap titik waktu.
7Nilai decimal dengan spasi, atau "E", "U", "L".

Signature

Tipe data yang berisi tandatangan atau tanda bukti telah disetujui/diakui, baik berupa bentuk elektronik (kriptografi), atau berupa gambar tandatangan dari orang yg bersangkutan.

Struktur JSON:

{
  type: [ Coding ] (1)
  when: [ instant ] (2)
  who: [ Reference ] (3)
  onBehalfOf: Reference (4)
  targetFormat: code (5)
  sigFormat: code (6)
  data: base64Binary (7)
}
1Berisi indikasi alasan menandatangani suatu objek.
2Kapan tandatangan tersebut dibuat.
3Siapa yang menandatangani objek tersebut.
4Siapa yang melakukan/merepresentasikan/mewakili dari tandatangan terkait.
5Format teknis dari resource yang ditandatangani.
6Format teknis tandatangan tersebut.
7Berisi konten asli dari tandatangan tersebut (XML DigSig. JWS, gambar, dan lain-lain).

SimpleQuantity

Tipe data untuk menyimpan nilai data sederhana hasil pengukuran dari suatu entitas yang mereferensi ke resource Quantity.

Timing

Tipe data ini merepresentasikan jadwal waktu yang menentukan peristiwa yang mungkin terjadi beberapa kali.

Struktur JSON:

{
  event: [ dateTime ] (1)
  repeat: { (2)
    ?boundsDuration: Duration (3)
    ?boundsRange: Range (4)
    ?boundsPeriod: Period (5)
    count: positiveInt (6)
    countMax: positiveInt (7)
    duration: decimal (8)
    durationMax: decimal (9)
    durationUnit: code (10)
    frequency: positiveInt (11)
    frequencyMax: positiveInt (12)
    period: decimal (13)
    periodMax: decimal (14)
    periodUnit: code (15)
    dayOfWeek: [ code ] (16)
    timeOfDay: [ time ] (17)
    when: [ code ] (18)
    offset: unsignedInt (19)
  }
  code: CodeableConcept (20)
}
1Kapan kejadian tersebut terjadi.
2Pengulangan suatu kejadian.
3Panjang durasi suatu kejadian.
4Rentang batas suatu kejadian.
5Panjang periode suatu kejadian.
6Berapa kali kejadian tersebut mengulang.
7Jumlah maksimum pengulangan suatu kejadian.
8Berapa lama terjadinya suatu kejadian.
9Berapa lama terjadinya suatu kejadian (maksimal).
10Durasi waktu (detik, menit, jam, hari, minggu, bulan).
11Frekuensi terjadinya suatu kejadian per periode.
12Frekuensi maksimal terjadinya suatu kejadian per periode.
13Frekuensi terjadinya suatu kejadian per periode.
14Batas periode waktu (3-4 jam).
15Satuan waktu (detik, menit, jam, hari, minggu, bulan).
16Hari-hari dalam seminggu (Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu).
17Waktu untuk melakukan tindakan.
18Kode untuk periode waktu kejadian.
19Menit suatu kejadian (sebelum atau sesudah).
20Kode dari singkatan waktu yang dipakai.