Transcript
Page 1: Archetype Modeling Language (AML) for CIMI

Archetype Modeling Language (AML) for CIMI

UML for ArchetypesStatus updateApril 11, 2013

Page 2: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 2

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)

Page 3: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 3

AML RFP Status with OMG

• Submission postponed until September• Additional status update from Harold Solbrig

Page 4: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 4

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

Page 5: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 5

AML Core Profile

Page 6: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 6

AML Terminology Profile (meaning)

Page 7: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 7

AML Terminology Profile (value sets)

Page 8: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 8

Example Model-to-Model transform (using ATL)--- Transform ResolvedValueSet to to XSD enumeration with documentation and appinforule ResolvedValueSet {

fromvalueSet : AMLTerm!ResolvedValueSet

tooutEnum : UML!Enumeration (

name <- valueSet.getName(),ownedComment <- valueSetURI,ownedLiteral <- valueSet.getMembers()

),

valueSetURI : UML!Comment (-- TODO XSD appinfobody <- valueSet.uri

)}

Page 9: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 9

ValueSetMember -> XSD enumeration facetrule ValueSetMember {

fromvalueSetMember : AMLTerm!ValueSetMember

toliteral : 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');

}}

Page 10: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 10

CIMI Archetypes with Terminology Bindings

Page 11: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 11

SNOMED CT references in UML, from CTS2

Page 12: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 12

BACKUP SLIDES

Page 13: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 13

Archetypes in openEHR Workbench

Page 14: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 14

UML Table Editor for AML

Page 15: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 15

Reference Model

Page 16: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 16

Entry – Cluster – Element

Page 17: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 17

Pattern Archetype in ADLdefinition

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 Locationallow_archetype CLUSTER [at0005] occurrences matches {*} matches {

include archetype_id/value matches {/cimi-RM-

CLUSTER\.body_location\.v*/}}

}

Page 18: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 18

Body Location CLUSTER Archetypedefinition

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 {*}

}}

}}

Page 19: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 19

Pattern Archetype in UML

Page 20: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 20

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 ITEMELEMENT [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"}}

Page 21: Archetype Modeling Language (AML) for CIMI

January 2013 Archetype Modeling Language for CIMI 21

Clinical Archetype (extends Pattern)


Top Related