Medical

Translate clinical English into verified Hebrew

Translate a complete English clinical text into Israeli medical Hebrew for a clinician or a patient. Drug names, doses, lab values, units, ICD-10 codes, clinical abbreviations, identifiers and every number are replaced with placeholders the model cannot change, and restored afterwards. Sentences are translated in parallel and returned in order.

Every sentence is checked (placeholders, numbers, negation, laterality, length) and reviewed by an independent model for meaning changes. A rejected sentence is retried once with a stronger model; if it still fails, the English is returned with status: "fallback". Unverified Hebrew is never returned. Account terms apply, with their Hebrew rendering when one is set.

Access. Every key, on every plan. Call it from a server (a browser Origin header is refused). Nothing is stored; responses carry Cache-Control: no-store.

Quota. Consumes the monthly character quota: the length of text. Refunded when the provider fails for every sentence.

Limits. text up to 20,000 characters.

post/v1/medical/translate

Request

  • Base URL: https://hc.itsbaba.com
  • URL: https://hc.itsbaba.com/v1/medical/translate
  • Auth: HTTP bearer

Request body

audience'clinician' | 'patient'

Who reads the Hebrew. clinician (default) keeps shorthand such as BID and PO; patient writes dosing shorthand (BID, PRN) as plain words.

reader_gender'male' | 'female'

Gender of the reader, the person the text calls "you". Omit when unknown.

patient_gender'male' | 'female'

Gender of the patient in third-person references. Inferred from he/she when omitted.

protected_termsstring[]

Kept verbatim. Pass the patient's medication and problem lists from the record. Up to 500, each up to 200 characters. Added to the account terms list for this request.

redact_termsstring[]

Kept verbatim and never shown to the model (patient and staff names). Up to 200.

glossaryobject

English term → required Hebrew rendering. Up to 500 entries.

date_order'MDY' | 'DMY'

How to read ambiguous numeric dates in the source. US records are MDY.

date_style'hebrew' | 'iso' | 'keep'

hebrew writes "4 במרץ 2026"; iso writes 2026-03-04; keep leaves unambiguous dates as written (an ambiguous one is still rewritten). A two-digit year is kept as written.

bidi'isolate' | 'none'

isolate wraps English values in Unicode isolates so "5 mg" never renders as "mg 5". none returns plain text.

textstring required

English text, 1 to 20,000 characters. Markdown lists, headings and tables keep their structure. Counts toward the monthly character quota.

Example request

{
  "audience": "patient",
  "reader_gender": "female",
  "patient_gender": "male",
  "protected_terms": [
    "Eliquis 5 mg BID",
    "atrial fibrillation"
  ],
  "redact_terms": [
    "Dana Levi"
  ],
  "glossary": {
    "hypertension": "יתר לחץ דם"
  },
  "date_order": "MDY",
  "date_style": "hebrew",
  "bidi": "isolate",
  "text": "Based on your records, you are taking Eliquis 5 mg twice a day. Your dose was changed on 03/04/2026."
}

Response

Translation

idstring required

Request identifier.

textstring required

The whole Hebrew document: every segment joined with its prefix and suffix.

Example response

{
  "id": "med_a1b2c3d4e5f6",
  "text": "את נוטלת Eliquis 5 mg פעמיים ביום. המינון שלך שונה ב־4 במרץ 2026.",
  "segments": [
    {
      "prefix": "- ",
      "suffix": "\n",
      "source": "You are taking Eliquis 5 mg twice a day.",
      "text": "את נוטלת Eliquis 5 mg פעמיים ביום.",
      "status": "ok",
      "issues": [
        {
          "code": "negation_lost",
          "severity": "error",
          "detail": "The source says \"no known allergies\"; the translation drops the negation."
        }
      ],
      "spans": [
        {
          "type": "dose",
          "value": "5 mg",
          "render": "4 במרץ 2026",
          "ambiguous_date": true
        }
      ]
    }
  ],
  "stats": {
    "segments": 2,
    "ok": 2
  },
  "usage": {
    "characters": 77
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.