Summary
When de-identifying Chinese names OpenMed must generate realistic surrogate names and match name variants, but Chinese has no alphabet, so consistent pseudonymization and matching require Pinyin romanization; the same surname (张) maps to Zhang and a polyphonic character (重 -> chong/zhong) has multiple readings. This is hard because correct Pinyin needs word-level context for polyphones/heteronyms, multiple tone-representation styles (tone marks, TONE3 numbers, toneless NORMAL), and a stable, reproducible mapping so the same Han name always yields the same surrogate.
Scope
Acceptance criteria
Out of scope
- Speech/audio or IPA conversion.
- Cross-document re-identification linkage.
- Non-name entity surrogates.
Files
- openmed/processing/zh_pinyin.py
- openmed/core/anonymizer/providers/clinical_ids.py
- openmed/core/anonymizer/registry.py
- openmed/core/anonymizer/locales.py
- openmed/core/surrogate_vault.py
Task: OM-644 · Milestone: v1.9 · Priority: P2 · Size: L
Depends on: OM-639 · Blocks: —
Roadmap: Chinese & Indian languages initiative
Spec: PLANS/V2/EXECUTION/tasks/OM-644.md
Summary
When de-identifying Chinese names OpenMed must generate realistic surrogate names and match name variants, but Chinese has no alphabet, so consistent pseudonymization and matching require Pinyin romanization; the same surname (张) maps to Zhang and a polyphonic character (重 -> chong/zhong) has multiple readings. This is hard because correct Pinyin needs word-level context for polyphones/heteronyms, multiple tone-representation styles (tone marks, TONE3 numbers, toneless NORMAL), and a stable, reproducible mapping so the same Han name always yields the same surrogate.
Scope
Acceptance criteria
Out of scope
Files
Task: OM-644 · Milestone: v1.9 · Priority: P2 · Size: L
Depends on: OM-639 · Blocks: —
Roadmap: Chinese & Indian languages initiative
Spec: PLANS/V2/EXECUTION/tasks/OM-644.md