From 551ee3aef5803f395d0826033143fbaf918126e6 Mon Sep 17 00:00:00 2001 From: Mustofa Date: Mon, 25 Dec 2023 23:04:52 +0700 Subject: [PATCH] fix: clarify Apotek implementation (#73) * update readme * update readme - remove title * clarify parameters, content type, path and descriptions * add changeset --- .changeset/red-forks-boil.md | 5 +++++ README.md | 38 ++++++++++++++++++------------------ src/apotek/monitoring.ts | 2 +- src/apotek/obat.ts | 2 ++ src/apotek/pelayanan-obat.ts | 6 ++++-- src/apotek/resep.ts | 12 +++++++++++- 6 files changed, 42 insertions(+), 23 deletions(-) create mode 100644 .changeset/red-forks-boil.md diff --git a/.changeset/red-forks-boil.md b/.changeset/red-forks-boil.md new file mode 100644 index 0000000..e679fa7 --- /dev/null +++ b/.changeset/red-forks-boil.md @@ -0,0 +1,5 @@ +--- +"@ssecd/jkn": patch +--- + +Clarify Apotek service implementation diff --git a/README.md b/README.md index 5f792b0..2a7a01c 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,17 @@ -# JKN - JKN (BPJS) Bridging API untuk NodeJS Mudahnya JKN API dari SSEC +## Fitur + +- ✅ Aplicares +- ✅ VClaim +- ✅ Antrean +- ✅ Apotek +- ✅ i-Care +- ✅ Rekam Medis +- 🧩 PCare _([partial](https://github.com/ssecd/jkn/pull/26))_ + ## Instalasi Instalasi paket dapat dilakukan dengan perintah berikut: @@ -12,9 +20,13 @@ Instalasi paket dapat dilakukan dengan perintah berikut: npm install @ssecd/jkn ``` -Instalasi juga dapat dilakukan menggunakan `PNPM` atau `YARN` +Untuk dukungan _type_ pada API Rekam Medis, perlu menambahkan development dependensi `@types/fhir` dengan perintah: + +```bash +npm install --save-dev @types/fhir +``` -> ⚠ Untuk dukungan _type_ pada API Rekam Medis, perlu menambahkan development dependensi `@types/fhir` dengan perintah `npm install --save-dev @types/fhir` atau `pnpm i -D @types/fhir`. +Instalasi juga dapat dilakukan menggunakan `PNPM` atau `YARN` ## Penggunaan @@ -25,14 +37,12 @@ Penggunaan paket ini sangatlah sederhana, cukup menginisialisasi global instansi import JKN from '@ssecd/jkn'; -const jkn = new JKN({ - /* config */ -}); +const jkn = new JKN(); export default jkn; ``` -Secara default konfigurasi seperti cons id atau secret akan dibaca melalui environment variable namun konfigurasi juga dapat diatur pada constructor class JKN seperti berikut: +Secara default konfigurasi seperti cons id atau cons secret akan dibaca melalui environment variable namun konfigurasi juga dapat diatur pada constructor class JKN seperti berikut: ```ts // file: jkn.ts atau jkn.js @@ -65,7 +75,7 @@ const jkn = new JKN(async () => { export default jkn; ``` -> ⚠ Perlu diperhatikan bahwa fungsi pada constructor parameter tersebut hanya akan dipanggil satu kali. Bila terjadi perubahan konfigurasi harap memanggil fungsi `invalidateConfig(): Promise` pada instansi JKN untuk memperbaharui atau menerapkan perubahan konfigurasi. +Perlu diperhatikan bahwa fungsi pada constructor parameter tersebut hanya akan dipanggil satu kali. Bila terjadi perubahan konfigurasi harap memanggil fungsi `await invalidateConfig()` pada instansi JKN untuk memperbaharui atau menerapkan perubahan konfigurasi. Kemudian cukup impor module `jkn` tersebut di mana pun saat akan menggunakannya: @@ -243,16 +253,6 @@ interface Config { } ```` -## API Tersedia - -- ✅ Aplicares -- ✅ VClaim -- ✅ Antrean -- ✅ Apotek _(experimental)_ -- 🧩 PCare _([partial](https://github.com/ssecd/jkn/pull/26))_ -- ✅ i-Care -- ✅ Rekam Medis - ## Kontribusi Kontribusi sangat dipersilakan dan dapat dilakukan dengan berbagai cara seperti melaporkan masalah, membuat permintaan atau menambahkan fitur melalui PR, atau sekedar memperbaiki kesalahan ketikan. diff --git a/src/apotek/monitoring.ts b/src/apotek/monitoring.ts index 4a73dd5..a763ddb 100644 --- a/src/apotek/monitoring.ts +++ b/src/apotek/monitoring.ts @@ -14,7 +14,7 @@ export class Monitoring extends ApotekBaseApi { /** jenis obat (0 = Semua) (1 = Obat PRB) (2 = Obat Kronis Belum Stabil) (3 = Obat Kemoterapi) */ jenisObat: number; - /** status klaim (1 = Belum di-verifikasi) (2 = Sudah Verifikasi) */ + /** status klaim (0 = Belum di-verifikasi) (1 = Sudah Verifikasi) */ status: number; }) { return this.send<{ diff --git a/src/apotek/obat.ts b/src/apotek/obat.ts index b9bb8e8..37f6ada 100644 --- a/src/apotek/obat.ts +++ b/src/apotek/obat.ts @@ -5,6 +5,7 @@ export class Obat extends ApotekBaseApi { * Simpan data obat non racikan */ async saveNonRacikan(data: { + /** nomor SEP Resep dari hasil simpan resep */ NOSJP: string; NORESEP: string; KDOBT: string; @@ -26,6 +27,7 @@ export class Obat extends ApotekBaseApi { * Simpan data obat racikan */ async saveRacikan(data: { + /** nomor SEP Resep dari hasil simpan resep */ NOSJP: string; NORESEP: string; JNSROBT: string; diff --git a/src/apotek/pelayanan-obat.ts b/src/apotek/pelayanan-obat.ts index 2c667b4..4cb9584 100644 --- a/src/apotek/pelayanan-obat.ts +++ b/src/apotek/pelayanan-obat.ts @@ -16,6 +16,8 @@ export class PelayananObat extends ApotekBaseApi { return this.send({ path: `/pelayanan/obat/hapus/`, method: 'DELETE', + headers: { 'Content-Type': 'application/json' }, + skipContentTypeHack: true, data }); } @@ -24,7 +26,7 @@ export class PelayananObat extends ApotekBaseApi { * Data daftar pelayanan obat */ async daftar(params: { - /** nomor SEP kunjungan */ + /** nomor SEP Resep dari response simpan resep */ nomorSep: string; }) { return this.send<{ @@ -50,7 +52,7 @@ export class PelayananObat extends ApotekBaseApi { }; }; }>({ - path: `/obat/daftar/${params.nomorSep}`, + path: `/pelayanan/obat/daftar/${params.nomorSep}`, method: 'GET' }); } diff --git a/src/apotek/resep.ts b/src/apotek/resep.ts index ece429f..2d95ec5 100644 --- a/src/apotek/resep.ts +++ b/src/apotek/resep.ts @@ -12,7 +12,12 @@ export class Resep extends ApotekBaseApi { POLIRSP: string; - /** (1 = Obat PRB) (2 = Obat Kronis Belum Stabil) (3 = Obat Kemoterapi) */ + /** + * (1 = Obat PRB) (2 = Obat Kronis Belum Stabil) (3 = Obat Kemoterapi) + * + * nomor Resep maksimal 5 digit, di-generate sesuai kebutuhan, dalam 1 + * bulan klaim tidak boleh ada yang sama. + */ KDJNSOBAT: string; NORESEP: string; @@ -35,6 +40,7 @@ export class Resep extends ApotekBaseApi { noKartu: string; nama: string; faskesAsal: string; + /** Nomor SEP Resep */ noApotik: string; noResep: string; tglResep: string; @@ -53,8 +59,10 @@ export class Resep extends ApotekBaseApi { * Hapus data resep */ async hapus(data: { + /** nomor SEP Resep dari response simpan resep */ nosjp: string; + /** nomor SEP Kunjungan */ refasalsjp: string; noresep: string; @@ -62,6 +70,8 @@ export class Resep extends ApotekBaseApi { return this.send({ path: `/hapusresep`, method: 'DELETE', + headers: { 'Content-Type': 'application/json' }, + skipContentTypeHack: true, data }); }