Arperon Arperon s.r.o. Studio open · Trnava, SK HL7 FHIR R4 · SMART · MCP EN
Software studio · Trnava, Slovakia · Est. 2019

A studio for software
that has to be right.

Arperon is a small software engineering studio from Slovakia. We ship products, run an applied AI research track, and take on selective custom engineering — for domains where the software is not allowed to be wrong.

careful work.
Arperon Lab Report FHIR R4 · resource view
Source: ThrustCore API
Req # Patient/UNB_0001
2026-04-09
{ "resourceType": "Patient", "id": "UNB_0001", "identifier": [{ "system": "satusehat.kemkes.go.id", "value": "3201234567890001" }], "name": [{ "family": "Anonymous" }], "gender": "female", "birthDate": "1988-03-14" }
{ "resourceType": "Observation", "status": "final", "code": { "coding": [{ "system": "http://loinc.org", "code": "4548-4", "display": "HbA1c" }] }, "valueQuantity": { "value": 6.8, "unit": "%" } }
{ "resourceType": "Condition", "clinicalStatus": "active", "code": { "coding": [ { "system": "icd-10", "code": "E11.9" }, { "system": "kemkes/clinical-term", "code": "10029" } ] }, "recordedDate": "2026-04-09" }
Signed · ES256 · 200 OK Arperon / Certif.
§ 01 The studio

Three things, done carefully — one house.

Arperon is a parent studio. Everything we do falls into one of three tracks, and every track feeds the others. ThrustCore is our most visible output, but it isn't the whole picture.

i.

Products.

We ship our own software. ThrustCore is the flagship — a FHIR R4-native clinical platform designed around Indonesia's SATUSEHAT framework, and usable as a general clinical information system anywhere else. More products are in early stages.

  • ThrustCore — clinical platform
  • Patient & staff apps
  • MCP server for clinical data
ii.

AI research.

We maintain an active applied research track on agentic AI systems — tool-calling loops, model-context protocol servers, multi-provider parity, and safety for clinical use. Research outputs feed our products and client work.

  • Agentic tool-calling loops
  • Model Context Protocol (MCP)
  • Clinical copilot design
iii.

Custom engineering.

We take a small number of selective engagements each year, in domains where we already go deep — domain-heavy web apps, AI integrations, healthcare interoperability, and performance-critical PostgreSQL work.

  • Domain-heavy web & mobile
  • Healthcare & FHIR integration
  • PostgreSQL performance work
§ 02 Products / flagship

ThrustCore — a clinical platform, FHIR all the way down.

Our flagship. A modern clinical information system in which every clinical fact — a diagnosis, a prescription, an encounter — is stored as a standard FHIR R4 resource from the moment it is recorded.

ThrustCore was designed specifically to help hospitals, clinics, and care networks in Indonesia meet the requirements of the Ministry of Health's SATUSEHAT interoperability framework — and remain an excellent clinical information system anywhere else.

Because FHIR is the architectural substrate and not a post-hoc export format, standards compliance is a property of the system, not an expensive retrofit at the end.

The platform ships with a patient mobile app, a staff web GUI, a Supabase-backed API, and an MCP server for AI integrations — all wired together through a single FHIR R4 API, SMART-on-FHIR authentication, and row-level security at the database layer.

Request the platform brief
01 / FHIR R4-native core

Every fact is a resource. Interoperability becomes a property of the system.

Dozens of resource types — Patient, Encounter, Observation, Condition, Procedure, MedicationRequest, CareTeam, Consent, and more. Dual-coded conditions (ICD-10 + Kemenkes clinical-term) for SATUSEHAT alignment, with country-aware terminology resolution.

// POST /fhir-api/Condition { "resourceType": "Condition", "code": { "coding": [ { "system": "icd-10", "code": "I10" }, { "system": "kemkes/clinical-term", "code": "10032" } ] } }
02 / Clinical AI copilot

A copilot that calls tools, not a chatbot that guesses.

An agentic loop with real FHIR tools: search conditions, observations, medications, encounters. Provider-portable across Anthropic, OpenAI, OpenRouter, and Gemini tool-calling formats.

search_conditions
search_obs
search_meds
get_patient
get_encounter
list_allergies
search_procs
get_careteam
lookup_icd10
03 / Realtime messaging

CareTeam-based, not one-to-one.

Real-time messaging between patients and whole care teams. Per-user read status, templates, bulk messaging, medication requests.

04 / GS1 EPCIS 2.0 inventory

Medicine tracking, to global standards.

Every stock movement becomes a standards-compliant EPCIS event — traceable, auditable, and exportable end-to-end.

05 / HR & workforce

Shifts, absences, labor rules per country.

Labor rules are JSON-configured per country and organisation — never hardcoded. Rosters, holidays, time-clock, absences.

06 / Physio queue

Realtime queue management — the natural pilot module.

A real-time queue and scheduling module designed around actual physiotherapy department workflows. Deliberately small — the right entry point for a single-department deployment, and a proving ground before the rest of the platform rolls out.

Slot Queue# Appointment Encounter
07 / Multi-tenant architecture

One instance, many organisations.

Row-level security at the database layer. Organization switching at the token layer. National organizations own shared code systems (ICD-10, ICD-9-CM, SNOMED CT specialties) — every tenant sees the same source of truth.

JWT · org_id RLS fhir_data.*
§ 03 Research track

Applied AI research, with a clinical conscience.

We treat AI as engineering, not magic. Our research track focuses on agentic systems and tool-calling — the parts of AI that have to actually be right when deployed next to a clinician.

We don't build toy demos. Every AI system we ship has to make real API calls against real clinical data — and stop when it cannot do so safely.

Our research focuses on problems that are easy to hand-wave and hard to ship: how does an agentic system know when to stop? How do you bridge tool-calling formats across providers without rewriting your prompt every six months? How do you audit what an AI assistant actually did during a consultation?

The output of this track is part-product, part-paper. Results feed directly into ThrustCore and into the custom engagements we take on.

R.01Applied
Tool-calling over FHIR — when the AI stops guessing.

Replacing pre-fetched context with agentic FHIR tool calls inside a production clinical copilot. Bounded iterations, soft timeouts, and honest failure modes.

R.02Infra
Provider-portable tool calling across Anthropic, OpenAI, OpenRouter, Gemini.

A single tool surface compiled into four providers' tool-call formats — so a clinical copilot stays portable as the provider landscape shifts.

R.03Protocol
Custom MCP servers as a safe bridge to clinical data.

Using the Model Context Protocol to expose narrow, auditable slices of a FHIR system to AI assistants — without leaking more than the task requires.

R.04Safety
Audit logs, signed trails, and what an AI actually did.

Every tool call, every retrieval, every response — recorded as structured, signed events. How you make an AI copilot legible to the people who have to sign for it.

§ 04 Standards

Compliance as architecture, not paperwork.

We take standards seriously because they are how clinical systems become honest. Everything below is implemented in ThrustCore today.

04.1

SATUSEHAT readiness

Architecturally ready for Indonesia's national health data exchange. Dual-coded diagnoses, Kemenkes clinical-term catalog, Bahasa Indonesia display text, country-aware terminology, and encounter diagnosis coding.

  • Dual coding ✓ implemented
  • Country-aware terminology ✓ implemented
  • Formal certification → next milestone
04.2

SMART on FHIR authentication

ES256-signed JWT tokens, organisation-scoped claims, role and privilege arrays resolved at login, a unified role system across patients and staff, and an immutable audit log underneath.

  • ES256 signatures ✓ verified
  • Multi-role per user ✓ supported
  • Audit log ✓ immutable
04.3

GDPR · UU PDP · data residency

Built with Europe's GDPR and Indonesia's Personal Data Protection Act (UU PDP, 2022) in mind. Fine-grained consent tracking as FHIR Consent resources. Deployable to Indonesian regional data centres for residency compliance.

  • Row-level security ✓ every table
  • Consent as FHIR resource ✓ tracked
  • Regional deployment ✓ supported
04.4

Terminology & coding

National organisations own the code systems. All tenants in the same country read the same source of truth. ICD-10 diagnoses for ID and SK, ICD-9-CM procedures, SNOMED CT specialties — each translated to EN, SK, ID where applicable.

  • ICD-10 diagnoses SK · ID
  • ICD-9-CM procedures ID
  • SNOMED specialties SK
§ 05 Engineering

We are, above all, engineers.

A deliberately narrow stack we can carry across a ten-year product lifecycle without drama. Depth over breadth, every time.

Healthcare software is stubborn work. The domain is messy, the standards are heavy, the consequences of bugs are real. We pick a stack we can still love in five years.

Our engineering values are simple: FHIR from day one, types everywhere, minimal abstractions, root-causes not bypasses, and a refusal to paper over bad architecture with feature flags. We read the migration before we write it.

Outside ThrustCore we take on a few custom engagements each year — always in domains where we already go deep. Healthcare, AI integration, domain-heavy web apps, PostgreSQL performance work.

Frontend Next.js 15 · React 19
Mobile React Native · Expo SDK 53
Backend Supabase · PostgreSQL · Edge Functions
Language TypeScript · SQL · PL/pgSQL
Standards HL7 FHIR R4 · SMART · GS1 EPCIS 2.0
AI Anthropic · OpenAI · Gemini · tool-calling loops
Auth ES256 JWT · RLS · unified role system
Integrations Model Context Protocol · custom MCP servers
Get in touch

Have a problem worth
engineering for?

Whether you have a clinical system to modernise, an AI integration to get right, or a hard software problem in a serious domain — we read every message.