@startuml skinparam linetype polyline hide circle hide stereotype !include ./style.iuml class "**BusinessProcess**" as Process<> { |_ identifier 1..* |_ status 1..1 |_ name 1..1 |_ title 1..1 |_ description 1..1 -- } class "**BusinessProcess**" as Process<> { |_ identifier 1..* |_ status 1..1 |_ name 1..1 |_ title 1..1 |_ description 1..1 -- } class "**Persona**" as Pers<> { |_ identifier 1..* |_ status 1..1 |_ name 1..1 |_ title 1..1 |_ type = 'person' |_ experimental 1..1 |_ description 1..1 -- } class "**Logical Model**" as LM<> { |_ identifier 1..* |_ status 1..1 |_ name 1..1 |_ element 1..* |_ short 1..1 |_ definition 1..1 |_ type 1..1 |_ binding 1..1 |_ definition 1..1 |_ comment 0..1 |_ constraint 0..1 |_ code[SG] 1..1 |_ code 1..1 |_ code[other] |_ system 1..1 |_ code 1..1 |_ comments 0..1 |_ relationship 0..1 -- } class "**Functional Requirement**" as FReq<> { |_ identifier 1..* |_ status 1..1 |_ name 1..1 |_ title 1..1 |_ type = 'functional' |_ persona 1..1 |_ activity 1..1 |_ name 1..1 |_ description 1..1 |_ (reference) ' |_ description 1..1 |_ acceptanceCriteria 0..* |_ reference? -- } class "**AcceptanceCriteria**" as AC<> { |_ parentReq 1..1 |_ identifier 1..* |_ status 1..1 |_ name 1..1 |_ title 1..1 |_ type = 'functional' |_ description 1..1 -- } class "**Non-Functional Requirement**" as NFR<> { |_ identifier 1..* |_ status 1..1 |_ name 1..1 |_ title 1..1 |_ context 1..* |_ activity 1..1 |_ name 1..1 |_ description 1..1 |_ acceptanceCriteria 0..* -- } 'do we capture the CQL definition for a term, if available? class "**Data Element**" as DE<> { |_ identifier 1..* |_ status 1..1 |_ name 1..1 |_ title 1..1 |_ definition 1..1 |_ implementation 0..1 -- } @enduml