hans jonkers philips research march 11, 2010 a short intro to mif

12
Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Upload: aileen-murden

Post on 14-Dec-2015

217 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Hans JonkersPhilips ResearchMarch 11, 2010

A Short Intro to MIF

Page 2: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 2

Contents

MIF:• What is it?• Who is it for?• How is it defined?• How can you use it?• The way we used it.• Browsing through the MIF

– StaticModel– VocabularyModel– DataTypeModelLibrary– …

Page 3: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 3

MIF: What Is It? (1)

• MIF = Model Interchange Format

Can be viewed in different ways:• As a set of XML formats used to support the storage and exchange of

HL7 version 3 artefacts as part of the HL7 Development Framework.• As a (meta)metamodel, i.e. as a metalanguage that is used to define

the HL7 version 3 standard and its constituent artefacts.

• The definition of the MIF is a task of the HL7 Tooling Working Group.• MIF 2 definition is not stable yet; latest version can be downloaded from

http://gforge.hl7.org/gf/project/mif-schemas/frs/.

Page 4: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 4

MIF: What Is It? (2)

HL7 Version 3 artefacts that are defined in MIF:• Analysis related artefacts such as

– domain analysis model, story board, glossary• Static model related artefacts, such as

– static model, derived static model, serialized static model• Dynamic model related artefacts, such as

– interaction, trigger event, application role• Vocabulary related artefacts, such as

– vocabulary model, code system, code system supplement• Data type related artefacts, such as

– data type model library• Conformance related artefacts, such as

– conformance profile, interaction profile• Publication related artefacts, such as

– publication, structured document, freehand document

Page 5: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 5

MIF: Who Is It For?

• MIF is meant for tool smiths and model-engineers, because it deals with meta-objects that are used to build tools and models.

• Application programmers use these tools and the code generated from these meta-objects to build applications.

So, it’s only a special breed of programmers that should ever see MIF …

"No human should ever see MIF, except for programmers, and those aren't human anyway."

Grahame Grieve (adapted from Tim Berners Lee).

Page 6: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 6

MIF: How Is It Defined? (1)

mif-core-base

mif-model-static-serializedmif-model-static-flat

mif-model-staticBase

mif-core-staticBase

mif-model-datatype

mif-core-enumerations

Core

Vocabulary

Data type

xhtml1-strict

xml

mif-model-requirements mif-model-publication

mif-model-crossReference

mif-model-package

mif-model-interface

mif-model-dynamic mif-model-documentation

mif-COMPLETE

mif-model-static-derived

mif-core-patterns

mif-model-testing

mif-model-vocabulary

mif-model-conformance

mif-core-changes

Mark-up

xhtml-special.ent xhtml-symbol.ent

xhtml-lat1.ent

MIF 2.1 - June 13, 2008

mif-model-annotationLibrary

Static

Dynamic

Interface

Stable Beta Draft

Other

By a set of XML schemas (+ Schematron):

Page 7: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 7

MIF: How Is It Defined? (2)

• The XML schemas define the MIF language constructs as types, with the meaning of the types explained informally in annotations:

Page 8: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 8

MIF: How Can You Use It?

What you need:

1. A way to read MIF files.– Use existing tooling (Eclipse) or generate it from the MIF schemas

2. A proper understanding of the MIF constructs.– Unfortunately there is not much documentation …

• It helps to read and process MIF instances in terms of strongly-typed classes generated from the MIF schemas.

• Tools such as xsd.exe (for .NET) generate such classes.

Page 9: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 9

MIF: How We Used It (1)

• MOM object model of MIF was generated from the MIF schemas, including read and write methods.

• MIF files are read as instances of the MIF model and mapped to object models.

• Applications are built using C# classes generated from the object models.

C#SQL

XML

application

object modelgenerator object model

C#generator

MIF

XSD

HL7v3 Standard ABCD HL7v3 Generator

Page 10: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 10

MIF: How We Used It (2)

Datatypes(R1)

RIM(2.26)

R_PatientUniversal

ClinicalStatement

R_AssignedEntity

Universal

R_AssignedPerson

Identified

R_MedicationUniversal

R_SpecimenUniversal

CMETs …..

Vocabulary

Object models generated from MIF:

Page 11: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF

Philips Research, March 11, 2010 11

Browsing Through The MIF Model …

Page 12: Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF