Repositori ini menampung dokumentasi API yang dapat dilihat publik untuk penerapan standar HL7 ® FHIR ® oleh Cerner, yang juga dikenal sebagai Cerner's Ignite API.
Dokumentasi yang diterapkan dapat dilihat di https://fhir.cerner.com/.
Laporan bug atau catatan mengenai area yang dokumentasinya tidak jelas diterima sebagai masalah repositori.
Instal dependensi dengan bundler.
$ bundle install
Kompilasi situs dengan nanoc.
$ bundle exec nanoc
Mulai server web lokal dengan nanoc.
$ bundle exec nanoc view
Navigasikan ke http://localhost:3000/ untuk melihat situs. Saat membuat perubahan pada situs, ulangi dua langkah terakhir untuk mengkompilasi ulang dan melihat konten baru.
Kami telah menambahkan atribut di bagian atas beberapa file penurunan harga untuk menetapkan tata letak. Ini biasanya hanya diperlukan untuk halaman yang bukan merupakan dokumentasi API sebenarnya (aturan kompilasi kami menggunakan atribut layout tersebut sebelum kembali ke layout api).
Tata letak sendiri ditentukan di direktori tata letak. Beberapa tata letak (seperti tata letak API atau FAQ) digunakan sebagai templat halaman seperti yang disebutkan di atas. Tata letak lainnya (seperti tata letak kategori sumber daya atau tata letak header/footer) digunakan untuk menyertakan konten di halaman lain.
Ada aturan prapemrosesan yang menggunakan pencocokan folder untuk menambahkan atribut versi dan solusi ke semua file penurunan harga untuk API. Satu-satunya hal yang perlu Anda lakukan agar ini berfungsi adalah meletakkan dokumentasi sumber daya di jalur folder /[solution]/[version]/.
Atribut versi dan solusi saat ini digunakan untuk melenturkan kelas CSS, tautan halaman, dan bilah alat/bilah sisi navigasi untuk dokumentasi API.
Operasi Buat dan Perbarui biasanya memerlukan badan JSON yang mungkin membosankan untuk didokumentasikan secara manual melalui penurunan harga. Untuk menyederhanakan proses ini dan meningkatkan konsistensi kami telah menambahkan pembantu definition_table
untuk menghasilkan tabel dari file konten yaml.
Helper definition_table
memerlukan 3 parameter: konten, tindakan, dan versi.
content
menunjukkan file konten mana yang akan dimuat.version
menunjukkan versi file konten.action
menunjukkan variasi spesifik tindakan mana yang ditentukan dalam file konten untuk dicerminkan dalam tabel yang dihasilkan. Biasanya tindakannya adalah :create atau :update. Tindakan yang tersedia ditentukan dalam file konten itu sendiri. Pembuatan tabel bidang dilakukan dengan memanggil metode definition_table
melalui panggilan ERB di file dokumentasi mana pun yang memerlukan tabel tersebut.
Misalnya, DocumentReference Create versi DSTU2 dapat dibuat menggunakan:
<%= definition_table(:document_reference, :create, :dstu2) %>
Sedangkan versi Pembaruan Intoleransi Alergi lainnya dapat dibuat (dengan asumsi tersedia definisi yang sesuai) menggunakan:
<%= definition_table(:allergy_intolerance, :update, :r4) %>
Sebenarnya, parameter version
mereferensikan subfolder di lib/resources
tempat file konten untuk versi tersebut disimpan. Jadi definition_table(:document_reference, :create, :dstu2)
merujuk pada lib/resources/dstu2/document_reference.yaml
. Menambahkan versi baru atau file konten baru hanyalah masalah membuat folder dan file konten dengan nama yang tepat.
definition_table
membaca bidang ini dari definisi yaml konten sumber daya:
Helper terminolgy_table
tersedia untuk menghasilkan tabel pengikatan terminologi dari file konten yaml yang sama dengan definition_table
.
Helper terminolgy_table
memerlukan 2 parameter: konten dan versi.
content
menunjukkan file konten mana yang akan dimuat.version
menunjukkan versi file konten. Pembuatan tabel terminologi dilakukan dengan memanggil metode terminology_table
melalui panggilan ERB di file dokumentasi mana pun yang memerlukan tabel tersebut.
Misalnya, AllergyIntolerance versi DSTU2 dapat dibuat menggunakan:
<%= terminology_table(:allergy_intolerance, :dstu2) %>
Pemrosesan parameter version
ditangani sama seperti definition_table
.
terminology_table
membaca kolom berikut dari definisi yaml konten sumber daya:
Konten ditentukan dalam file YAML dan sebagian besar kolom bersifat opsional. Jika tidak disediakan, sel tabel yang dihasilkan hanya akan kosong.
definition_table
akan menghasilkan tautan bersarang untuk setiap bidang yang diawali dengan url ini.field_name_base_url
.lib/resources/<version>/types.yaml
, bidang ini akan ditautkan ke sumber daya yang ditentukan.fields
ini.field_name_base_url
jika ditentukan.Aturan pemformatan YAML standar berlaku.
Selain bidang di atas, setiap bidang dapat memiliki bidang action
yang menunjukkan tindakan mana yang diterapkan pada bidang tersebut. Jika ditentukan, bidang tersebut hanya akan disertakan saat membuat tabel dengan tindakan yang ditentukan. Beberapa tindakan juga didukung dan dapat didefinisikan sebagai daftar:
Make the field apply to a single action
- name: subject
...
action: create
Make the field apply to multiple actions
- name: subject
...
action:
- create
- update
Demikian pula, nilai bidang juga dapat diubah per tindakan:
Alter the required and note values for update and create
- name: id
required:
- update: 'Yes'
- create: 'No'
type: id
description: The logical id of the resource to update.
example: |
{
"id": "123412"
}
note:
- update: The id value must match the AllergyIntolerance/<id> value.
- create: The id field must not be set when performing an update operation.
Nama tindakan tidak terbatas pada membuat dan memperbarui, namun hanya satu tindakan yang dapat digunakan dalam satu waktu saat membuat tabel bidang.
Penautan didukung dalam beberapa bentuk.
Nama bidang akan ditautkan secara otomatis berdasarkan base_field_name_url
kecuali diganti dengan nilai url
bidang.
Sel tabel Type akan menghasilkan tautan berdasarkan pasangan nilai kunci URL yang ditentukan dalam lib/resources/<version>/types.yaml
. Kata apa pun yang ditemukan di bidang type
akan diganti dengan URL yang ditentukan.
Bidang description
dan note
juga mendukung penautan melalui penggunaan tag `` dan []
. Kata-kata yang diapit tag `` akan ditautkan sesuai dengan file types.yaml
, jika memungkinkan, atau hanya diformat sebagai tag <code>
jika tidak. Kata-kata yang diapit []
akan dianggap sebagai referensi ke kolom lain dalam tabel yang sama.
Secara umum, yang terbaik adalah tidak menggunakan tag `` di bidang type
, meskipun itu mungkin. Mungkin terdapat konflik yang dapat mengakibatkan penggantian duplikat dan hasil yang tidak diinginkan.