{'fraction_non_alphanumeric': 0.014803849000740192, 'fraction_numerical': 0.0, 'mean_word_length': 5.1454545454545455, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Using CQRS Pattern for Improving Performances in Medical Information Systems

During exploitation of a medical information system dedicated to primary care facilities, we realized that significant amount of often used, but rarely changed data is scattered in large number of data tables requiring many join operations when need to be retrieved. Additionally, in many cases, many data fields are retrieved by select queries and later neither displayed on user interface, nor used in any other way. This situation could be a cause for some performance issues as well as unnecessary increase of data traffic. For this reason we decided to improve our system by applying command-query responsibility segregation (CQRS) pattern with de-normalized read database in order to reduce time and data amount needed for some often executed queries. In read database design process we applied model driven approach and used our existing data modeling, mapping and code generating tools. Also, we developed a synchronization component responsible for migrating data from main to read database based on the existing data replicator. In this paper we present the results on applying this approach mainly on demographic, administrative and partly on medical data. In the near future we plan to extend this approach in our medical information system as much as possible.