diff --git a/openmetadata-service/src/main/resources/json/data/testConnections/database/epic.json b/openmetadata-service/src/main/resources/json/data/testConnections/database/epic.json new file mode 100644 index 00000000000..f30de7bb562 --- /dev/null +++ b/openmetadata-service/src/main/resources/json/data/testConnections/database/epic.json @@ -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 + } + ] + } \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/epicConnection.json b/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/epicConnection.json new file mode 100644 index 00000000000..2bc2b8b7466 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/epicConnection.json @@ -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 + } \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/services/databaseService.json b/openmetadata-spec/src/main/resources/json/schema/entity/services/databaseService.json index c689b5b5c7c..2ceb294a6a8 100644 --- a/openmetadata-spec/src/main/resources/json/schema/entity/services/databaseService.json +++ b/openmetadata-spec/src/main/resources/json/schema/entity/services/databaseService.json @@ -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" } ] } diff --git a/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Database/Epic.md b/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Database/Epic.md new file mode 100644 index 00000000000..88760b033be --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Database/Epic.md @@ -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. +$$ diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/Services.constant.ts b/openmetadata-ui/src/main/resources/ui/src/constants/Services.constant.ts index 632790e76eb..261a3295886 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/Services.constant.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/Services.constant.ts @@ -443,6 +443,7 @@ export const BETA_SERVICES = [ DatabaseServiceType.Ssas, DashboardServiceType.ThoughtSpot, SecurityServiceType.Ranger, + DatabaseServiceType.Epic, ]; export const TEST_CONNECTION_INITIAL_MESSAGE = i18n.t( diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/automations/createWorkflow.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/automations/createWorkflow.ts index 98e9db1897f..57d58e4771f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/automations/createWorkflow.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/automations/createWorkflow.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts index d75a8661d76..8cf068b01b5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/ingestionPipelines/createIngestionPipeline.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/ingestionPipelines/createIngestionPipeline.ts index 952989a758f..8684e352c22 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/ingestionPipelines/createIngestionPipeline.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/ingestionPipelines/createIngestionPipeline.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/testServiceConnection.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/testServiceConnection.ts index 0f590ae9b4f..5334f15e845 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/testServiceConnection.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/testServiceConnection.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/workflow.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/workflow.ts index 372beac2633..21ba1a00687 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/workflow.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/workflow.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts index 86fe89821e3..7ad1688d93c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts @@ -557,6 +557,7 @@ export enum DatabaseServiceType { Doris = "Doris", Druid = "Druid", DynamoDB = "DynamoDB", + Epic = "Epic", Exasol = "Exasol", Glue = "Glue", Greenplum = "Greenplum", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/databaseSchema.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/databaseSchema.ts index 6ee384b82f5..1a84af5b30f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/databaseSchema.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/databaseSchema.ts @@ -553,6 +553,7 @@ export enum DatabaseServiceType { Doris = "Doris", Druid = "Druid", DynamoDB = "DynamoDB", + Epic = "Epic", Exasol = "Exasol", Glue = "Glue", Greenplum = "Greenplum", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/storedProcedure.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/storedProcedure.ts index 76bb48710c9..6781624df6e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/storedProcedure.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/storedProcedure.ts @@ -440,6 +440,7 @@ export enum DatabaseServiceType { Doris = "Doris", Druid = "Druid", DynamoDB = "DynamoDB", + Epic = "Epic", Exasol = "Exasol", Glue = "Glue", Greenplum = "Greenplum", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts index fccbaa76b6a..70b4f5c5e7e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts @@ -1059,6 +1059,7 @@ export enum DatabaseServiceType { Doris = "Doris", Druid = "Druid", DynamoDB = "DynamoDB", + Epic = "Epic", Exasol = "Exasol", Glue = "Glue", Greenplum = "Greenplum", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/database/epicConnection.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/database/epicConnection.ts new file mode 100644 index 00000000000..2d489df9fa7 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/database/epicConnection.ts @@ -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", +} diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/serviceConnection.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/serviceConnection.ts index 7d88b59e247..abbfedf6976 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/serviceConnection.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/serviceConnection.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts index abac4c65f20..a2e4d0288ea 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/ingestionPipelines/ingestionPipeline.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/ingestionPipelines/ingestionPipeline.ts index 209d0cbbb5c..e56cedab571 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/ingestionPipelines/ingestionPipeline.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/ingestionPipelines/ingestionPipeline.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/testSuitePipeline.ts b/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/testSuitePipeline.ts index 2bb95442422..bb0e3248c57 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/testSuitePipeline.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/testSuitePipeline.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/workflow.ts b/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/workflow.ts index e44f9cd0a45..af6cd709850 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/workflow.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/workflow.ts @@ -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", diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts b/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts index 63a7e7b6eb4..2f2455a5807 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts @@ -174,6 +174,7 @@ class ServiceUtilClassBase { PipelineServiceType.Ssis, PipelineServiceType.Wherescape, SecurityServiceType.Ranger, + DatabaseServiceType.Epic, ]; DatabaseServiceTypeSmallCase = this.convertEnumToLowerCase<