Presentation on theme: "Terminology and code system services in Finland + CTS"— Presentation transcript:
1 Terminology and code system services in Finland + CTS HL7 WGM meeting, Noordwijkerhout,May 2005Juha Mykkänen (includes material from various other people)University of Kuopio, HIS R & D UnitFinlandSerAPI project –
2 This presentationOverview of two terminology-related developments in Finlandnational code serverAPI interfaces for centralized terminology services (CodeAPI)Relation to CTS and future
3 Recent developments in Finnish healthcare IT National project for health reform started in 2002has strong NHII componentfocuses in achieving interoperable EPR/EHR systems, HL7 CDA has a strong roleother IT components: code service, security, identification, regional systems, archives…project schedule: till the end of 2007Many R & D activities, including National Technology Agency TEKES FinnWell-programmeRegional systems and projects, now related to the two above
4 information system services National Architecture 2005 (proposal)User devices(PC, PDA, GPRS, GSM)NetworkDesktopUserInterfaceOrganizationalinformation system servicesElectronicconsumerservices(Call/Contact Centre,Regional booking, etcDesktopintegrationShort-timearchiveLong-time(text, imaging, signals,approvals, refusals, log)Nameserver(OID)SecurityReferencesystem(references,service chains, adapters)CodeserverMessageexchange(SOAP)Regional servicesNational servicesStatisticsPortalsPopulationcentreCertificatesofprofessionalsNameserver(OID)CodeserverCentre ofprescriptionsCentre ofcertificates[Kauko Hartikainen]
5 National Code Server (note: no speaker affiliation, thanks to Matti Ojala/Stakes,Timo Pessi/Datawell andJari Lehtonen/Stakes)
6 National code server: background and status part of National Health Project (Ministry of Social Affairs and Health)subproject in National Research and Development Centre for Welfare and Health (STAKES)Purpose: national digital updating and distribution system for terms, glossaries, classifications and related codesRunning since 2004 at:now 20 code systems in production environmente.g. ICD-10, Medical procedures, Lab test and physiotherapy nomenclatures, several HL7 2.3 classifications etc.
7 Why code server?1. Makes glossaries, classifications and codes better available and updated;2. Improves cooperation and boosts productivity in the social and health care service chains, compilation of statistics, monitoring, planning and sharing of information systems;3. Enables crossing of boundaries between sectors, service providers, units and information systems;4. Enhances electronic service production in the social and health care sector;5. Supports the creation of new operating models in the social and health care sector;6. Supports information system developers in the social and health care system who need classifications, codes, glossaries or data on organization units;7. Helps in developing electronic processes in the social and health care service system, putting functions online or reaching out digitally to new interest groups and user groups;8. Helps in harmonizing information structures using classifications, codes, glossaries or organization unit data in social and health care sector information systems;9. Creates a foundation for the development of information management tools for instance with keywords;10. Links the national code service to international code servers.
8 CodeServer - description CodeServer is used to create, save and update code sets and to publish them for health professionals and information systemsCodeServer is browser-based - distributed maintenance to various organizations responsible of different code setsModifications are in one location, which eases the maintenance and improves information qualityCode set transformations between different systemsIncludes interfaces to distribute codes to external systems[Timo Pessi, Datawell]
9 Provided functionality Creation, copying and modification of code setsSearch and browseCode set versioningValidity time definitionsDocumentation and tracking of changesSupport for multiple languagesSupport for hierarchical organizations and classificationsDefinition of mappings, links and synonymsSupport for local elementsXML/SOAP interfaces for direct integration to other ISExporting functionality, web publishing, e.g. Ecomed, Excel, SAS, XML formatsFile import for code set producers[Timo Pessi, Datawell]
10 Codeset export / import interfaces XML messages for transferring codes from national server to regional or local applications available through HL7 Finlandother direction also planned e.g. for organizational unitsuse SOAP envelope same way as CDA (R1 and R2) adapters in Finlanddataset (reference elements)major uses:import all / new or changed codes for a given code system
12 shared services for applications using code systems CodeAPI interfacesshared services for applications using code systems
13 Background: PlugIT project Natl. healthcare programme / National EHR project3 univ. depts, 1 polytechnicTo find solutions to the integration problems, we established an applied research project that had three kinds of participants: researchers, software professionals from companies, and healthcare professionals from hospital districts and cities. Most of the major software companies developing applications for healthcare participated. 84% of the funding came from the National Technology Agency TEKES, the rest from the companies and hospitals. It was the biggest Software Engineering research project in TEKES, with a budget of 2 million euros and lasting for three years.PlugIT aimed at three types of results: Firstly, interface standards that can be taken into use by the companies in their products. Secondly, methods that can be used by new integration projects after PlugIT. And finally, a centre of expertise, a group of experienced applied researchers that can work on new projects to support the software companies and the healthcare institutions.12 applications vendors, 3 technology vendors6 hospital districts, 2 municipalitiesNational R&D project to develop integration solutions for healthcareResults: Service specifications, integration methods, centre of expertiseOct 2001–Aug 2004, about 15 full-time + 15 part-time researcher/developersBudget € 2 million, 84% by National Technology Agency TEKES
14 Shared terminologies and code systems for applications National Code serverbrowser version in use, more code sets added to the service (including ISO OID provider identification)message definitions to transfer code sets to different systemsPlugIT common service interfaces, one of which deals with code systems (CodeAPI)centralized functionality (and data), decrease overlapping functionality / maintenance / implementationapplication-oriented, ”user activity-related” API interface operationssearch, listing, browse operations on different levels (hierarchies, several languages etc.)different types of interfaces in above two servicesimport code sets from centralized (e.g. national) serviceuse (and possible refer to) codes from centralized (e.g. regional/organizational( serviceboth available also through HL7 Finland
16 CodeAPI: Relation to other specifications UsedCode transfer messages (HL7 Finland Open CDA project / national code server)information contents of the national code server enables conformance levels in CodeAPIsame XML elements used where possibleless coding especially in software which uses national code server and offers CodeAPI interfaces for local applications”authorized” central code service (e.g. regional), specific operations for applications as readily-made services (search, list, browse, etc.)OMG Terminology Query Services (TQS)used as a functional basis; however, only subset of functionality needed in PlugIT + project decision not to use IDL (tool dependencies, technology transition)other PlugIT services (user, access rights, patient etc.)same technology and content conventions, no dependenciesHL7 Common Terminology Services (CTS)found extremely useful, details follow
17 CodeAPI specification v2.0 1 Introduction and scope2 Background (TQS, HL7v3 data types related to codes, HL7 CTS, National code server, OID)3 Specific integration requirements4 Technology neutral interface definitions (version 1)5 Technology-specific interfaces based on XML and http (version 2)6 Content specifications: connecting the interface to different code set contents7 Implementations and further developmentAppendices:Data elements in national code server and HL7 MDFListing of operationsSummary of requirements on different conformance levelsSummary of XML elementsnormative: 5-6, appendices 2-4informative/background: 1-4,7, appendix 1most suitable level for international harmonization: 3-4?
18 Conformance levels v2.0 3 API interfaces: CodeService, Codeset, Code minimum levelonly the most necessary operations for centralized code set services for easy connectivity with existing applications: bind to code set, bind to code, list codes, minimum information content (code + designation), get designation by code, get code by designation”base”in addition to minimum level search capabilities, metadata about supported code sets and services, administrative information about service and code sets”multilingual”support for different languages in designations and other information”hierarchy””status”by default, also local and ”removed” codes are also returned”freeElements”in addition to minimum information, other available elements for code entries for different operations”advSearch”more advanced search capabilities, substrings, keywords, search from arbitrary elements, multiple search keys etc.conformance levels can be used on service or code set levels
19 Interfaces and operations v2.0 CodeService interfaceGetSupportedCodeSystems: base levelGetSupportedServices: base levelGetInfo: base levelCodeset interfaceLookupCodesByDesignation: minimum levelListCodes: minimum levelLookupCodes: base levelGetSupportedCodesetServices: base levelIsCodeValid: base levelGetCodesetInfo: base levelListLanguages: multilingualGetHierarchyDepth: hierarchyGetCodes: freeElementsGetSupportedAttributes: freeElementsCode interfaceGetDesignation: minimum levelGetParent: hierarchyGetHierarchyLevel: hierarchyGetStatus: statusGetLocal: statusLookupCompleteCodedConcept: freeElementsLookupProperties: freeElements
20 Content specifications How to connect a given code system to the interfacewhere to get code, designation, language etc…content specification is separate from the interface, ideally one official authoritative content specification for each code setsame interface for different code setsCodeAPI v2 ICD-10 content specificationmapped to national code server data elements and format provided by the National Research and Development Centre for Welfare and Health (STAKES)additional content specificationse.g. for other code sets in the national service
23 HL7 CTS relationshipCTS was ”discovered” when specifying version 2 of CodeAPI operation harmonization for CodeAPI v2CTS: messaging API, Vocabulary API, IDL interfacesCTS reference model is more abstract than in CodeAPIinterface technologies:CTS: IDL interfaces (with IDL Java WSDL (rpc/encoded style over http) examplesCodeAPI: XML-wrapped operations (over http) – WSDL available for other PlugIT common servicesCTS: no content specifications, recommendation to use HL7 ConceptProperty codeset
24 Initial comparison / CTS / CodeAPI semantic correspondence to all operations in CTS Vocabulary API (except AreCodesRelated) can be found in CodeAPI operationsnational code server information has resulted in more specific (and numerous) operations and levels in CodeAPI than in CTSnot many CTS Message API operations in CodeAPI (ValueSet, VocabularyDomain etc.), simple reference model and interfaces in CodeAPI – no mapping, code relationships etc.differences etc. whether to return only code id or also designations + elements for different conformance levels in CodeAPIhierarchy / local / status / etc. features as direct parameters in CodeAPI (can be used through reference model, relationships etc. in CTS?)direct use of national code server XML elements in CodeAPIIDL interfaces in CTS (+example of Java and WSDL), XML specifications in CodeAPIOID in code set identification in both specificationsid value in code identification in both specifications (no CORBA-type object references etc.)CTS Conformance: runtime and browser separately for Message and Vocabulary APICodeAPI Conformance: several conformance levels for different functionalities
26 Possibilities / discussion comparison of requirements for CTS II and CodeAPI (Finland) to find possible candidates for new features or needs (for CTS II Vocabulary API?)examples, use cases (or conformance levels) for CTS II Vocabulary API (see conformance levels in CodeAPI) – also discussed in CTS (to get new users up to speed)walkthrough of export / import interface of national code serverlink to infrastructure work in HL7/OMG Healthcare Services Specification Projectnote: both national code server and CodeAPI interface specifications are in Finnishbut requirements, functionality and products are generic / international?SerAPI project (SOA / web services focus) participates in Service Specification Project, HL7 Finland (Common Services SIG)
27 Dank u www.uku.fi/tike/his/serapi/ www.plugit.fi/ Juha.Mykkanen@uku.fi SerAPI project participants: National Technology Agency TEKES (grant no / 04), Medici Data Oy, Datawell Oy, Fujitsu Services Oy, Hospital district of Northern Savo, WM-data Oy, Commit; Oy, Intersystems B.V. Finland, Mediconsult Oy, Microsoft Oy, Oracle Finland Oy, Hospital District of Satakunta, Bea Systems Oy, Hospital District of Helsinki and Uusimaa, City of Kuopio, Kustannus Oy Duodecim, Mawell Oy