Academic Open Internet Journal
www.acadjournal.com
Volume 7, 2002

 

 

PROGRAMMABLE PROCESSOR CARD APPLICATION
IN HEALTH CARE INFORMATION SYSTEM

Rumiana Krasteva, Ani Boneva,
Ditchko Batchvarov, Veselin Geortchev, Konstantin Stanishev

Central Laboratory of Mechatronics and Instrumentation - BAS
Acad. G. Bontchev Str. Bl.2, 1113 Sofia, BULGARIA
Phone: 72 13 61; Fax: 72 35 71

E-mail: rumikristeva@hotmail.com


SUMMARY: The paper presents a solution for health care system by using programmable smart cards. The card’s type is BasicCard, produced from ZeitControl GmbH and reading device - Cyber Mouse - from same production. There are presented how BasicCard working and hardware and software architecture description of the health care information system.

Keywords: Programmable processor card, Card reader, Cyber Mouse, P-Code, T=1 protocol
 


1. Programmable processor card – BasicCard – An Overview

    There exist two types of so called chip cards. While one type of cards (memory cards) are just a bunch of EEPROM storage, second type of cards like BasicCard is more like a small computer. It includes a microcontroller with RAM for operation, ROM for holding the BasicCard OS and EEPROM  for holding your data and your program. It communicates with the outer world through its chip contacts by use of a bi-directional serial interface. This interface and most other SmartCard related facts are standardized by the International Organization for Standardization (ISO) in ISO 7816 standard [3].
    Having a microcontroller inside a Smart card is an advantage of this technology. This is because only the microcontroller is in control of all other parts (communication, RAM, ROM and EEPROM). This means only the program executed by the microcontroller has access to data stored in EEPROM and so your program decides which data is exchanged with the outer world and which conditions are required before this data can be exchanged.
    The heart of the programmable processor card is its P- Code interpreter. The program for the card can be writes in Java or Basic. This is compiled into co-called P-Code, which is machine independent language that looks like machine code. The P-Code is downloaded to the card, where executed by interpreter. If the code doesn’t work in the first time, it is possible to download a new version into the same card.
    Communication with a processor card is by means of command – response protocol. When the card is inserted in the reader, a command – response session is initiated: (Fig.1) [1].

Fig.1. Communication with a processor card

    The products described in this chapter are the Compact BasicCard and The Enhanced BasicCard. Both BasicCards contain 256 bytes of RAM and user- programmable EEPROM: 1K in the Compact BasicCard, and up to 8K in the Enhanced BasicCard (depending of the version). The EEPROM contains the users Basic code, compiled into a virtual machine P – code. The user’s permanent data is also stored in EEPROM – in the Compact BasicCard, permanent data takes the form of Basic Variables, but the Enhanced BasicCard contains a directory – based file system as well. The RAM contains run- time data and the P-code stack [3].

Fig.2 BasicCard Versions

    Fig. 2 shows BasicCard versions.
    The operation system has a full implementation on the T=1 communication protocol defined in ISO/IEC 7816-3: Electronic signals and transmission protocols.
    The Enhanced BasicCard uses the well – known DES standard. Plug – in libraries a provided for: 161 – bit Elliptic Curve Cryptography; the IDEA International Data Encryption Algorithm; and the SHA – 1 Secure Hash Algorithm. The Compact BasicCard uses the Shrinking Generator Algorithm [4].
    BasicCard programs are written in the ZC- Basic language, which is a modern – oriented Basic, with special features for the processor card environment.
    A program consists of initialization code followed by procedure definitions. Programs for the Enhanced BasicCard can also contain optional file definition sections.
    The operating system in BasicCard contains the following features:

    The reading devise for BasicCard is Cyber Mouse. Fig. 3 shows connecting Cyber Mouse to the PC using serial RS232 -C or USB [1].
 


Fig.3. Connecting Cyber Mouse to the PC
 

2. System Description

    The processor cards allow storing some important data – blood group and Rh. factor, allergy, address, personal data and etc. This is a very necessary in Bulgaria, where all data are writing on hand by now.
    The paper offers a new idea for storing and manipulating with all the important data for patients and medical services and using it in each moment in each place. This is possibility to changing existing health cards with electronic, which is more suitable and secure.
    Healthcare administration requires immediate information access and total flexibility. Smart card technology is the optimal portable solution for information access, management and improved communication among the various professionals involved in the administration of healthcare, while providing the strongest security measures on the market today.
    By allowing all participants in the healthcare system to access only the data that they need, smart card solutions enable streamlined inter-organization communication without compromising personal privacy. The simplification of processes and improved communication resulting from the use of smart card solutions leads to the achievement of the healthcare industry's eternal objective: reduced administrative costs and improved quality of care.
    Minimal system requirements for each GP's (General Practicing) cabinet are (fig.4):

Fig.4. Minimal system configuration

    Each of the patients has got a personal processor card and access PIN code. Each GP can reading and writing data from/to his patients cards and has got a PIN code for writing and changing data. Data stored on the card are divided in 5 groups:

    There are defined different access level for reading and writing data in the card. Each patient has got a individual PIN code for access to changing GP's personal data. Each GP has got a PIN code for access only to his patients cards. This PIN is required in case of:


3. Program Structure and Software Modules

    This chapter describes system software realization. It has a modular structure and consist several program modules. Fig.5 shows software architecture of the described system.

Fig.5. Software modules

    Minimal software requirements for each GP's computer are:

    Software modules can be divided in 3 basic groups:                3.1. Data base

    This is a program for storing and operation with relevant GP patient's data. This module allows automation GP's work and safes the time. It has several options:

    The Internet communication module is possible to use in the future for connecting and queries to the server and data base in the main health care center. The program modules are designed on Tcl/Tk.

3.2. Terminal program

    This program module has got a several functions:     As it said before (ch.1) the communication with processor card uses command - response protocol. The terminal program is main to realizing this action - command for card and operating data.

    The terminal program consist of the main procedure and procedure definition. Basic card commands are declared in command declaration, after which they can be called just like functions. Before calling a BasicCard command, it must be declared, so the ZC - Basic compiler knows the two ID bytes of the command and the types of the command parameters. There are ten command declarations:

    The module a designed and compiled on WZCBASIC, which is a environment, offered by ZeitControl and designed especially for BasicCard ZCX.X and CyberMouse card reader.

           3.3. Processor card program

    This module consists of several procedures, which is declared in terminal program. The procedures are downloaded to the card in P-code and executed at run - time. Each command is assigned a unique two - byte ID. The two bytes ID must be supplied between the command keyword and the name of the command. The BasicCard operation system fills in the return value that gets passed back to the terminal program.
    A BasicCard program consists of initialisation code followed by procedure definition. The card program has got ten procedure definitions - same as described in terminal program. When the BasicCard receives a command from terminal program, the operating system in the card automatically executes corresponding procedure from the card.
    The permanent data that retains its value is stored in EEPROM.
    The module is designed, compiled and loaded in the BasicCard on WZCBASIC.
 


CONCLUSION

    The paper gives a main perspective for building a health care system. The offered system is a first step for building health care system by using Internet and access to the main server data in Health Care Information Center. The modular software solution gives possibility for future system upgrade.
 


REFERENCES

    1. Guilfoyle T., The ZeitControl Compact and Enhanced BasicCards, Doc. V.3.21, Zeit Control cardsystems CmbH, Germany, (March, 2001).
    2. Ditchko Butchvarov, Rumiana Krasteva, Ani Boneva, Konstantin Stanishev, Application on smart cards in medical systems (in Bulgarian), Conference "ROBOTICS and MECHATRONICS’2001", Drjanovo, Bulgaria, (10-12 October, 2001), Proceedings "Scientific reports", Section IV: Automation, ISSN 1310-3946, pp. 3.76 - 3.81, (2001).
    3. ZeitControl cardsystems GmbH, The compact and enhanced BasicCards, Users Guide, VCT Inc., (2000).
    4. Coppersmith D., H. Krawczyk and Y. Mansour, The Shrinking Generator, Advances in Cryptology-CRYPTO’93 Proceedings, Springer - Verlag, (1994).

Technical College - Bourgas,
All rights reserved, © March, 2000