ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

BodyStructure — Precise anatomical structure

When a simple bodySite CodeableConcept is no longer enough: the second lesion on the distal third of the left arm, anterior, 5 cm from the olecranon.

Purpose

BodyStructure describes a specific anatomical structure of a patient — not a generic concept but a unique referenceable instance: the skin lesion X, the right-breast tumor Y, the colorectal stoma Z. It carries a coded morphology, included structures with laterality, anatomical landmarks and spatial references (annotated images, 3D coordinates).

Key fields

FieldTypeCardinalityRole
identifierIdentifier[]0..*Persistent identifiers.
activeboolean0..1Structure still present or removed.
morphologyCodeableConcept0..1Morphology (lesion, tumor, stoma…). SNOMED CT recommended.
includedStructureBackboneElement[]1..*Mandatory. Detail: anatomical structure, laterality, qualifiers, landmarks.
excludedStructureBackboneElement[]0..*Excluded structures when includedStructure is by exception.
descriptionmarkdown0..1Free text.
imageAttachment[]0..*Photographs, annotations.
patientReference(Patient)1..1Mandatory. Patient.

When BodyStructure vs bodySite?

  • Longitudinal follow-up — the same lesion tracked over 6 months: you need a persistent referenceable resource, not an inline CodeableConcept.
  • Multiple structures of the same type — 3 lesions on the same arm, how to distinguish them? BodyStructure gives them identity.
  • Spatial precision — 3D coordinates, anatomical markers, annotated photo.
  • Laterality or complex qualifiers — left arm, posterior face, distal third.

JSON example

A suspicious skin lesion on the left arm, marked for follow-up:

json bodystructure-lesion.json
{
  "resourceType": "BodyStructure",
  "id": "lesion-left-arm-001",
  "identifier": [{
    "system": "urn:oid:1.2.34",
    "value": "BS-2026-001"
  }],
  "active": true,
  "morphology": {
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "21808006",
      "display": "Skin lesion"
    }]
  },
  "includedStructure": [{
    "structure": {
      "coding": [{
        "system": "http://snomed.info/sct",
        "code": "40983000",
        "display": "Upper arm structure"
      }]
    },
    "laterality": {
      "coding": [{
        "system": "http://snomed.info/sct",
        "code": "7771000",
        "display": "Left"
      }]
    },
    "bodyLandmarkOrientation": [{
      "landmarkDescription": [{
        "text": "5 cm distal to the olecranon"
      }]
    }],
    "spatialReference": [{
      "display": "Photograph IM-2026-001"
    }]
  }],
  "patient": { "reference": "Patient/doe-john" },
  "description": "Suspicious melanocytic lesion, 12 mm, left arm posterior face"
}

Common pitfalls

  • Creating a BodyStructure for every bodySite — overkill. For a simple site, an inline bodySite CodeableConcept is enough.
  • No morphology — without coded morphology, the lesion is just a point with no content.
  • EHR internal identifier missing — without identifier, the lesion tracked in PACS isn't reconciled.
  • Misusing excludedStructure — only used to exclude part of an englobing includedStructure (e.g. "entire upper limb except hand").
  • Laterality in morphology — classic mistake. Laterality goes in includedStructure.laterality, not in the morphology.