Swiss ambulatory coding, built into your product.
Kodia Code is an API that takes the clinical documentation from your software and returns coding suggestions: TARDOC positions, the applicable outpatient flat rate and ICD-10 diagnoses, each code with the passage it rests on and the rule applied.
Built to sit inside your product.
Healthcare software vendors
Embed Swiss ambulatory coding into EHR, HIS and practice-management platforms.
Clinical documentation vendors
Turn dictated, transcribed and ambient-generated clinical notes into structured, evidence-backed coding suggestions.
Billing platforms
Automate first-pass coding within billing and revenue-cycle workflows — with traceable source references.
One call, a complete coding proposal.
POST /v1/code HTTP/1.1 Host: api.kodia.ch X-API-Key: kd_live_•••••••• Content-Type: application/json { "document": "Consultation of 12.03.2026 at the practice.\n\n54-year-old patient, known treated hypertension, presenting with a productive cough for 8 days, low-grade fever of 38.0 °C, no dyspnoea.\n\nHistory and clinical examination: lung auscultation with scattered diffuse rhonchi, no focus. Bilateral otoscopy unremarkable, eardrums quiet. Throat slightly reddened.\n\nBlood draw, results expected tomorrow.\n\nDuration of the consultation: 15 minutes. Clinical review in one week if symptoms persist.", "qualifications": ["9999", "3010"] }
{
"outcome": "coded", // or "cannot_determine_safely"
"result": {
"billing_system": "TARDOC",
"summary": "Family-physician consultation of
15 minutes with documented organ
examinations of the airways and
the ears. The blood draw is
included in the consultation by
default.",
"predicted_codes": [
{ "code": "CA.00.0010", "quantity": 1,
"description": "Family-physician
consultation, first 5
min",
"chapter": "CA.00", "service_type": "main",
"points_unit": 19.2, "points_total": 19.2,
"confidence": "high", "evidence_verified": true,
"evidence": "Consultation of 12.03.2026
at the practice.",
"reasoning":
"Family-medicine consultation
documented. The physician holds the
required qualification 3010 General
internal medicine. Unit 0001
Consulting room matches practice-
based work." },
{ "code": "CA.00.0020", "quantity": 10,
"description": "+ Family-physician
consultation, each
additional 1 min",
"chapter": "CA.00", "service_type": "add-on (+)",
"points_unit": 3.84, "points_total": 38.4,
"confidence": "high", "evidence_verified": true,
"evidence": "Duration of the
consultation: 15 minutes.",
"reasoning":
"First 5 minutes covered by
CA.00.0010, 10 further minutes
billable through the add-on.
Duration stated explicitly, unit
0001." },
{ "code": "AA.05.0040", "quantity": 1,
"description": "Examination: airways",
"chapter": "AA.05", "service_type": "main",
"points_unit": 25.69, "points_total": 25.69,
"confidence": "medium", "evidence_verified": true,
"evidence": "lung auscultation with
scattered diffuse rhonchi,
no focus.",
"reasoning":
"Examination of the upper and lower
airways with documented lung
auscultation. The medical
interpretation requires at least
respiration, oral cavity, tonsils,
posterior pharyngeal wall, sinuses,
auscultation and percussion of the
lungs. The slightly reddened throat
is noted, but percussion and other
elements are not explicitly
documented. Qualification 3010 and
unit 0022 present, cumulable with
CA.00.0010 via LG-053." },
{ "code": "AA.05.0030", "quantity": 1,
"description": "Examination: ears",
"chapter": "AA.05", "service_type": "main",
"points_unit": 25.69, "points_total": 25.69,
"confidence": "medium", "evidence_verified": true,
"evidence": "Bilateral otoscopy
unremarkable, eardrums
quiet.",
"reasoning":
"Bilateral examination of the ears
documented by otoscopy and eardrums.
The medical interpretation requires
external ears, ear canal, eardrums,
mastoids and regional lymph nodes.
Mastoids and lymph nodes are not
mentioned. Qualification 3010 and
unit 0022 present, cumulable with
CA.00.0010 via LG-053." }
],
"total_points": 108.98,
"alternatives": [
{ "code": "AA.00.0010", "billable": true,
"instead_of": "CA.00.0010", "points_unit": 19.2,
"description": "Medical consultation,
first 5 min",
"when":
"The physician bills the general
medical consultation rather than the
family-physician consultation. Same
content, qualification 9999." },
{ "code": "AA.00.0020", "billable": true,
"instead_of": "CA.00.0020", "points_unit": 3.84,
"description": "+ Medical consultation,
each additional 1 min",
"when":
"Add-on minutes of the general AA
consultation if AA.00.0010 is
preferred over CA.00.0010." },
{ "code": "AK.00.0020", "billable": true,
"points_unit": 8.64,
"description": "Blood draw (venous) by
non-physician staff",
"when":
"If the blood draw was performed by
non-physician staff rather than the
physician, it is billable in
addition to the consultation. By
default the physician is assumed to
have taken the sample, which is then
included in the consultation." }
],
"flags": [
{ "key": "performer_assumed",
"detail":
"Blood draw — the performer is not
stated, the physician is assumed. A
draw taken by the physician is
included in the consultation." },
{ "key": "documentation_incomplete",
"detail":
"Examination: airways AA.05.0040 —
percussion and the explicit
examination of oral cavity, tonsils,
posterior pharyngeal wall and
sinuses are not documented." },
{ "key": "documentation_incomplete",
"detail":
"Examination: ears AA.05.0030 —
examination of the mastoids and
regional lymph nodes is not
documented." }
]
},
"catalog_versions": { "tardoc": "1.4c" }
}
- REST over HTTPS, JSON in and out
- API-key authentication per request (X-API-Key header)
- Stateless processing — nothing retained after the response is returned
- Clinical documentation in German, French, or Italian
- Every response pins the catalog versions applied
- OpenAPI specification included with the pilot documentation
Suggestions your users confirm.
Each position comes back with a confidence level. Your product shows the list where coding happens — the clinician or coder accepts, adjusts, or dismisses each one. Nothing reaches the invoice without a decision.
Consultation of 12.03.2026 at the practice.
54-year-old patient, known treated hypertension, presenting with a productive cough for 8 days, low-grade fever of 38.0 °C, no dyspnoea.
History and clinical examination: lung auscultation with scattered diffuse rhonchi, no focus. Bilateral otoscopy unremarkable, eardrums quiet. Throat slightly reddened.
Blood draw, results expected tomorrow.
Duration of the consultation: 15 minutes. Clinical review in one week if symptoms persist.
More than a list of codes.
Proposed coding and billing
TARDOC positions with quantities, the flat-rate versus TARDOC decision, and ICD-10 diagnoses — structured, ready to render or pre-fill.
Supporting clinical evidence
The passages of the documentation each proposed code rests on — so reviewers see the basis, not just the result.
Applicable rule and tariff version
The catalog entries and billing rules applied, pinned to the tariff version in force at the date of service.
Confidence level
Each position is marked high or medium confidence — so your product can direct human attention to the ones that need it.
Missing-documentation warnings
When the note lacks what a position requires — or supports more than it states — the gap is flagged for the author.
An explicit "cannot determine safely" outcome
When the documentation does not support a safe determination, the API says so — instead of guessing.
Referenced output, not a guess.
A generic model can produce plausible-looking codes from a note. Kodia Code runs the agentic workflow instead: it consults the official catalogs as the source of truth, applies the rules in force, and returns the references it used — so your product can show its users why.
- Every returned code cites the catalog entry behind it
- Cumulation rules, qualification requirements, and quantity limits are applied, not approximated
- The flat-rate versus TARDOC decision is explicit, with the reasoning
"What codes does this note look like?"
"Which positions does this documentation actually support — under the rules in force?"
The API proposes. Your users decide.
Kodia Code returns a coding proposal with its references — it does not submit invoices or alter records. How the proposal is surfaced, reviewed, and confirmed stays under your product's control, and responsibility for billed services remains with the billing organization.
Start with a pilot integration.
Request access
Integrate against real cases and evaluate the coding quality with your team.
- API access and documentation
- Integration support from the Kodia team
- Evaluation on your deidentified documentation, with measured agreement rates
- No volume commitment
Put Swiss coding in your product.
Tell us about your integration and we'll scope a pilot together.