Clinical Coding
SNOMED-CT, ICD-10, and Read Codes are the clinical terminologies that power CCMS documentation. They turn free-text clinical notes into structured, searchable data that feeds reporting, decision support, and the national health database.
Select the coded term that best represents the clinical meaning, then use free text only for nuance, context, or details that the code cannot capture.
What is SNOMED CT?
SNOMED CT (Systematized Nomenclature of Medicine – Clinical Terms) is an international clinical terminology with over 350,000 concepts covering diagnoses, procedures, findings, and more. Its logic-based relationships let computers process clinical information consistently across systems and care settings.
What are Read Codes?
Read Codes (Version 2 and CTV3) are a UK-origin terminology historically used in primary care. In SystmOne, they may still appear in older mapped records, but they should be treated as legacy/background terminology. For current CCMS documentation, use the most appropriate SNOMED CT term when adding or updating coded clinical information.
What is ICD-10?
ICD-10 (International Classification of Diseases, 10th Revision) is the WHO-mandated classification system for diseases and health conditions. Unlike SNOMED CT, which captures clinical detail at the point of care, ICD-10 groups conditions into broad categories with a fixed hierarchical structure — designed for standardised reporting rather than clinical precision.
Malaysia uses ICD-10 for:
- MOH reporting — e-Report, disease registries, and national health statistics
- Billing and casemix — reimbursement and resource allocation rely on ICD-10 grouping
- Epidemiology — population-level trend analysis and disease surveillance
Code System Comparison
Three code systems coexist in the Malaysian primary care landscape. Each serves a distinct role:
| System | What It Is | Purpose |
|---|---|---|
| SNOMED CT | Clinical terminology with over 350,000 concepts covering diagnoses, procedures, findings, and more | Captures clinical detail at the point of care |
| ICD-10 | WHO classification for diseases and health conditions | Standardized reporting for epidemiology and billing |
| Read Code | Legacy UK primary care coding system | Legacy compatibility and local workflow shortcuts |
SystmOne stores clinical data in SNOMED CT internally, but exports to ICD-10 for MOH reporting. Read Codes are often what you see in dropdowns because they are mapped to SNOMED CT behind the scenes.
Why Structured Coding Matters?
Best Practices
- Code first, narrate second — Select the most specific coded term; add free text only for additional context.
- Maintain problem lists — Keep active problems coded accurately; resolve or remove when no longer relevant.
- Use precise terms — Choose specific diagnoses (e.g., "Type 2 diabetes mellitus") rather than broad symptoms.
- Code procedures & vaccinations — Record both the product and administration event with exact codes.
- Avoid free text overuse — Free text entries cannot be searched or analyzed — always pair with a code.
Common Coding Examples
| Clinical Concept | Preferred SNOMED CT Term | Avoid |
|---|---|---|
| Type 2 diabetes | Type 2 diabetes mellitus | Diabetes, high blood sugar |
| Hypertension | Essential hypertension | High BP, HTN (abbreviation only) |
| Pneumonia | Lobar pneumonia | Chest infection, lung problem |
| Influenza vaccination | Influenza virus vaccine | Flu jab, vaccine |
Free Text vs. Structured Codes
Think of the code as the searchable clinical label. Use free text only to add context that the code cannot fully capture.

| Situation | Best approach |
|---|---|
| Confirmed diagnosis, procedure, or vaccination | Use the most specific SNOMED CT code; add text only for extra context |
| Symptom before diagnosis is confirmed | Code the symptom, then document the clinical reasoning in free text |
| Rare or unlisted condition | Use the closest appropriate code where possible; add free text and escalate for code review |
| Administrative note | Use free text only; do not force a clinical code |
| Past or resolved condition | Add via New Coded Entries and assign the date, episodicity & status |
Common Coding Mistakes
Use these examples to recognise the pattern, not just memorise the wording.
Symptom Used as Final Diagnosis Entered "Chest pain" even though the confirmed diagnosis is angina pectoris.
Abbreviation as the Main Entry Entered "T2DM, HTN, or UTI" as text without selecting the full coded clinical concept.
Procedure Coded as Diagnosis Entered "Wound dressing" as the patient diagnosis when it is actually an action performed.
Code the Confirmed Diagnosis Select "Angina pectoris" when confirmed. Use a symptom code only while the diagnosis is still uncertain.
Select the Expanded Term Choose the full SNOMED CT concept, such as "Type 2 diabetes mellitus" or "Essential hypertension".
Separate Condition and Action Use diagnosis codes for conditions identified and procedure codes for actions performed.
