Add CPONE lab and radiology result forwarding

This commit is contained in:
2026-10-01 14:01:32 +07:00
parent 0d2044926e
commit 102823c2b2
6 changed files with 201 additions and 0 deletions

View File

@@ -368,3 +368,24 @@ go run ./cmd/server
File `sqlc.yaml`, `sqlc/schema.sql`, dan `sqlc/query.sql` sudah disiapkan.
Catatan penting: sqlc tidak bisa menerima nama tabel dinamis seperti `harga_layanan_{periodeTarifID}`. Implementasi runtime saat ini tetap memakai `database/sql` untuk menyusun nama tabel setelah `periodeTarifID` divalidasi angka, sama seperti PHP memakai `HargaLayanan::makeTableName()`. Kalau semua periode ingin digenerate oleh sqlc, buat query konkret per tabel periode, misalnya `harga_layanan_10`, `harga_layanan_11`, dan seterusnya.
## Meneruskan hasil lab ke CPONE
`POST /api/cpone/his/update-result` menerima body JSON yang sama dengan
`/one-api/api_his/update_result` di CPONE dan meneruskannya tanpa mengubah isi.
Gunakan `Authorization: Bearer <CPONE_BEARER_TOKEN>` dan `Content-Type: application/json`.
Field `kode_rs` pada payload diteruskan apa adanya. Header Authorization dan
Cookie dari pemanggil tidak diteruskan ke CPONE.
URL dasar default adalah `https://devcpone.aplikasi.web.id/one-api/api_his`.
Ubah melalui `CPONE_RESULT_BASE_URL` bila diperlukan. Middleware menambahkan
`/update_result` untuk hasil lab. Status HTTP dan body
respons CPONE diteruskan ke pemanggil. Respons `422` dapat berarti hasil sudah
tersimpan di staging tetapi belum sepenuhnya cocok dengan order; periksa pesan
dan `hisOrderID` di respons untuk memastikan kondisinya.
`POST /api/cpone/his/update-result-radiologi` meneruskan payload radiologi ke
`/one-api/api_his/update_result_radiologi` dengan aturan autentikasi dan
respons yang sama. Payload dapat memuat `dokter_id` dan `results[].expertise`
seperti kontrak devcpone. Middleware menambahkan `/update_result_radiologi`
pada `CPONE_RESULT_BASE_URL` untuk hasil radiologi.