On this page:

1.0Table of Contents

 

This online document contains instructions for how to install Smile CDR, how to plan and execute a deployment that meets your specific needs, how to manage and maintain that deployment, and how to keep it healthy.

If this is your first time reading these documents, we highly recommend you start by reading the Basic Concepts page.


1.0.0 Welcome to Smile CDR
1.0.0 Table of Contents
1.1.0 Changelog (2020 Releases)
1.1.1 Smile CDR 2020.11.R01 (Numbat)
1.1.2 Smile CDR 2020.08.R03 (Manticore)
1.1.3 Smile CDR 2020.08.R02 (Manticore)
1.1.4 Smile CDR 2020.08.R01 (Manticore)
1.1.5 Smile CDR 2020.05.R02 (Labrador)
1.1.6 Smile CDR 2020.05.R01 (Labrador)
1.1.7 Smile CDR 2020.02.R01 (Koala)
1.2.0 Changelog (2019 Releases)
1.2.1 Smile CDR 2019.11.R01 (Jitterbug)
1.2.2 Smile CDR 2019.08.R01 (Igloo)
1.2.3 Smile CDR 2019.05.R01 (Hippo)
1.2.4 Smile CDR 2019.02.R01 (Gale)
1.3.0 Changelog (2018 Releases)
1.3.1 Smile CDR 2018.11.R01 (Food)
1.3.2 Smile CDR 2018.09.R01 (Economist)
1.3.3 Smile CDR 2018.05.R01 (Dromedário)
1.3.4 Smile CDR 2018.03.R01 (Crouton)
1.4.0 Changelog (2017 Releases)
1.4.1 Smile CDR 2017.11.R01 (Buccaneer)
1.4.2 Smile CDR 2017.09.R01 (Aardvark)
1.4.3 Smile CDR 2017.07.R01
2.0.0 Getting Started
2.0.0 Basic Concepts
2.0.1 Nodes and Modules
2.0.2 The Cluster Manager Module
2.0.3 Module Dependencies
2.1.0 Platform Requirements
2.1.1 Server Requirements
2.1.2 Java Requirements
2.1.3 Database Requirements
2.1.4 Network Infrastructure
3.0.0 Installation
3.0.0 Installing Smile CDR
3.0.1 Installing to Linux / OSX
3.0.2 Basic Configuration
3.0.3 Quick Start
3.0.4 The Initial Configuration
3.0.5 The Node Configuration Properties File
3.0.6 Module Property Source
3.0.7 Variable Substitution
3.0.8 Fetching Configuration Using Scripts
3.0.9 Configuring Your Database
3.0.10 Starting the CDR
3.0.11 API Gateways
3.1.0 Docker Container Installation
3.1.1 Quick Start
3.1.2 Basic Configuration
3.1.3 Customizing Smile CDR in Docker Container
3.1.4 Using System Environment for Variable Substitution
3.1.5 Configuring Databases for Smile CDR Installed in Container
3.2.0 Unix Service Installation
3.2.1 Testing the Service
3.2.2 Starting Automatically on Boot
3.3.0 Tuning your Installation
3.3.1 Memory Settings
3.4.0 Message Brokers
3.4.1 Subscription Channels
3.4.2 Subscription Channel Names
3.5.0 Message Broker Failure Management
3.6.0 Message Broker: ActiveMQ
3.6.1 Resource Limits
3.7.0 Message Broker: Kafka
3.7.1 Kafka Topic Names
3.8.0 Pre-Seeding Configuration and Data
3.8.1 Pre-Seeding Module Configuration
3.8.2 Pre-Seeding Users
3.8.3 Pre-Seeding OpenID Connect Servers
3.8.4 Pre-Seeding OpenID Connect Clients
3.8.5 Packages and FHIR Resources
3.9.0 Upgrading Smile CDR
3.10.0 Localization
3.10.1 Available Localization Strings
4.0.0 Tutorial and Tour
4.0.0 Preamble and Setup
4.0.1 Getting Up to Speed
4.0.2 Preparing Your Instance
4.0.3 Accessing the Web Admin Console
4.0.4 Enabling Anonymous Access to the FHIR Endpoint
4.0.5 Uploading Sample FHIR Resources
4.1.0 FHIR Basics
4.1.1 Resources
4.1.2 Datatypes
4.1.3 Parts of a Resource
4.1.4 Encodings (MIME Types, Wire Formats)
4.2.0 FHIR Search Queries
4.2.1 How Searching Works
4.2.2 Basic Searching: Finding Patients
4.2.3 References: Finding Encounters
4.2.4 Quantities: Finding Laboratory Values
4.2.5 Dates and Times: Narrowing Your Search Window
4.2.6 Paging Search Results
4.2.7 Sorting Search Results
4.2.8 Fulltext Searching
4.2.9 The Patient $everything Search (Across Patient Chart)
4.3.0 FHIR CRUD Operations
4.3.1 Testing Tools
4.3.2 FHIR Create
4.3.3 FHIR Update
4.3.4 FHIR Patch
4.3.5 FHIR Read / vRead
4.3.6 FHIR Delete
4.4.0 SMART on FHIR Apps
4.4.1 Accessing the Web Admin Console
4.4.2 Creating a Client Definition
4.4.3 Enabling SMART on FHIR Requests
4.4.4 Launch SMART on FHIR Growth Chart App
4.5.0 Processing HL7 v2.x Feeds
4.5.1 Transmitting to Smile CDR
4.5.2 ORU (Observation Result) Messages
4.5.3 ADT (Admission/Discharge/Transfer) Messages
5.0.0 FHIR Storage
5.0.0 Concepts in Smile CDR
5.0.1 The FHIR Storage Module
5.0.2 The FHIR REST Endpoint Module
5.0.3 Clustering
5.1.0 FHIR Storage (Relational) Module
5.1.1 Preparing for a New Installation
5.1.2 Creating the Module
5.1.3 Database Schema
5.1.4 Configuration
5.2.0 FHIR Storage (MongoDB) Module
5.2.1 Preparing for a New Installation
5.2.2 Creating the Module
5.2.3 MongoDB Document Schema
5.2.4 MongoDB Uplift Search Parameter Extensions
5.2.5 Uplifting Tokens
5.2.6 Uplifting Reference Chains
5.2.7 Configuration
5.3.0 FHIR Endpoint Module
5.3.1 Creating the Module
5.3.2 Capturing Source Information
5.3.3 Configuration
5.4.0 FHIRWeb Console
5.4.1 Architecture
5.4.2 Security
5.4.3 Creating the Module
5.4.4 Using the Console
5.4.5 Configuration
5.5.0 Lucene Indexing
5.5.1 Lucene Disk Provider
5.5.2 ElasticSearch Provider
5.6.0 Performance and Caching
5.6.1 The Query Cache
5.6.2 Search Counts
5.6.3 Improving Write Performance
5.7.0 Resource IDs
5.7.1 Server Assigned IDs
5.7.2 Client Assigned IDs
5.8.0 Search Parameters
5.8.1 Search Parameter Concepts
5.8.2 Default Search Parameters
5.8.3 Managing Search Parameters
5.8.4 Search Parameter Statistics
5.8.5 Filter Search Parameter
5.8.6 Manual Reindexing
5.8.7 Example
5.9.0 Search Parameter Features
5.9.1 Index Missing Search Parameters (:missing)
5.9.2 Index Text on Tokens (:text)
5.10.0 Phonetic Search Parameters
5.11.0 Custom Search Parameters
5.11.1 An Example Search Parameter
5.11.2 Enforcing Uniqueness
5.11.3 Unique Composite Search Parameters
5.11.4 Example Search Parameter Expressions
5.12.0 Partitioning and Multitenancy
5.12.1 Enabling Partitioning in Smile CDR
5.12.2 Request Partition Selection Mode
5.12.3 Request Partition Security
5.12.4 Tenant Identification Strategies
5.12.5 Seeding Partitions
5.12.6 Cross-Partition References
5.13.0 Searching for Data
5.13.1 FHIR Search Extensions
5.13.2 Unsupported Search Parameters
5.14.0 Creating Data
5.14.1 Auto Creating Reference Targets
5.15.0 Reading Data
5.15.1 Diff Operation
5.15.2 Diff Instance
5.15.3 Diff Type
5.16.0 Updating Data
5.16.1 Patching Data
5.16.2 Tag Retention
5.16.3 Concurrent Write Errors
5.17.0 Deleting Data
5.17.1 Deletes and Referential Integrity
5.17.2 Transactional Delete
5.17.3 Referential Integrity
5.17.4 Cascading Deletes
5.17.5 The $expunge Operation
5.18.0 Interceptors
5.18.1 Coding and Deploying Interceptors
5.18.2 Starter Project
5.18.3 Example: Attribute Enhancement
5.19.0 Binary Data
5.19.1 Externalized Binary Storage
5.19.2 Binary Access Operations
5.19.3 Serving Raw Media Resources
5.20.0 Request Tracing and Provenance
5.20.1 Request Tracing
5.20.2 Performance Tracing
5.20.3 Storing Source Information
5.21.0 Packages and Implementation Guides
5.21.1 Background: Implementation Guides
5.21.2 Background: Packages
5.21.3 Smile CDR Package Registry
5.21.4 Package Pre-Seed Installation
5.21.5 Creating Packages
5.22.0 Validation
5.22.1 Validating References
5.22.2 Remote Terminology Service
5.23.0 FHIR Versions
6.0.0 Terminology
6.0.0 Terminology Introduction
6.1.0 Uploading Codes
6.1.1 Uploading External CodeSystems
6.1.2 Uploading LOINC
6.1.3 Uploading SNOMED CT
6.1.4 Uploading Custom Vocabularies
6.1.5 Applying Deltas to External CodeSystems
6.1.6 Delta Add Operation: $apply-codesystem-delta-add
6.1.7 Delta Remove Operation: $apply-codesystem-delta-remove
6.1.8 Reference: CSV Vocabulary Input Files
6.2.0 Searching for Codes
7.0.0 Subscription
7.0.0 Introduction
7.0.1 The Subscription Resource
7.0.2 Subscription Activation
7.0.3 Criteria
7.0.4 Troubleshooting Subscriptions
7.1.0 Architecture
7.1.1 Enabling and Configuring Subscription Processing
7.2.0 Channel Types
7.2.1 Channel Type: rest-hook
7.2.2 Channel Type: email
7.2.3 Channel Type: websocket
7.2.4 Channel Type: message
7.3.0 Delivery Options
7.3.1 Payload Search Result Mode
7.3.2 Replication Mode
7.3.3 Strip Version IDs
7.3.4 Delivering Latest Version
7.3.5 Custom Delivery Class
7.3.6 Delivery to Site-defined External Queue
7.4.0 Manual Triggering
8.0.0 LiveBundle
8.0.0 LiveBundle Overview
8.0.1 Configuration
8.0.2 Usage
8.0.3 LiveBundle Architecture
8.0.4 LiveBundle Aggregation
8.0.5 LiveBundle Retrieval
8.0.6 LiveBundle Seeding
8.0.7 LiveBundle Troubleshooting
8.1.0 LiveBundle API
8.1.1 Add a Subscriber to a Watchlist
8.1.2 Remove Subscriber from a Watchlist
8.1.3 View list of Subscribers to a Watchlist
8.1.4 Request a bundle of Subscribers to a watchlist
8.1.5 Reseed all bundles for a rule
8.1.6 Request a LiveBundle
8.2.0 LiveBundle Rule Definition
8.2.1 Loading Rules
8.2.2 Example LiveBundle Javascript
8.2.3 LiveBundle Watchlist
8.2.4 LiveBundle Rule
8.2.5 LiveBundle Filter
8.2.6 Keeper Filters
8.2.7 LiveBundle Keeper
8.3.0 LiveBundle Keepers
8.3.1 LiveBundle Keeper Examples
8.3.2 LatestByPath
8.3.3 LatestByParamPath
8.3.4 LatestByParamPathByMonth
8.3.5 ToggleByPath
8.3.6 ToggleBySearch
8.3.7 WatchlistPopulator
8.3.8 Optional Keeper Parameters
9.0.0 Channel Import
9.0.0 Channel Import Overview
9.0.1 Enabling and Configuring Channel Import
10.0.0 Realtime Export
10.0.0 Realtime Export Overview
10.0.1 Operational Overview
10.0.2 Limitations
10.0.3 Troubleshooting
10.1.0 Realtime Export Rules Definition
10.1.1 Transformers
10.1.2 Named Transformers
10.1.3 Managing high-cardinality elements
10.2.0 Using FHIRPath
10.2.1 Collection Subsetting
10.2.2 Self-referral
10.2.3 Conditionals
10.3.0 Debezium
11.0.0 Security
11.0.0 Security in Smile CDR
11.0.1 Inbound Security Module
11.0.2 FHIR Listener Module
11.0.3 Admin Modules
11.0.4 Auth Directory
11.0.5 Audit Database
11.0.6 Outbound Security Modules
11.1.0 Authentication Protocols
11.1.1 HTTP Basic
11.1.2 OpenID Connect (OIDC) and SMART on FHIR
11.1.3 Security Access Markup Language (SAML)
11.2.0 Authorization and Consent
11.2.1 Authorization Service
11.2.2 Consent Service
11.3.0 Inbound Security Module
11.3.1 Permissions
11.3.2 Callback Script
11.4.0 Local Inbound Security Module
11.4.1 Configuration: Credentials
11.4.2 Caching
11.5.0 LDAP Inbound Security Module
11.5.1 Requirements
11.5.2 Permissions
11.5.3 Callback Scripts
11.5.4 Configuration
11.6.0 Scripted Inbound Security Module
11.6.1 Script Format
11.6.2 Script Examples
11.7.0 SAML Inbound Security Module
11.7.1 SAML 2.0 Authentication Request Protocol
11.7.2 Enabling SAML Authentication
11.7.3 Entity ID Template
11.7.4 Authentication Scripts
11.7.5 Function: authenticate(theRequest, theOutcomeFactory)
11.8.0 Trusted Client Mode
11.8.1 Configuring Trusted Client Mode
11.8.2 Making Trusted Client Requests
11.8.3 Automatically Creating Users
11.9.0 Roles and Permissions
11.9.1 System-Defined Roles
11.9.2 System-Defined Permissions
11.10.0 Callback Scripts
11.10.1 Method: onAuthenticateSuccess
11.11.0 SMART on FHIR: Introduction
11.11.1 The SMART Launch Sequence
11.11.2 The Interactive Launch Process
11.12.0 SMART: Scopes
11.12.1 Picking Scopes
11.12.2 Launch Context Scopes
11.12.3 The OpenID and Profile Scopes
11.13.0 SMART: Auth Flows
11.13.1 Launch Flow: Authorization Code
11.13.2 Launch Flow: Implicit Grant
11.13.3 Launch Flow: Resource Owner Password Credentials
11.13.4 Non-Interactive User Flow: Cross-Organization Data Access Profile
11.13.5 System Flow: Client Credentials
11.13.6 System Flow: Refresh
11.14.0 SMART: Endpoints
11.14.1 Server Metadata Endpoint
11.14.2 UserInfo Endpoint
11.15.0 SMART: Smile CDR Support
11.15.1 Supported Scopes
11.15.2 Online / Offline Access
11.16.0 SMART Outbound Security Module
11.16.1 Setting Up This Module
11.16.2 Configuring Clients
11.16.3 Client Secrets
11.16.4 SMART Callback Script
11.16.5 Client Credentials Grant
11.16.6 Cross-Organization Data Access Profile Grant
11.16.7 Skinning the Server
11.17.0 SMART: Federated OAuth2/OIDC Login
11.17.1 Federated Flow
11.17.2 Considerations
11.17.3 Setting Up Federated OAuth2/OIDC Login
11.17.4 Authorization Script
11.18.0 SMART: Application Approval/Consent
11.18.1 Auto-Approve / Auto-Grant Scopes
11.18.2 Approval Flow
11.18.3 Customizing Scope Names
11.18.4 Custom Security Scopes
11.18.5 Revoking Security Scopes
11.19.0 SMART Inbound Security Module
11.19.1 Architecture
11.19.2 Models for Using External OIDC Servers
11.19.3 Requirements
11.19.4 Setting Up This Module
11.19.5 Accepting Tokens
11.19.6 Accepting Internal Access Tokens
11.19.7 Accepting External Access Tokens
11.19.8 Creating a Server Definition
11.20.0 SMART: Session Management
11.20.1 Token Revocation Endpoint
11.20.2 User Logout Endpoint
11.21.0 SMART: Assigning Permissions
11.21.1 Scope Permission Model
11.21.2 User and Patient Resource Linkage
11.22.0 Anonymous Access
11.23.0 Consent Service
11.23.1 Enabling the Consent Service
11.23.2 Method: consentStartOperation
11.23.3 Method: consentCanSeeResource
11.23.4 Method: consentWillSeeResource
11.23.5 Method: completeOperationSuccess
11.23.6 Method: completeOperationFailure
11.23.7 Example: Tag-Based Consent Script
11.23.8 Example: Scope-Based Consent Script
11.24.0 Security Recipes
11.24.1 App: Local Users with HTTP Basic Authentication
11.24.2 Integrating SMART Apps With a 3rd-Party OIDC Server
11.25.0 Two Factor Authentication
11.25.1 User Activating TOTP
11.25.2 Enforcing Two Factor Authentication
11.26.0 Troubleshooting Security
12.0.0 FHIR Hybrid Providers
12.0.0 Hybrid Providers
12.0.1 Architecture
12.0.2 Resource Providers
12.0.3 The Spring Context Config Class
12.0.4 Building Your Hybrid Providers
12.0.5 Deploying Your Hybrid Providers
12.0.6 Accessing Security Attributes
12.0.7 Exceptions
12.0.8 Example Project
13.0.0 FHIR Gateway
13.0.0 FHIR Gateway
13.0.1 Gateway Architecture
13.0.2 Creating a FHIR Gateway Endpoint
13.0.3 Invoking Operations
13.0.4 Request/Response Translation
14.0.0 Master Data Management
14.0.0 EMPI
14.0.1 Getting Started with Smile CDR EMPI
14.0.2 Enabling and Configuring EMPI within Smile CDR
14.0.3 Troubleshooting
14.0.4 EMPI User Interface
14.0.5 EMPI Scenarios
14.1.0 EMPI Quickstart Guide
15.0.0 Clustering
15.0.0 Designing a Cluster
15.0.1 Node and Module Design
15.0.2 Process IDs
15.0.3 Adding and Removing Processes
15.0.4 Multi-Node Clusters
15.0.5 Sample Architecture
15.1.0 Migration To 2020.02
15.1.1 Migrating Existing Clusters
16.0.0 Logging
16.0.0 Overview
16.1.0 Audit Log
16.2.0 Transaction Log
16.2.1 Transaction Log Configuration
16.2.2 Event Types and SubTypes
16.3.0 System Logging
16.3.1 Changing Logging Settings
16.4.0 Troubleshooting Logs
16.4.1 HTTP Troubleshooting Log
16.4.2 Security Troubleshooting Log
16.4.3 Subscription Troubleshooting Log
16.4.4 LiveBundle Troubleshooting Log
16.4.5 EMPI Troubleshooting Log
16.4.6 Channel Import Troubleshooting Log
16.4.7 Realtime Export Troubleshooting Log
17.0.0 HL7 v2.x Support
17.0.0 Introduction
17.0.1 Inbound HL7 v2.x Support
17.0.2 Outbound HL7 v2.x Support
17.0.3 HL7 v2.x Versions
17.1.0 Inbound Messaging
17.1.1 Processing
17.1.2 Callback Scripts
17.1.3 Function: onPreConvertHl7V2ToFhir(theMessage, theConversionResult)
17.1.4 Function: onPostConvertHl7V2ToFhir(theMessage, theConversionResult)
17.1.5 Adding Processing Messages
17.2.0 Outbound Messaging
17.2.1 Enriching Message Conversion using Scripts
17.2.2 Function: onPostConvertFhirToHl7V2(theTriggerResource, theOutgoingMessage, theContext)
17.2.3 Using Persisted MessageHeader Resources
17.3.0 Transactions
17.3.1 ADT (Patient Administration) Domain
17.3.2 OMG (Orders) Domain
17.3.3 ORU (Results) Domain
17.3.4 RDE/RAS (Pharmacy) Domain
17.4.0 Structure Definitions
17.4.1 Structure: ADT_A01
17.4.2 Structure: ADT_A02
17.4.3 Structure: ADT_A03
17.4.4 Structure: ADT_A05
17.4.5 Structure: ADT_A06
17.4.6 Structure: ADT_A09
17.4.7 Structure: ADT_A12
17.4.8 Structure: ADT_A17
17.4.9 Structure: ADT_A21
17.4.10 Structure: ADT_A30
17.4.11 Structure: ADT_A38
17.4.12 Structure: ADT_A39
17.4.13 Structure: ADT_A44
17.4.14 Structure: ADT_A45
17.4.15 Structure: ADT_A54
17.4.16 Structure: ADT_A60
17.4.17 Structure: ADT_A61
17.4.18 Structure: OMG_O19
17.4.19 Structure: ORU_R01
17.4.20 Structure: RAS_O17
17.4.21 Structure: RDE_O11
17.5.0 Segment Definitions
17.5.1 Segment: MSH (Message Header)
17.5.2 Segment: PID (Patient)
17.5.3 Segment: PV1 (Visit/Encounter)
17.5.4 Segment: ROL (Role)
17.5.5 Segment: DG1 (Diagnosis)
17.5.6 Segment: PR1 (Procedure)
17.5.7 Segment: MRG (Merge Patient Information)
17.5.8 Segment: GT1 (Guarantor)
17.5.9 Segment: IN1 (Insurance)
17.5.10 Segment: IN2 (Insurance Additional Information)
17.5.11 Segment: ORC (Order Control)
17.5.12 Segment: OBR (Observation Request)
17.5.13 Segment: OBX (Observation)
17.5.14 Segment: NK1 (Next of Kin / Patient Contact)
17.5.15 Segment: NTE (Note)
17.5.16 Segment: RXA (Pharmacy Administration)
17.5.17 Segment: RXC (Pharmacy Component)
17.5.18 Segment: ZXC (Pharmacy Component)
17.5.19 Segment: RXE (Pharmacy Encoded Order)
17.5.20 Segment: RXR (Pharmacy Route)
17.5.21 Segment: IAM (Patient Adverse Reaction)
17.5.22 Segment: SPM (Specimen)
17.5.23 Segment: ZXT (Non-Standard)
17.5.24 A Note about Extra Components
17.6.0 Table Definitions
17.6.1 Table 0001: Administrative Sex
17.6.2 Table 0002: Marital Status
17.6.3 Table 0004: Patient Class
17.6.4 Table 0038: Order Status
17.6.5 Table 0052: Diagnosis Type
17.6.6 Table 0063: v2 Relationship
17.6.7 Table 0074: Dianostic Service Section ID
17.6.8 Table 0078: Observation Interpretation Codes
17.6.9 Table 0085: Observation Status
17.6.10 Table 0119: Order Control
17.6.11 Table 0125: Observation Value Type
17.6.12 Table 0127: Allergen Type
17.6.13 Table 0128: Allergen Severity
17.6.14 Table 0131: v2 Contact Role
17.6.15 Table 0136: Yes/No
17.6.16 Table 0166: RX Component Type
17.6.17 Table 0190: Address Type
17.6.18 Table 0200: Name Type Code
17.6.19 Table 0201: Telecom Use
17.6.20 Table 0202: Telecom Equipment Type
17.6.21 Table 0203: Identifier Type
17.6.22 Table 0271: Result Status
17.6.23 Table 0322: Completion Status
17.6.24 Table 0438: Allergy Clinical Status Code
17.7.0 Naming System Mapping
17.7.1 Default Mappings
17.7.2 Using NamingSystem for Mapping Identifiers
17.8.0 Processing Results Feeds
17.8.1 Unsolicited Observation Request (ORU^R01)
17.9.0 Protocol
17.9.1 Encoding Format
17.9.2 ER7 (Pipe-Delimited) Format
17.9.3 Minimal Lower Layer Protocol (MLLP) Transport
17.9.4 HL7 over HTTP
17.9.5 Character Encoding / Charsets
18.0.0 CDA Exchange Module
18.0.0 Introduction
18.1.0 JavaScript Templates
18.1.1 The simplest CDA template script
18.1.2 Adding header information to our CDA template script
18.1.3 Adding and populating a section in our CDA template script
18.1.4 Using the Fhir.search() API to dynamically populate sections
18.1.5 Specifying input parameters
18.1.6 More complicated input parameters
18.1.7 Putting it all together
18.2.0 Rest API Operations
18.2.1 Endpoints for configuring templates
18.2.2 Endpoints for applying templates
18.3.0 Available Document and Section Types
18.3.1 Valid Document Types
18.3.2 Valid Resources for the header
18.3.3 Valid Section Types and Sources
18.3.4 Allergy and Intolerances Section
18.3.5 Medications Section
18.3.6 Problem Section
18.3.7 Results Section
18.3.8 Social History Section
18.3.9 Vital Signs Section
18.3.10 Dialysis Prescription Section
18.3.11 Reason for Referral Section
18.4.0 Further Reading
19.0.0 Bulk Operations
19.0.0 ETL Import Module
19.0.1 Importing CSV Data
19.0.2 Ingesting Data
19.1.0 FHIR Bulk Export Operation
19.1.1 Enabling Bulk Export
19.1.2 Supported Requests
19.1.3 Requesting A Bulk Extract
19.1.4 Retrieving Data
20.0.0 Monitoring
20.0.0 Monitoring Basics
20.0.1 HTTP Endpoint Health Check
20.0.2 Runtime Health Checks
20.1.0 Elastic APM Basics
20.1.1 What is APM?
20.1.2 Setting Up an APM Server
20.1.3 Instrumenting Smile CDR and the JVM
20.1.4 Accessing the User Interface
20.1.5 Configuring Settings for the Agent
20.1.6 Securing the Agent
21.0.0 JSON Admin Endpoints
21.0.0 JSON Admin API
21.0.1 Security
21.0.2 Format
21.0.3 Allowing Anonymous Access
21.1.0 Audit Log Endpoint
21.1.1 Fetch Audit Log
21.1.2 Fetch Individual Event
21.2.0 Bulk Import Endpoint
21.2.1 Process ETL File
21.2.2 Smileutil: CSV Bulk Import File
21.3.0 CDA Exchange Endpoint
21.3.1 Create CDA Template
21.3.2 Update CDA Template
21.3.3 Update CDA Template script via text
21.3.4 View CDA Template(s)
21.3.5 Delete CDA template
21.3.6 Use / Apply CDA Template
21.3.7 Create CDA from Composition/Bundle
21.3.8 Example CDA Template
21.4.0 Metrics Endpoint
21.4.1 Fetch Local Metrics
21.4.2 Capture Thread Dump
21.5.0 Module Config Endpoint
21.5.1 Fetch Config: Module Property File
21.5.2 Fetch Config: All Modules
21.5.3 Fetch Config: Single Module
21.5.4 Create Module
21.5.5 Set Module Config
21.5.6 Start Module
21.5.7 Stop Module
21.5.8 Restart Module
21.5.9 Archive Module
21.6.0 OpenID Connect Clients Endpoint
21.6.1 Fetch All OpenID Connect Client Definitions
21.6.2 Fetch Individual Client by Client ID
21.6.3 Create Client
21.6.4 Update Client
21.7.0 OpenID Connect Servers Endpoint
21.7.1 Fetch All OpenID Connect Server Definitions
21.7.2 Find OpenID Connect Server Definition
21.7.3 Create OpenID Connect Server Definition
21.7.4 Update OpenID Connect Server Definition
21.8.0 Runtime Status Endpoint
21.8.1 Fetch Complete Node Status Information
21.8.2 Fetch All Runtime Health Checks
21.9.0 Transaction Log Endpoint
21.9.1 Fetch Transaction Log
21.9.2 Fetch Individual Event
21.10.0 User Management Endpoint
21.10.1 Search for Users (All Modules)
21.10.2 Search for Users (Specific Module)
21.10.3 Create User
21.10.4 Update User
21.10.5 Update Password
21.10.6 Update Own Password
21.10.7 Update Own Default Launch Contexts
21.10.8 2FA: Create New Key
21.10.9 2FA: Generate QR Code
21.10.10 2FA: Confirm Key
21.10.11 2FA: Delete Key
21.10.12 Invalidate All Sessions
22.0.0 Product Configuration
22.0.0 HTTP Server Setup
22.0.1 Respecting Forward Headers
22.0.2 Specifying a Custom Context Path
22.0.3 Access Logs
22.0.4 Frame Options
22.1.0 TLS and HTTPS Reference
22.1.1 Background
22.1.2 Creating a Self-Signed KeyStore
22.1.3 Importing a LetsEncrypt Certificate into a KeyStore
22.1.4 Selecting Ciphers and Protocol
22.1.5 Enabling TLS Mutual Authentication (Client Auth)
23.0.0 Java Execution Environment
23.0.0 Security Attributes
24.0.0 JavaScript Execution Environment
24.0.0 Introduction
24.1.0 Converter API
24.1.1 Method: hl7v2TsToFhirDate(dt);
24.1.2 Method: hl7v2TsToFhirDateTime(ts);
24.1.3 Method: hl7v2TsToFhirDateTime(ts, impliedTimeZone);
24.1.4 Method: urlDecode(string);
24.1.5 Method: urlEncode(string);
24.2.0 Environment API
24.3.0 Exceptions API
24.3.1 Method: Exceptions.newTrustedException(theMessage)
24.3.2 Method: Exceptions.newTrustedException(theStatusCode, theMessage)
24.4.0 FHIR REST API
24.4.1 Method: create(resource)
24.4.2 Method: read(url)
24.4.3 Method: search().forResource(resourceType)
24.4.4 Method: transaction(IBundleBuilder theTransaction)
24.4.5 Method: translate()
24.4.6 Method: update(resource)
24.4.7 Authentication
24.5.0 FHIR Model API
24.5.1 Method: ResourceBuilder.build(resourceType)
24.5.2 Working with Resources
24.5.3 Working with Composition resources
24.5.4 Working with Bundle resources
24.5.5 Contained Resources
24.5.6 Meta Elements
24.5.7 Removing Data
24.6.0 HL7 v2.x Mapping API
24.6.1 Repetitions
24.6.2 Structure Interrogation
24.6.3 Content Clearing
24.6.4 Content Interrogation
24.6.5 Parsing Raw Field Values
24.6.6 Encoding
24.6.7 The Hl7V2 Object
24.6.8 Working with Variable Datatypes
24.6.9 Working with Z-Segments
24.7.0 HTTP API
24.7.1 Request Creation Methods
24.7.2 Request Execution Methods
24.7.3 Response Processing Methods
24.7.4 TLS / HTTPS
24.8.0 LDAP API
24.8.1 Method: searchByUsername(username)
24.8.2 Method: getStringAttributes(attributeName)
24.8.3 Method: isMemberOfGroup(groupDn)
24.9.0 Log API
24.9.1 Methods: debug(string), info(string), warn(string), error(string)
24.10.0 Composition Resource API
24.10.1 Method: set*(value)
24.10.2 Method: setDate(epoch)
24.10.3 Method: setType(documentType)
24.10.4 Method: addSection(sectionType)
24.11.0 Composition Section API
24.11.1 Method: populate(List resources)
24.11.2 Method: setTitle(title)
24.11.3 Method: setCode(system, code, display)
24.12.0 TransactionBuilder API
24.12.1 Method: newTransactionBuilder()
24.12.2 Method: create(resource)
24.12.3 Method Chain: createConditional(resource).onToken(parameter, system, value)
24.12.4 Method Chain: updateConditional(resource).onToken(parameter, system, value)
24.12.5 Methods: toXml(), toXml(prettyPrint), toJson(), toJson(prettyPrint)
24.12.6 Fhir.transaction(transaction)
24.13.0 Util API
24.13.1 Method: sleep(millis)
24.14.0 UUID API
24.14.1 Method: newPlaceholderId()
24.15.0 XML API
24.15.1 XPath Expressions
24.15.2 Function: getXPathValue(xpath)
24.15.3 Function: getXPathValues(xpath)
24.15.4 Function: getXPathElements(xpath)
24.16.0 Callback Models
24.16.1 AssociatedResource
24.16.2 AuthenticationContext
24.16.3 AuthenticationFailure
24.16.4 AuthenticationRequest
24.16.5 GrantedAuthority
24.16.6 Hl7V2GeneratedMessageContext
24.16.7 Hl7V2ReceivedMessageConversionResult
24.16.8 Hl7V2ReceivedMessage
24.16.9 LaunchContext
24.16.10 LaunchResourceId
24.16.11 OAuth2AuthorizationRequestDetails
24.16.12 OAuth2Client
24.16.13 OAuth2ClientSecret
24.16.14 OAuth2Clients
24.16.15 OAuth2Server
24.16.16 OAuth2Servers
24.16.17 Oauth2InvalidateTokensResponseJson
24.16.18 PackageInstallationSpec
24.16.19 PartitionDefinition
24.16.20 PartitionDefinitions
24.16.21 RequestDetailsJson
24.16.22 ScriptAuthenticationOutcomeFactory
24.16.23 ScriptConsentContextServices
24.16.24 SecurityInLdapAuthenticationContext
24.16.25 SecurityInSmartAuthenticationContext
24.16.26 SmartCodapAuthorizationRequest
24.16.27 SmartOnPostAuthorizeDetails
24.16.28 UserDetailsChangeLaunchContextJson
24.16.29 UserDetails
24.16.30 UserDetailsList
24.16.31 UserSessionDetails
25.0.0 Database Administration
25.0.0 Database Design
25.0.1 Cluster Manager Database
25.0.2 FHIR Relational Storage
25.0.3 FHIR MongoDB (Non-Relational) Storage
25.1.0 Setting Up PostgreSQL
25.1.1 Supported Versions
25.1.2 Creating a Database for Smile CDR
25.1.3 Database Connection Properties
25.1.4 Setting up a Cluster Manager Database
25.1.5 Setting up a FHIR Storage (Relational) Database
25.2.0 Troubleshooting PostgreSQL
25.2.1 Host Name Verification Error
25.3.0 Setting Up MySQL
25.3.1 Supported Versions
25.3.2 Creating a Database for Smile CDR
25.3.3 Database Connection Properties
25.3.4 Setting up a Cluster Manager Database
25.3.5 Setting up a FHIR Storage (Relational) Database
25.4.0 Setting Up MariaDB
25.4.1 Supported Versions
25.4.2 Creating a Database for Smile CDR
25.4.3 Database Connection Properties
25.4.4 Setting up a Cluster Manager Database
25.4.5 Setting up a FHIR Storage (Relational) Database
25.5.0 Setting Up Oracle
25.5.1 Supported Versions
25.5.2 Setting up a Cluster Manager Database
25.5.3 Setting up a FHIR Storage (Relational) Database
25.6.0 Setting Up SQL Server (MSSQL)
25.6.1 Supported Versions
25.6.2 Creating a Database for Smile CDR
25.6.3 Database Connection Properties
25.6.4 Setting up a Cluster Manager Database
25.6.5 Setting up a FHIR Storage (Relational) Database
26.0.0 Smile CDR CLI (smileutil)
26.0.0 Introduction
26.0.1 Enabling Debug Logging
26.1.0 Execute Script Function
26.1.1 Usage
26.1.2 Options
26.1.3 A Complete Example: Authenticate
26.1.4 Available Functions
26.1.5 Function: authenticate
26.2.0 Create FHIR Package
26.2.1 Usage
26.2.2 Options
26.3.0 Export ConceptMap to CSV
26.3.1 Usage
26.3.2 Options
26.4.0 HL7 v2.x Analyze Flat File
26.4.1 Usage
26.4.2 Options
26.5.0 HL7 v2.x Transmit Flat File
26.5.1 Usage
26.5.2 Options
26.5.3 Multiplex Paths
26.6.0 Import CSV to ConceptMap
26.6.1 Usage
26.6.2 Options
26.7.0 Migrate Database
26.7.1 Options
26.7.2 Examples
26.7.3 Disabling Flyway
26.7.4 Troubleshooting
26.8.0 Synchronize FHIR Servers
26.8.1 Usage
26.8.2 Options
26.8.3 Selecting Resource Types to Synchronize
26.8.4 Using a Search as the Source
26.8.5 Using a Directory as the Source
26.8.6 Using Inline Match URLs
26.8.7 Prefixing Numeric IDs
26.8.8 Synchronization Modes
26.8.9 Uploading Synthea (Synthetic Generated) Resources
26.8.10 Setting up a Resource Gold Master
26.9.0 Upload Bundle Files
26.9.1 Usage
26.9.2 Options
26.10.0 Upload CSV Bulk Import File
26.10.1 Usage
26.10.2 Options
26.10.3 Sending Batches for a Single File
26.11.0 Upload Sample Dataset
26.11.1 Usage
26.11.2 Options
26.12.0 Upload Terminology
26.12.1 Usage
26.12.2 Options
26.12.3 Example: Add Delta to Custom Terminology
26.13.0 Validate FHIR Resources
26.13.1 Usage
26.13.2 Options
26.13.3 Profile Mode
26.13.4 Schema and Schematron Mode
27.0.0 Modules
27.0.0 CDA Exchange
27.0.1 Configuration Categories
27.1.0 Channel Import
27.1.1 Configuration Categories
27.2.0 Cluster Manager
27.2.1 Configuration Categories
27.3.0 EMPI
27.3.1 Configuration Categories
27.4.0 ETL Importer
27.4.1 Configuration Categories
27.5.0 FHIR REST Endpoint (DSTU2)
27.5.1 Configuration Categories
27.6.0 FHIR REST Endpoint (R3)
27.6.1 Configuration Categories
27.7.0 FHIR Storage (DSTU2 Relational)
27.7.1 Configuration Categories
27.8.0 FHIR Storage (R3 Relational)
27.8.1 Configuration Categories
27.9.0 Subscription Matcher (R3)
27.9.1 Configuration Categories
27.10.0 Subscription Matcher (R4)
27.10.1 Configuration Categories
27.11.0 FHIRWeb Console
27.11.1 Configuration Categories
27.12.0 HL7 v2.x Listening Endpoint
27.12.1 Configuration Categories
27.13.0 HL7 v2.x Sending Endpoint
27.13.1 Configuration Categories
27.14.0 JSON Admin API
27.14.1 Configuration Categories
27.15.0 LDAP Inbound Security
27.15.1 Configuration Categories
27.16.0 Local Inbound Security
27.16.1 Configuration Categories
27.17.0 Scripted Inbound Security
27.17.1 Configuration Categories
27.18.0 SMART App Host
27.18.1 Configuration Categories
27.19.0 SMART Inbound Security
27.19.1 Configuration Categories
27.20.0 Realtime Export
27.20.1 Configuration Categories
27.21.0 SMART Outbound Security
27.21.1 Configuration Categories
27.22.0 Web Admin Console
27.22.1 Configuration Categories
28.0.0 Configuration Categories
28.0.0 Web Admin Console Settings
28.0.1 Property: Transaction Log - Event Body Display Mode
28.1.0 Authentication Callback Scripts
28.1.1 Property: Authentication Callback Script (Text)
28.1.2 Property: Authentication Callback Script (File)
28.2.0 Auth: General for APIs
28.2.1 Property: Allow Anonymous Access
28.2.2 Property: Anonymous Account Username
28.3.0 User Authentication
28.3.1 Property: Allow Anonymous Access
28.3.2 Property: Anonymous Account Username
28.3.3 Property: SAML Authentication Enabled
28.4.0 Auth: HTTP Basic
28.4.1 Property: HTTP Basic Security
28.4.2 Property: HTTP Basic Realm
28.5.0 Auth: OpenID Connect
28.5.1 Property: OpenID Connect Security
28.6.0 Browser Syntax Highlighting
28.6.1 Property: Browser Syntax Highlighting Enabled
28.6.2 Property: Show Request Headers
28.6.3 Property: Show Response Headers
28.7.0 Capability Statement (metadata)
28.7.1 Property: Include Resource Counts
28.7.2 Property: Cache Resource Counts (Mins)
28.8.0 Channel Import
28.8.1 Property: Channel Name
28.8.2 Property: Concurrent Consumers
28.9.0 Channel Retry
28.9.1 Property: Retry Channel Name
28.9.2 Property: Retry Delay(ms)
28.9.3 Property: Failure Channel Name
28.9.4 Property: Maximum Delay(ms) between attempts.
28.9.5 Property: Retry Strategy
28.9.6 Property: Maximum amount of retry attempts.
28.9.7 Property: Retriable Exceptions
28.10.0 Cluster Manager Subscription Messaging
28.11.0 Cluster Manager Maintenance
28.11.1 Property: Heartbeat Persist Frequency MS
28.11.2 Property: Stats Persist Frequency MS
28.11.3 Property: Stats Cleanup Frequency MS
28.11.4 Property: Scheduler Thread Count
28.11.5 Property: Audit Log Database Enabled
28.11.6 Property: Audit Log Broker Enabled
28.11.7 Property: Transaction Log Retention (Days)
28.11.8 Property: Stats Retention (Days) - Minute Level
28.11.9 Property: Stats Retention (Days) - Hour Level
28.11.10 Property: Stats Retention (Days) - Day Level
28.12.0 Cluster Manager Message Broker
28.12.1 Property: Message Broker Type
28.12.2 Property: Message Broker Username
28.12.3 Property: Message Broker Password
28.12.4 Property: Message Broker Address
28.12.5 Property: Channel Naming Prefix
28.13.0 Cluster Manager Kafka
28.13.1 Property: Kafka Bootstrap Address
28.13.2 Property: Kafka Subscription Matcher Consumer Group Id
28.13.3 Property: Validate Kafka Topics Exist Before Use
28.13.4 Property: Kafka Consumer Auto Commit Enabled
28.13.5 Property: Kafka Consumer Ack Mode
28.13.6 Property: Kafka Broker SSL Enabled
28.13.7 Property: Kafka SSL TrustStore File Location
28.13.8 Property: Kafka SSL Truststore Password
28.13.9 Property: Kafka SSL Keystore Location
28.13.10 Property: Kafka Keystore Password
28.13.11 Property: Kafka SSL Key Password
28.13.12 Property: Kafka Security Protocol
28.13.13 Property: Kafka SASL Mechanism
28.13.14 Property: Kafka SASL JAAS Config
28.13.15 Property: Kafka Producer Config Properties (Text)
28.13.16 Property: Kafka Producer Config Properties (File)
28.13.17 Property: Kafka Consumer Config Properties (Text)
28.13.18 Property: Kafka Consumer Config Properties (File)
28.14.0 Credentials
28.14.1 Property: Password Encoding Scheme
28.14.2 Property: Cache Successful Credentials
28.14.3 Property: Case-Sensitive Usernames
28.14.4 Property: Case-Sensitive Passwords
28.14.5 Property: Create Unknown Users
28.14.6 Property: Minimum Password Requirements
28.14.7 Property: Password Mismatch Error
28.15.0 Cross-Origin Resource Sharing (CORS)
28.15.1 Property: CORS Enabled
28.15.2 Property: CORS Origins
28.16.0 Database
28.16.1 Property: Database Type
28.16.2 Property: Database Connection URL
28.16.3 Property: Database Username
28.16.4 Property: Database Password
28.16.5 Property: Database Update Mode
28.16.6 Property: Min Idle Connections
28.16.7 Property: Max Idle Connections
28.16.8 Property: Max Total Connections
28.16.9 Property: Connection Max Lifetime (millis)
28.16.10 Property: Max Wait (Seconds)
28.16.11 Property: Default Query Timeout (Seconds)
28.16.12 Property: Pool Prepared Statements
28.16.13 Property: SQL Parameter Bind Mode
28.17.0 EMPI
28.17.1 Property: EMPI Consumer Thread Count
28.17.2 Property: EMPI Rule Definition Script (Text)
28.17.3 Property: EMPI Rule Definition Script (File)
28.17.4 Property: Prevent modification of External EIDs
28.17.5 Property: Prevent multiple EIDs from existing simultaneously on a Patient/Practitioner
28.18.0 ETL Import: CSV Properties
28.18.1 Property: CSV File Delimiter
28.18.2 Property: Parse Quotes
28.19.0 ETL Import: Source
28.19.1 Property: Import Source
28.19.2 Property: Mapping Script
28.19.3 Property: Worker Thread Count
28.19.4 Property: Worker Row Hashing Function
28.20.0 FHIR Binary Storage
28.20.1 Property: Binary Access Operations Enabled
28.20.2 Property: Binary Storage Mode
28.20.3 Property: Minimum Size (bytes)
28.20.4 Property: Maximum Size (bytes)
28.20.5 Property: Filesystem Mode: Base Directory
28.21.0 FHIR Bulk Operations
28.21.1 Property: FHIR Bulk Export Enabled
28.22.0 FHIR Configuration
28.22.1 Property: Allow Multiple Delete Enabled
28.22.2 Property: Cascading Deletes Enabled
28.22.3 Property: Allow Inline Match URL References Enabled
28.22.4 Property: Allow External References Enabled
28.22.5 Property: Enforce Referential Integrity on Write
28.22.6 Property: Enforce Referential Integrity on Delete
28.22.7 Property: Disable Deletion Ref Checks for Paths
28.22.8 Property: Auto-Create Placeholder Reference Targets
28.22.9 Property: Mark Resources for Reindexing after SearchParameter change
28.22.10 Property: Server ID Mode
28.22.11 Property: Client ID Mode
28.22.12 Property: Enforce Reference Target Types
28.22.13 Property: Expunge Operation Enabled
28.22.14 Property: Delete Expunge Enabled
28.22.15 Property: Allow storing all bundle types
28.22.16 Property: Store Meta.source information
28.22.17 Property: Delete Child Resource Count
28.22.18 Property: Seed Base Validation Resources
28.23.0 FHIR Consent Service
28.23.1 Property: Consent Service Enabled
28.23.2 Property: Consent Service Script (Text)
28.23.3 Property: Consent Service Script (File)
28.24.0 FHIR LiveBundle Service
28.24.1 Property: LiveBundle Enabled
28.24.2 Property: LiveBundle Watchlist Cache Enabled
28.24.3 Property: LiveBundle Thread Count
28.24.4 Property: LiveBundle Rule Definition Script (Text)
28.24.5 Property: LiveBundle Rule Definition Script (File)
28.25.0 FHIR EMPI Server
28.25.1 Property: EMPI Mode Enabled (Experimental)
28.26.0 FHIR Endpoint Conversion
28.26.1 Property: Versioned API Mode
28.27.0 FHIR Endpoint Security
28.27.1 Property: Automatically Narrow Search Scope
28.28.0 Interceptors
28.28.1 Property: Interceptor Bean Types
28.28.2 Property: Can Replace Authorization Interceptor
28.29.0 FHIR Endpoint Partitioning and Multitenancy
28.29.1 Property: Tenant Identification Strategy
28.30.0 FHIR Gateway Target
28.30.1 Property: FHIR Version
28.30.2 Property: Target Base URL
28.30.3 Property: Basic Auth Enabled
28.30.4 Property: Basic Auth Credentials
28.30.5 Property: Passthrough Headers
28.30.6 Property: Target Client: Connect Timeout (secs)
28.30.7 Property: Target Client: Socket Timeout (secs)
28.30.8 Property: Target Client: TLS TrustStore File
28.30.9 Property: Target Client: TLS TrustStore Password
28.31.0 FHIR Gateway Cache
28.32.0 FHIR Storage Partitioning and Multitenancy
28.32.1 Property: Partitioning Enabled
28.32.2 Property: Partition Selection Mode
28.32.3 Property: Partition Seed File
28.32.4 Property: Cross-Partition Reference Mode
28.33.0 Package Registry
28.33.1 Property: Package Pre-Seed Installation Spec Files
28.34.0 FHIR Performance
28.34.1 Property: Reuse Cached Results Timeout (Millis)
28.34.2 Property: Expire Search Results After Minutes
28.34.3 Property: Index Missing Search Params
28.34.4 Property: Default Total Calculation Mode
28.34.5 Property: Suppress Scheduled Maintenance Jobs
28.34.6 Property: Reindex Thread Count
28.34.7 Property: Expunge Batch Size
28.34.8 Property: Expunge Thread Count
28.34.9 Property: Delete Enabled
28.34.10 Property: Maximum Transaction Bundle Size
28.35.0 FHIR Performance Tracing
28.35.1 Property: Performance Tracing Enabled
28.35.2 Property: Output to Transaction Log
28.35.3 Property: Output to System Log
28.35.4 Property: Output to Response Headers
28.35.5 Property: Capture Raw SQL
28.35.6 Property: Trigger
28.36.0 FHIR Realtime Export
28.36.1 Property: Pointcut-based Realtime Export Mode Enabled
28.37.0 FHIR Resource Types
28.37.1 Property: Resource Types (whitelist)
28.38.0 FHIR REST Endpoint
28.38.1 Property: Fixed Value for Endpoint Base URL
28.38.2 Property: Pretty-Print by Default
28.38.3 Property: Default Encoding
28.38.4 Property: Default Prefer Return
28.38.5 Property: Serve Raw Media Resources
28.38.6 Property: Process Header: Request Source
28.39.0 FHIR Search
28.39.1 Property: Use New Search SQL Builder (2020)
28.39.2 Property: Fetch Size (Default Maximum)
28.39.3 Property: Page Size (Default)
28.39.4 Property: Page Size (Maximum)
28.39.5 Property: Allow :contains Searches
28.39.6 Property: GraphQL Enabled
28.39.7 Property: Filter Search Parameter Enabled
28.39.8 Property: Search Cache Storage
28.39.9 Property: Infinispan Servers
28.39.10 Property: Infinispan Cache Name
28.39.11 Property: Infinispan Hot Rod Protocol Version
28.39.12 Property: Use ordinal date values for day precision searches.
28.39.13 Property: Suppress String Indexing In Tokens
28.39.14 Property: Phonetic Encoder
28.40.0 FHIR Interceptors
28.40.1 Property: Interceptor Bean Types
28.40.2 Property: FHIR storage Callback Script (Text)
28.40.3 Property: FHIR storage Callback Script (File)
28.41.0 FHIR Subscription Persistence
28.41.1 Property: Matching Queue Consumers
28.41.2 Property: Consumers Per Delivery Queue
28.41.3 Property: REST Hook Subscription Enabled
28.41.4 Property: Email Subscription Enabled
28.41.5 Property: Websocket Subscription Enabled
28.41.6 Property: Message Subscription Enabled
28.42.0 FHIR Subscription Delivery
28.42.1 Property: Subscription Delivery Queue Naming
28.42.2 Property: Email From Address
28.42.3 Property: Email SMTP Hostname
28.42.4 Property: Email SMTP Port
28.42.5 Property: Email SMTP Username
28.42.6 Property: Email SMTP Password
28.43.0 FHIR Validation Services
28.43.1 Property: Local Reference Policy
28.43.2 Property: Remote Terminology Service - Enabled
28.43.3 Property: Base URL
28.43.4 Property: Log HTTP Calls
28.44.0 HL7 v2.x to FHIR Mapper - Forced Namespace Mode
28.44.1 Property: Forced Namespace Mode: Patient System
28.44.2 Property: Forced Namespace Mode: Encounter System
28.45.0 HL7 v2.x to FHIR Mapper - General
28.45.1 Property: Inferred TimeZone When Not Present
28.45.2 Property: Creation Mode - Practitioner
28.45.3 Property: Create MessageHeader for Each Message
28.45.4 Property: MessageHeader Hardcoded Destination Name
28.45.5 Property: Patient Primary Identifier Search Parameter
28.45.6 Property: Mapper Bean Types
28.46.0 HL7 v2.x Mapper - Medications
28.46.1 Property: Use Standalone Medications with Administered Code
28.46.2 Property: Use Standalone Medications with Component Code
28.46.3 Property: Use Standalone Medications with Give Code
28.47.0 HL7 v2.x to FHIR Mapper - OBR
28.47.1 Property: Observation Identification Mode
28.47.2 Property: Use OBR-2 as Primary Identifier
28.47.3 Property: Use OBR-3 as Primary Identifier
28.48.0 HL7 v2.x to FHIR Mapper - OBSERVATION Group
28.48.1 Property: OBSERVATION Group Text Delimiter - OBX
28.48.2 Property: OBSERVATION Group Text Delimiter - NTE
28.49.0 HL7 v2.x to FHIR Mapper - ORDER_OBSERVATION Group
28.49.1 Property: ORDER_OBSERVATION Group Text Delimiter - NTE
28.50.0 HL7 v2.x to FHIR Mapper - PV1
28.50.1 Property: Treat PV1-3 and PV1-6 Patient Locations as Single Atomic Locations
28.51.0 HL7 v2.x Listener Script
28.51.1 Property: Listener Processing Script (Text)
28.51.2 Property: Listener Processing Script (File)
28.52.0 HL7 v2.x MLLP Listener
28.52.1 Property: HL7 v2.x Listener Port
28.52.2 Property: Charset: Respect MSH-18
28.52.3 Property: Charset: Forced
28.52.4 Property: Unprocessable Message Handling
28.52.5 Property: Transport Protocol
28.52.6 Property: Socket Timeout (Millis)
28.53.0 FHIR to HL7 v2.x Mapper Script
28.53.1 Property: HL7 v2.x Conversion Mapper Script (Text)
28.53.2 Property: HL7 v2.x Conversion Mapper Script (File)
28.54.0 HL7 v2.x MLLP Sender
28.54.1 Property: Transport Protocol
28.54.2 Property: HL7 v2.x Destination Host
28.54.3 Property: HL7 v2.x Destination Port
28.54.4 Property: Request Path
28.54.5 Property: Send Timeout (millis)
28.54.6 Property: Map Identifiers using NamingSystem
28.54.7 Property: Use Persisted Message Headers
28.54.8 Property: Retry message on NAK
28.54.9 Property: Delay Between Failed Deliveries (millis)
28.55.0 HTTP Access Log
28.55.1 Property: Appenders
28.56.0 HTTP Listener
28.56.1 Property: Listener Port
28.56.2 Property: Bind Address
28.56.3 Property: Context Path
28.56.4 Property: Endpoint Health Path
28.56.5 Property: Respect Forward Headers
28.56.6 Property: HTTPS Forwarding Assumed
28.57.0 HTTP Request Pool
28.57.1 Property: Thread Pool Minimum Size
28.57.2 Property: Thread Pool Maximum Size
28.57.3 Property: Thread Pool Accept Queue Size
28.57.4 Property: Maximum Request Header Size (KB)
28.57.5 Property: Maximum Response Header Size (KB)
28.57.6 Property: Read Idle Timeout (millis)
28.58.0 HTTP Security
28.58.1 Property: Pin Host
28.58.2 Property: Suppress Platform Information
28.58.3 Property: Suppress Error Details
28.58.4 Property: Block HTTP HEAD
28.58.5 Property: Block HTTP OPTIONS
28.58.6 Property: Frame Options (Allow From)
28.59.0 Hybrid Providers Definitions
28.59.1 Property: Spring Context Config Class
28.59.2 Property: FHIR Version
28.60.0 Initial User Seeding
28.60.1 Property: Users Seed File
28.61.0 JSON Web KeySet (JWKS)
28.61.1 Property: Signing JWKS (File)
28.61.2 Property: Signing JWKS (Text)
28.61.3 Property: Signing Key ID
28.62.0 LDAP Authentication
28.62.1 Property: LDAP Server URL
28.62.2 Property: System User DN
28.62.3 Property: System User Password
28.62.4 Property: Native Permission User Attribute
28.62.5 Property: User Attribute: Given Name
28.62.6 Property: User Attribute: Family Name
28.62.7 Property: Global Permissions
28.62.8 Property: Base DN for Groups
28.62.9 Property: Search Groups Recursively
28.62.10 Property: Authentication: User Base DN
28.62.11 Property: Authentication: User Query
28.62.12 Property: Require Group DN
28.63.0 Lucene FullText Indexing
28.63.1 Property: Lucene Indexing Enabled
28.63.2 Property: Lucene Indexing Provider
28.63.3 Property: Enable Terminology Index
28.63.4 Property: Enable FullText Content Index
28.63.5 Property: Lucene Index Directory
28.63.6 Property: FullText Index Delay (Secs)
28.63.7 Property: FullText Indexing Pass Size
28.63.8 Property: ElasticSearch URL
28.63.9 Property: ElasticSearch Username
28.63.10 Property: ElasticSearch Password
28.64.0 Narrative Generator
28.65.0 OpenID Connect (OIC)
28.65.1 Property: Client Secret Encoding
28.65.2 Property: Issuer URL
28.65.3 Property: Cache Authorizations (millis)
28.65.4 Property: Rotate Refresh Token After Use
28.66.0 Realtime Export
28.66.1 Property: Realtime Export Script (Text)
28.66.2 Property: Realtime Export Script (File)
28.66.3 Property: Published Data source
28.66.4 Property: Import Channel Name
28.67.0 Request Validating
28.67.1 Property: Request Validating Enabled
28.67.2 Property: Fail On Severity
28.67.3 Property: Validation Tags Enabled
28.67.4 Property: Validation Response Headers Enabled
28.68.0 Security Inbound Script
28.68.1 Property: Script (Text)
28.68.2 Property: Script (File)
28.69.0 Inbound SMART on FHIR Authentication
28.69.1 Property: Trust Intra-Cluster SMART Tokens from Module(s)
28.69.2 Property: Authentication Cache Timeout (Seconds)
28.69.3 Property: Prevent Token KeyID Reuse
28.69.4 Property: Require Key Expiry
28.70.0 Inbound SMART on FHIR Endpoints
28.70.1 Property: Token Endpoint
28.70.2 Property: Authorization Endpoint
28.71.0 OpenID Connect Token Validation
28.71.1 Property: Token Introspection Client: Truststore File
28.71.2 Property: Token Introspection Client: Truststore Password
28.72.0 SAML Provider
28.72.1 Property: Registration ID
28.72.2 Property: Issuer ID
28.72.3 Property: Web SSO URL
28.72.4 Property: Keystore File
28.72.5 Property: Keystore Password
28.72.6 Property: Verification Certificate Alias
28.72.7 Property: Sign Auth Request
28.72.8 Property: Signing Key Alias
28.72.9 Property: Signing Key Password
28.72.10 Property: Relying Party Entity ID Template
28.73.0 OAuth2/OIDC Federation
28.73.1 Property: Federated OAuth2/OIDC Login
28.74.0 SMART Authorization
28.74.1 Property: Enforce Approved Scopes to Restrict Permissions
28.75.0 SMART Definitions Seeding
28.75.1 Property: OpenID Connect Server Pre-Seed File
28.75.2 Property: OpenID Connect Client Pre-Seed File
28.76.0 Sessions
28.76.1 Property: Use In-Memory Sessions
28.76.2 Property: Session Timeout (Mins)
28.76.3 Property: Session Scavenger Interval (Millis)
28.77.0 SMART Outbound Security: Callback Script
28.77.1 Property: Post Authorization Script (Text)
28.77.2 Property: Post Authorization Script (File)
28.78.0 SMART Outbound Security: CODAP
28.78.1 Property: Enable Cross-Organization Data Access Profile
28.78.2 Property: CODAP Authorization Script (Text)
28.78.3 Property: CODAP Authorization Script (File)
28.79.0 SMART Outbound Security: Login Skin
28.79.1 Property: WebJar ID
28.79.2 Property: Login Page Template
28.79.3 Property: Login Page (Federated OAuth2/OIDC) Template
28.79.4 Property: Approval Page Template
28.79.5 Property: Revoke Page Template
28.79.6 Property: Error Page Template
28.79.7 Property: Two Factor Authentication Page Template
28.80.0 Two Factor Authentication
28.80.1 Property: TOTP Issuer Name
28.80.2 Property: Lock After Failed Attempts
28.81.0 TLS / SSL (Encryption)
28.81.1 Property: TLS KeyStore Filename
28.81.2 Property: TLS KeyStore Password
28.81.3 Property: TLS KeyStore Key Alias
28.81.4 Property: TLS KeyStore Key Password
28.81.5 Property: TLS Enabled
28.81.6 Property: TLS Client Authentication
28.81.7 Property: TLS TrustStore Filename
28.81.8 Property: TLS TrustStore Password
28.81.9 Property: TLS Cipher Whitelist
28.81.10 Property: TLS Cipher Blacklist
28.81.11 Property: TLS Protocol Whitelist
28.81.12 Property: TLS Protocol Blacklist
28.82.0 Trusted Client
28.82.1 Property: Trusted Client Mode Enabled
28.82.2 Property: Assert Permissions
28.83.0 Transaction Log
28.83.1 Property: Transaction Log Enabled
28.83.2 Property: Persist Transaction Bodies (Global)
28.83.3 Property: Persist Transaction Bodies: Incoming Request
28.83.4 Property: Persist Transaction Bodies: Incoming Response
28.83.5 Property: Truncate Transaction Bodies (bytes)
28.83.6 Property: Event Whitelist
28.83.7 Property: Event Blacklist
28.84.0 Miscellaneous Categories
28.84.1 Additional Configuration
28.84.2 Dependencies
29.0.0 Product Reference
29.0.0 Enumerated Types
29.0.1 Node And Module Status
29.0.2 Transaction Log Outcomes
29.0.3 Module Types
30.0.0 Appendix
30.0.0 Preparing a Linux Host
30.0.1 Ubuntu Host with PostgreSQL / NGINX / Letsencrypt
30.0.2 Install letsencrypt and obtain Certs (optional)
30.0.3 Install nginx And Configure it to Front the Server
30.0.4 Red Hat Enterprise Linux (RHEL) or CentOS
30.1.0 Production Checklist
30.1.1 Host Server Setup
30.1.2 Network Infrastructure
30.1.3 CDR Process Settings
30.1.4 FHIR Server Performance
30.1.5 Monitoring
30.1.6 Security
30.1.7 Message Broker
30.1.8 Cluster Design
30.2.0 Installing Smile CDR, NGINX and PostgreSQL in a Docker Stack
30.2.1 Initial Setup of Docker and Context
30.2.2 Prepare Configuration for Smile CDR Docker Service
30.2.3 Prepare Configuration for NGINX Docker Service
30.2.4 Prepare Configuration for PostgreSQL Docker Service
30.2.5 Create Docker compose file for Smile CDR Docker stack
30.2.6 Build and Launch Smile CDR Stack
30.3.0 Deploying a Kubernetes Managed Cluster
30.3.1 Overview of Smile CDR Kubernetes Deployment Process
30.3.2 Pre-requisite Steps
30.3.3 Configuring Kubernetes
30.3.4 Service Definitions
30.3.5 ConfigMap Definitions
30.3.6 Deployment Definitions
30.3.7 Deploying Smile CDR in a Kubernetes Cluster
30.3.8 Configuring Reverse Proxy and Load Balancer
30.3.9 Considerations When Deploying Smile CDR Using OpenShift
30.4.0 Password Hashing Algorithms
30.4.1 Available Algorithms
30.5.0 Resource Paths
30.6.0 JWT Signature Algorithms