Skip to content

Commit

Permalink
Merge pull request #72 from vision-zero-oncology/feature/body-structu…
Browse files Browse the repository at this point in the history
…re-r5-backport

feature/body-structure-r5-backport
  • Loading branch information
julsas authored Dec 13, 2023
2 parents 8af73b0 + 2b87509 commit 6e80eb5
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 16 deletions.
20 changes: 20 additions & 0 deletions input/fsh/aliases.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,23 @@ Alias: $DiagnosesicherungCS = https://www.vision-zero-oncology.de/fhir/CodeSyste
Alias: $RadReadProc = https://www.vision-zero-oncology.de/fhir/StructureDefinition/radiological-read-procedure
Alias: $RadTnmReadProc = https://www.vision-zero-oncology.de/fhir/StructureDefinition/radiological-tnm-read-procedure
Alias: $RadRecistReadProc = https://www.vision-zero-oncology.de/fhir/StructureDefinition/radiological-recist-read-procedure

// HL7 Backport
Alias: $structure = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.structure
Alias: $laterality = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.laterality
Alias: $landmarkDescription = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.bodyLandmarkOrientation.landmarkDescription
Alias: $clockFacePosition = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.bodyLandmarkOrientation.clockFacePosition
Alias: $device = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.bodyLandmarkOrientation.distanceFromLandmark.device
Alias: $value = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.bodyLandmarkOrientation.distanceFromLandmark.value
Alias: $surfaceOrientation = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.bodyLandmarkOrientation.surfaceOrientation
Alias: $spatialReference = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.spatialReference
Alias: $qualifier = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure.qualifier
Alias: $excludedstructure = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.structure
Alias: $excludedlaterality = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.laterality
Alias: $excludedlandmarkDescription = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.bodyLandmarkOrientation.landmarkDescription
Alias: $excludedclockFacePosition = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.bodyLandmarkOrientation.clockFacePosition
Alias: $excludeddevice = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.bodyLandmarkOrientation.distanceFromLandmark.device
Alias: $excludedvalue = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.bodyLandmarkOrientation.distanceFromLandmark.value
Alias: $excludedsurfaceOrientation = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.bodyLandmarkOrientation.surfaceOrientation
Alias: $excludedspatialReference = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.spatialReference
Alias: $excludedqualifier = http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure.qualifier
76 changes: 66 additions & 10 deletions input/fsh/bodystructure.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,66 @@ Description: "Profile for the base definition of all body structures."
bodyStructureIdentifier 1..1
* identifier[bodyStructureIdentifier].use = #usual
* identifier[bodyStructureIdentifier].type = http://hl7.org/fhir/resource-types#BodyStructure
* identifier[bodyStructureIdentifier].type.coding.system 1..
* identifier[bodyStructureIdentifier].type.coding.code 1..
* identifier[bodyStructureIdentifier].value 1..
// * location 0..0
// * locationQualifier 0..0
* extension 0..*
* extension contains Diagnosis named diagnosis 0..* MS
* identifier[bodyStructureIdentifier].type.coding 1..*
* identifier[bodyStructureIdentifier].value 1..1
* location 0..0
* locationQualifier 0..0
* extension contains Diagnosis named diagnosis 0..* MS and
IncludedStructure named included-structure 1..* MS and
ExcludedStructure named excluded-structure 0..* MS


Extension: IncludedStructure
Id: included-structure
Title: "Included Structure"
Description: "Description of the included Structure of the Body Structure"
* ^url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.includedStructure"
* extension contains
$structure 1..* MS
and $laterality 0..* MS
and $landmarkDescription 0..* MS
and $clockFacePosition 0..* MS
and $device 0..* MS
and $value 0..* MS
and $surfaceOrientation 0..* MS
and $spatialReference 0..* MS
and $qualifier 0..* MS
* extension[$structure].value[x] only CodeableConcept
* extension[$laterality].value[x] only CodeableConcept
* extension[$landmarkDescription].value[x] only CodeableConcept
* extension[$clockFacePosition].value[x] only CodeableConcept
* extension[$device].value[x] only Reference or CodeableConcept
* extension[$value].value[x] only Quantity
* extension[$surfaceOrientation].value[x] only CodeableConcept
* extension[$spatialReference].value[x] only Reference or CodeableConcept
* extension[$qualifier].value[x] only CodeableConcept



Extension: ExcludedStructure
Id: excluded-structure
Title: "Excluded Structure"
Description: "Description of the excluded Structure of the Body Structure"
* ^url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-BodyStructure.excludedStructure"
* extension contains
$excludedstructure 1..* MS and
$excludedlaterality 0..* MS and
$excludedlandmarkDescription 0..* MS and
$excludedclockFacePosition 0..* MS and
$excludeddevice 0..* MS and
$excludedvalue 0..* MS and
$excludedsurfaceOrientation 0..* MS and
$excludedspatialReference 0..* MS and
$excludedqualifier 0..* MS
* extension[$excludedstructure].value[x] only CodeableConcept
* extension[$excludedlaterality].value[x] only CodeableConcept
* extension[$excludedlandmarkDescription].value[x] only CodeableConcept
* extension[$excludedclockFacePosition].value[x] only CodeableConcept
* extension[$excludeddevice].value[x] only Reference or CodeableConcept
* extension[$excludedvalue].value[x] only Quantity
* extension[$excludedsurfaceOrientation].value[x] only CodeableConcept
* extension[$excludedspatialReference].value[x] only Reference or CodeableConcept
* extension[$excludedqualifier].value[x] only CodeableConcept


Extension: Diagnosis
Expand All @@ -31,12 +84,15 @@ Description: "Enables to reference a diagnosis <Condition> the body stucture ref


Instance: example-body-structure
InstanceOf: BodyStructure
InstanceOf: Body_Structure_Base
Usage: #example
* identifier.use = #usual
* identifier.type = http://hl7.org/fhir/resource-types#BodyStructure
* identifier.system = "http://radiology.hospital.example.org"
* identifier.value = "Tumor 1234"
* patient = Reference(ExamplePatient)
* extension.url = "https://www.vision-zero-oncology.de/fhir/StructureDefinition/diagnosis"
* extension.valueReference = Reference(ExampleCondition)
* extension[diagnosis].url = "https://www.vision-zero-oncology.de/fhir/StructureDefinition/diagnosis"
* extension[diagnosis].valueReference = Reference(ExampleCondition)
* extension[included-structure].extension[$structure].valueCodeableConcept.coding = $SCT#14975008 "Forearm"
* extension[included-structure].extension[$laterality].valueCodeableConcept.coding = $SCT#419161000 "Unilateral left"
* extension[included-structure].extension[$qualifier].valueCodeableConcept.coding = $SCT#263929005 "Volar"
11 changes: 5 additions & 6 deletions input/fsh/tumor.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ Id: tumor
Title: "Profile Tumor"
Description: "Profile of a tumor"
* insert Metadata
* morphology 1.. MS
* location 1.. MS
* morphology 1..1 MS
* patient MS

Extension: PartOf
Expand All @@ -28,7 +27,7 @@ Description: "Enables to reference a Tumor <BodyStructure> from its respective S
* ^context[=].expression = "Specimen"

// Examples
Instance: CerebellarSarcoma
Instance: SplenicStructure
InstanceOf: Tumor
Usage: #example
Title: "Tumor Example - Cerebellar Sarcoma"
Expand All @@ -37,14 +36,14 @@ Description: "Example for the Tumor profile"
* identifier[bodyStructureIdentifier].type = http://hl7.org/fhir/resource-types#BodyStructure
* identifier[bodyStructureIdentifier].system = "http://radiology.hospital.example.org"
* identifier[bodyStructureIdentifier].value = "Tumor 1234"
* morphology = $SCT#17302008 "Cerebellar sarcoma (morphologic abnormality)"
* location = $SCT#1010600003 "Structure of left cerebellar hemisphere (body structure)"
* morphology = $SCT#4147007 "Mass (morphologic abnormality)"
* extension[included-structure].extension[$structure].valueCodeableConcept.coding = $SCT#78961009 "Splenic structure (body structure)"
* patient = Reference(ExamplePatient)

Instance: blood-specimen
InstanceOf: TumorSpecimen
Usage: #example
* extension[partOf].valueReference = Reference(CerebellarSarcoma)
* extension[partOf].valueReference = Reference(SplenicStructure)
* status = #available
* type = $SCT#16210851000119107 "Cerebellar neoplasm specimen (specimen)"
* subject = Reference(ExamplePatient)
Expand Down
2 changes: 2 additions & 0 deletions sushi-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ dependencies:
de.gematik.isik-basismodul: 2.0.0
de.medizininformatikinitiative.kerndatensatz.biobank: 1.0.3
hl7.fhir.uv.ips: 1.0.0
hl7.fhir.extensions.r5: 4.0.1


pages:
index.md:
Expand Down

0 comments on commit 6e80eb5

Please sign in to comment.