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