Epic connector (#22652)

* Merge branch 'main' of https://github.com/open-metadata/OpenMetadata into feature/epic-connector

* feature:epic-connector

* UI changes

* UI markdown file

---------

Co-authored-by: Akash Verma <akashverma@Mac.lan>
Co-authored-by: Akash Verma <akashverma@Akashs-MacBook-Pro-2.local>
This commit is contained in:
Akash Verma 2025-08-03 15:26:52 +05:30 committed by GitHub
parent 8adadc8497
commit 48ab71d9f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 505 additions and 1 deletions

View File

@ -0,0 +1,14 @@
{
"name": "Epic",
"displayName": "Epic Test Connection",
"description": "This Test Connection validates if the metadata endpoint is reachable.",
"steps": [
{
"name": "CheckAccess",
"description": "Validate that the Epic FHIR metadata endpoint is reachable.",
"errorMessage": "Failed to connect to Epic FHIR server, please check the endpoint URL.",
"shortCircuit": true,
"mandatory": true
}
]
}

View File

@ -0,0 +1,59 @@
{
"$id": "https://open-metadata.org/schema/entity/services/connections/database/epicConnection.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "EpicConnection",
"description": "Epic FHIR Connection Config",
"type": "object",
"javaType": "org.openmetadata.schema.services.connections.database.EpicConnection",
"definitions": {
"epicType": {
"description": "Service type.",
"type": "string",
"enum": ["Epic"],
"default": "Epic"
}
},
"properties": {
"type": {
"title": "Service Type",
"description": "Service Type",
"$ref": "#/definitions/epicType",
"default": "Epic"
},
"fhirServerUrl": {
"title": "FHIR Server URL",
"description": "Base URL of the Epic FHIR server",
"type": "string",
"default": "https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR",
"format": "uri"
},
"fhirVersion": {
"title": "FHIR Version",
"description": "FHIR specification version (R4, STU3, DSTU2)",
"type": "string",
"enum": ["R4", "STU3", "DSTU2"],
"default": "R4"
},
"databaseName": {
"title": "Database Name",
"description": "Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic' as the database name.",
"type": "string",
"default": "epic"
},
"schemaFilterPattern": {
"title": "Schema Filter Pattern",
"description": "Regex to include/exclude FHIR resource categories",
"$ref": "../../../../type/filterPattern.json#/definitions/filterPattern"
},
"tableFilterPattern": {
"title": "Table Filter Pattern",
"description": "Regex to include/exclude FHIR resource types",
"$ref": "../../../../type/filterPattern.json#/definitions/filterPattern"
},
"supportsMetadataExtraction": {
"title": "Supports Metadata Extraction",
"$ref": "../connectionBasicType.json#/definitions/supportsMetadataExtraction"
}
},
"additionalProperties": false
}

View File

@ -61,7 +61,8 @@
"Synapse",
"Exasol",
"Cockroach",
"SSAS"
"SSAS",
"Epic"
],
"javaEnums": [
{
@ -204,6 +205,9 @@
},
{
"name": "SSAS"
},
{
"name": "Epic"
}
]
},
@ -351,6 +355,9 @@
},
{
"$ref": "./connections/database/ssasConnection.json"
},
{
"$ref": "./connections/database/epicConnection.json"
}
]
}

View File

@ -0,0 +1,27 @@
# Epic
In this section, we provide guides and references to use the Epic FHIR connector.
You can find further information on the Epic connector in the [docs](https://docs.open-metadata.org/connectors/database/epic).
## Connection Details
$$section
### FHIR Server URL $(id="fhirServerUrl")
Base URL of the Epic FHIR server, e.g. `https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4/`.
$$
$$section
### FHIR Version $(id="fhirVersion")
FHIR specification version supported by the server. Supported values are `R4`, `STU3`, and `DSTU2`.
$$
$$section
### Database Name $(id="databaseName")
Optional name to give to the database in OpenMetadata. If left blank, `epic` will be used as the default value.
$$
$$section
### Supports Metadata Extraction $(id="supportsMetadataExtraction")
Indicates whether OpenMetadata should attempt to extract metadata from the Epic FHIR server in addition to creating the service connection.
$$

View File

@ -443,6 +443,7 @@ export const BETA_SERVICES = [
DatabaseServiceType.Ssas,
DashboardServiceType.ThoughtSpot,
SecurityServiceType.Ranger,
DatabaseServiceType.Epic,
];
export const TEST_CONNECTION_INITIAL_MESSAGE = i18n.t(

View File

@ -277,6 +277,8 @@ export interface RequestConnection {
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*
* Looker Connection Config
*
* Metabase Connection Config
@ -593,6 +595,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -620,6 +624,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -640,6 +646,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -1270,6 +1279,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* Regex exclude or include charts that matches the pattern.
*/
@ -1841,6 +1858,10 @@ export interface UsernamePasswordAuthentication {
*
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*
* Regex exclude or include charts that matches the pattern.
*
* Regex to exclude or include dashboards that matches the pattern.
@ -3269,6 +3290,15 @@ export interface ElasticsSearch {
type: string;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Credentials to extract the .lkml files from a repository. This is required to get all the
* lineage and definitions.
@ -3966,6 +3996,7 @@ export enum ConfigType {
Druid = "Druid",
DynamoDB = "DynamoDB",
ElasticSearch = "ElasticSearch",
Epic = "Epic",
Exasol = "Exasol",
Fivetran = "Fivetran",
Flink = "Flink",

View File

@ -149,6 +149,8 @@ export interface DatabaseConnection {
* Cockroach Database Connection Config
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*/
export interface ConfigClass {
/**
@ -233,6 +235,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -261,6 +265,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -287,6 +293,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -836,6 +845,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
}
/**
@ -1562,6 +1579,10 @@ export interface GCPCredentials {
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*/
export interface FilterPattern {
/**
@ -1574,6 +1595,15 @@ export interface FilterPattern {
includes?: string[];
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Specifies the logon authentication method. Possible values are TD2 (the default), JWT,
* LDAP, KRB5 for Kerberos, or TDNEGO
@ -1945,6 +1975,7 @@ export enum ConfigType {
Doris = "Doris",
Druid = "Druid",
DynamoDB = "DynamoDB",
Epic = "Epic",
Exasol = "Exasol",
Glue = "Glue",
Greenplum = "Greenplum",
@ -2065,6 +2096,7 @@ export enum DatabaseServiceType {
Doris = "Doris",
Druid = "Druid",
DynamoDB = "DynamoDB",
Epic = "Epic",
Exasol = "Exasol",
Glue = "Glue",
Greenplum = "Greenplum",

View File

@ -783,6 +783,10 @@ export interface Pipeline {
*
* Regex to only fetch api collections with names matching the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*
* Regex to only fetch tags that matches the pattern.
*/
export interface FilterPattern {
@ -2260,6 +2264,8 @@ export interface ServiceConnection {
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*
* Kafka Connection Config
*
* Redpanda Connection Config
@ -2975,6 +2981,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -3002,6 +3010,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -3021,6 +3031,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -3372,6 +3385,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* basic.auth.user.info schema registry config property, Client HTTP credentials in the form
* of username:password.
@ -4986,6 +5007,15 @@ export interface ElasticsSearch {
type: string;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Credentials to extract the .lkml files from a repository. This is required to get all the
* lineage and definitions.
@ -5670,6 +5700,7 @@ export enum PurpleType {
Druid = "Druid",
DynamoDB = "DynamoDB",
ElasticSearch = "ElasticSearch",
Epic = "Epic",
Exasol = "Exasol",
Fivetran = "Fivetran",
Flink = "Flink",

View File

@ -159,6 +159,8 @@ export interface TestServiceConnectionConnection {
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*
* Looker Connection Config
*
* Metabase Connection Config
@ -475,6 +477,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -502,6 +506,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -522,6 +528,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -1152,6 +1161,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* Regex exclude or include charts that matches the pattern.
*/
@ -1723,6 +1740,10 @@ export interface UsernamePasswordAuthentication {
*
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*
* Regex exclude or include charts that matches the pattern.
*
* Regex to exclude or include dashboards that matches the pattern.
@ -3151,6 +3172,15 @@ export interface ElasticsSearch {
type: string;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Credentials to extract the .lkml files from a repository. This is required to get all the
* lineage and definitions.
@ -3848,6 +3878,7 @@ export enum ConfigType {
Druid = "Druid",
DynamoDB = "DynamoDB",
ElasticSearch = "ElasticSearch",
Epic = "Epic",
Exasol = "Exasol",
Fivetran = "Fivetran",
Flink = "Flink",

View File

@ -389,6 +389,10 @@ export enum AuthProvider {
*
* Regex to only fetch api collections with names matching the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*
* Regex exclude or include charts that matches the pattern.
*
* Regex to exclude or include dashboards that matches the pattern.
@ -691,6 +695,8 @@ export interface RequestConnection {
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*
* Looker Connection Config
*
* Metabase Connection Config
@ -1007,6 +1013,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -1034,6 +1042,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -1054,6 +1064,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -1684,6 +1697,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* Regex exclude or include charts that matches the pattern.
*/
@ -3583,6 +3604,15 @@ export interface ConfigElasticsSearch {
type: string;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Credentials to extract the .lkml files from a repository. This is required to get all the
* lineage and definitions.
@ -4235,6 +4265,7 @@ export enum ConfigType {
Druid = "Druid",
DynamoDB = "DynamoDB",
ElasticSearch = "ElasticSearch",
Epic = "Epic",
Exasol = "Exasol",
Fivetran = "Fivetran",
Flink = "Flink",

View File

@ -557,6 +557,7 @@ export enum DatabaseServiceType {
Doris = "Doris",
Druid = "Druid",
DynamoDB = "DynamoDB",
Epic = "Epic",
Exasol = "Exasol",
Glue = "Glue",
Greenplum = "Greenplum",

View File

@ -553,6 +553,7 @@ export enum DatabaseServiceType {
Doris = "Doris",
Druid = "Druid",
DynamoDB = "DynamoDB",
Epic = "Epic",
Exasol = "Exasol",
Glue = "Glue",
Greenplum = "Greenplum",

View File

@ -440,6 +440,7 @@ export enum DatabaseServiceType {
Doris = "Doris",
Druid = "Druid",
DynamoDB = "DynamoDB",
Epic = "Epic",
Exasol = "Exasol",
Glue = "Glue",
Greenplum = "Greenplum",

View File

@ -1059,6 +1059,7 @@ export enum DatabaseServiceType {
Doris = "Doris",
Druid = "Druid",
DynamoDB = "DynamoDB",
Epic = "Epic",
Exasol = "Exasol",
Glue = "Glue",
Greenplum = "Greenplum",

View File

@ -0,0 +1,79 @@
/*
* Copyright 2025 Collate.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Epic FHIR Connection Config
*/
export interface EpicConnection {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
supportsMetadataExtraction?: boolean;
/**
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
* Service Type
*/
type?: EpicType;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Regex to include/exclude FHIR resource categories
*
* Regex to only fetch entities that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
export interface FilterPattern {
/**
* List of strings/regex patterns to match and exclude only database entities that match.
*/
excludes?: string[];
/**
* List of strings/regex patterns to match and include only database entities that match.
*/
includes?: string[];
}
/**
* Service Type
*
* Service type.
*/
export enum EpicType {
Epic = "Epic",
}

View File

@ -177,6 +177,8 @@ export interface ServiceConnectionClass {
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*
* Kafka Connection Config
*
* Redpanda Connection Config
@ -892,6 +894,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -919,6 +923,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -938,6 +944,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -1289,6 +1298,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* basic.auth.user.info schema registry config property, Client HTTP credentials in the form
* of username:password.
@ -1714,6 +1731,10 @@ export interface UsernamePasswordAuthentication {
*
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*
* Regex to only fetch topics that matches the pattern.
*
* Regex exclude pipelines.
@ -3134,6 +3155,15 @@ export interface ElasticsSearch {
type: string;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Credentials to extract the .lkml files from a repository. This is required to get all the
* lineage and definitions.
@ -3829,6 +3859,7 @@ export enum ConfigType {
Druid = "Druid",
DynamoDB = "DynamoDB",
ElasticSearch = "ElasticSearch",
Epic = "Epic",
Exasol = "Exasol",
Fivetran = "Fivetran",
Flink = "Flink",

View File

@ -268,6 +268,8 @@ export interface DatabaseConnection {
* Cockroach Database Connection Config
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*/
export interface ConfigClass {
/**
@ -352,6 +354,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -380,6 +384,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -406,6 +412,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -955,6 +964,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
}
/**
@ -1681,6 +1698,10 @@ export interface GCPCredentials {
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*/
export interface FilterPattern {
/**
@ -1693,6 +1714,15 @@ export interface FilterPattern {
includes?: string[];
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Specifies the logon authentication method. Possible values are TD2 (the default), JWT,
* LDAP, KRB5 for Kerberos, or TDNEGO
@ -2064,6 +2094,7 @@ export enum ConfigType {
Doris = "Doris",
Druid = "Druid",
DynamoDB = "DynamoDB",
Epic = "Epic",
Exasol = "Exasol",
Glue = "Glue",
Greenplum = "Greenplum",
@ -2183,6 +2214,7 @@ export enum DatabaseServiceType {
Doris = "Doris",
Druid = "Druid",
DynamoDB = "DynamoDB",
Epic = "Epic",
Exasol = "Exasol",
Glue = "Glue",
Greenplum = "Greenplum",

View File

@ -528,6 +528,10 @@ export enum AuthProvider {
*
* Regex to only fetch api collections with names matching the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*
* Regex to only fetch tags that matches the pattern.
*/
export interface FilterPattern {
@ -2771,6 +2775,8 @@ export interface ServiceConnection {
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*
* Kafka Connection Config
*
* Redpanda Connection Config
@ -3486,6 +3492,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -3513,6 +3521,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -3532,6 +3542,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -3883,6 +3896,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* basic.auth.user.info schema registry config property, Client HTTP credentials in the form
* of username:password.
@ -5437,6 +5458,15 @@ export interface ConfigElasticsSearch {
type: string;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Credentials to extract the .lkml files from a repository. This is required to get all the
* lineage and definitions.
@ -6078,6 +6108,7 @@ export enum PurpleType {
Druid = "Druid",
DynamoDB = "DynamoDB",
ElasticSearch = "ElasticSearch",
Epic = "Epic",
Exasol = "Exasol",
Fivetran = "Fivetran",
Flink = "Flink",

View File

@ -221,6 +221,8 @@ export interface ServiceConnection {
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*
* Kafka Connection Config
*
* Redpanda Connection Config
@ -936,6 +938,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -963,6 +967,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -982,6 +988,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -1333,6 +1342,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* basic.auth.user.info schema registry config property, Client HTTP credentials in the form
* of username:password.
@ -1758,6 +1775,10 @@ export interface UsernamePasswordAuthentication {
*
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*
* Regex to only fetch topics that matches the pattern.
*
* Regex exclude pipelines.
@ -3178,6 +3199,15 @@ export interface ElasticsSearch {
type: string;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Credentials to extract the .lkml files from a repository. This is required to get all the
* lineage and definitions.
@ -3873,6 +3903,7 @@ export enum ConfigType {
Druid = "Druid",
DynamoDB = "DynamoDB",
ElasticSearch = "ElasticSearch",
Epic = "Epic",
Exasol = "Exasol",
Fivetran = "Fivetran",
Flink = "Flink",

View File

@ -257,6 +257,8 @@ export interface ServiceConnection {
*
* SSAS Metadata Database Connection Config
*
* Epic FHIR Connection Config
*
* Kafka Connection Config
*
* Redpanda Connection Config
@ -972,6 +974,8 @@ export interface ConfigClass {
sampleDataStorageConfig?: SampleDataStorageConfig;
/**
* Regex to only include/exclude schemas that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*/
schemaFilterPattern?: FilterPattern;
/**
@ -999,6 +1003,8 @@ export interface ConfigClass {
supportsUsageExtraction?: boolean;
/**
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource types
*/
tableFilterPattern?: FilterPattern;
/**
@ -1018,6 +1024,9 @@ export interface ConfigClass {
/**
* Optional name to give to the database in OpenMetadata. If left blank, we will use default
* as the database name.
*
* Optional name to give to the database in OpenMetadata. If left blank, we will use 'epic'
* as the database name.
*/
databaseName?: string;
/**
@ -1369,6 +1378,14 @@ export interface ConfigClass {
* HTTP Link for SSAS ACCESS
*/
httpConnection?: string;
/**
* Base URL of the Epic FHIR server
*/
fhirServerUrl?: string;
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
fhirVersion?: FHIRVersion;
/**
* basic.auth.user.info schema registry config property, Client HTTP credentials in the form
* of username:password.
@ -1794,6 +1811,10 @@ export interface UsernamePasswordAuthentication {
*
* Regex to only include/exclude tables that matches the pattern.
*
* Regex to include/exclude FHIR resource categories
*
* Regex to include/exclude FHIR resource types
*
* Regex to only fetch topics that matches the pattern.
*
* Regex exclude pipelines.
@ -3227,6 +3248,15 @@ export interface ConfigElasticsSearch {
type: string;
}
/**
* FHIR specification version (R4, STU3, DSTU2)
*/
export enum FHIRVersion {
Dstu2 = "DSTU2",
R4 = "R4",
Stu3 = "STU3",
}
/**
* Credentials to extract the .lkml files from a repository. This is required to get all the
* lineage and definitions.
@ -3922,6 +3952,7 @@ export enum PurpleType {
Druid = "Druid",
DynamoDB = "DynamoDB",
ElasticSearch = "ElasticSearch",
Epic = "Epic",
Exasol = "Exasol",
Fivetran = "Fivetran",
Flink = "Flink",

View File

@ -174,6 +174,7 @@ class ServiceUtilClassBase {
PipelineServiceType.Ssis,
PipelineServiceType.Wherescape,
SecurityServiceType.Ranger,
DatabaseServiceType.Epic,
];
DatabaseServiceTypeSmallCase = this.convertEnumToLowerCase<