ISO Healthcare Data ISO Healthcare Data Types: Interactions Types: Interactions with Metadata with Metadata RegistriesRegistries
Metadata Open Forum 22-05-2008
Grahame Grieve
OverviewOverviewHistory & Overview of ISO 21090Using ISO 21090 data types with
11179 registries
History of ISO 21090History of ISO 21090Project chartered long ago (> 10
years)Held up repeatedly by
disagreements between stakeholder SDO’s:◦ISO◦CEN◦HL7
HL7HL7Health Level 7 (from ISO OSI)US-based ANSI accredited
standards developerMembership:
◦Vendors◦Providers◦Government Programs◦Consultants◦Academics
Scope of HL7Scope of HL7Administrative Healthcare DataHealthcare financial informationClinical/EHR dataClinical Trials & Clinical SafetyClinical Decision SupportEnterprise architectureTechnology bindings (layers 4-6)Whatever the members want!
HL7 v3HL7 v3HL7 is in the process of completely
updating it’s approachV2 (old):
◦ad hoc modelling◦single technology binding◦widely used
V3 (new)◦ rigorous consistency / not semantically
ambiguous◦high level of reuse / multiple technology
bindings◦uptake starting to gain critical mass
Overview of V3Overview of V3
RIM (Reference Information
Model)
Constraint Models(DMIM, DIM, RMIM, HMD, MT, CIM, LIM,
TIM)
Wire Formats(XML ITS)
Solid OntologicalFoundation
Adaptation to a context of use
How to make it work
Data Types
Terminology Definitions (a la ISO 704)
ImplementationConcept
CEN 13606CEN 13606
RIM (Reference Model)Part #1
Archetypes
Part #2
Exchange FormatPart #5
Solid OntologicalFoundation
Adaptation to a context of use
How to make it work
Data Types
Terminology Definitions (a la ISO 704)
ImplementationConcept
HL7 / ISO data typesHL7 / ISO data typesThe data types are ubiquitous
◦All actual data is stored in data types◦Plus content model bindings◦RIM is a general model for everything
The data types are where the pedal hits the metal
The data types are designed with rigor for rebust re-use in multiple contexts
Data Types RequirementsData Types RequirementsMassive requirements gathering:v2 semantics must all be supportedYears of requirements gatheringmany MBs of archived meeting
minutes, wiki content, ballot reconciliation, emails, skype chats
review by other standards organisations, experts
most available publicly, but not gathered together
What’s the Political What’s the Political Discord?Discord?HL7 V3 Data Types highly controversial
◦ Improper UML diagrams◦Modeling by constraint◦Gap between specification and
implementation◦Open war about null flavors
CEN rejected V3 Data types◦Strong input from OpenEHR◦Several candidate standards proposed
ISO: Several candidate standards proposed
A mess: personal, and a disaster
Specification and Specification and ImplementationImplementationDifferent wire encodings
◦XML◦ASN.1
Different layers ◦XML◦Object Model
Different Paradigms◦Web 2◦SOA
Specification and Specification and ImplementationImplementationDefining a specification in terms
of any one layer creates problems:◦instability◦binding/bridging problems◦Implementer choice
OMG◦PIM: Platform Independent Model◦PSM: Platform Specific Model
Abstract & XML: GapAbstract & XML: GapHL7 Data types are specified in an
abstract form (defines everything from scratch, except true and false)
The abstract form is very useful as a rigorous semantic statement
The abstract form is completely useless as a basis for implementation
An XML form was defined for implementation
RM-ODP View pointsRM-ODP View pointsEnterprise - purpose, scope and
policies of systemInformation – kinds of information,
and constraints & use of itComputational - functional decomp-
osition into objects that interactEngineering - infrastructure
required to support system distribution
Technology - technology to support system distribution
RM-ODP MappingsRM-ODP MappingsEnterprise
Information
Computational
Engineering
Technology
Abstract Data Types
XML ITS Data Types
RM-ODP MappingsRM-ODP MappingsEnterprise
Information
Computational
Engineering
Technology
Abstract Data Types
XML ITS Data Types
Missing!
1117911179Data Element Concept is abstractData Element is partially technology
bound – neither one or the other◦11179 Attributes specify
“representation”, not semantics◦Representation is not sufficiently
technology bound to allow semantic interoperability
◦Representation is not sufficiently technology bound to allow technical interoperability
1117911179Example
ISO Data TypesISO Data TypesA computable/implementable
standard◦Full UML specification (PIM)◦Rigorous XML representation (PSM)
Proper implementation of abstract data types
Mappings to other major alternativesAcceptable to everyone
◦Grudging acceptance!◦The ISO data types are still full of
compromise
ISO Data Types - ProgressISO Data Types - ProgressWork began in 2005 (conceived in UK)Combined data types are currently
undergoing simultaneous ballot by◦CEN◦ISO (DIS)◦HL7
Combined resolution Istanbul in October
Implementation trials are under way
In the data types...In the data types...Infrastructural things (Lists, Sets,
Booleans)Text & multimedia contentCoded Concepts / Terminology
ReferencesIdentificationNames and AddressesQuantitiesIntervals and Complex Set ExpressionsUncertain Values
CD: Concept ReferenceCD: Concept ReferenceCode – umbiguous reference to a
concept defined in a terminologyValueSet – reference to a value set
from which the concept was allowed to come
Display & Original TextCoding Information – information
about how this was codedTranslations – alternate concept
references
CD: Concept ReferenceCD: Concept Reference
Relationship with 11404Relationship with 1140411404 defines General Purpose
Data types (GPDs)21090 builds on this to define
healthcare specific data types (HDTs)◦Why does healthcare need data
types?◦Why does it define data types with
the same name & function as GPD data types?
What’s a Data Type?What’s a Data Type?Multiple AnswersIn this context:
◦ What you use for an attribute type
◦ Has no identity, so cannot have an association
◦ does not have associations (actually all associations are compositions)
What’s a Data Type?What’s a Data Type?Only has a value (No identity)Defined in terms of possible
operations Operations yield new values – the
original value does not change (Immutable)
Does not have state – the value is unchanging in all contexts (No life cycle)
Is a single unit of semantic coherency
Why Healthcare Data Why Healthcare Data Types?Types?Records do not have the desired
semantic rigourNeed objects with defined life
cyclesDefining life cycles is inappropriate
for some basic concepts◦Define them as a black box◦Specify their operations◦Treat them as re-usable value domains◦ Data Types!
Why Healthcare Data Why Healthcare Data Types?Types?11404 concepts:
◦Strings, Integers, Reals, Booleans◦Sets, Lists, Bags, Intervals
Higher Level Concepts:◦Terminology Bindings◦Physical Values/Measurements◦Inclusion of externally defined content◦Specification of mathematical sets◦Names, Addresses, Identities
Why Redefine 11404 Why Redefine 11404 Types?Types?21090 defines types that
represent the same concept as 11404 types◦SET◦LIST◦BAG◦INT◦REAL
Why do this?
NullFlavorNullFlavorIncomplete / Partial Data is common in healthcarePatient is unconsciousPatient was unwilling to provide informationPatient isn’t sure when the operation wasData is not (yet?) availableUser does not have access to the informationCode system doesn’t contain conceptA trace detected, but not enough to
quantify
nullFlavornullFlavorEvery data element has a nullFlavor
attributeSemantically, the nullFlavor values
are part of the value domain of every type or class
Data elements that have a nullFlavor may also have other information
nullFlavor is not the same as null in technologies such as OCL and SQL◦But behaves a lot like them
Primitive Type PatternPrimitive Type PatternUse types in 11404Need to give them all nullFlavornullFlavor defined on base type
ANYDefine a class with a standard
name◦specialize ANY◦give it an attribute “value” ◦“value” type is the appropriate 11404
type
Why redefine 11404 Why redefine 11404 types?types?21090 defines types with similar
names and functionality to 1140421090 does not redefine 11404
typesIt wraps them using the primitive
type patternCauses much confusion
11179 Registries & Data 11179 Registries & Data TypesTypesIs it appropriate to use the health
care data types as a type in a 11179 registry?
11179 Attributes of 11179 Attributes of interestinterestDatatypeRepresentation CategoryMinimum SizeMaximum SizeLayout of Representation
(n(3).n(3)E2)Permissable Data Element Values
DatatypeDatatypeThe format used for the collection
of letters, digits, and/or symbols, to depict values of a data element, determined by the operations that may be performed on the data element.
The data type does not define the operations, only the representation
What defines the operations?
11179 Attributes of 11179 Attributes of interestinterestDatatypeRepresentation CategoryMinimum SizeMaximum SizeLayout of Representation
(n(3).n(3)E2)Permissable Data Element Values
Representation CategoryRepresentation Category“Type of symbol, character or
other designation used to represent a data element.”
The representation category shall be specified by the relevant standard
Representation CategoryRepresentation CategoryRepresentation Class: An
informational list of representation class terms is provided:◦Code / Text◦Count / Quantity / Currency◦Date / Time◦Graphic / Icon / Picture
“By using representation class, enhanced semantic control over the contents of value domains can be maintained”
11179 definitions are loose: core things are not nailed down
Maximum SizeMaximum SizeThe maximum number of storage
units (of the corresponding datatype) to represent the data
This is confusingName has type character string,
and a size of 80So you can have 80 names?
Health Care Data TypesHealth Care Data TypesThe Health Care Data Types
subsume these several conceptsDefine other attributes that are
required◦Cardinality◦Concept bindings◦Min & Max Length ◦Mandatory / Required / other
constraint levels
Health Care Data TypesHealth Care Data Types11179 allows other attribute types
that can define these other thingsRender existing mandatory and
conditional attributes irrelevent or misleading
Can use health care data types without loss of meaning since there isn’t much in the first place◦i.e. Are the types composite types?
11179 & External Data 11179 & External Data TypesTypesSame issues apply to use of 11404
General Purpose Data typesAnd also W3C Schema types
Editor’s draft allows for referencing a particular data type specification
Need a profile for each specification
Describing Data Types in Describing Data Types in 1117911179Is this even appropriate?Attributes that make up data
elements are not re-usable in other contexts
Intent and definition is completely context bound
General Issue: HL7 specifications define re-usability at a much higher level than data element level
Describing Data Types in Describing Data Types in 1117911179General Issue: Need to make
formal (computable) statements about◦Operations◦Life Cycle◦Constraints◦Conformance Requirements
11179 allows some of this, but provides no formal framework
HL7 rolls it’s own xml syntax
OWL & Healthcare Data OWL & Healthcare Data TypesTypesThere is ongoing interest in
representing the healthcare data types in OWL to facilitate formal logic
The health care data types are put of a larger web:◦Terminology & Value Sets◦Data Types & Reference Classes◦Constrained Models for use cases◦Process models (Services etc)
No comprehensive approach yet
Ongoing EngagementOngoing EngagementHL7 is always prepared to engageHL7 is over committed in terms of
engagementAlways a struggle to maintain
balance between collaboration, productivity and linear development of standards
Ongoing engagement between registry development and HL7 productive for both
Top Related