hans jonkers philips research march 11, 2010 a short intro to mif
Post on 14-Dec-2015
217 Views
Preview:
TRANSCRIPT
Hans JonkersPhilips ResearchMarch 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– …
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/.
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
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).
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):
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:
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.
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
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:
Philips Research, March 11, 2010 11
Browsing Through The MIF Model …
top related