Institutional information
The objective of the NIMS is to ensure that all narcotics handlers digitally report all information on handling medical narcotic drugs. However, in Korea, the narcotic usage per prescription for situations not covered by public health insurance, such as treatments for beauty, plastic surgery, and health promotion, and cases of psychiatric illnesses where patients do not wish to disclose details, has not been properly controlled. Therefore, it is necessary that the NIMS monitor all the cases of medical narcotics handling information regardless of whether or not they claim benefits from the national medical insurance system. Medical narcotic handlers should be obliged to report via the NIMS pursuant to the Narcotics Control Act. To this end, NIMS supports pharmaceutical companies, wholesalers, hospitals, clinics, and pharmacies, which are included in automatic reporting and interactions via software and computing systems, such as medical record (EMR), enterprise resource planning (ERP), and claims/prescriptions software. Kruse et al. (2020) reported that increased interaction, whether voluntary or mandatory, between systems leads to more successful use of HIT [5]
The report on narcotic usage includes the date, product name, quantity, etc., and while a serial number should be reported for drugs, a manufacturing number should also be reported for psychotropic drugs. Drug handling medical business operators and drug handling retailers shall report the patient's resident registration number, disease classification symbol, and doctor's license number. However, since the drug handling reporting system is for managing actual medical drugs, it does not report a narcotics handling case if only a prescription has been issued without the direct preparation and administration of the narcotics. Additionally, exceptions to correct serial or manufacturing numbers are allowed for treatments in emergency rooms.
To the best of our knowledge, the NIMS is the first system in the world to manage all information on the total life cycle of medical narcotics from import, production, distribution, use, and disposal of those drugs, as well as a unique product identification code, doctor's unique identification number (license number), and patient's unique identification code (resident registration number).
The Korea Institute of Drug Safety & Risk Management has been designated as the Center for Narcotics Information Management to operate the NIMS pursuant to Article 11 (2)Footnote 3 of the Narcotics Control Act and Article 8 of the Enforcement Decree of the Act. The Center for Narcotics Information Management offers services related to the establishment and implementation of plans for collecting, investigating, using, and providing information on narcotics in addition to training and promotion, research and investigation, establishment and operation of the system, and provision and utilization of information.
System requirements
Functional requirements
The functional requirements of the NIMS have been identified in accordance with the Narcotics Control Act. A narcotics handler or a person approved to handle narcotics shall report to the Minister of Food and Drug Safety on matters regarding the name, quantity, date of use, place of purchase, inventory, and serial numbers of narcotic drugs that are exported, imported, manufactured, sold, received by transfer, transferred, purchased, used, discarded, dispensed, administered, provided for administration, or used for academic research, and the name of each party that was included in all such transactions. In such cases, if a narcotics handler or a person approved to handle narcotics is the other party involved in the handling of narcotics, the extent of handling and permission or approval number or date should be reported together with the aforementioned report. A medical trader or retailer must enter the patient registration number, disease classification code, name of the business, and name and license number of the doctor issuing prescription. If a veterinarian uses narcotics to treat animals, the resident registration number of the owner or manager of the animals must be recorded.
The management process of medical narcotics based on the information above is shown in Fig. 1. Narcotics handlers should report information corresponding to the Report Items or Common Report Items given in each workflow step using the NIMS.
Non-functional requirements
In addition to the functional requirements, the non-functional requirements of the NIMS have been elicited by major narcotics handlers and their associations, including the Korean Medical Association, Korean Pharmaceutical Association, Korean Society of Health-system Pharmacists, Korean Veterinary Medical Association, Korea Pharmaceutical Distribution Association, Korea Pharmaceutical and Bio-Pharma Manufacturers Association, and Korean Research-based Pharmaceutical Industry Association. Their needs were identified via a series of meetings and interviews, and potential conflicts were coordinated, which minimized confusion at an early stage of the implementation of the system by specifying the requirements. For example, special attention has been paid to the different characteristics of medical specialists.
Privacy
The first non-functional requirement identified during the process was privacy. For example, the association of psychiatric practitioners had concerns that if the prescription history is reported, patients might evade medical consultations. To resolve the issue, we used the asymmetric encoding algorithm of the Rivest–Shamir–Adleman method to protect personal information and security measures such, as Secure Socket Layer, in the communication pathway.
Availability
The second non-functional requirement was availability. Industry representatives wanted some information to be entered into the system automatically, such as the basic information of patients. The autocomplete function fulfilled this request. Moreover, there was another request for a function that would allow checking stocks by items, transfer of the stock, or compensation of the stock. The function of reporting and stock transfer, storing, and releasing has been implemented as a response to the request.
Connectivity
As the NIMS is computationally connected to the software used by the narcotics handlers (EMR, ERP, claims, and prescription software), connectivity was identified as another non-functional requirement. The connecting system was designed for users who are not familiar with computer systems or elderly people to generate a report automatically via the software so as to increase the capacity for computational reporting.
During connected reporting, narcotics handlers can provide information via the software used by them without entering the NIMS web system. At an early stage of designing the connecting system, a difficulty arose with regard to the exact status of the software companies used by the narcotics handlers. Therefore, efforts have been made to identify the status via cooperation with relevant associations, such as physician associations, official documents, meetings, and information sessions.
Interoperability
Interoperability for connectivity was also considered. There was difficulty in persuading the companies because the languages and structures developed by each software varied, and a design for standardization was important. To that end, a consultative group was formed including general hospitals, clinics, and software companies. Based on their requirements, the layout of the connecting system was designed, and a connection development guide and sample source codes for connection in five major languages (Java, C#, Visual Basic, Delphi, and PowerBuilder) were provided. Then, the software companies were invited to information sessions and meetings, and they were divided into groups of pharmaceutical companies, wholesalers, general hospitals, hospitals or clinics, and pharmacies.
Data integrity
As the NIMS deals with narcotics handling information from more than 0.5 million cases a day from various narcotics handlers, data integrity and data quality management are of critical importance. If data integrity is not secured, there is a risk of data forgery and falsification, statistical errors, and the safety management of narcotics being jeopardized. The NIMS was not designed to be used to arbitrarily modify or delete all narcotics handling records reported on the NIMS. It was designed to trace the history, which is connected to the history of existing records in the form of chains, in the event that the reported information was modified. In accordance with the policy, all data is backed up daily or weekly. In addition, the database is only accessible through the access control system, and the entire history of instruction execution is recorded and backed up in a separate log. The process for data quality management is described in the System Verification section.
Other requirements include system improvement, such as facilitating administrative disposition, and non-functional requirements, such as training support.
As shown in Fig. 2, each step of the development process was tailored using the Agile Scrum methodology. Project leaders, such as project managers, developers, and database administrators who participated in the NIMS development project, attended and shared the review of the previous day's work as well as the work plan for that day. After the entire project schedule was established, it was segmented into sprints, and Scrum meetings took place every morning for 15 min. Shared information was visualized via Post-it and Redmine. This process was helpful in identifying issues among project participants early on and sharing the progress.
The development outputs were tailored based on the information engineering methodology, and during the analysis of the requirements, the requirement specifications and traceability matrices were prepared. This process facilitated securing traceability for the final functions.
System design
The functional specifications were prepared based on the requirements to design a layout and create a database entity-relationship diagram for each handler. Particularly, the database was normalized by each of the first services for handling narcotics and considering the various workflows of the narcotics handlers; the master-detail structure was designed to meet the performance requirements via denormalization. For example, prescriptions are saved in RND_Header, and a list of narcotic medications according to the prescriptions is saved in RND_Detail, as shown in Fig. 3. This structure was designed to be applied to all narcotics handling procedures in common, from production to disposal, regardless of the stages of prescription and preparation for drugs. It was designed so that the primary key is generated by the users in the user field and not by the system. This was intended to speed up the "create, read, update, and delete" operations in the database while connecting to various systems and allowing the users to modify and delete information on medical narcotics handling with their primary key. If users modify or delete data, the history is not deleted in the database, and the modification history can be traced by connecting the original record to the modified record in the form of a chain.
The NIMS provides connections via an HTTP-based representational state transfer application programming interface (RESTful API) and service-oriented architecture-based enterprise service bus (ESB). Moreover, a reporting file format can be chosen between extensible markup language and comma-separated values, as shown in Fig. 4, which is a data format required by global pharmaceutical companies. It was designed in such a way that if it fails to report owing to problems with the network or connecting software, it generates a report by uploading the reporting files.
System development
The electronic government framework was formed based on Java's Spring Framework, which should be prioritized when establishing websites for the government, public institutions, and public enterprises according to the guidance of the Ministry of the Interior and Safety in Korea. The NIMS was developed based on the Korean electronic government standard framework and activated in Java Development Kit 1.7. The NIMS website and its connecting system were designed as a three-tier structure where the Web Server uses Apache 2.2.15, the WebSphere Application Server uses Weblogic 12c. Oracle Exadata, an appliance device, and the database uses Oracle 12c.
The connecting system was developed in the RESTful API method and ESB. To deal with the initial simultaneous transactions, it was implemented in an asynchronous pattern, followed by a two-step method to confirm the completion after sending the reporting information. However, a synchronous model was provided after the system was stabilized. Currently, the synchronous method processes 80–120 transactions per second for which resources are used on average within 10–20%.
Infrastructure flexibility was secured via a virtualized server, and the network interval within the system was formed to be 1G, while the interval between the web application server and the database was formed to be 10G, where a large number of arithmetic operations are performed.
System verification
Upon the completion of the system development, a pilot test was performed from March to May 2018. During the test, a meeting was organized for the major users that led to improvements in user inconvenience, e.g., user interface and user experience.
Since the NIMS deals with narcotic reports of more than 0.5 million cases a day, data quality management is a critical issue. To that end, a database quality management (DQM) process has been formed to verify user input data during the test. As a result, data integrity issues are classified into the following categories: duplicate entry, formation error, logic error, and the subject of surveillance. For any system errors, the corresponding function was modified. Users are notified about simple user errors via email or mail. If the errors are assumed to be intentional or repetitive, they are classified as the subject of surveillance to be monitored, and appropriate information is sent the Ministry of Food and Drug Safety so that they can provide guidance and conduct supervision.
In a study by Jung Seung-Ho et al. [20] (recited from National Information Society Agency Report, Korea 2011), the average error rate of data that belonged to administrative and public institutions was 5.19%, which was found to be higher than that of private sectors. However, the DQM system managed to reduce the error rate from 5% at an early stage to 0.05% via the DQM system.
Data verification and Utilization of the system
Since the implementation of the NIMS in May 2018, narcotics handlers can check their inventory and details of use via the NIMS, therefore, replacing the narcotics handling management register. Additionally, abnormal narcotic usage is assessed via cross-analysis using the database itself and connection with the public information in seven government institutions. The analyzed information is provided to the Ministry of Food and Drug Safety and relevant administrative institutions so that they can conduct intensive screening inspections and monitoring. The enterprise architecture is shown in Fig. 5.