DICOM® SR to FHIR Resource Mapping IG
1.0.0 - International flag

DICOM® SR to FHIR Resource Mapping IG, published by HL7 International / Imaging Integration. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/dicom-sr/ and changes regularly. See the Directory of published versions

Resource Profile: Body Structure - DICOM SR Finding Site Mapping

Official URL: http://hl7.org/fhir/uv/dicom-sr/StructureDefinition/dicom-sr-finding-site Version: 1.0.0
Standards status: Trial-use Active as of 2025-10-29 Maturity Level: 2 Computable Name: BodyStructureFindingSite
Other Identifiers: OID:2.16.840.1.113883.4.642.40.39.42.6

DICOM® SR Finding Site Mapping to BodyStructure

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BodyStructure 0..* BodyStructure Specific and identified anatomical structure
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... includedStructure 1..* BackboneElement Included anatomic location(s)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... structure Σ 1..1 CodeableConcept Code that represents the included structure
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
..... coding Σ 0..* Coding Code defined by a terminology system
.... laterality S 0..1 CodeableConcept Code that represents the included structure laterality
Binding: BodystructureLocationQualifier (example): Concepts modifying the anatomic location.
.... qualifier S 0..* CodeableConcept Code that represents the included structure qualifier
Binding: BodystructureLocationQualifier (example): Concepts modifying the anatomic location.
... patient Σ 1..1 Reference(Patient) Who this is about

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
BodyStructure.includedStructure.​structure Base example SNOMED CT Body Structures 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​laterality Base example Bodystructure Location Qualifier 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​qualifier Base example Bodystructure Location Qualifier 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error BodyStructure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error BodyStructure If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error BodyStructure If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error BodyStructure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice BodyStructure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BodyStructure 0..* BodyStructure Specific and identified anatomical structure
... includedStructure
.... structure
..... coding 0..* Coding Code defined by a terminology system
.... laterality S 0..1 CodeableConcept Code that represents the included structure laterality
.... qualifier S 0..* CodeableConcept Code that represents the included structure qualifier

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BodyStructure 0..* BodyStructure Specific and identified anatomical structure
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Bodystructure identifier
... active ?!Σ 0..1 boolean Whether this record is in active use
... morphology Σ 0..1 CodeableConcept Kind of Structure
Binding: SNOMEDCTMorphologicAbnormalities (example): Codes describing anatomic morphology.
... includedStructure 1..* BackboneElement Included anatomic location(s)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... structure Σ 1..1 CodeableConcept Code that represents the included structure
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
..... text Σ 0..1 string Plain text representation of the concept
.... laterality S 0..1 CodeableConcept Code that represents the included structure laterality
Binding: BodystructureLocationQualifier (example): Concepts modifying the anatomic location.
.... bodyLandmarkOrientation 0..* BackboneElement Landmark relative location
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... landmarkDescription 0..* CodeableConcept Body ]andmark description
Binding: SNOMEDCTBodyStructures (example): Select SNOMED code system values. Values used in a podiatry setting to decsribe landmarks on the body.
..... clockFacePosition 0..* CodeableConcept Clockface orientation
Binding: BodystructureBodyLandmarkClockFacePosition (example): Select SNOMED CT codes. A set of codes that describe a things orientation based on a hourly positions of a clock face.
..... distanceFromLandmark 0..* BackboneElement Landmark relative location
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... device 0..* CodeableReference(Device) Measurement device
Binding: DeviceType (example): Codes to identify medical devices.
...... value 0..* Quantity Measured distance from body landmark
..... surfaceOrientation 0..* CodeableConcept Relative landmark surface orientation
Binding: BodystructureLocationQualifier (preferred): Select SNOMED code system values. The surface area a body location is in relation to a landmark.
.... spatialReference 0..* Reference(ImagingSelection) Cartesian reference for structure
.... qualifier S 0..* CodeableConcept Code that represents the included structure qualifier
Binding: BodystructureLocationQualifier (example): Concepts modifying the anatomic location.
... excludedStructure 0..* See includedStructure (BodyStructure) Excluded anatomic locations(s)
... description Σ 0..1 markdown Text description
... image 0..* Attachment Attached images
... patient Σ 1..1 Reference(Patient) Who this is about

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
BodyStructure.language Base required All Languages 📍5.0.0 FHIR Std.
BodyStructure.morphology Base example SNOMED CT Morphologic Abnormalities 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​structure Base example SNOMED CT Body Structures 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​laterality Base example Bodystructure Location Qualifier 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​bodyLandmarkOrientation.​landmarkDescription Base example SNOMED CT Body Structures 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​bodyLandmarkOrientation.​clockFacePosition Base example Bodystructure Body Landmark Clock Face Position 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​bodyLandmarkOrientation.​distanceFromLandmark.​device Base example Device Type 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​bodyLandmarkOrientation.​surfaceOrientation Base preferred Bodystructure Location Qualifier 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​qualifier Base example Bodystructure Location Qualifier 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error BodyStructure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error BodyStructure If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error BodyStructure If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error BodyStructure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice BodyStructure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Must-Support: 2 elements

Maturity: 2

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BodyStructure 0..* BodyStructure Specific and identified anatomical structure
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... includedStructure 1..* BackboneElement Included anatomic location(s)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... structure Σ 1..1 CodeableConcept Code that represents the included structure
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
..... coding Σ 0..* Coding Code defined by a terminology system
.... laterality S 0..1 CodeableConcept Code that represents the included structure laterality
Binding: BodystructureLocationQualifier (example): Concepts modifying the anatomic location.
.... qualifier S 0..* CodeableConcept Code that represents the included structure qualifier
Binding: BodystructureLocationQualifier (example): Concepts modifying the anatomic location.
... patient Σ 1..1 Reference(Patient) Who this is about

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
BodyStructure.includedStructure.​structure Base example SNOMED CT Body Structures 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​laterality Base example Bodystructure Location Qualifier 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​qualifier Base example Bodystructure Location Qualifier 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error BodyStructure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error BodyStructure If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error BodyStructure If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error BodyStructure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice BodyStructure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BodyStructure 0..* BodyStructure Specific and identified anatomical structure
... includedStructure
.... structure
..... coding 0..* Coding Code defined by a terminology system
.... laterality S 0..1 CodeableConcept Code that represents the included structure laterality
.... qualifier S 0..* CodeableConcept Code that represents the included structure qualifier

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BodyStructure 0..* BodyStructure Specific and identified anatomical structure
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Bodystructure identifier
... active ?!Σ 0..1 boolean Whether this record is in active use
... morphology Σ 0..1 CodeableConcept Kind of Structure
Binding: SNOMEDCTMorphologicAbnormalities (example): Codes describing anatomic morphology.
... includedStructure 1..* BackboneElement Included anatomic location(s)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... structure Σ 1..1 CodeableConcept Code that represents the included structure
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
..... text Σ 0..1 string Plain text representation of the concept
.... laterality S 0..1 CodeableConcept Code that represents the included structure laterality
Binding: BodystructureLocationQualifier (example): Concepts modifying the anatomic location.
.... bodyLandmarkOrientation 0..* BackboneElement Landmark relative location
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... landmarkDescription 0..* CodeableConcept Body ]andmark description
Binding: SNOMEDCTBodyStructures (example): Select SNOMED code system values. Values used in a podiatry setting to decsribe landmarks on the body.
..... clockFacePosition 0..* CodeableConcept Clockface orientation
Binding: BodystructureBodyLandmarkClockFacePosition (example): Select SNOMED CT codes. A set of codes that describe a things orientation based on a hourly positions of a clock face.
..... distanceFromLandmark 0..* BackboneElement Landmark relative location
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... device 0..* CodeableReference(Device) Measurement device
Binding: DeviceType (example): Codes to identify medical devices.
...... value 0..* Quantity Measured distance from body landmark
..... surfaceOrientation 0..* CodeableConcept Relative landmark surface orientation
Binding: BodystructureLocationQualifier (preferred): Select SNOMED code system values. The surface area a body location is in relation to a landmark.
.... spatialReference 0..* Reference(ImagingSelection) Cartesian reference for structure
.... qualifier S 0..* CodeableConcept Code that represents the included structure qualifier
Binding: BodystructureLocationQualifier (example): Concepts modifying the anatomic location.
... excludedStructure 0..* See includedStructure (BodyStructure) Excluded anatomic locations(s)
... description Σ 0..1 markdown Text description
... image 0..* Attachment Attached images
... patient Σ 1..1 Reference(Patient) Who this is about

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
BodyStructure.language Base required All Languages 📍5.0.0 FHIR Std.
BodyStructure.morphology Base example SNOMED CT Morphologic Abnormalities 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​structure Base example SNOMED CT Body Structures 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​laterality Base example Bodystructure Location Qualifier 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​bodyLandmarkOrientation.​landmarkDescription Base example SNOMED CT Body Structures 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​bodyLandmarkOrientation.​clockFacePosition Base example Bodystructure Body Landmark Clock Face Position 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​bodyLandmarkOrientation.​distanceFromLandmark.​device Base example Device Type 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​bodyLandmarkOrientation.​surfaceOrientation Base preferred Bodystructure Location Qualifier 📍5.0.0 FHIR Std.
BodyStructure.includedStructure.​qualifier Base example Bodystructure Location Qualifier 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error BodyStructure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error BodyStructure If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error BodyStructure If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error BodyStructure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice BodyStructure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Must-Support: 2 elements

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron