XooCode(){

MedicalCode

MedicalCode dual-inherits from MedicalIntangible and CategoryCode. It is the structured wrapper for clinical-coding-system identifiers — ICD-10, ICD-11, SNOMED CT, CPT, LOINC, RxNorm, NDC, ATC — that a medical entity carries. Every MedicalCondition, MedicalProcedure, MedicalTest, Drug, and clinical trial benefits from one or more MedicalCode references.

It has 2 direct properties:

  • codeValue (Text): the code itself, e.g. "E11.9" for "Type 2 diabetes mellitus without complications" in ICD-10.
  • codingSystem (Text): the system the code belongs to, e.g. "ICD-10", "SNOMED CT", "CPT", "LOINC".

It also inherits codingSystem from CategoryCode (so the dual-inheritance is mostly synergistic), plus inCodeSet for grouping codes into formal coded sets.

Full example of schema.org/MedicalCode json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/MedicalCode
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MedicalCondition",
  "name": "Type 2 diabetes mellitus",
  "code": [
    { "@type": "MedicalCode", "codeValue": "E11.9", "codingSystem": "ICD-10-CM" },
    { "@type": "MedicalCode", "codeValue": "5E9.0", "codingSystem": "ICD-11" },
    { "@type": "MedicalCode", "codeValue": "44054006", "codingSystem": "SNOMED CT" }
  ]
}
</script>

Where to attach MedicalCode

The code property exists on MedicalEntity, so any subtype (Condition, Procedure, Test, Drug, etc.) can carry one. Multi-coding is the norm: a clinical entity often has an ICD-10 code and a SNOMED CT code and a SNOMED-relevant LOINC code, all listed as an array.

Minimal valid version

The smallest markup that still produces a valid MedicalCode entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/MedicalCode (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MedicalCode",
  "codeValue": "E11.9",
  "codingSystem": "ICD-10-CM"
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

  • No dedicated rich result (used by clinical knowledge graphs and EHR / FHIR mappings)
    Google docs

Common MedicalCode mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    codingSystem omitted

    Wrong
    MedicalCode with codeValue but no codingSystem
    Right
    Always pair codeValue with codingSystem

    A bare code is ambiguous: '250' is diabetes in ICD-9, an entirely different concept in ICD-10. The system is what makes the code resolvable.

  2. 02

    Free-text 'ICD' instead of versioned name

    Wrong
    "codingSystem": "ICD"
    Right
    "codingSystem": "ICD-10-CM" or "ICD-11"

    ICD-9, ICD-10, and ICD-11 use different codes for the same conditions. The version is part of the system identifier.

  3. 03

    Single MedicalCode when multi-coding is expected

    Wrong
    One ICD-10 code per condition
    Right
    Array of MedicalCode entries spanning ICD, SNOMED CT, and any relevant LOINC / RxNorm codes

    Different consumers key on different systems. Multi-coding maximises interoperability.

About the example data

The MedicalCode entries used to identify Type 2 diabetes mellitus across coding systems on Dunmore Regional Hospital's patient-education pages.

Comments

Loading comments...

Leave a comment