# Configure MFDS AS2 Connection

Veeva Safety supports electronic reporting to the Korean Ministry of Food and Drug Safety (MFDS) Gateway through AS2 (system-to-system) communication. The MFDS Gateway can be used for ICSR submissions to the MFDS in the <a href="/en/lr/782789/">MFDS E2B(R3)</a> file format. Vault's integration with the MFDS allows you to set up an <a href="/en/lr/703946/">_AS2 Connection_</a> to submit ICSRs directly from Safety and receive gateway responses.

## Prerequisites

In addition to enabling <a href="/en/lr/01459/">_AS2 Connections_</a>, you must [activate the MFDS _Agency_ as a Standard Organization][0].

### Prerequisite: Activate MFDS as a Standard Organization {#activate-mfds}

The MFDS is a standard _Agency_ provided with Safety. However, in certain Vaults, your Admin must activate the _Agency_ record.

Complete the following steps if the MFDS is inactive in your Vault:

1. Navigate to **Business Admin > Objects > Organizations**.
2. Open the **MFDS** _Agency_ record.
3. From the **All Actions** menu, select **Change State to Active**.


<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: 
The <strong>Change State to Active</strong> user action appears only if configured by your Admin. <a href="/en/lr/01433/#add-user-action-to-the-organization-lifecycle-inactive-state">Enable Regulatory Agencies as Standard Organizations</a> provides instructions.</p>
    </div>
  </div>
</div>



## Configure an MFDS Account

Before you can configure the Safety _AS2 Connection_, you must have an active MFDS AS2 account.

### Public and Private Certificates

As part of the MFDS registration process, you must obtain a public and private certificate pair and send the public certificate to the MFDS.
Your Admin can <a href="/en/lr/872385/#create-sponsor-cert">create these certificates within Vault</a>.

## Configure the MFDS Transmission Profile {#configure-an-mfds-transmission-profile}

Safety has a system-provided MFDS _Transmission Profile_ for electronic MFDS _Submissions_. You must configure this <a href="/en/lr/01202/">_Transmission Profile_</a> as part of the MFDS Gateway setup.

See the following guidance on setting the _Origin_ and _Destination IDs_ on _Transmission Profiles_:

* **Origin ID**: Enter the ID registered with the MFDS.
* **Destination ID**: Enter `MFDS`.

Setting up the MFDS _Transmission Profile_ supports generating _Submissions_ based on your Vault's <a href="/en/lr/01256/">reporting rules</a> for MFDS.

## Add a Safety Rule Set

Vault does not provide a standard MFDS _Safety Rule Set_ for ICSR submissions. To support transmissions to the MFDS in MFDS E2B(R3) format, you can create and configure your own <a href="/en/lr/873466/">custom _Safety Rule Set_</a> to meet agency requirements.

## <a id="create-as2-connection"></a> Configure a Safety AS2 Connection

1. Navigate to **Admin > Connections**, then select **Create**.
2. For the **Connection Type**, select **AS2**, then select **Continue**.
3. Complete the applicable <a href="#as2-connection-fields">fields</a>.
4. Select **Save**.

### AS2 Connection Fields {#as2-connection-fields}

With the exception of <a href="#transfer-fields">_Transfer Connection_</a> fields and fields populated by Vault, complete all fields in the following sections:

* <a href="#details-fields">AS2 Details Fields</a>
* <a href="#partner-fields">AS2 Partner Details Fields</a>
* <a href="#sponsor-fields">AS2 Sponsor Details Fields</a>

#### AS2 Details Fields {#details-fields}

<table>
    <thead>
        <tr>
            <th>
                Field
            </th>
            <th>
                Description
            </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <em>Name</em>
            </td>
            <td>
                Enter a name for the <em>AS2 Connection</em>.<br>
                This name must be unique in your Vault.
            </td>
        </tr>
        <tr>
            <td>
                <em>API Name</em>
            </td>
            <td>
                Enter an API Name for the <em>AS2 Connection</em>.<br>
                This name must be unique in your Vault.<br>
            </td>
        </tr>
        <tr>
            <td>
                <em>Description</em>
            </td>
            <td>
                Enter a description for the <em>AS2 Connection</em>.
            </td>
        </tr>
        <tr>
            <td>
                <em>Contact Email</em>
            </td>
            <td>
                Enter the Sender's Email.
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Vault Gateway State</em><a id="as2-vault-gateway-state"></a>
            </td>
            <td>
                Vault populates this field with the current state of the AS2 Vault Gateway, which consists of one (1) of the following options:
                <ul>
                    <li>
                        <strong>Unregistered</strong>: The <strong>Sync to Gateway</strong> action has not yet been run for this <em>AS2 Connection</em>.
                    </li>
                    <li>
                        <strong>Registered</strong>: The <em>AS2 Connection</em> is synchronized with the Gateway.
                    </li>
                    <li>
                        <strong>Out of Sync</strong>: Changes have been made to the <em>AS2 Connection</em> or its Connection Allowed List since the last time the <strong>Sync to Gateway</strong> action was run. From the <strong>All Actions</strong> menu, select <strong>Sync To Gateway</strong> to resync the <em>AS2 Connection</em> with the Gateway.
                    </li>
                </ul>
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Encryption</em>
            </td>
            <td>
                The algorithm Vault uses to encrypt outbound AS2 messages and decrypt inbound messages.<br>Vault supports the following algorithms:
                <ul>
                    <li>Triple DES (3DES)</li>
                    <li>AES-256-GCM</li>
                    <li>AES-256-CBC</li>
                </ul>
                
                        For the MFDS, select <strong>AES-256-CBC</strong>.
                    
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 MDN Setting</em>
            </td>
            <td>
                Whether the Message Delivery Notification (MDN) can be exchanged synchronously (<strong>Sync</strong>) or asynchronously (<strong>Async</strong>).<br>
                
                        For the MFDS, select <strong>Sync</strong>.
                    
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Signature</em>
            </td>
            <td>
                The method Vault uses to sign outbound AS2 messages. Vault supports the following signing methods:
                <ul>
                    <li>SHA-1</li>
                    <li>SHA-256</li>
                </ul>
                
                        For the MFDS, select <strong>SHA-256</strong>.
                    
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Additional ACK Stages</em>
            </td>
            <td>
                If required, select one (1) or more of the following options:
                <ul>
                    <li>
                        <strong>HTTP Handshake</strong>: Used primarily for asynchronous requests.
                    </li>
                    <li>
                        <strong>PRE-ACK</strong>: Used mainly for FDA VAERS, but can be used with synchronous or asynchronous requests.
                    </li>
                </ul>
                <div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: We do not recommend using any additional ACK stages.</p>
    </div>
  </div>
</div>


            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Partner Sends ACK on MDN URL</em><a id="partner-ack-on-mdn-url"></a>
            </td>
            <td>
                <p>
                    The default setting for this field is <em>No</em>, as Vault expects an AS2 partner to send the ACK using a different URL than that used to send the MDN.
                </p>
                <p>
                
                        Select <strong>No</strong>.
                
                </p>
                <p>
                    For more information about AS2 gateway communications, see <a href="/en/lr/01266/#what-is-as2-gateway-communication">Send a Gateway Transmission</a>.
                </p>
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Compression Settings</em><a id="as2-compression-settings"></a>
            </td>
            <td>
                
                        For the MFDS, select <strong>Compress After Sign (Standard)</strong>.
                    
            </td>
        </tr>
    </tbody>
</table>

#### AS2 Partner Details Fields {#partner-fields}

<table>
    <thead>
        <tr>
            <th>
                Field
            </th>
            <th>
                Description
            </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <em>AS2 Partner ID</em>
            </td>
            <td>
                
                        <p>
                            Enter one of the following MFDS identification codes:
                        </p>
                        <ul>
                            <li>For a production account, enter the value supplied to you by the MFDS</li>
                            <li>For a test account, enter the value supplied to you by the MFDS</li>
                        </ul>
                        <p>
                            Whether you are submitting <em>Study</em> or postmarket <em>Cases</em>, enter one (1) of these values. This value cannot include spaces. Instead, use a hyphen (<code>-</code>) or an underscore (<code>_</code>). You can specify the destination gateway endpoint in the <em>Transmission Profile</em>.
                        </p>
                    
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Partner URL</em>
            </td>
            <td>
                
                        <p>
                            Enter one (1) of the following destination MFDS Gateway URLs:
                        </p>
                        <ul>
                            <li>
                                For a production account, enter the value supplied to you by the MFDS.
                            </li>
                            <li>
                                For a test account, enter the value supplied to you by the MFDS.
                            </li>
                        </ul>
                    
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Partner Certificate Expiry</em>
            </td>
            <td>
                Vault populates this field when your Admin <a
                href="#upload-certificates">uploads the partner certificate</a>.
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Partner Certificate Serial Number</em>
            </td>
            <td>
                When you upload a new partner certificate for this connection, Vault sets this field to the Serial Number of the certificate in decimal format.
            </td>
        </tr>
    </tbody>
</table>

#### AS2 Sponsor Details Fields {#sponsor-fields}

<table>
    <thead>
        <tr>
            <th>
                Field
            </th>
            <th>
                Description
            </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <em>AS2 Vault ID</em>
            </td>
            <td>
                
                      Enter the sponsor ID registered with the MFDS. This value is the same as the customer's Routing ID you provided when setting up your MFDS account. This value cannot include spaces. Instead, use a hyphen (<code>-</code>) or an underscore (<code>_</code>).
                    
            </td>
        </tr>
        <tr>
            <td>
                <a id="as2-vault-url"></a>
                <em>AS2 Vault URL</em>
            </td>
            <td>
                
                        <p>
                            Vault populates this field when you enter the <strong><a href="#as2-vault-domain-ip-config">AS2 Vault Domain / IP Configuration</a></strong> field below.
                        </p>
                        <p>
                            For the MFDS, Vault populates this field with the <a href="#mfds-ip-url">IP URL</a> based on your <a href="/en/lr/750407/#vault-information">POD</a> region and release type (Limited or General):
                        </p>
                        <table>
                            <thead>
                                <tr>
                                    <td><strong>Region</strong></td>
                                    <td><strong>Release Type</strong></td>
                                    <td><strong>IP URL</strong></td>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td rowspan="2" >North America</td>
                                    <td>Limited</td>
                                    <td>https://75.2.119.25</td>
                                </tr>
                                <tr>
                                    <td>General</td>
                                    <td>https://3.33.180.188</td>
                                </tr>
                                <tr>
                                   <td rowspan="2" >European Union</td>
                                   <td>Limited</td>
                                   <td>https://3.33.235.136</td>
                                </tr>
                                <tr>
                                   <td>General</td>
                                   <td>https://13.248.205.29</td>
                                </tr>
                                <tr>
                                    <td rowspan="2" >Asia & Pacific</td>
                                    <td>Limited</td>
                                    <td>https://3.33.237.181</td>
                                </tr>
                                <tr>
                                    <td>General</td>
                                    <td>https://13.248.198.5</td>
                                </tr>
                            </tbody>
                        </table>
                        <p>
                            <strong>Informing the Partner of your AS2 Vault URL</strong>
                        </p>
                        <p>
                            When informing the partner of the URL they need to use for this <em>AS2 Connection</em>, use the <strong>IP URL</strong> that Vault used to populate this field appended with <code>:4080/api/v1/inbound/transmission</code>. For example, a Vault on a North America Limited Release POD has the following URL: <code>https://75.2.119.25:4080/api/v1/inbound/transmission</code>.
                        </p>
                    
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Vault Certificate Expiry</em>
            </td>
            <td>
                Vault populates this field when your Admin <a
                href="#upload-certificates">uploads the sponsor certificate</a>.
            </td>
        </tr>
        <tr>
            <td>
                <em>AS2 Vault Certificate Serial Number</em>
            </td>
            <td>
                When you upload a new sponsor certificate for this connection, Vault sets this field to the Serial Number of the certificate.
            </td>
        </tr>
        <tr>
            <td>
                <a id="as2-vault-domain-ip-config"></a>
                <em>AS2 Vault Domain / IP Configuration</em>
            </td>
            <td>
                <p>
                    Select the method the partner uses to interface with the <em>AS2 Connection</em>.
                </p>
                <ul>
                    <li><strong>AS2 Vault URL: Domain Name (typical)</strong>: A standard domain name that resolves to dynamic IP addresses.</li>
                    <li><strong>AS2 Vault URL: Domain Name bound to static IP addresses</strong>: A standard domain name that resolves to static IP addresses.</li>
                    <li><strong>AS2 Vault URL: IP URL (uncommon)</strong>: A non-standard IP address domain name that resolves to an IP address.</li>
                </ul>
                
                      <a id="mfds-ip-url"></a>For the MFDS, select <strong>AS2 Vault URL: IP URL (uncommon)</strong>.
                    
            </td>
        </tr>
    </tbody>
</table>

#### Transfer Connection Fields {#transfer-fields}

Leave the fields in this section blank.


### Upload the Partner and Sponsor Certificates {#upload-certificates}

Safety uses
<a href="/en/lr/872385/">partner and sponsor certificates</a>
to communicate securely with the partner. You will have received the partner certificate as part of creating your account with the partner.

Complete the following steps to create and upload these certificates:
* <a href="/en/lr/872385/#upload-partner-cert">Upload the partner certificate for the connection</a>.
* <a href="/en/lr/872385/#create-sponsor-cert">Create a sponsor certificate for the connection</a>.

### Add Connection Allowed IPs

Specify one (1) or more Allowed Connections for the _AS2 Connection_. These are Internet Protocol (IP) addresses that Vault will allow to connect with this _AS2 Connection_.

Perform the following steps for each Allowed Connection you want to add to the _AS2 Connection_:

1. Navigate to **Admin > Connections > [Connection] > Connection Allowed Lists**, then select **Create**.
2. On the **Create Connection Allowed List** window, complete the following information:
  * **Name**: Enter a name for the Allowed Connection.
  * (Optional) **Description**: Enter a description for the Allowed Connection.
  * **IP**: Enter the address of the Allowed Connection. \
  Ensure the format of the **IP** address is `XX.XX.XX.XX` or `XX.XX.XX.XX/{subnet mask}` where the `{subnet mask} `is a number between 24 and 32.
3. Repeat the above steps for each Allowed Connection.
4. When you have added all the Allowed Connections, select **Save**.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: By default, Vaults are limited to 512 Allowed Connections. If your organization requires more, contact your Veeva Representative.</p>
    </div>
  </div>
</div>



### Synchronize the Connection {#sync-as2-connection}

Once you have entered all the details of the _AS2 Connection_, the Connection must be synchronized with the Gateway.

From the **All Actions** menu, select **Sync Connection to Gateway**.

When Vault successfully completes this action, the Connection's [AS2 Vault Gateway State](#as2-vault-gateway-state) changes to **Registered** and Vault can send and receive messages using this Connection.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: If the <em>Sync Connection to Gateway</em> action is not successful, ensure each field value on the <em>AS2 Connection</em> is correct before retrying the action again. If the issue persists, <a href="/en/lr/728014/">troubleshoot the connection</a>.</p>
    </div>
  </div>
</div>



If you make any changes to the **Connection** object or its Connection Allowed List, the **AS2 Vault Gateway State** changes to **Registered - Out of Sync**. Vault cannot send or receive any messages using this Connection while it is in the **Registered - Out of Sync** state. You will need to repeat the **All Actions > Sync to Gateway** action to restore the Connection to the **Registered** state.


**Result**

The MFDS _AS2 Connection_ is active and available to use to submit case reports to the MFDS.

## Configure Transmission Lifecycles and Workflows

We recommend that you configure _Transmission_ lifecycles and workflows to align with your organization's standard operating procedures. The following items are best practices and recommendations:

* Configure a _Case Transmission Error_ workflow to handle _Transmission_ errors.
* Configure a workflow to prevent a _Transmission_ record from entering a _Ready for Submission_ state until a _Transmission Profile_ is specified.

<a href="/en/lr/29798/">About Object Lifecycles</a> and <a href="/en/lr/33498/">About Object Workflows</a> provide more information about configuring lifecycles and workflows.

[0]: #activate-mfds
[1]: #configure-an-mfds-transmission-profile