ISO Healthcare Data Types: Interactions with Metadata Registries Metadata Open Forum 22-05-2008...

Preview:

Citation preview

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