Fulfillment package generation
A Fulfillment is a package of information that is sent to the requester via email, mail, or fax. Configured parameters determine what information is included in the package. Medical Information Cloud uses a third-party service from Nintex to assemble the selected content elements into a single, compliant PDF that can be sent in response to an inbound request.
Nintex generates these documents using Dynamic Document Packages (DDPs) which contain the necessary configuration and templates.
Once an authorized user clicks the Generate Package button on the Fulfillment record, a customized modal appears on which the user can select their package configuration options.
After the user clicks Run, the Running Jobs utility bar at the bottom of the page opens, showing the progress of the package generation. The utility bar can be minimized or kept open throughout the process and once completed, will contain a link to the Fulfillment record.
When the Fulfillment has completed processing or if an error has occurred, users are notified in the Running Jobs utility bar and via bell notification at the top of the page. Additionally, once a Fulfillment is closed or canceled, the Package Job will no longer appear in the Utility Bar.
To configure, visit Configure Fulfillment package.
Troubleshooting Nintex errors
In the event you experience an error during fulfillment package generation, Komodo Health recommends performing the following troubleshooting steps:
Make sure the documents actually have files and placeholders.
Review the special considerations section and check every document in the package for compliance.
If you are still experiencing issues, we recommend that you open a Nintex case with the error ID.
Dynamic document packages
Dynamic document packages use DocGen Packages (DDPs) to tell Nintex how to generate documents in your Salesforce environment. Medical Information Cloud DDPs are used to generate Fulfillment Packages and create Snapshots of Medical Information Cloud records. In addition, DDPs make these Medical Information Cloud buttons work: Generate Package, Generate Snapshot, and Send to Safety.
Note
Dynamic document packages are used for fulfillments only.
Document uploads
When a document is uploaded to Medical Information Cloud, the user must complete the required fields below on the New Document modal.
Title - pre-populated once the document is uploaded.
Language - dropdown menu.
Product - search field to find the related product.
Allowed Audience - select what type of user can view the document (employee, non-HCP, HCP).
Region - the region in which the document will be available.
Delivery Option - the option selected tells the system how to handle the document when it is associated with an Interaction and Request. The value selected for this field also determines how the document is included in a Fulfillment Package.
Document merges
The value selected in the Delivery Options field determines how the document is included in a Fulfillment Package. Options specific to Fulfillment Packages include:
Attach Separate, Original Format - when selected, the document will be included in the Fulfillment package as a separate document in the format it was originally uploaded in (e.g., .docx, xlsx).
Attach Separate, PDF - includes the file in the Fulfillment package as a separate PDF.
Merge into Package - includes the document and any others related to the Interaction that also have the Merge into Package distinction, into a single PDF.
Send as Link - allows the document to be delivered to the requester via link.
Delivery options are sorted according to the Delivery Option order specified on the Default Dynamic Package.
Load dynamic document packages
You can either use the Medical Information Cloud default Dynamic Document Packages or create your own Dynamic Document Packages, which must include specific tags.
To load the Medical Information Cloud Inquiry Management default Dynamic Document Packages into your Salesforce environments:
Run the following code via Execute Anonymous in a developer sandbox. See Salesforce's documentation.
(Optional) Make any changes that you would like to the Dynamic Document Packages.
Migrate the changes to your test and production environments as part of your customizations deployment/release.
Special considerations
Keep the following special considerations in mind when configuring and using the Fulfillment Package generation process:
Users must be using the Medical Information Cloud User permission set and the Nintex User permission set.
The file types that can be converted to PDFs for package generation include:
Microsoft Word (.doc, .docx)
Microsoft Excel (.xla, xlsx, xlsm)
Microsoft PowerPoint (.ppt, .pptx)
PDF
Plain Text (.txt)
CSV (comma-separated values)
Note
Any non-Microsoft documents will be attached separately, producing multiple files instead of one consolidated PDF.
Only native Word fonts are supported. If a generated PDF has font issues, embed the fonts in the Microsoft document(s) and regenerate the package.
Do not password protect files.
Do not mix .doc and .docx files within the same package.
Visit Supported/non-supported features for additional considerations.
Supported/non-supported features
The following DDP features are supported:
Insert-update
Data sources
Merge fields
The following features are not supported:
Pause to edit
DocGen package forms
Documents (list on DDP is dynamically created and any in the DDP template are ignored)
Configure Fulfillment package
To configure the Fulfillment package process, create or modify the following custom metadata types:
Local Setting (
MED_Local_Setting__mdt
). Key fields include:Template DDP Name (
MED_template_DDP_Name__c
)PI and Originals DDP Name (
MED_PI_and_Originals_DDP_Name__c
)
Global Setting (
MED_Global_Setting__mdt
). Key fields include:Document Folder Name (
MED_Document_Folder_Name__c
)Component Document Type (
MED_Component_Document_Type__c
)PI Component Document Type (
MED_PI_Component_Document_Type__c
)PI Component Document SubType (
MED_PI_Component_Document_Subtype__c
)
Dynamic Fulfillment Filter (
MED_Dynamic_Fulfillment_Filter_mdt
). Key fields include:Document Field (
MED_Document_Field__c
)Dynamic Fulfillment Setting (
MED_Dynamic_Fulfillment_Setting__c
)Fulfillment Field (
MED_Fulfillment_Field__c
)
Dynamic Fulfillment Setting (
MED_Dynamic_Fulfillment_Setting__mdt
). Key fields include:All required (
MED_All_required__c
)Document Subtype (
MED_Document_Subtype__c
)Merge within Section (
MED_Merge_within_Section__c
)Merge with Previous Section (
MED_Merge_with_Previous_Section__c
)Order (
MED_Order__c
)Section Label (
MED_Section_Label__c
)Note
A section label is required when using the new fulfillment process.
Segment (
MED_Segment__c
)
Enable functionality
To enable functionality:
Add the Generate Fulfillment Package (
MED_Generate_Fulfillment_Package
) button to the appropriate Fulfillment page layout via the Enhanced Page Layout Editor. For information on how to add buttons to page layouts, visit Salesforce's Define Custom Buttons and Links.Add the MIC - Nintex Queue (
MED_NintexQueue
) utility bar component to the Medical Information Cloud app and set the component to run automatically. For more information about the utility bar in Medical Information Cloud, visit Utility bar.In Setup, search for and select App Manager.
To the right of the MIC (
Medical_Information_Cloud
) app, click the ellipsis and then Edit.Click Utility Items (Desktop Only).
Ensure that the MIC - Nintex Queue (
MED_NintexQueue
) component is in the utility bar. If it is not, click Add Utility Items and then MIC - Nintex Queue.(Optional) Rename the label of the component from "MIC - Nintex Queue" to "Running Jobs".
Ensure that the MIC - Nintex Queue component is set to start automatically. If it is not, check Start automatically.
Click Save.
Note
The package generation on the fulfillment process will not run unless the component is visible in the active app.
Configure follow-up opt in/opt out emails
Requesters can opt in or opt out of receiving email updates from Request Follow-Ups. To configure this feature, first create new public sites for both opting in and opting out and then update the out-of-the-box Fulfillment email templates to include these two options.
Create a public site
To create an opt-in site:
In the Quick Find box in Setup, search for and select Sites.
Click New.
Add a Site Label (this will be the name of the site as seen in the user interface).
The Site Name field automatically populates with an API name based on the value in the Label field.
Set the site's default web address, e.g., "subscribe".
Set the Active Site Home Page to
MED_RequestFollowUpSubscribe
.Leave the remaining fields with their default values.
Click Save.
To create an opt-out site:
In the Quick Find box in Setup, search for and select Sites.
Click New.
Add a Site Label (this will be the name of the site as seen in the user interface).
The Site Name field automatically populates with an API name based on the value in the Label field.
Set the site's default web address, e.g., "unsubscribe".
Set the Active Site Home Page to
MED_RequestFollowUpUnsubscribe
.Leave the remaining fields with their default values.
Click Save.
Updating out-of-the-box fulfillment email templates
To update the Fulfillment Template for opting in:
In the Quick Find box in Setup, search for and select Classic Email Templates.
Click Fulfillment Template.
Click Edit HTML Version.
In the Subscribe Public Site field replace with the URL of the opt-in site you created.
Click Save.
To update the Follow-up Fulfillment Template for opting out:
In the Quick Find box in Setup, search for and select Classic Email Templates.
Click Follow-up Fulfillment Template.
Click Edit HTML Version.
In the Unsubscribe Public Site field, replace it with the URL of the opt-out site you created.
Click Save.
Updating custom fulfillment email templates for opting in
To update the custom Fulfillment template for opting in:
In the Quick Find box in Setup, search for and select Classic Email Templates.
Click or create the desired template.
Click Edit HTML version.
In the Email Body field, build your embeddable link by combining the Opt In Site link with the URL formula provided and replacing the Subscribe Public Site with the URL of the opt-in site you created.
Example 3. Email Body ExampleOpt In Site link: https://micsit-medinfo.cs122.force.com/subscribe
URL formula: (Subscribe Public Site)?token={!MED_Fulfillment__c.MED_Follow_Up_Token__c}
Result: https://micsit-medinfo.cs122.force.com/subscribe?token={!MED_Fulfillment__c.MED_Follow_Up_Token__c}
Embed the result into the desired text (example: Click Here) within the Email Template.
Click Save.
Updating the custom follow-up fulfillment template for opting out
To update the custom follow-up fulfillment template for opting out:
In the Quick Find box in Setup, search for and select Classic Email Templates.
Click or create the desired template.
Click Edit HTML Version.
Build your embeddable link by combining the Opt Out Site link with the URL formula provided and replacing the Subscribe Public Site with the URL of the opt-out site you created.
Example 4. Email Body ExampleOpt out site link: Build your embeddable link by combining the Opt Out Site link with the URL formula provided by replacing (Subscribe Public Site) with the URL of the opt-out site you created.
URL Formula: (Unsubscribe Public Site)?token={!MED_Fulfillment__c.MED_Follow_Up_Token__c}
Result: https://micsit-medinfo.cs122.force.com/unsubscribe?token={!MED_Fulfillment__c.MED_Follow_Up_Token__c}
Embed the result into the desired text (example: Click Here) within the Email Template.
Click Save.
Consent field updates
When a user clicks either the subscribe or unsubscribe link in one of the templates used above, the follow-up consent fields on the associated request automatically update in the following manner:
Opting In: Sets the Requester Consent checkbox to checked.
Opting Out: Sets the Requester Consent checkbox to unchecked and populates the opt-out date field.
Metadata
The objects listed below help define, configure, and facilitate the fulfillment package generation process.
Package Job (
mvn__MED_Package_Job__c
) - a custom object that facilitates Dynamic Document Package (DDP) processing.Dynamic Fulfillment Filter (
MED_Dynamic_Fulfillment_Filter__mdt
) - settings that control the filter criteria for documents pulled from the CMS into the DDP.Dynamic Fulfillment Setting (
MED_Dynamic_Fulfillment_Setting__mdt
) - settings that control the documents and sections pulled in and how they behave in the DDP.Global Setting (
MED_Global_Setting__mdt
) - global settings used to control the behavior of the system and define some configuration mappings.Local Setting (
MED_Local_Setting__mdt
) - configuration settings for countries.