Skip to content

Commit

Permalink
fix: clarify Apotek implementation (#73)
Browse files Browse the repository at this point in the history
* update readme

* update readme - remove title

* clarify parameters, content type, path and descriptions

* add changeset
  • Loading branch information
mustofa-id authored Dec 25, 2023
1 parent 7c957e7 commit 551ee3a
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 23 deletions.
5 changes: 5 additions & 0 deletions .changeset/red-forks-boil.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@ssecd/jkn": patch
---

Clarify Apotek service implementation
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
# JKN

JKN (BPJS) Bridging API untuk NodeJS

<img width="512" alt="Mudahnya JKN API dari SSEC" src="./assets/demo.gif">

## 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:
Expand All @@ -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

Expand All @@ -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
Expand Down Expand Up @@ -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<void>` 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:

Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/apotek/monitoring.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<{
Expand Down
2 changes: 2 additions & 0 deletions src/apotek/obat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down
6 changes: 4 additions & 2 deletions src/apotek/pelayanan-obat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ export class PelayananObat extends ApotekBaseApi {
return this.send<string>({
path: `/pelayanan/obat/hapus/`,
method: 'DELETE',
headers: { 'Content-Type': 'application/json' },
skipContentTypeHack: true,
data
});
}
Expand All @@ -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<{
Expand All @@ -50,7 +52,7 @@ export class PelayananObat extends ApotekBaseApi {
};
};
}>({
path: `/obat/daftar/${params.nomorSep}`,
path: `/pelayanan/obat/daftar/${params.nomorSep}`,
method: 'GET'
});
}
Expand Down
12 changes: 11 additions & 1 deletion src/apotek/resep.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -35,6 +40,7 @@ export class Resep extends ApotekBaseApi {
noKartu: string;
nama: string;
faskesAsal: string;
/** Nomor SEP Resep */
noApotik: string;
noResep: string;
tglResep: string;
Expand All @@ -53,15 +59,19 @@ 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;
}) {
return this.send<null>({
path: `/hapusresep`,
method: 'DELETE',
headers: { 'Content-Type': 'application/json' },
skipContentTypeHack: true,
data
});
}
Expand Down

0 comments on commit 551ee3a

Please sign in to comment.