Presentation on theme: "Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF."— Presentation transcript:
Hans Jonkers Philips Research March 11, 2010 A Short Intro to MIF
Philips Research, March 11, 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 –…
Philips Research, March 11, 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
Philips Research, March 11, 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
Philips Research, March 11, 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).
Philips Research, March 11, MIF: How Is It Defined? (1) By a set of XML schemas (+ Schematron):
Philips Research, March 11, 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:
Philips Research, March 11, 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.
Philips Research, March 11, 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.
Philips Research, March 11, MIF: How We Used It (2) Object models generated from MIF:
Philips Research, March 11, Browsing Through The MIF Model …