Skip to content

Commit 91b4551

Browse files
authored
Merge pull request #11 from linkml/bdc_include
2024 harmonization effort - convert schema to use lucidchart representation
2 parents 577512d + 1ea56f2 commit 91b4551

File tree

2 files changed

+419
-264
lines changed

2 files changed

+419
-264
lines changed

project/plantuml/cmdr.puml

Lines changed: 61 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,12 @@
22
skinparam nodesep 10
33
hide circle
44
hide empty members
5-
class "Container" [[{None}]] {
6-
7-
}
8-
class "Subject" [[{Demographic and clinical information about the subject}]] {
9-
{field} id : uriorcurie
10-
{field} name : string
11-
}
12-
class "MaterialEntity" [[{Physical entity that is an input our output of a process from a Subject}]] {
13-
{field} id : uriorcurie
5+
class "MaterialEntity" [[{Physical entity that is an input our output of a process from a Participant}]] {
146
{field} name : string
7+
{field} internal_id(i) : uriorcurie
8+
{field} global_id(i) : uriorcurie
9+
{field} description(i) : string
1510
}
16-
class "Participation" [[{Subject/Study participation information}]] {
17-
{field} id : uriorcurie
18-
{field} name : string
19-
}
20-
class "SpecimenCollectionProcess" [[{A planned process with the objective of collecting a specimen}]] {
21-
{field} has_input : string
22-
{field} has_output : string
23-
{field} id(i) : uriorcurie
24-
{field} name(i) : string
25-
}
26-
"Container" *--> "0..*" "Subject" : "subjects"
27-
"MaterialEntity" --> "0..1" "Subject" : "source"
28-
"Participation" --> "0..1" "Subject" : "includes"
29-
"SpecimenCollectionProcess" --> "0..*" "Subject" : "has_input"(i)
30-
abstract "Process" [[{A planned process resulting in a material or data}]] {
31-
{field} id : uriorcurie
32-
{field} name : string
33-
{field} has_input : string [0..*]
34-
{field} has_output : string [0..*]
35-
}
36-
"Container" *--> "0..*" "SpecimenCollectionProcess" : "specimen_collection_processes"
37-
"Process" ^-- "SpecimenCollectionProcess"
3811
class "Quantity" [[{None}]] {
3912
{field} has_raw_value : string
4013
{field} has_numeric_value : float
@@ -43,26 +16,73 @@ class "Quantity" [[{None}]] {
4316
}
4417
"MaterialEntity" *--> "0..1" "Quantity" : "concentration"
4518
"MaterialEntity" *--> "0..1" "Quantity" : "volume"
46-
class "MaterialProcessing" [[{A planned process which results in physical changes in a specified input material}]] {
19+
abstract "Process" [[{A planned process resulting in a material or data}]] {
20+
{field} name : string
21+
{field} has_input : string [0..*]
22+
{field} has_output : string [0..*]
23+
{field} id : uriorcurie
24+
}
25+
class "SpecimenCollectionProcess" [[{A planned process with the objective of collecting a specimen}]] {
26+
{field} has_input : string
27+
{field} has_output : string
28+
{field} name(i) : string
4729
{field} id(i) : uriorcurie
30+
}
31+
class "MaterialProcessing" [[{A planned process which results in physical changes in a specified input material}]] {
4832
{field} name(i) : string
33+
{field} id(i) : uriorcurie
4934
}
35+
"Process" ^-- "SpecimenCollectionProcess"
5036
"Process" ^-- "MaterialProcessing"
51-
class "Investigation" [[{General information about the Investigation}]] {
52-
{field} id : uriorcurie
53-
{field} name : string
37+
class "Container" [[{None}]] {
38+
5439
}
55-
"Participation" --> "0..*" "Investigation" : "involved_in"
56-
"Container" *--> "0..*" "Participation" : "participations"
40+
"Container" *--> "0..*" "SpecimenCollectionProcess" : "specimen_collection_processes"
5741
"MaterialProcessing" --> "0..*" "MaterialEntity" : "has_output"
5842
"MaterialProcessing" --> "0..*" "MaterialEntity" : "has_input"
5943
"Container" *--> "0..*" "MaterialProcessing" : "material_processings"
60-
"MaterialEntity" --> "0..*" "Investigation" : "used_in"
44+
class "Participant" [[{Demographic and clinical information about the participant}]] {
45+
{field} name : string
46+
{field} internal_id(i) : uriorcurie
47+
{field} global_id(i) : uriorcurie
48+
{field} description(i) : string
49+
}
50+
class "Study" [[{General information about a Study}]] {
51+
{field} url : string
52+
{field} internal_id(i) : uriorcurie
53+
{field} global_id(i) : uriorcurie
54+
{field} name(i) : string
55+
{field} description(i) : string
56+
}
57+
abstract "Entity" [[{The Entity class is the abstract parent class for all classes in the CMDR schema}]] {
58+
{field} internal_id : uriorcurie
59+
{field} global_id : uriorcurie
60+
{field} name : string
61+
{field} description : string
62+
}
63+
"MaterialEntity" --> "0..1" "Participant" : "source"
64+
"MaterialEntity" --> "0..*" "Study" : "used_in"
6165
"Container" *--> "0..*" "MaterialEntity" : "materials"
6266
"SpecimenCollectionProcess" --> "0..*" "MaterialEntity" : "has_output"(i)
63-
"Investigation" --> "0..1" "Investigation" : "part_of"
64-
"Container" *--> "0..*" "Investigation" : "investigations"
65-
class "DataObject" [[{A DataFile Associated with a Subject or Investigation or MaterialEntity}]] {
67+
"Entity" ^-- "MaterialEntity"
68+
class "Participation" [[{Study participation information}]] {
69+
{field} name : string
70+
{field} internal_id(i) : uriorcurie
71+
{field} global_id(i) : uriorcurie
72+
{field} description(i) : string
73+
}
74+
"Study" --> "0..1" "Study" : "part_of"
75+
"Container" *--> "0..*" "Study" : "studies"
76+
"Participation" --> "0..*" "Study" : "involved_in"
77+
"Entity" ^-- "Study"
78+
"Participation" --> "0..1" "Participant" : "includes"
79+
"Container" *--> "0..*" "Participation" : "participations"
80+
"Entity" ^-- "Participation"
81+
"Container" *--> "0..*" "Participant" : "participants"(i)
82+
"SpecimenCollectionProcess" --> "0..*" "Participant" : "has_input"(i)
83+
"Container" --> "0..*" "Participant" : "participants"
84+
"Entity" ^-- "Participant"
85+
class "DataObject" [[{A DataFile Associated with a Participant or Study or MaterialEntity}]] {
6686

6787
}
6888
@enduml

0 commit comments

Comments
 (0)