diff --git a/openmetadata-docs/content/partials/v1.9/connectors/database/connectors-list.md b/openmetadata-docs/content/partials/v1.9/connectors/database/connectors-list.md index 257c759d1a9..47f655b9565 100644 --- a/openmetadata-docs/content/partials/v1.9/connectors/database/connectors-list.md +++ b/openmetadata-docs/content/partials/v1.9/connectors/database/connectors-list.md @@ -17,6 +17,7 @@ {% connectorInfoCard name="Doris" stage="PROD" href="/connectors/database/doris" platform="OpenMetadata" / %} {% connectorInfoCard name="Druid" stage="PROD" href="/connectors/database/druid" platform="OpenMetadata" / %} {% connectorInfoCard name="DynamoDB" stage="PROD" href="/connectors/database/dynamodb" platform="OpenMetadata" / %} +{% connectorInfoCard name="Epic" stage="BETA" href="/connectors/database/epic" platform="Collate" / %} {% connectorInfoCard name="Exasol" stage="PROD" href="/connectors/database/exasol" platform="OpenMetadata" / %} {% connectorInfoCard name="GCS Datalake" stage="PROD" href="/connectors/database/gcs-datalake" platform="OpenMetadata" / %} {% connectorInfoCard name="Glue" stage="PROD" href="/connectors/database/glue" platform="OpenMetadata" / %} diff --git a/openmetadata-docs/content/v1.9.x-SNAPSHOT/collate-menu.md b/openmetadata-docs/content/v1.9.x-SNAPSHOT/collate-menu.md index cce404d51ad..377a3b77914 100644 --- a/openmetadata-docs/content/v1.9.x-SNAPSHOT/collate-menu.md +++ b/openmetadata-docs/content/v1.9.x-SNAPSHOT/collate-menu.md @@ -142,6 +142,12 @@ site_menu: url: /connectors/database/exasol/yaml - category: Connectors / Database / Exasol / Troubleshooting url: /connectors/database/exasol/troubleshooting + - category: Connectors / Database / Epic + url: /connectors/database/epic + - category: Connectors / Database / Epic / Run Externally + url: /connectors/database/epic/yaml + - category: Connectors / Database / Epic / Troubleshooting + url: /connectors/database/epic/troubleshooting - category: Connectors / Database / GCS Datalake url: /connectors/database/gcs-datalake - category: Connectors / Database / GCS Datalake / Run Externally diff --git a/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/index.md b/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/index.md new file mode 100644 index 00000000000..94694b15690 --- /dev/null +++ b/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/index.md @@ -0,0 +1,65 @@ +--- +title: Epic FHIR Connector | OpenMetadata Healthcare Integration Guide +description: Connect Epic FHIR to OpenMetadata to automatically discover, catalog, and manage your Epic FHIR metadata. Step-by-step configuration guide. +slug: /connectors/database/epic +Collate: true +--- + +{% connectorDetailsHeader +name="Epic FHIR" +stage="BETA" +platform="Collate" +availableFeatures=["Metadata"] +unavailableFeatures=["Data Profiler", "Data Quality", "dbt", "Lineage", "Column-level Lineage", "Query Usage", "Owners", "Tags", "Sample Data", "Reverse Metadata (Collate Only)", "Auto-Classification", "Stored Procedures"] +/ %} + +In this section, we provide guides and references to use the Epic FHIR connector. + +Configure and schedule Epic metadata workflows from the OpenMetadata UI: + +- [Requirements](#requirements) +- [Metadata Ingestion](#metadata-ingestion) + +{% partial file="/v1.9/connectors/ingestion-modes-tiles.md" variables={yamlPath: "/connectors/database/epic/yaml"} /%} + +## Requirements + +To fetch metadata from Epic FHIR into OpenMetadata you will need: + +1. An accessible Epic FHIR base URL (e.g. `https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR`). +2. The FHIR version supported by your Epic server. Supported values are: `R4`, `STU3`, and `DSTU2`. + +## Metadata Ingestion + +{% partial + file="/v1.9/connectors/metadata-ingestion-ui.md" + variables={ + connector: "Epic FHIR", + selectServicePath: "/images/v1.9/connectors/epic/select-service.png", + addNewServicePath: "/images/v1.9/connectors/epic/add-new-service.png", + serviceConnectionPath: "/images/v1.9/connectors/epic/service-connection.png", +} +/%} + +{% stepsContainer %} +{% extraContent parentTagName="stepsContainer" %} + +#### Connection Details + +- **FHIR Server URL**: Base URL of the Epic FHIR server. +- **FHIR Version**: FHIR specification version supported by the server (`R4`, `STU3`, or `DSTU2`). +- **Database Name**: Optional; name that will be shown inside OpenMetadata. Defaults to `epic`. + +{% partial file="/v1.9/connectors/database/advanced-configuration.md" /%} + +{% /extraContent %} + +{% partial file="/v1.9/connectors/test-connection.md" /%} + +{% partial file="/v1.9/connectors/database/configure-ingestion.md" /%} + +{% partial file="/v1.9/connectors/ingestion-schedule-and-deploy.md" /%} + +{% /stepsContainer %} + +{% partial file="/v1.9/connectors/database/related.md" /%} diff --git a/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/troubleshooting.md b/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/troubleshooting.md new file mode 100644 index 00000000000..b41514ed436 --- /dev/null +++ b/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/troubleshooting.md @@ -0,0 +1,8 @@ +--- +title: Epic Troubleshooting Guide | Collate Support +description: Debug Epic database integration for issues like permission errors, partition key mismatches, or ingestion slowdowns. +slug: /connectors/database/epic/troubleshooting +collate: true +--- + +{% partial file="/v1.9/connectors/troubleshooting.md" /%} diff --git a/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/yaml.md b/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/yaml.md new file mode 100644 index 00000000000..031230f4ef5 --- /dev/null +++ b/openmetadata-docs/content/v1.9.x-SNAPSHOT/connectors/database/epic/yaml.md @@ -0,0 +1,119 @@ +--- +title: Run the Epic FHIR Connector Externally +description: Configure Epic FHIR ingestion using YAML to automate FHIR resource metadata collection. +slug: /connectors/database/epic/yaml +Collate: true +--- + +{% connectorDetailsHeader +name="Epic FHIR" +stage="BETA" +platform="Collate" +availableFeatures=["Metadata"] +unavailableFeatures=["Data Profiler", "Data Quality", "dbt", "Lineage", "Column-level Lineage", "Query Usage", "Owners", "Tags", "Sample Data", "Reverse Metadata (Collate Only)", "Auto-Classification", "Stored Procedures"] +/ %} + +In this section, we provide guides and references to use the Epic FHIR connector. + +Configure and schedule Epic metadata workflows from the OpenMetadata UI: + +- [Requirements](#requirements) +- [Metadata Ingestion](#metadata-ingestion) + +{% partial file="/v1.9/connectors/ingestion-modes-tiles.md" variables={yamlPath: "/connectors/database/epic/yaml"} /%} + +{% partial file="/v1.9/connectors/external-ingestion-deployment.md" /%} + +## Requirements + +To run the Epic ingestion, install the Python package: + +```bash +pip3 install "openmetadata-ingestion[epic]" +``` + +## Metadata Ingestion + +All connectors are defined as JSON Schemas. +[Here](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/epicConnection.json) you can find the structure to create a connection to Epic. + +The ingestion workflow itself follows the general [workflow schema](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/workflow.json). + +### 1. Define the YAML Config + +This is a minimal sample config for Epic: + +{% codePreview %} + +{% codeInfoContainer %} + +#### Source Configuration - Service Connection + +{% codeInfo srNumber=1 %} + +**fhirServerUrl**: Base URL of the Epic FHIR server. + +{% /codeInfo %} + +{% codeInfo srNumber=2 %} + +**fhirVersion**: FHIR specification version supported (`R4`, `STU3`, or `DSTU2`). + +{% /codeInfo %} + +{% codeInfo srNumber=3 %} + +**databaseName**: Optional name for the database in OpenMetadata. Defaults to `epic`. + +{% /codeInfo %} + +{% codeInfo srNumber=4 %} + +**schemaFilterPattern / tableFilterPattern**: Regex filters to limit which FHIR resource categories (schemas) or resource types (tables) are ingested. + +{% /codeInfo %} + +{% partial file="/v1.9/connectors/yaml/ingestion-sink-def.md" /%} + +{% partial file="/v1.9/connectors/yaml/workflow-config-def.md" /%} + +{% /codeInfoContainer %} + +{% codeBlock fileName="epic_sample.yaml" %} + +```yaml {% isCodeBlock=true %} +source: + type: epic + serviceName: epic_fhir + serviceConnection: + config: + type: Epic + fhirServerUrl: https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4 + fhirVersion: R4 + # Optional: + # databaseName: epic +``` +```yaml {% srNumber=1 %} +# Optional filters +sourceConfig: + config: + # schemaFilterPattern: + # includes: + # - Clinical + # excludes: + # - Archived + # tableFilterPattern: + # includes: + # - Patient + # excludes: + # - ".*Test.*" +``` +```yaml {% srNumber=2 %} +sink: + type: metadata-rest + config: {} +``` + +{% /codeBlock %} + +{% /codePreview %} diff --git a/openmetadata-docs/images/connectors/epic.webp b/openmetadata-docs/images/connectors/epic.webp new file mode 100644 index 00000000000..769bdddeb0d Binary files /dev/null and b/openmetadata-docs/images/connectors/epic.webp differ diff --git a/openmetadata-docs/images/v1.9/connectors/epic/add-new-service.png b/openmetadata-docs/images/v1.9/connectors/epic/add-new-service.png new file mode 100644 index 00000000000..ea8e26470d3 Binary files /dev/null and b/openmetadata-docs/images/v1.9/connectors/epic/add-new-service.png differ diff --git a/openmetadata-docs/images/v1.9/connectors/epic/select-service.png b/openmetadata-docs/images/v1.9/connectors/epic/select-service.png new file mode 100644 index 00000000000..ac78852142b Binary files /dev/null and b/openmetadata-docs/images/v1.9/connectors/epic/select-service.png differ diff --git a/openmetadata-docs/images/v1.9/connectors/epic/service-connection.png b/openmetadata-docs/images/v1.9/connectors/epic/service-connection.png new file mode 100644 index 00000000000..c7768575e78 Binary files /dev/null and b/openmetadata-docs/images/v1.9/connectors/epic/service-connection.png differ