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
| Field | Type | Cardinality | Role |
|---|---|---|---|
identifier | Identifier[] | 0..* | Persistent identifiers. |
active | boolean | 0..1 | Structure still present or removed. |
morphology | CodeableConcept | 0..1 | Morphology (lesion, tumor, stoma…). SNOMED CT recommended. |
includedStructure | BackboneElement[] | 1..* | Mandatory. Detail: anatomical structure, laterality, qualifiers, landmarks. |
excludedStructure | BackboneElement[] | 0..* | Excluded structures when includedStructure is by exception. |
description | markdown | 0..1 | Free text. |
image | Attachment[] | 0..* | Photographs, annotations. |
patient | Reference(Patient) | 1..1 | Mandatory. 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:
{
"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 inlinebodySiteCodeableConcept 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 englobingincludedStructure(e.g. "entire upper limb except hand"). - Laterality in
morphology— classic mistake. Laterality goes inincludedStructure.laterality, not in the morphology.
Related resources
- Procedure — uses BodyStructure in
bodySite. - Observation — observations on the structure.
- Condition — pathology of the structure.
- Specimen — collected sample.
- ImagingStudy — associated imaging.