Slides - Mayo Clinic Informatics
Download
Report
Transcript Slides - Mayo Clinic Informatics
Archetype Modeling Language (AML) for CIMI
UML for Archetypes
Status update
April 11, 2013
AML Objectives
• UML Style Guide and profile for archetype modeling
Representation of ADL structures, constraints, and ontology
• Independent of reference model selection
CIMI, openEHR, iso13606, CEM, others
• Define UML stereotypes, as necessary, to extend UML
language
Most archetype structure already supported by UML
Primary addition: Terminology bindings (meaning and value
set constraints)
January 2013
Archetype Modeling Language for CIMI
2
AML RFP Status with OMG
• Submission postponed until September
• Additional status update from Harold Solbrig
January 2013
Archetype Modeling Language for CIMI
3
Benefits of UML: Model Transformation
Design AML profiles to simplify implementation and use
• Model-to-Model
XSD
Ecore and Java
AOM
CEM/ CDL
CDA
• Model-to-Text
ADL
DITA (for publishing documentation)
• Mapping
To C-CDA
January 2013
Archetype Modeling Language for CIMI
4
AML Core Profile
January 2013
Archetype Modeling Language for CIMI
5
AML Terminology Profile (meaning)
January 2013
Archetype Modeling Language for CIMI
6
AML Terminology Profile (value sets)
January 2013
Archetype Modeling Language for CIMI
7
Example Model-to-Model transform (using ATL)
--- Transform ResolvedValueSet to to XSD enumeration with documentation and appinfo
rule ResolvedValueSet {
from
valueSet : AMLTerm!ResolvedValueSet
to
outEnum : UML!Enumeration (
name <- valueSet.getName(),
ownedComment <- valueSetURI,
ownedLiteral <- valueSet.getMembers()
),
valueSetURI : UML!Comment (
-- TODO XSD appinfo
body <- valueSet.uri
)
}
January 2013
Archetype Modeling Language for CIMI
8
ValueSetMember -> XSD enumeration facet
rule ValueSetMember {
from
valueSetMember : AMLTerm!ValueSetMember
to
literal : UML!EnumerationLiteral (
name <- valueSetMember.getName(),
ownedComment <- designation,
ownedComment <- conceptURI
),
designation : UML!Comment (
body <- valueSetMember.designation
),
conceptURI : UML!Comment (
body <- valueSetMember.uri
)
do {
designation.applyStereotype('XMLSchema::Documentation');
conceptURI.applyStereotype('XMLSchema::AppInfo');
}
}
January 2013
Archetype Modeling Language for CIMI
9
CIMI Archetypes with Terminology Bindings
January 2013
Archetype Modeling Language for CIMI
10
SNOMED CT references in UML, from CTS2
January 2013
Archetype Modeling Language for CIMI
11
BACKUP SLIDES
January 2013
Archetype Modeling Language for CIMI
12
Archetypes in openEHR Workbench
January 2013
Archetype Modeling Language for CIMI
13
UML Table Editor for AML
January 2013
Archetype Modeling Language for CIMI
14
Reference Model
January 2013
Archetype Modeling Language for CIMI
15
Entry – Cluster – Element
January 2013
Archetype Modeling Language for CIMI
16
Pattern Archetype in ADL
definition
ENTRY [at0000] matches {
data matches {
-- Result (in UML: nested, or inner, class)
CLUSTER [at0002] occurrences matches {1} matches {
items matches {
ITEM [at0003] occurrences matches {*} matches {*} -- value
ITEM [at0004] occurrences matches {0..1} matches {*} -- reference range
}
}
-- archetype slot, re-use a shared archetype for Body Location
allow_archetype CLUSTER [at0005] occurrences matches {*} matches {
include
archetype_id/value matches {/cimi-RM-CLUSTER\.body_location\.v*/}
}
}
January 2013
Archetype Modeling Language for CIMI
17
Body Location CLUSTER Archetype
definition
CLUSTER [at0000] matches {
items matches {
ELEMENT [at0001] occurrences matches {0..1} matches {
value matches {
CODED_TEXT matches {*}
}
}
ELEMENT [at0002] occurrences matches {0..1} matches {
value matches {
PLAIN_TEXT matches {*}
}
}
}
}
January 2013
Archetype Modeling Language for CIMI
18
Pattern Archetype in UML
January 2013
Archetype Modeling Language for CIMI
19
Clinical Archetype (extends Pattern)
definition
ENTRY [at0000.1] matches {
-- redefine Result (using path to inherited CLUSTER)
/data[at0002]/items matches {
-- “heart rate value” is subset of Result value
-- ELEMENT with Quantity value is specialization of Result ITEM
ELEMENT [at0003.2] occurrences matches {0..1} matches {
value matches {
QUANTITY matches {
units matches {
CODED_TEXT matches {
terminology_id matches {
TERMINOLOGY_ID matches {
value matches {"local"}
}
}
term_id matches {"at0.5"}
}
January 2013
Archetype Modeling Language for CIMI
20
Clinical Archetype (extends Pattern)
January 2013
Archetype Modeling Language for CIMI
21