SanteSuite Help Portal
  • SanteSuite Help Portal
    • Disclaimer
  • Product Overview
    • SanteSuite Products
      • Introducing SanteDB CDR
        • SanteDB Solutions
      • Master Patient Index - SanteMPI
      • Immunization Management System - SanteIMS
      • Privacy & Security - SanteGuard
    • SanteDB Versions
  • Architecture
    • SanteDB Architecture
      • SanteDB History
    • Solution Architecture
    • Software Architecture
      • Publish / Subscribe Architecture
      • New ADO (nuado)
      • Roadmap
    • Data & Information Architecture
      • Conceptual Information Model
        • Concept Dictionary
          • Data Dictionary
        • Acts
          • State Machine
          • Act Relationships
          • Mood Concepts
          • Class Concepts
          • Data Dictionary
        • Entities
          • State Machine
          • Entity Relationships
          • Determiner Codes
          • Class Codes
          • Data Dictionary
        • Null Reasons
        • Extended Data
      • Physical Model
        • Act Data Dictionary
        • Entity Data Dictionary
        • Concept Dictionary Data Dictionary
      • Data Storage Patterns
        • Master Data Storage
      • SanteDB Object Identifiers (OIDs)
    • Security Architecture
    • Privacy Architecture
    • Matching Engine
    • HIE & Interoperability
  • Installation
    • Installation
    • Releases
      • 3.0 Releases
      • Queenston Release
    • Quick Start Guide
      • Seeding ONC Patient Matching Data
    • Operationalizing SanteDB
      • Information Gathering & Analysis
      • Planning & Preparation Work
        • Pre-flight Checklist
        • Develop a Business Architecture
        • Develop an Information Architecture
          • Establishing Minimum Datasets
          • Identity Environment
        • Develop Operational Technology Architecture
        • Developing Privacy Impact Assessments
        • Develop Threat / Risk Assessments
      • Deployment
        • Pre-Flight Checklist
        • Installing Software
          • SanteDB iCDR Server
            • Installation on Virtual or Physical Environments
              • Installation on Microsoft Windows
              • Installation on Linux and Unix
            • Installation using Appliances
              • Using Docker Containers
                • Adding Sample Data
                • Feature Configuration
                • SanteDB within Instant OpenHIE
              • Using Virtual Appliances
            • Installation Qualification
              • Master Patient Index / Client Registry Qualification
                • MPI/CR Test Cases for HL7v2
                  • TEST: OHIE-CR-02-HL7v2
                  • TEST: OHIE-CR-03-HL7v2
                  • TEST: OHIE-CR-04-HL7v2
                  • TEST: OHIE-CR-05-HL7v2
                  • TEST: OHIE-CR-06-HL7v2
                  • TEST: OHIE-CR-07-HL7v2
                  • TEST: OHIE-CR-08-HL7v2
                  • TEST: OHIE-CR-09-HL7v2
                  • TEST: OHIE-CR-10-HL7v2
                  • TEST: OHIE-CR-11-HL7v2
                  • TEST: OHIE-CR-12-HL7v2
                  • TEST: OHIE-CR-13-HL7v2
                  • TEST: OHIE-CR-14-HL7v2
                  • TEST: OHIE-CR-15-HL7v2
                  • TEST: OHIE-CR-16-HL7v2
                  • TEST: OHIE-CR-17-HL7v2
                  • TEST: OHIE-CR-18-HL7v2
                  • TEST: OHIE-CR-01-HL7v2
                  • HL7v2 Test Cases Instructions
                • MPI/CR Test Cases for FHIR
                  • TEST: OHIE-CR-01-FHIR
                  • TEST: OHIE-CR-02-FHIR
                  • TEST: OHIE-CR-03-FHIR
                  • TEST: OHIE-CR-04-FHIR
                  • TEST: OHIE-CR-05-FHIR
                  • TEST: OHIE-CR-06-FHIR
                  • TEST: OHIE-CR-07-FHIR
                  • TEST: OHIE-CR-08-FHIR
                  • TEST: OHIE-CR-09-FHIR
                  • FHIR Test Cases Instructions
              • Security Administration Testing
                • Administrative Panel Validation
                  • User Management Tests
                    • TEST: SECURITY-UM-01
                    • TEST: SECURITY-UM-02
                    • TEST: SECURITY-UM-03
                    • TEST: SECURITY-UM-04
                    • TEST: SECURITY-UM-05
                    • TEST: SECURITY-UM-06
                    • TEST: SECURITY-UM-07
                    • TEST: SECURITY-UM-08
                    • TEST: SECURITY-UM-09
                    • TEST: SECURITY-UM-10
                    • TEST: SECURITY-UM-11
                    • TEST: SECURITY-UM-12
                    • TEST: SECURITY-UM-13
                    • TEST: SECURITY-UM-14
                    • TEST: SECURITY-UM-15
                    • TEST: SECURITY-UM-16
                    • TEST: SECURITY-UM-17
                    • TEST: SECURITY-UM-18
                    • TEST: SECURITY-UM-19
                    • TEST: SECURITY-UM-20
                    • TEST: SECURITY-UM-21
                    • TEST: SECURITY-UM-22
                    • TEST: SECURITY-UM-23
                    • TEST: SECURITY-UM-24
                    • TEST: SECURITY-UM-25
                    • TEST: SECURITY-UM-26
                    • TEST: SECURITY-UM-27
                    • TEST: SECURITY-UM-28
                    • TEST: SECURITY-UM-29
                    • TEST: SECURITY-UM-30
                    • TEST: SECURITY-UM-31
                    • TEST: SECURITY-UM-32
                    • TEST: SECURITY-UM-33
                    • TEST: SECURITY-UM-34
                    • TEST: SECURITY-UM-35
                    • TEST: SECURITY-UM-36
                    • TEST: SECURITY-UM-37
                  • Group/Role Management Tests
                    • TEST: SECURITY-GRM-01
                    • TEST: SECURITY-GRM-02
                    • TEST: SECURITY-GRM-03
                    • TEST: SECURITY-GRM-04
                    • TEST: SECURITY-GRM-05
                    • TEST: SECURITY-GRM-06
                    • TEST: SECURITY-GRM-07
                    • TEST: SECURITY-GRM-08
                    • TEST: SECURITY-GRM-09
                    • TEST: SECURITY-GRM-10
                    • TEST: SECURITY-GRM-11
                    • TEST: SECURITY-GRM-12
                    • TEST: SECURITY-GRM-13
                    • TEST: SECURITY-GRM-14
                    • TEST: SECURITY-GRM-15
                  • Security Policy Management Tests
                    • TEST: SECURITY-PM-01
                    • TEST: SECURITY-PM-02
                    • TEST: SECURITY-PM-03
                    • TEST: SECURITY-PM-04
                  • Device Management Tests
                    • TEST: SECURITY-DM-01
                    • TEST: SECURITY-DM-02
                    • TEST: SECURITY-DM-03
                    • TEST: SECURITY-DM-04
                    • TEST: SECURITY-DM-05
                    • TEST: SECURITY-DM-06
                    • TEST: SECURITY-DM-07
                    • TEST: SECURITY-DM-08
                    • TEST: SECURITY-DM-09
                  • Application Management Tests
                    • TEST: SECURITY-AM-01
                    • TEST: SECURITY-AM-02
                    • TEST: SECURITY-AM-03
                    • TEST: SECURITY-AM-04
                    • TEST: SECURITY-AM-05
                    • TEST: SECURITY-AM-06
                    • TEST: SECURITY-AM-07
                    • TEST: SECURITY-AM-08
          • SanteDB dCDR Instances
            • Installing Web Access Gateway
            • Installing Disconnected Gateway
            • Installing Disconnected Windows Application
            • Installing the dCDR SDK
            • User Interface App Settings
        • Configuring Privacy Controls
        • Post Deployment Tuning
        • Securing SanteDB Configuration
        • Securing SanteDB Databases
        • Securing SanteDB APIs
      • Rollout
    • Demonstration Environments
  • Operations
    • SanteDB Operations
    • Server Administration
      • Configuration Tool
        • Messaging Settings
          • HL7 Version 2 Service
          • FHIR R4 Service
          • GS1 BMS XML Service
          • Health Data Services Interface
          • Administrative Management Interface
        • Diagnostics Settings
        • Persistence Settings
          • Retention Policies
          • Resource Manager Settings
          • Database Connections
        • System Settings
        • Performance Settings
        • Security Settings
          • Data Privacy Filtering
          • Auditing Configuration
        • Operating System Settings
      • Server Configuration File
        • Service API Configuration
          • REST Service Configuration
        • Connection Strings
        • Application Service Context Configuration
        • Applet Configuration
        • Diagnostics Configuration
        • Data Quality Services
      • SanteDB iCDR Host Command
      • Backup Procedures
      • Log File Management
    • CDR Administration
      • SanteDB Administration Portal
        • Logging In
        • Managing Your Profile
        • System Administration
          • Jobs
          • Logs
          • Pub/Sub Manager
          • Server Status
          • Dispatcher Queue
          • Probes
        • Reference Data Administration
          • Place Administration
          • Facility Administration
          • Materials
          • Identity Domain Management
        • Concept Dictionary Administration
          • Concept Sets
          • Concepts
          • Code Systems
        • CDR Administration
          • Importing Data
          • Data Quality Rules
          • Extensions
          • Decision Support Library
            • View CDSS Library
            • Edit CDSS Library
          • Matching Configuration
            • Creating / Viewing Configurations
            • General Configuration
            • Blocking Configuration
            • Scoring Configuration
            • Classification Configuration
            • Testing Match Configuration
            • Match Configuration XML Definition
        • Data Warehouse
        • Reports Centre
        • Security Administration
          • Managing User Accounts
          • Managing Groups
          • Managing Policies
          • Managing Devices
          • Managing Applications
          • Reviewing Audits
      • SanteDB Administration Console
        • User Administration
        • Group / Role Administration
        • Policy Administration
        • Device Administration
        • Application Administration
    • Standard Operating Procedures
      • User Management SOPs
        • SOP: Onboarding Users
        • SOP: User Lockout
        • SOP: Deactivating Users
      • Role Management SOPs
        • SOP: Role Policy Assignment
        • SOP: Assigning Users to Roles
        • SOP: Creating New Roles
      • Device Management SOPs
        • SOP: Onboarding new HL7v2 Device
        • SOP: Onboarding new dCDR Device
      • Application Management SOPs
      • Standard Operating Procedure Template
  • User Guides & Training
    • SanteDB User Guides
    • Common User Interface Elements
    • SanteMPI
      • Getting Started with the MPI
      • SanteMPI Matches
      • SanteMPI Searching
      • SanteMPI Power Search
      • SanteMPI Patient Detail
        • Demographics Tab
          • Demographic Information Panel
          • Identifiers Panel
          • Related Persons Panel
          • Entity Relationships Panel
        • Master Data Management Tab
          • Records of Truth
        • Data Quality Tab
      • SanteMPI Dashboard
    • SanteEMR
      • EMR Administration
        • Care Pathways
        • Visit Types & Flows
        • Clinical Templates
    • SanteGuard
  • Developers
    • Extending & Customizing SanteDB
    • Getting Started
    • SanteDB XML Schemas
    • Applets
      • Applet Use and Lifecycle
      • Applet SDK Components
        • Applet Development Environment
        • SanteDB Brain Bug
        • Package Manager
        • BRE Debugger
      • Applet Structure
      • JavaScript API
      • Business Intelligence Assets
        • BI Asset Definitions
          • Data Sources
          • Parameters
          • Queries
          • Reference Data
          • Views
          • Data Marts
          • Reports
          • Indicators
        • BI Render Controls
      • Localization
      • Customization & Branding
      • Assets
        • HTML Assets
        • HTML Widgets
        • Virtual Assets
      • AngularJS
      • Clinical Decision-Support
        • CDSS Definitions
        • Legacy CDSS
      • Business Rules
      • Dataset Files
      • External Data Maps
      • Applet Solution Packages
      • JavaScript API Reference
      • Recipes
        • Adding Security Policy based on Occupation
        • Assigning a Home Facility
        • Codified Address
        • Generating ID on Registration
    • .NET Plugins
      • Plugin Libraries
      • Host Context & Lifecycle
      • Business Model Objects
      • Services & Configuration
        • Configuration
          • Configuration Panels
          • Custom Docker Feature Configuration
        • Passive Services
        • Daemon Services
        • Service Definitions
          • Ad-Hoc Cache Provider
          • Application Identity Provider
          • Audit Dispatch Service
          • Barcode Generator Provider
          • Business Rules Service
          • Care Plan Generation Service
          • CDSS Clinical Protocol Repository
          • Concept/Terminology Provider
          • Configuration Manager Service
          • Daemon Service
          • Data Archiving Service
          • Data Privacy Enforcement Provider
          • Data Signing Service
          • dCDR Subscription Definition Provider
          • dCDR Subscription Execution Provider
          • Device Identity Provider
          • Exec-Once Message Persistence
          • Freetext Search Provider
          • IDataPersistenceService{TData}
          • IDataPersistenceServiceEx{TModel}
          • IDataQualityConfigurationProviderService
          • Identity Domain Provider
          • IDispatcherQueueManagerService
          • IElevatableIdentityProviderService
          • IExtensionTypeRepository
          • IFastQueryDataPersistenceService{TEntity}
          • IFastQueryRepositoryService{TEntity}
          • IPersistableQueryRepositoryService{TEntity}
          • IPubSubManagerService
          • IRecordMergingService{T}
          • IRepositoryService
          • ISecurityRepositoryService
          • ISqlDataPersistenceService
          • IStoredQueryDataPersistenceService{TEntity}
          • ITagPersistenceService
          • ITemplateDefinitionRepositoryService
          • IThreadPoolService
          • IUnionQueryDataPersistenceService{TEntity}
          • IValidatingRepositoryService{TModel}
          • Job Management Service
          • Localization Provider
          • Mail Repository Provider
          • Name Alias Provider
          • Network Metadata Provider
          • Password Hashing Service
          • Password Validation Service
          • Policy Decision Provider (PDP)
          • Policy Enforcement Provider (PEP)
          • Policy Information Provider (PIP)
          • Primary Data Caching Provider
          • Query Result Scoring Provider
          • Record Matching Configuration Provider
          • Record Matching Provider
          • Record Merging Provider
          • Repository Service
          • Repository Service with Cancellation Support
          • Repository Service with Extended Functions
          • Repository Service with Notification Support
          • Resource Checkout/Locking Provider
          • Resource Patching Provider
          • Resource Pointer Service
          • Role Provider
          • Security Challenge Authentication Provider
          • Security Challenge Storage Provider
          • Session Authentication Provider
          • Session Storage Provider
          • Stateful Query Provider
          • Stock Management Provider
          • Symmetric Encryption Provider
          • TFA/MFA Secret Generator
          • User Identity Provider
          • User Notification Relay Provider
          • User Notification Template Filler
          • User Notification Template Repository
      • Plugin Metadata
      • Database Patching
      • Custom Match Algorithms
      • Unit Testing Framework
      • Digital Signing Requirements
      • .NET API Reference
    • Service APIs
      • OpenID Connect
        • Consent & Privacy
      • Business Intelligence Service (BIS)
      • Administration Management Interface (AMI)
      • Health Data Service Interface (HDSI)
        • HTTP Request Verbs
        • HDSI Query Syntax
          • Filter Functions
        • API Responses
        • Patching
        • MDM Extensions for HDSI
        • Synchronization API
        • Visual Resource Pointer API
      • HL7v2
        • Enabling HL7v2 Interfaces
        • HL7 Authentication
        • SanteDB HL7v2 Implementation
      • HL7 FHIR
        • Enabling FHIR Interfaces
        • SanteDB FHIR Implementation
          • FHIR Subscriptions
          • Related Persons
        • Extending FHIR Functionality
      • GS1 BMS XML
      • Examples
        • Connecting to the FHIR API
        • Obtaining A Session
    • SanteDB Software Publishers
  • Knowledgebase
    • Knowledgebase
      • SanteDB 2.1.161+ on PostgreSQL 10 returns "websearch_to_tsquery" error
      • Upgrading SanteDB iCDR with large databases
      • Upgrading Gateway to SanteDB Langley (v2.0.30+) from SanteDB Kelowna and earlier
      • When sending a National Scoped ID in PID-19 (SSN) you receive "AuthorityUuid" missing error
      • After Installing dCDR you receive an error on SecurityUser
      • When logging into the dCDR you are immediately logged back out
      • PostgreSQL connections fail with block message
      • Backing up HDSI server database
      • You receive an "out of disk space" error on the IMS server
      • Setting up the "sherlock" service
      • Diagnosing service port issues
      • You receive a certificate expired or certificate not found error on startup
      • After updating a database field the values are not reflected in the application layer
      • Diagnosing Submission Errors From Mobile Device
      • Migrating A SanteDB Server
      • Pruning and Cleaning the Database
      • Improving Download Speeds on Slow Connections
      • You receive a client already running error message
      • Resetting the configuration of the Windows & Linux Applications
      • After setting up the application data appears to be missing
      • Disconnected Client Window is Scaled Improperly
      • Fatal Error on Startup
      • Synchronization Issues on Mobile
      • Installation on Mono 4.x does not permit joining of realm
      • Creating A Public Backup
      • Installing the SanteDB Disconnected Server
    • Fixes & Patches
      • 20170721-01
      • 20170725-01
      • 20170803-01
      • 20170804-01
      • 20170913-01
      • 20171003-01
      • 20171011-01
      • 20171016-01
      • 20171023-01
      • 20171030-01
      • 20171108-01
      • 20171124-01
      • 20180126-01
      • 20180131-01
      • 20180211-01
      • 20181112-01
      • 20181113-01
      • 20190322-01
      • 20190522-01
      • 20190625-01
      • 20200105-01
  • OpenIZ
    • About OpenIZ
      • Upgrading from OpenIZ to SanteDB
    • FAQ
    • OpenIZ Demonstration Servers
Powered by GitBook
On this page
  • Version 2.2.3
  • Version 2.2.1
  • Version 2.2.0 (Official) / 2.1.180 (CTP)
  • Enhancements
  • Version 2.1.175 (CTP)
  • Version 2.1.170.1 (CTP)
  • Version 2.1.170 (CTP)
  • Features / Fixes:
  • Known Issues:
  • PostgreSQL FreeText Search
  • Matching Job Notes

Was this helpful?

  1. Installation
  2. Releases

Queenston Release

Previous3.0 ReleasesNextQuick Start Guide

Last updated 3 years ago

Was this helpful?

As part of improving documentation of the SanteDB release documentation, each code named release will have its development versions (odd number minor versions) on a single page with the official versions (even number minor versions).

Since this new method of documenting releases has only started with 2.1.170, this page is partial. One should consult the GitHub release schedules for more information.

Version 2.2.3

Release Assets:

  • Fixes bug with the deletion of pub-sub subscriptions from the user interface

  • Fixes un-delete operation on the pub-sub subscription manager

  • Adds persistent job state service

  • Adds default implementation of job state service (local XML file - work is being performed on the shared state service).

Version 2.2.1

Release Assets:

This release of SanteDB builds on the fixes in 2.2.0 and corrects adds the following enhancements:

  • Fixes bug with blocking on metaphone and dmetaphone on PostgreSQL (improper parameter exception)

  • Adds better descriptions to the SanteGuard view screens for user activity and audit trail.

  • Updates to the audit detail view which uses the registered resource viewer (in order to open more types of data)

  • Adds link to the detailed audit entry in the audit trail and activity tabs

  • Fixes issue with job scheduling (present in 2.2.0) setting the appropriate type of schedule in the xcron.xml file.

  • Adds ability to download match configuration source files in XML to port the configuration over to other systems.

Version 2.2.0 (Official) / 2.1.180 (CTP)

This is the second official stable release of the .NET Standard version of the SanteDB platform and related assets. The products which are included in the 2.2.0 release of SanteDB are:

  • SanteDB iCDR Server 2.2.0

  • SanteMPI iCDR Server 2.2.0

  • SanteDB dCDR Web Access Gateway 2.2.0

  • SanteDB dCDR Software Development Kit 2.2.0

This release includes all major upgrades and updates to the SanteDB platform from the 2.1.x Community Technology Preview release streams and is suitable for testing. There will be a normalization period for this release, however, since it is an official release of SanteDB iCDR it will receive an official maintenance branch and will have generally, more stable APIs.

Following the release of the 2.2.0 all future 2.1.x Community Technology Previews will be for the Regina release.

Enhancements

  • SanteDB/SanteMPI Core iCDR Enhancements

    • Enhancements to HL7 FHIR interface:

      • Support for FHIR operations ($operation)

      • Implementations of $match, $validate, $ihe-pix, $process-message operations

      • Support for FHIR messaging bundles and transaction bundles

      • Support for FHIR subscriptions and FHIR push notifications

      • Enhanced support for FHIR resources Patient, RelatedPerson, Organization, Practitioner

      • Implementation of IHE PMIR messaging

    • Enhancements to HL7 Version 2 Interface:

      • Enhanced support for HL7 Z-Segments in messages

      • Enhanced processing of HL7 datatypes and handling of errors

    • New MDM Layer

      • Refactored complete MDM layer to support establishment of ROT from determiner codes

      • Improved functions for MDM auto-linking and candidate resolution

      • Support for unlink and re-link operations

      • Implementation of MDM enhanced HDSI operations $mdm-link, $mdm-rematch, $mdm-ignore.

    • Enhancements to HDSI

      • Support for HDSI operations via $operation name

      • Support for HDSI deep-linked child records (cleaned up implementation to be pluggable)

      • Enhanced HTTP caching for If-None-Match

    • Enhancements to matching engine

      • Implementation of update/save configuration files over HTTP APIs

      • New blocking algorithms for similarity and similartiy_lev

      • Added new blocking logic to allow for specifying ignore keys on master or sources

      • Added diagnostics / debugging / tracing collectors

    • Enhancements to probes interfaces

      • New probes implemented for CPU, Memory, ADO.ET connection, thread pooling, etc.

    • Enhanced thread pools for REST APIs and core functions which can scale-up or scale-down threads (without polluting the .NET threadpool)

    • Updated documentation of core API classes and interfaces

    • Automatically seed/create and update/patch database schemas

    • Enhanced BIS functions for storing materialized

    • Enhanced IJob management, scheduling and control

    • New Configuration Tool which can be used for setting/modifying settings on the iCDR host in Windows or Linux

    • Added classification, strength, and role codes to entity, act relationships and participations.

    • Implementation of MSMQ queue provider

  • SanteDB Administrative Interface Enhancements

    • System Administration Screen Additions

      • System Probes manager screen

      • Dispatcher queue management screen

      • Pub/Sub management screen

    • Security Administration Enhancements

      • User, group, device, and application screens now modular (have extension points)

      • Re-envisioned audit viewing screen and audit center

    • MPI Management Screens

      • Enhanced entity relationship diagrams

      • Master Data Management screens for match/merge/unlink

      • SanteMPI matches panel

        • Detailed match overview screen

        • Resolve/Ignore functions on summary view

        • Reports for match details including full match export (< 10k rows)

      • SanteMPI Match Configuration

        • Edit/View match configuration metadata

        • Edit/View match blocking configuration

        • Edit/View match scoring with compete algorithm selection for each attribute

        • Edit/View match classification stage for classifying results

        • Test match configuration functions

      • New free-text and advanced (per-field) search

      • New power search function

  • SanteDB dCDR Web Access Gateway Enhancements

    • Self-restart of web access gateway after configuration

    • Ability to run in Docker, Linux or Windows service environments

  • SanteDB dCDR SDK Enhancements

    • Enhanced pakman.exe manager

      • Supports local package repository resolution for applet debugger

      • Supports publish to remote package repository / server

    • Enhanced applet debugger environment which can load references by name

    • New vocabulary import tool which can import FHIR>Dataset or CSV>Dataset (for reference terms only)

    • New patient importer which can import ONC or FEBRL datasets

Version 2.1.175 (CTP)

This is a minor release which correct small performance and caching issues. Included in this fix are:

  • Addresses over-threading of the rest and internal background job thread pool (adds option to use .NET thread pool for all services)

  • Addresses under-caching issues where client using If-None-Match would not receive a cached version but would hit the database.

  • Fixes issues with the new version of NPGSQL related to handing of DateTime and DateTimeOffset

  • Adds units of measure to the dCDR Web Access Gateway admin portal on probes

  • Fixes issue where scheduled tasks (starting before date of startup) are executed on start rather than waiting until the next execution window

  • Adds performance probes for:

    • .NET Thread Pool I/O and Worker Threads

    • ADO.NET Database Connections (active read/write, statements being executed)

  • Adds ability to change blocking instructions to operate on MASTER or SOURCE mode

    • Fixes issues with ignored records when blocking is performed in SOURCE mode

  • Adds new date_trunc filter expression for HDSI queries. This is more efficient than date_diff in that it allows date column indexes to be used.

  • Increases performance of levenshtein filter function on PostgreSQL by changing logic from : where levenshtein(column_name, ?) < value to where column_name % ? and levenshtein(column_name, ?) < value which allows PostgreSQL to use the GIN indexing to reduce the number of rows passed to levenshtein function.

Version 2.1.170.1 (CTP)

This version is a patch for the 2.1.170 release. It fixes the following issues found in 2.1.170:

  • Fixes logic for timer jobs based on calendar to reduce the "greedyness" of the jobs

  • Fixes display caching issue (was an issue with the BulkPurge function) so new data is properly rendered.

  • Fixes some threading issues with the .NET ThreadPool on background matching

Version 2.1.170 (CTP)

Features / Fixes:

  • Added ability to schedule IJob jobs within the administrative panel

  • Added job descriptions to the job screen

  • Added ability to more efficient background matching on the match job

  • Added default .NET thread pool as the default implementation of IThreadPoolService and changed the way that the probe data is displayed.

  • Added useLowerLayer attribute to the <blocking> instructions in match configuration. This allows for configurations to bypass master synthesization (see notes below)

  • Added configuration to the match screens in the administrative panel to allow for selection of absolute scoring or normalized scoring.

  • Added ability to customize the free-text algorithm used for translating search terms into tsquery results (see:

  • Fixed matching engine bug where the record's self was not excluded from result.

  • Fixed matching auto-merge bug (see above fix for cause)

Known Issues:

  • The entity relationship graph on the patient profile screen will show duplicate links

  • Caching of some entities shows erroneous data on the relationship graphs. Validation of the state at database reveals this is a caching issue.

  • Running the background matching task in Linux or Docker can result in CPU use at 100% as the ThreadPool and ConcurrentQueue<T> implementations in Mono framework appear to be implemented in a slightly, less efficient manner.

  • There is a display bug for entities which have been auto-merged using the $mdm.auto-link flag where the resulting source record will display multiple relationships (indicating they are active when they are not).

PostgreSQL FreeText Search

The new version of the SanteDB _any parameter handling uses the free-text engine. In PostgreSQL this method calls the function fti_tsquery function. This function is passed a single text parameter and is expected to return a tsquery structure.

By default, 2.1.170 uses the websearch_to_tsquery method. This search method was introduced in PostgreSQL 11 and converts a search string into a tsquery method. Implementers may wish to change this behavior if:

  • They are using PostgreSQL < 11

  • They wish to use other free-text search configurations (other than English)

  • They wish to support other lexeme or advanced functions.

Using Plain Free-Text Searches

Implementers can use plain free-text search parsing by altering the function fti_tsquery to use plainto_tsquery as:

CREATE OR REPLACE FUNCTION public.fti_tsquery(search_term_in text)
 RETURNS tsquery
 LANGUAGE plpgsql
 IMMUTABLE
AS $function$
BEGIN
	RETURN PLAINTO_TSQUERY('english', search_term_in);
END;
$function$
;

Using Full-Featured Searches / PostgreSQL 10

Implementers can allow users to access advanced features supported by the PostgreSQL freetext search engine. The method below illustrates taking a search term and splitting the term by spaces and appending each back to a query.

CREATE OR REPLACE FUNCTION public.fti_tsquery(search_term_in text)
 RETURNS tsquery
 LANGUAGE plpgsql
 IMMUTABLE
AS $function$
BEGIN
	RETURN TO_TSQUERY('english', ARRAY_TO_STRING(STRING_TO_ARRAY(SEARCH_TERM_IN, ' '), ' & '));
END;
$function$
;

The method above would convert John Smith Lincoln FR-403 to the TSQUERY expression: John & Smith & Lincoln & FR-403 . This simple implementation permits search by prefix/wildcard: Joh:* Sm:* converted to Joh:* & Sm:*.

Users can implement custom search term parsing/filtering based on their use case and context.

Matching Job Notes

The SanteDB matching job has been updated to modify the behavior of the job based on the configuration of the environment it is running in. The table below provides a summary of this change:

OS
CPU
Matching / Strategy

Windows

< 4 Cores

Multi-Threaded Load (PLINQ) Single Threaded Match

4+ Cores

Multi-Threaded Load (PLINQ) Multi-Threaded Match

Docker / Mono

< 4 Cores

Single-Threaded Load Single Threaded Match

4+ Cores

Single-Threaded Load Multi-Threaded Match

When running the background matching job in Docker , users may experience periods of time where the available threads in the thread pool are consumed by the worker tasks. This appears to be the Mono implementation of ConcurrentQueue and/or the method in which Mono allocates threads.

Users may experiment with the MONO_THREADS_PER_CPU environment variable to tune the performance of their deployment.

Release Assets:

Release Assets:

Release Assets:

Release Assets:

http://santesuite.org/assets/uploads/santedb/community/releases/2.2.3/
http://santesuite.org/assets/uploads/santedb/community/releases/2.2.1.10/
http://santesuite.org/assets/uploads/santedb/community/releases/2.2.0/
http://santesuite.org/assets/uploads/santedb/community/releases/2.1.175/
http://santesuite.org/assets/uploads/santedb/community/releases/2.1.170.1/
http://santesuite.org/assets/uploads/santedb/community/releases/2.1.170/