# Set up sources

You can self-serve to set up <u>API sources</u> (i.e., JSON via HTTPS) to send data to Redox. [Learn more about sources](https://docs.redoxengine.com/permalink/RqjicoYocYtUDfFmaaoSt/#set-up-sources-and-destinations). 

To create <u>non-API sources</u>, talk to your Technical Account Manager. 

## Prerequisites

- A user must be assigned to an <u>**engineer role**</u> to manage sources. [Learn about user roles](/basics/managing-access-for-your-redox-organization/what-are-user-roles).
- You must be part of the closed beta with Redox to create <u>**non-API sources**</u> (i.e., <u>**SFTP**</u>, <u>**MLLP**</u>). Talk to your Technical Account Manager if you have questions.
- To delete a source, you must be logged into a <u>development</u> or <u>staging</u> environment. <u>Production</u> sources can’t be deleted without a Redoxer.

## View sources

Follow these steps to view any existing sources.

1. Log in to the Redox dashboard.
2. From the navigation menu, click the **Developer** page.
3. By default, the <u>Sources</u> tab opens with any configured sources. To view a specific source’s configuration details, click the **source** **row** in the table. 


> **VPN status for MLLP sources**
>
> If you have any MLLP sources, you can view its VPN status at a glance. [Learn how to check a VPN status](/how-to-use-redox/check-a-vpn-status). 
>
> ![](https://images.ctfassets.net/cl3wt5ehhnlv/42jO1q4fffqwYtr6gyLDsK/d797e8b7d89f6dd7658627a766fc483e/Source-vpn-status.png)
>
> ![](https://images.ctfassets.net/cl3wt5ehhnlv/1f7cktVtKkvXBOW6U9QLBG/9990a19fb206ba775d0030b221a8fd4c/source-vpn-status-hover.png)



## Create a source

On the <u>Sources</u> tab, click the **New** button to open the source wizard. The instructions below take you through each step of the source wizard. 

![The New button is on the top right of the Sources tab.](https://images.ctfassets.net/cl3wt5ehhnlv/6BHsNeA3Q5GAUoSekMVG2t/2269c1d31facdf0c90033e179edf0c13/source-new-button.png)

*Create a new source*

### Step 1: Select source type

1. Enter a human-readable **name** for the source. This will be the display name on the <u>Sources</u> tab. 


> **Source names**
>
> There aren’t any restrictions around source names. That means you could end up with duplicate names.
>
> We recommend creating unique, descriptive names so you can more easily distinguish between sources.


2. (_For multi-region users only_) From the <u>Region</u> drop-down field, select the **Redox service region**. 
3. From the <u>Data format</u> drop-down field, select the format of the data and how it will be sent (i.e., **source type**). Currently, you can send <u>**JSON via HTTPS**</u> (i.e., API sources only).


> **Beta users**
>
> Beta users can create API, SFTP, or MLLP sources. You can select any of these data format options:
>
> - JSON via HTTPS
> - HL7v2 via SFTP
> - HL7v2 via MLLP
>
> ![](https://images.ctfassets.net/cl3wt5ehhnlv/zj4cIM39XlszfOf7ntjKa/79eb8ae666f6f1929d7b481c2f825453/source-wizard-data-format.png)


4. (_Optional_) From the <u>Sending system type</u> drop-down field, select the **EHR system** this source will pull data from. Begin typing the EHR name to filter the list or enter a free text name if you can’t find the one you’re looking for.
5. Click the **checkbox** to acknowledge that you’re creating a source for your own Redox organization, not your connection. This is a legal requirement, so you can’t proceed without this acknowledgement.
6. Click the **Next** button. 
You can also click the **Cancel** button to discard the new source configuration.   


![A user completes the source type configuration in Step 1 of the source wizard.](https://images.ctfassets.net/cl3wt5ehhnlv/tLkT49iV6ZE3aWLmZjh61/2ebf0d76499ba18e93b683a0a1820f3f/source-wizard-step-1-select-type.gif)

*Step 1: Select source type*



### Step 2: Configure source

Enter the configuration details based on the source type.

> **Save progress option**
>
> You can exit the source wizard at any time. If you’ve already started entering source settings, click the **Save progress** option to save what you’ve done so far and exit the wizard. The new source appears on the <u>Sources</u> tab with a status of <u>in progress</u>. Edit the source to complete setup at any time.
>
> Keep in mind that the save progress option is disabled when editing sources after completing setup.

<details>
<summary>Option 1: Configure an API source</summary>

1. Skip Step 2 of the wizard if using an OAuth API key to authenticate this source. _OAuth API keys are our recommended authentication method_. [Learn more about authentication methods](/basics/data-exchange-with-redox/authenticating-and-sending-data-via-redox). 
Otherwise, view or manage the legacy API key secret on this tab. [Learn how to authenticate a legacy API key](/how-to-use-redox/manage-your-redox-setup/authenticate-a-legacy-api-key). 


> **Legacy API keys**
>
> A legacy API key is automatically created with every new source. However, legacy authentication is disabled unless you generate a secret value. If you use OAuth, you can ignore the legacy API key settings.
>
> You can still use legacy API keys, even though they’re not our recommended authentication method.


2. Click the **Next** button. 


![A user opens and closes the legacy API key settings in the source wizard. Then they click the Next button to proceed.](https://images.ctfassets.net/cl3wt5ehhnlv/25zMs3yt7sxN3mHP16qc0Q/99b4ec5d37b29b578943f7f67bfc2ba1/source-wizard-step-2-api-source.gif)

*Step 2: Configure an API source*



</details>

<details>
<summary>Option 2: Configure an SFTP source (beta)</summary>

> **Closed beta feature**
>
> This is a closed beta feature for a limited pilot group by invitation only. We’re not currently accepting additional participants, but we’ll let you know when it’s available to everyone.

Set the following configuration details for SFTP sources: 

1. <u>**SFTP hostname**</u>: Copy and use this hostname to send data to Redox. This is assigned by the SFTP server.
2. <u>**SFTP port**</u>: Copy and use this port number to send data to Redox. This is assigned by the SFTP server. 
3. <u>**SFTP username**</u>: Copy and use this username to authenticate data you’re pushing to Redox. This is assigned by the SFTP server. 
4. <u>**Sample SFTP command**</u>: This is an example of the kind of SFTP command you should send to Redox given the pre-assigned information above. If needed, copy the example for reference.
5. <u>**SFTP password**</u>: Click the **Reset password** button to generate one from the SFTP server. Store this value and use it to authenticate data you’re pushing to Redox. 


> **Copy your password first**
>
> Your new SFTP password only displays _once_, so be sure to copy the value before you leave this page.


6. (Optional) <u>**Sending system time zone**</u>: Select the time zone for any timestamps in data payloads you’re sending from your system. This is the time zone we’ll use to normalize timestamps in your outbound messages if the time zone isn’t specified in the payload. 
7. Add at least one **config link** to define the Redox data model and Redox base config to apply to data you’re sending. 


> **One source, multiple destinations**
>
> One source can send multiple message types (e.g., `PatientAdmin` or `Scheduling`) to a destination or the same message type to multiple destinations.
>
> You’ll need one <u>config link</u> for each <u>message type</u>, and one subscription for each <u>destination</u>.


   1. Select the **Redox FHIR data model** that data will be normalized to before sending to your connection. 


> **Data model(s) are required to pass validation**
>
> Unless you want to pass data through exactly as-is, you must select a data model. Otherwise, your message will fail validation checks. 


   2. Select the related Redox **base config** to apply, which contains customized instructions for normalizing data from your source. [Learn about base configs](https://docs.redoxengine.com/permalink/Wxms74JvgjSCtaPnJdNFD/#base-configs).


<details>
<summary>Available base config options</summary>

You need a base config link for each type of HL7v2 message you’re normalizing to FHIR from this source. Base configs are named for the type of HL7v2 message you’re sending and the FHIR notification to normalize your data to ([see our FHIR notifications](https://docs.redoxengine.com/permalink/fhir-notification-landing-page)).  

Choose one of these available base configs for sources:

- MDM to FHIR
- ORM RDE to FHIR
- ORM to FHIR
- RDE to FHIR
- ADT to FHIR
- ORU to FHIR
- SIU to FHIR
- DFT to FHIR

Just remember you’ll need a subscription for every base config link you add. [Learn how to create a subscription](/how-to-use-redox/manage-your-redox-setup/create-a-subscription).

</details>


   3. To add another base config, click the **Add config link** button and repeat the previous two steps. Otherwise, click the **Next** button to continue. 

![A user completes the SFTP source configuration in Step 2 of the source wizard.](https://images.ctfassets.net/cl3wt5ehhnlv/50llFiWR09tGrXY8iOilmh/07cd84579da194e53d0ad77d735d4ed0/source-wizard-step-2-sftp.gif)

*Step 2: Configure an SFTP source*

![A user adds multiple config links to the SFTP source.](https://images.ctfassets.net/cl3wt5ehhnlv/4rY00J8s0iRqYi3BaSAxpr/4f4ada0588542b16ac9dfd31093cecfa/source-wizard-step-2-sftp-multiple-links.gif)

*Add multiple config links*

</details>

<details>
<summary>Option 3: Configure an MLLP source (beta)</summary>

> **Closed beta feature**
>
> This is a closed beta feature for a limited pilot group by invitation only. We’re not currently accepting additional participants, but we’ll let you know when it’s available to everyone.

Set the following configuration details for MLLP sources: 

1. <u>**VPN**</u>: Select the **VPN configuration** to use to secure traffic coming from this source. 


> **No VPNs configured**
>
> Only a Redoxer can set up a VPN for you. Talk to your Technical Account Manager if you don’t see one available.


2. <u>**Sending system IP addresses**</u>: Enter the **IP address(es)** that the source sends data from to Redox. These addresses must be within the noted configured encryption domain(s) for the VPN. 
3. <u>**Redox receiving IP address**</u>: This field is pre-populated with the Redox IP address, which can't be edited.  
4. <u>**Redox receiving port**</u>: Select an available **port** to direct your outgoing traffic to Redox. 


> **Ports reserved by Redox**
>
> A Redoxer reserves one or more ports for you. A port is reserved for a single source. Talk to your Technical Account Manager if you don’t see any ports available.
>
> For traffic to be routed appropriately, data must be sent from one of the sending system IP addresses you listed to the Redox receiving IP address and a configured Redox receiving port. 


5. (Optional) <u>**Sending system time zone**</u>: Select the **time zone** for any timestamps in data payloads you’re sending from your system. This is the time zone we'll use to normalize timestamps in your outbound messages if the time zone isn't specified in the payload. 
6. Add at least one **config link** to define the Redox data model and Redox base config to apply to data you’re sending. 


> **One source, multiple destinations**
>
> One source can send multiple message types (e.g., `PatientAdmin` or `Scheduling`) to a destination or the same message type to multiple destinations.
>
> You’ll need one <u>config link</u> for each <u>message type</u>, and one subscription for each <u>destination</u>.


   1. Select the **Redox FHIR data model** that your data will be normalized to. This is the schema format that your data will be normalized to before Redox processes or sends to your connection.


> **Data model(s) are required to pass validation**
>
> Unless you want to pass data through exactly as-is, you must select a data model. Otherwise, your message will fail validation checks. 


   2. Select the related Redox **base config** to apply, which contains customized instructions for normalizing data from your source. [Learn more about base configs](https://docs.redoxengine.com/permalink/Wxms74JvgjSCtaPnJdNFD/#base-configs).


<details>
<summary>Available base config options</summary>

You need a base config link for each type of HL7v2 message you’re normalizing to FHIR from this source. Base configs are named for the type of HL7v2 message you’re sending and the FHIR notification to normalize your data to ([see our FHIR notifications](https://docs.redoxengine.com/permalink/fhir-notification-landing-page)).  

Choose one of these available base configs for sources:

- MDM to FHIR
- ORM RDE to FHIR
- ORM to FHIR
- RDE to FHIR
- ADT to FHIR
- ORU to FHIR
- SIU to FHIR
- DFT to FHIR

Just remember you’ll need a subscription for every base config link you add. [Learn how to create a subscription](/how-to-use-redox/manage-your-redox-setup/create-a-subscription).

</details>


   3. To add another base config, click the **Add config link** button and repeat the previous two steps. Otherwise, click the **Next** button to continue.

![A user completes the MLLP source configuration in Step 2 of the source wizard.](https://images.ctfassets.net/cl3wt5ehhnlv/4cpqhyWUghPATFiUgoPnNd/4fc8892d1c0f35e4287ac05bcb1a1699/source-wizard-step-2-mllp.gif)

*Step 2: Configure an MLLP source*

![A user adds multiple config links to the MLLP source.](https://images.ctfassets.net/cl3wt5ehhnlv/7F474lSUW2Ht6zyr7I7QTH/f97c216c7d908b65e74bcad9f8849d1c/source-wizard-step-2-mllp-multiple-config-links.gif)

*Add multiple config links - MLLP*

</details>

### Step 3: Confirm

1. The <u>Confirm</u> tab opens with a summary of the settings you’ve configured. When you’re finished reviewing, click the **Finish** button.
Or, click the **Back** button to change any settings before confirming.


![A source's configuration details are summarized in Step 3 of the source wizard.](https://images.ctfassets.net/cl3wt5ehhnlv/LOyW1oAvzDgcGGHq8MCQ0/d269c411b2d763d76b22dedcb30a4e17/source-wizard-step-3-confirm.png)

*Step 3: Confirmation*


2. The source is created and its confirmed settings display. 

#### Next steps

For <u>**SFTP**</u> or <u>**MLLP**</u> sources, [create a subscription](/how-to-use-redox/manage-your-redox-setup/create-a-subscription) for each config link you added.

For <u>**API**</u> sources, authenticate an API key to start sending data.


> **Authentication how-tos**
>
> Learn how to authenticate API keys: 
>
> - [OAuth API key](/api-reference/redox-data-model-api/authenticate-an-oauth-api-key) (recommended method) 
> - [legacy API key](/how-to-use-redox/manage-your-redox-setup/authenticate-a-legacy-api-key)



## Edit a source name

1. Follow the steps to view sources. 
2. Find the source you want to rename and click anywhere in its **row.** 
3. The <u>Details</u> page opens. Under the <u>Source details</u> section, click the **Edit** button. 


> **Sources you didn’t create**
>
> You can edit any source name in your organization, whether a user in your organization or a Redoxer created the source. Your editing options are the same (i.e., only source name is editable) for both API and non-API sources. 


4. The <u>Name</u> field becomes editable. Revise the **name**, then click the **Save** button.


![A user edits the source name of an API source in their organization.](https://images.ctfassets.net/cl3wt5ehhnlv/5hs5KnEx3zkyMf0emfFAhp/a207774cd0a06b7d08b32fe9ca0b7085/source-edit-name.gif)

*Edit a source name*



## Delete a source

> **Can’t delete production source**
>
> You can’t delete a <u>production</u> source without a Redoxer’s help. Talk to your Technical Account Manager if you need to delete a source in a <u>production</u> environment.

1. Follow the steps to view sources. 
2. Find the source you want to delete and click anywhere in its **row.** 
3. The <u>Details</u> page opens. Click the **Delete** button in the top-right corner.
4. A modal appears asking you to confirm the deletion. Click the **Delete** button to confirm—or the **Cancel** button if you changed your mind. 


![A user deletes a development source.](https://images.ctfassets.net/cl3wt5ehhnlv/2UYJiXrVwTOvjuUfBK4Ubl/52f17fcd2405de5acc66382519d11f8e/source-delete.gif)

*Delete a source*



> **Platform API endpoints**
>
> This article describes how to manage sources in the <u>**Redox dashboard**</u>. To manage destinations via <u>API</u>, use these <u>**Redox Platform API**</u> endpoints instead:
>
> - [Create source](https://docs.redoxengine.com/permalink/2294a6e9-3ecf-5bf8-af95-a9e8b4da42ca-create-source)
> - [Update source](https://docs.redoxengine.com/permalink/bdade324-084a-58bf-ac38-12861756dc15-update-source)
> - [Delete source](https://docs.redoxengine.com/permalink/48c5ee4d-6fd8-5952-86b9-6d1aec3d50c8-delete-source)
