From 33f513dd7970e582a7923df114a44e2ad457cfc2 Mon Sep 17 00:00:00 2001
From: bflynn-cms
Date: Wed, 27 Mar 2024 19:17:19 -0500
Subject: [PATCH] Email templates - withdraw CHIP SPA, New Waiver, Response to
Waiver RAI (#463)
* add withdraw chip spa package emails for cms and state
* add 1915(b) Initial waiver emails
* add 1915b rai response emails
* fix 90 day lookup and withdraw chip spa template
* consolidate 90days lookup
* replace withdraw request confirmation with withdraw confirmation email
* add withdraw 1915b waiver email
* add notificationMetadata to the kafka event
* refactor notificationMetaData to its own schema so it can be included on multiple action types
* add notificationmetadata to rai response package action
* fix merge error and simplify addtion of notificationMetadata to kafka message
---
.../action-types/new-submission.ts | 8 +-
.../action-types/respond-to-rai.ts | 2 +
.../shared-types/notification-metadata.ts | 9 +
src/services/api/handlers/packageActions.ts | 8 +-
src/services/api/handlers/submit.ts | 4 +-
src/services/email/libs/bundle-lib.js | 64 ++-
src/services/email/libs/data-lib.js | 15 +-
src/services/email/libs/os-lib.js | 2 +-
.../email/ses-email-templates/index.js | 363 ++++++++++++++++--
9 files changed, 413 insertions(+), 62 deletions(-)
create mode 100644 src/packages/shared-types/notification-metadata.ts
diff --git a/src/packages/shared-types/action-types/new-submission.ts b/src/packages/shared-types/action-types/new-submission.ts
index 1be83d3153..0b4aba66c9 100644
--- a/src/packages/shared-types/action-types/new-submission.ts
+++ b/src/packages/shared-types/action-types/new-submission.ts
@@ -1,5 +1,6 @@
import { z } from "zod";
import { attachmentSchema } from "../attachments";
+import { notificationMetadataSchema } from "../notification-metadata";
// This is the event schema for ne submissions from our system
export const onemacSchema = z.object({
@@ -13,12 +14,7 @@ export const onemacSchema = z.object({
submitterEmail: z.string(),
attachments: z.array(attachmentSchema).nullish(),
raiWithdrawEnabled: z.boolean().default(false),
- notificationMetadata: z
- .object({
- proposedEffectiveDate: z.number().nullish(),
- submissionDate: z.number().nullish(),
- })
- .nullish(),
+ notificationMetadata: notificationMetadataSchema.nullish(),
// these are specific to TEs... should be broken into its own schema
statusDate: z.number().optional(),
submissionDate: z.number().optional(),
diff --git a/src/packages/shared-types/action-types/respond-to-rai.ts b/src/packages/shared-types/action-types/respond-to-rai.ts
index d66a7be67d..91c821f451 100644
--- a/src/packages/shared-types/action-types/respond-to-rai.ts
+++ b/src/packages/shared-types/action-types/respond-to-rai.ts
@@ -1,5 +1,6 @@
import { z } from "zod";
import { attachmentSchema } from "../attachments";
+import { notificationMetadataSchema } from "../notification-metadata";
export const raiResponseSchema = z.object({
id: z.string(),
@@ -11,5 +12,6 @@ export const raiResponseSchema = z.object({
additionalInformation: z.string().nullable().default(null),
submitterName: z.string(),
submitterEmail: z.string(),
+ notificationMetadata: notificationMetadataSchema.nullish(),
});
export type RaiResponse = z.infer;
diff --git a/src/packages/shared-types/notification-metadata.ts b/src/packages/shared-types/notification-metadata.ts
new file mode 100644
index 0000000000..99c01cc36b
--- /dev/null
+++ b/src/packages/shared-types/notification-metadata.ts
@@ -0,0 +1,9 @@
+import { z } from "zod";
+
+// This is addiitonal notification metadata needed for email
+export const notificationMetadataSchema = z.object({
+ proposedEffectiveDate: z.number().nullish(),
+ submissionDate: z.number().nullish(),
+});
+
+export type NotificationMetadata = z.infer;
diff --git a/src/services/api/handlers/packageActions.ts b/src/services/api/handlers/packageActions.ts
index d5ee527982..9d7cc31680 100644
--- a/src/services/api/handlers/packageActions.ts
+++ b/src/services/api/handlers/packageActions.ts
@@ -30,7 +30,7 @@ import {
import { produceMessage } from "../libs/kafka";
import { response } from "../libs/handler";
import { SEATOOL_STATUS } from "shared-types/statusHelper";
-import { formatSeatoolDate, seaToolFriendlyTimestamp } from "shared-utils";
+import { formatSeatoolDate, seaToolFriendlyTimestamp, getNextBusinessDayTimestamp } from "shared-utils";
import { buildStatusMemoQuery } from "../libs/statusMemo";
const TOPIC_NAME = process.env.topicName as string;
@@ -171,6 +171,9 @@ export async function withdrawRai(body: RaiWithdraw, document: any) {
JSON.stringify({
...result.data,
actionType: Action.WITHDRAW_RAI,
+ notificationMetadata: {
+ submissionDate: getNextBusinessDayTimestamp()
+ },
}),
);
@@ -273,6 +276,9 @@ export async function respondToRai(body: RaiResponse, document: any) {
...result.data,
responseDate: today,
actionType: Action.RESPOND_TO_RAI,
+ notificationMetadata: {
+ submissionDate: getNextBusinessDayTimestamp()
+ },
}),
);
diff --git a/src/services/api/handlers/submit.ts b/src/services/api/handlers/submit.ts
index e6f17d4063..617eda0827 100644
--- a/src/services/api/handlers/submit.ts
+++ b/src/services/api/handlers/submit.ts
@@ -237,8 +237,8 @@ export const submit = async (event: APIGatewayEvent) => {
// ${subTypeIdsInsert}
// data for emails
- body.notificationMetadata = {
- submissionDate,
+ eventBody.data.notificationMetadata = {
+ submissionDate: submissionDate,
proposedEffectiveDate: body.proposedEffectiveDate,
};
diff --git a/src/services/email/libs/bundle-lib.js b/src/services/email/libs/bundle-lib.js
index 8ae87c32b9..3fc157df3c 100644
--- a/src/services/email/libs/bundle-lib.js
+++ b/src/services/email/libs/bundle-lib.js
@@ -2,7 +2,7 @@ const getBundleFromEvent = (configKey, stage) => {
switch (configKey) {
case "new-submission-medicaid-spa":
return {
- "dataList": ["osgEmail", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "proposedEffectiveDateNice", "ninetyDaysDateNice", "additionalInformation", "formattedFileList", "textFileList"],
+ "dataList": ["osgEmail", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "proposedEffectiveDateNice", "ninetyDaysDate", "additionalInformation", "formattedFileList", "textFileList"],
"emailCommands": [{
"Template": `new-submission-medicaid-spa-cms_${stage}`,
"ToAddresses": ["osgEmail"],
@@ -13,10 +13,47 @@ const getBundleFromEvent = (configKey, stage) => {
},
]
};
+ case "new-submission-1915b":
+ return {
+ "dataList": ["osgEmail", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "authority", "proposedEffectiveDateNice", "ninetyDaysDate", "additionalInformation", "formattedFileList", "textFileList"],
+ "emailCommands": [{
+ "Template": `new-submission-1915b-cms_${stage}`,
+ "ToAddresses": ["osgEmail"],
+ },
+ {
+ "Template": `new-submission-1915b-state_${stage}`,
+ "ToAddresses": ["submitter"],
+ },
+ ]
+ };
+ case "respond-to-rai-1915b":
+ return {
+ "lookupList": ["osInsights"],
+ "dataList": ["osgEmail", "cpoc", "srt", "dmcoEmail", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "authority", "ninetyDaysDate", "additionalInformation", "formattedFileList", "textFileList"],
+ "emailCommands": [{
+ "Template": `respond-to-rai-1915b-cms_${stage}`,
+ "ToAddresses": ["osgEmail", "cpoc", "srt", "dmcoEmail"]
+ },
+ {
+ "Template": `respond-to-rai-1915b-state_${stage}`,
+ "ToAddresses": ["submitter"],
+ },
+ ]
+ };
+ case "withdraw-package-1915b":
+ return {
+ "lookupList": ["osInsights","cognito"],
+ "dataList": ["allState", "id", "submitterName"],
+ "emailCommands": [
+ {
+ "Template": `withdraw-package-1915b-state_${stage}`,
+ "ToAddresses": ["allState"],
+ }],
+ };
case "respond-to-rai-medicaid-spa":
return {
"lookupList": ["osInsights"],
- "dataList": ["osgEmail", "cpoc", "srt", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "proposedEffectiveDateNice", "ninetyDaysLookupNice", "additionalInformation", "formattedFileList", "textFileList"],
+ "dataList": ["osgEmail", "cpoc", "srt", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "proposedEffectiveDateNice", "ninetyDaysDate", "additionalInformation", "formattedFileList", "textFileList"],
"emailCommands": [{
"Template": `respond-to-rai-medicaid-spa-cms_${stage}`,
"ToAddresses": ["osgEmail", "cpoc", "srt"],
@@ -56,7 +93,7 @@ const getBundleFromEvent = (configKey, stage) => {
};
case "new-submission-chip-spa":
return {
- "dataList": ["osgEmail", "chipInbox", "chipCcList", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "proposedEffectiveDateNice", "ninetyDaysDateNice", "additionalInformation", "formattedFileList", "textFileList"],
+ "dataList": ["osgEmail", "chipInbox", "chipCcList", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "proposedEffectiveDateNice", "ninetyDaysDate", "additionalInformation", "formattedFileList", "textFileList"],
"emailCommands": [{
"Template": `new-submission-chip-spa-cms_${stage}`,
"ToAddresses": ["osgEmail", "chipInbox"],
@@ -71,7 +108,7 @@ const getBundleFromEvent = (configKey, stage) => {
case "respond-to-rai-chip-spa":
return {
"lookupList": ["osInsights"],
- "dataList": ["osgEmail", "chipInbox", "chipCcList", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "proposedEffectiveDateNice", "ninetyDaysLookupNice", "additionalInformation", "formattedFileList", "textFileList"],
+ "dataList": ["osgEmail", "chipInbox", "chipCcList", "submitter", "id", "applicationEndpoint", "territory", "submitterName", "submitterEmail", "proposedEffectiveDateNice", "ninetyDaysDate", "additionalInformation", "formattedFileList", "textFileList"],
"emailCommands": [{
"Template": `respond-to-rai-chip-spa-cms_${stage}`,
"ToAddresses": ["osgEmail", "chipInbox"],
@@ -98,6 +135,20 @@ const getBundleFromEvent = (configKey, stage) => {
},
]
};
+ case "withdraw-package-chip-spa":
+ return {
+ "lookupList": ["osInsights","cognito"],
+ "dataList": ["chipInbox", "cpoc", "srt", "chipCcList", "allState", "id", "territory", "submitterName", "submitterEmail", "additionalInformation"],
+ "emailCommands": [{
+ "Template": `withdraw-package-chip-spa-cms_${stage}`,
+ "ToAddresses": ["chipInbox", "cpoc", "srt"],
+ "CcAddresses": ["chipCcList"]
+ },
+ {
+ "Template": `withdraw-package-chip-spa-state_${stage}`,
+ "ToAddresses": ["allState"],
+ }],
+ };
default:
return { message: `no bundle defined for configKey ${configKey}`};
}
@@ -106,9 +157,10 @@ const getBundleFromEvent = (configKey, stage) => {
const buildKeyFromRecord = (record) => {
if (record?.origin !== "micro" || !record?.authority) return;
- const actionType = record?.actionType ? record.actionType : "new-submission";
+ const actionType = record?.actionType ?? "new-submission";
- const authority = record.authority.toLowerCase().replace(/\s+/g, "-");
+ //replace spaces from authority with hyphens and remove parentheses
+ const authority = record.authority.toLowerCase().replace(/\s+/g, "-").replace(/[()]/g, "");
return `${actionType}-${authority}`;
};
diff --git a/src/services/email/libs/data-lib.js b/src/services/email/libs/data-lib.js
index 904a74dd9e..2f73450d4e 100644
--- a/src/services/email/libs/data-lib.js
+++ b/src/services/email/libs/data-lib.js
@@ -33,9 +33,11 @@ const formatDateFromTimestamp = (timestamp) => {
};
-function formatNinetyDaysDate(emailBundle) {
- if (!emailBundle?.notificationMetadata?.submissionDate) return "Pending";
- return DateTime.fromMillis(emailBundle.notificationMetadata.submissionDate)
+function formatNinetyDaysDate(data, lookupValues) {
+ if (lookupValues?.ninetyDaysDate)
+ return formatDateFromTimestamp(lookupValues?.ninetyDaysDate);
+ if (!data?.notificationMetadata?.submissionDate) return "Pending";
+ return DateTime.fromMillis(data.notificationMetadata.submissionDate)
.plus({ days: 90 })
.toFormat("DDDD '@ 11:59pm ET'");
@@ -57,9 +59,6 @@ export const buildEmailData = async (bundle, data) => {
case "proposedEffectiveDateNice":
returnObject["proposedEffectiveDateNice"] = formatDateFromTimestamp(data?.notificationMetadata?.proposedEffectiveDate);
break;
- case "ninetyDaysLookup":
- returnObject["ninetyDaysDateNice"] = formatDateFromTimestamp(lookupValues?.ninetyDaysDateLookup);
- break;
case "applicationEndpoint":
returnObject["applicationEndpoint"] = process.env.applicationEndpoint;
break;
@@ -69,8 +68,8 @@ export const buildEmailData = async (bundle, data) => {
case "textFileList":
returnObject["textFileList"] = formatAttachments("text", data.attachments);
break;
- case "ninetyDaysDateNice":
- returnObject["ninetyDaysDateNice"] = formatNinetyDaysDate(data);
+ case "ninetyDaysDate":
+ returnObject["ninetyDaysDate"] = formatNinetyDaysDate(data, lookupValues);
break;
case "submitter":
returnObject["submitter"] = (data.submitterEmail === "george@example.com") ? "\"George's Substitute\" " : `"${data.submitterName}" <${data.submitterEmail}>`;
diff --git a/src/services/email/libs/os-lib.js b/src/services/email/libs/os-lib.js
index f07f6934f4..e81fd28071 100644
--- a/src/services/email/libs/os-lib.js
+++ b/src/services/email/libs/os-lib.js
@@ -22,7 +22,7 @@ export const getOsInsightData = async (id) => {
console.log("Insights Item: ", JSON.stringify(osInsightsItem, null, 4));
returnData.cpoc = osInsightsItem?._source?.LEAD_ANALYST ? buildEmailsToSend(osInsightsItem?._source?.LEAD_ANALYST, osInsightsItem?._source?.STATE_PLAN.LEAD_ANALYST_ID) : "'CPOC Substitute' ";
returnData.srt = osInsightsItem?._source?.ACTION_OFFICERS ? buildEmailsToSend(osInsightsItem?._source?.ACTION_OFFICERS) : "'SRT Substitute' ";
- returnData.ninetyDaysLookup = osInsightsItem?._source?.STATE_PLAN.ALERT_90_DAYS_DATE;
+ returnData.ninetyDaysDate = osInsightsItem?._source?.STATE_PLAN.ALERT_90_DAYS_DATE;
// const osChangeLogItem = await os.search(process.env.osDomain, "changelog", {
// from: 0,
diff --git a/src/services/email/ses-email-templates/index.js b/src/services/email/ses-email-templates/index.js
index d8bf897947..2e4bc10d2e 100644
--- a/src/services/email/ses-email-templates/index.js
+++ b/src/services/email/ses-email-templates/index.js
@@ -78,7 +78,7 @@ Thank you!`,
Email Address: {{submitterEmail}}
Medicaid SPA ID: {{id}}
Proposed Effective Date: {{proposedEffectiveDateNice}}
-
90th Day Deadline: {{ninetyDaysDateNice}}
+
90th Day Deadline: {{ninetyDaysDate}}
Summary:
{{additionalInformation}}
@@ -86,7 +86,7 @@ Thank you!`,
This response confirms the receipt of your Medicaid State Plan Amendment
(SPA or your response to a SPA Request for Additional Information (RAI)).
You can expect a formal response to your submittal to be issued within 90 days,
-before {{ninetyDaysDateNice}}.
+before {{ninetyDaysDate}}.
This mailbox is for the submittal of State Plan Amendments and non-web-based
responses to Requests for Additional Information (RAI) on submitted SPAs only.
Any other correspondence will be disregarded.
@@ -101,7 +101,7 @@ Name: {{submitterName}}
Email Address: {{submitterEmail}}
Medicaid SPA ID: {{id}}
Proposed Effective Date: {{proposedEffectiveDateNice}}
-90th Day Deadline: {{ninetyDaysDateNice}}
+90th Day Deadline: {{ninetyDaysDate}}
Summary:
{{additionalInformation}}
@@ -109,7 +109,7 @@ Summary:
This response confirms the receipt of your Medicaid State Plan Amendment
(SPA or your response to a SPA Request for Additional Information (RAI)).
You can expect a formal response to your submittal to be issued within 90 days,
-before {{ninetyDaysDateNice}}.
+before {{ninetyDaysDate}}.
This mailbox is for the submittal of State Plan Amendments and non-web-based
responses to Requests for Additional Information (RAI) on submitted SPAs only.
@@ -118,6 +118,144 @@ Any other correspondence will be disregarded.
If you have questions or did not expect this email, please contact
SPA@cms.hhs.gov.
+Thank you!`,
+},
+{
+ name: "new-submission-1915b-cms",
+ subject: "{{authority}} {{id}} Submitted",
+ html: `
+The OneMAC Submission Portal received a 1915(b) initial waiver submission:
+
+- The submission can be accessed in the OneMAC application, which you
+can find at this link.
+- If you are not already logged in, please click the "Login" link
+at the top of the page and log in using your Enterprise User
+Administration (EUA) credentials.
+- After you have logged in, you will be taken to the OneMAC application.
+The submission will be listed on the dashboard page, and you can view its
+details by clicking on its ID number.
+
+
+
State or territory: {{territory}}
+
Name: {{submitterName}}
+
Email: {{submitterEmail}}
+
Initial Waiver Number: {{id}}
+
Waiver Authority: {{authority}}
+
Proposed Effective Date: {{proposedEffectiveDateNice}}
+
+Summary:
+
{{additionalInformation}}
+
+
+
Files:
+
{{formattedFileList}}
+
+
If the contents of this email seem suspicious, do not open them, and instead
+forward this email to SPAM@cms.hhs.gov.
+Thank you!
`,
+ text: `
+The OneMAC Submission Portal received a 1915(b) initial waiver submission:
+
+The submission can be accessed in the OneMAC application, which you
+can find at this link.
+
+If you are not already logged in, please click the "Login" link
+at the top of the page and log in using your Enterprise User
+Administration (EUA) credentials.
+
+After you have logged in, you will be taken to the OneMAC application.
+The submission will be listed on the dashboard page, and you can view its
+details by clicking on its ID number.
+
+
+State or territory: {{territory}}
+Name: {{submitterName}}
+Email: {{submitterEmail}}
+Initial Waiver Number: {{id}}
+Waiver Authority: {{authority}}
+Proposed Effective Date: {{proposedEffectiveDateNice}}
+
+Summary:
+{{additionalInformation}}
+
+Files:
+{{formattedFileList}}
+
+If the contents of this email seem suspicious, do not open them, and instead
+forward this email to SPAM@cms.hhs.gov.
+
+Thank you!`,
+},
+{
+ name: "new-submission-1915b-state",
+ subject: "Your {{authority}} {{id}} has been submitted to CMS",
+ html: `
+This response confirms the submission of your Initial Waiver to CMS for review:
+
+
State or territory: {{territory}}
+
Name: {{submitterName}}
+
Email Address: {{submitterEmail}}
+
Initial Waiver Number: {{id}}
+
Waiver Authority: {{authority}}
+
Proposed Effective Date: {{proposedEffectiveDateNice}}
+
90th Day Deadline: {{ninetyDaysDate}}
+
+Summary:
+
{{additionalInformation}}
+
+This response confirms the receipt of your Waiver request or your response
+to a Waiver Request for Additional Information (RAI). You can expect a formal
+response to your submittal to be issued within 90 days,
+before {{ninetyDaysDate}}.
+This mailbox is for the submittal of Section 1915(b) and 1915(c) Waivers,
+responses to Requests for Additional Information (RAI) on Waivers,
+and extension requests on Waivers only. Any other correspondence will be disregarded
+If you have questions or did not expect this email, please contact
+SPA@cms.hhs.gov or your state lead.
+Thank you!
`,
+ text: `
+This response confirms the submission of your Initial Waiver to CMS for review:
+
+State or territory: {{territory}}
+Name: {{submitterName}}
+Email Address: {{submitterEmail}}
+Initial Waiver Number: {{id}}
+Waiver Authority: {{authority}}
+Proposed Effective Date: {{proposedEffectiveDateNice}}
+90th Day Deadline: {{ninetyDaysDate}}
+
+Summary:
+{{additionalInformation}}
+
+This response confirms the receipt of your Waiver request or your response
+to a Waiver Request for Additional Information (RAI). You can expect a formal
+response to your submittal to be issued within 90 days,
+before {{ninetyDaysDate}}.
+
+This mailbox is for the submittal of Section 1915(b) and 1915(c) Waivers,
+responses to Requests for Additional Information (RAI) on Waivers,
+and extension requests on Waivers only. Any other correspondence will be disregarded
+
+If you have questions or did not expect this email, please contact
+SPA@cms.hhs.gov or your state lead.
+
+Thank you!`,
+ },
+{
+ name: "withdraw-package-1915b-state",
+ subject: "1915(b) Waiver {{id}} Withdrawal Confirmation",
+ html: `
+This email is to confirm 1915(b) Waiver {{id}} was withdrawn
+by {{submitterName}}. The review of 1915(b) Waiver {{id}} has concluded.
+If you have questions, please contact
+spa@cms.hhs.gov or your state lead.
+Thank you!
`,
+ text: `
+This email is to confirm 1915(b) Waiver {{id}} was withdrawn by {{submitterName}}.
+The review of 1915(b) Waiver {{id}} has concluded.
+
+If you have questions, please contact spa@cms.hhs.gov or your state lead.
+
Thank you!`,
},
{
@@ -191,7 +329,7 @@ Thank you!`,
Name: {{submitterName}}
Email Address: {{submitterEmail}}
Medicaid SPA ID: {{id}}
-
90th Day Deadline: {{ninetyDaysLookupNice}}
+
90th Day Deadline: {{ninetyDaysDate}}
Summary:
{{additionalInformation}}
@@ -199,7 +337,7 @@ Summary:
This response confirms receipt of your Medicaid State Plan Amendment (SPA
or your response to a SPA Request for Additional Information (RAI)). You can
expect a formal response to your submittal to be issued within 90 days,
-before {{ninetyDaysLookupNice}}.
+before {{ninetyDaysDate}}.
This mailbox is for the submittal of State Plan Amendments and non-web
based responses to Requests for Additional Information (RAI) on submitted
SPAs only. Any other correspondence will be disregarded.
@@ -213,7 +351,7 @@ State or territory: {{territory}}
Name: {{submitterName}}
Email Address: {{submitterEmail}}
Medicaid SPA ID: {{id}}
-90th Day Deadline: {{ninetyDaysLookupNice}}
+90th Day Deadline: {{ninetyDaysDate}}
Summary:
{{additionalInformation}}
@@ -221,7 +359,7 @@ Summary:
This response confirms receipt of your Medicaid State Plan Amendment (SPA
or your response to a SPA Request for Additional Information (RAI)). You can
expect a formal response to your submittal to be issued within 90 days,
-before {{ninetyDaysLookupNice}}.
+before {{ninetyDaysDate}}.
This mailbox is for the submittal of State Plan Amendments and non-web
based responses to Requests for Additional Information (RAI) on submitted
@@ -347,37 +485,19 @@ Thank you!`,
},
{
name: "withdraw-package-medicaid-spa-state",
- subject: "SPA Package {{id}} Withdraw Request",
+ subject: "Medicaid SPA Package {{id}} Withdrawal Confirmation",
html: `
-This is confirmation that you have requested to withdraw the package below.
-The package will no longer be considered for CMS review:
-
-
State or territory: {{territory}}
-
Name: {{submitterName}}
-
Email Address: {{submitterEmail}}
-
Medicaid SPA ID: {{id}}
-
-Summary:
-
{{additionalInformation}}
+This email is to confirm Medicaid SPA {{id}} was withdrawn
+by {{submitterName}}. The review of Medicaid SPA {{id}} has concluded.
If you have questions or did not expect this email, please contact
SPA@cms.hhs.gov.
Thank you!
`,
text: `
-This is confirmation that you have requested to withdraw the package below.
-The package will no longer be considered for CMS review:
-
-State or territory: {{territory}}
-Name: {{submitterName}}
-Email Address: {{submitterEmail}}
-Medicaid SPA ID: {{id}}
-
-Summary:
-{{additionalInformation}}
-
-If you have questions or did not expect this email, please contact
-spa@cms.hhs.gov.
-
-Thank you!`,
+This email is to confirm Medicaid SPA {{id}} was withdrawn
+by {{submitterName}}. The review of Medicaid SPA {{id}} has concluded.
+If you have questions or did not expect this email, please contact
+SPA@cms.hhs.gov.
+Thank you!
`,
},
// CHIP SPA email template group
@@ -553,7 +673,7 @@ Thank you!`,
Name: {{submitterName}}
Email Address: {{submitterEmail}}
CHIP SPA Package ID: {{id}}
-
90th Day Deadline: {{ninetyDaysLookupNice}}
+
90th Day Deadline: {{ninetyDaysDate}}
Summary:
{{additionalInformation}}
@@ -561,7 +681,7 @@ Summary:
This response confirms receipt of your CHIP State Plan Amendment (SPA
or your response to a SPA Request for Additional Information (RAI)). You can
expect a formal response to your submittal to be issued within 90 days,
-before {{ninetyDaysLookupNice}}.
+before {{ninetyDaysDate}}.
If you have questions, please contact
CHIPSPASubmissionMailbox@cms.hhs.gov
or your state lead.
@@ -573,7 +693,7 @@ State or territory: {{territory}}
Name: {{submitterName}}
Email Address: {{submitterEmail}}
CHIP SPA Package ID: {{id}}
-90th Day Deadline: {{ninetyDaysLookupNice}}
+90th Day Deadline: {{ninetyDaysDate}}
Summary:
{{additionalInformation}}
@@ -581,7 +701,7 @@ Summary:
This response confirms receipt of your CHIP State Plan Amendment (SPA
or your response to a SPA Request for Additional Information (RAI)). You can
expect a formal response to your submittal to be issued within 90 days,
-before {{ninetyDaysLookupNice}}.
+before {{ninetyDaysDate}}.
If you have questions, please contact CHIPSPASubmissionMailbox@cms.hhs.gov
or your state lead.
@@ -667,6 +787,173 @@ Summary:
If you have any questions, please contact CHIPSPASubmissionMailbox@cms.hhs.gov
or your state lead.
+Thank you!`,
+},
+{
+ name: "withdraw-package-chip-spa-cms",
+ subject: "CHIP SPA Package {{id}} Withdraw Request",
+ html: `
+The OneMAC Submission Portal received a request to withdraw the package below.
+The package will no longer be considered for CMS review:
+
+
State or territory: {{territory}}
+
Name: {{submitterName}}
+
Email Address: {{submitterEmail}}
+
CHIP SPA Package ID: {{id}}
+
+Summary:
+
{{additionalInformation}}
+
+If the contents of this email seem suspicious, do not open them, and instead forward this email to
+SPAM@cms.hhs.gov
+
+Thank you!
`,
+ text: `
+The OneMAC Submission Portal received a request to withdraw the package below.
+The package will no longer be considered for CMS review:
+
+State or territory: {{territory}}
+Name: {{submitterName}}
+Email Address: {{submitterEmail}}
+CHIP SPA Package ID: {{id}}
+
+Summary:
+{{additionalInformation}}
+
+If the contents of this email seem suspicious, do not open them, and instead forward this email to SPAM@cms.hhs.gov'
+
+Thank you!`,
+},
+{
+ name: "withdraw-package-chip-spa-state",
+ subject: "CHIP SPA Package {{id}} Withdrawal Confirmation",
+ html: `
+This email is to confirm CHIP SPA {{id}} was withdrawn
+by {{submitterName}}. The review of CHIP SPA {{id}} has concluded.
+If you have any questions, please contact
+CHIPSPASubmissionMailbox@cms.hhs.gov
+or your state lead.
+Thank you!
`,
+ text: `
+This email is to confirm CHIP SPA {{id}} was withdrawn
+by {{submitterName}}. The review of CHIP SPA {{id}} has concluded.
+
+If you have any questions, please contact CHIPSPASubmissionMailbox@cms.hhs.gov or your state lead.
+
+Thank you!`,
+ },
+{
+ name: "respond-to-rai-1915b-cms",
+ subject: "Waiver RAI Response for {{id}} Submitted",
+ html: `
+The OneMAC Submission Portal received a 1915(b) Waiver RAI Response Submission:
+
+- The submission can be accessed in the OneMAC application, which you
+can find at this link.
+- If you are not already logged in, please click the "Login" link
+at the top of the page and log in using your Enterprise User
+Administration (EUA) credentials.
+- After you have logged in, you will be taken to the OneMAC application.
+The submission will be listed on the dashboard page, and you can view its
+details by clicking on its ID number.
+
+
+
State or territory: {{territory}}
+
Name: {{submitterName}}
+
Email Address: {{submitterEmail}}
+
Waiver Number: {{id}}
+
+Summary:
+
{{additionalInformation}}
+
+
+
Files:
+
{{formattedFileList}}
+
If the contents of this email seem suspicious, do not open them, and instead
+forward this email to SPAM@cms.hhs.gov.
+Thank you!
`,
+ text: `
+The OneMAC Submission Portal received a 1915(b) Waiver RAI Response Submission:
+
+- The submission can be accessed in the OneMAC application, which you can
+ find at {{applicationEndpoint}}.
+- If you are not already logged in, please click the "Login" link at the top
+ of the page and log in using your Enterprise User Administration (EUA)
+ credentials.
+- After you have logged in, you will be taken to the OneMAC application.
+ The submission will be listed on the dashboard page, and you can view its
+ details by clicking on its ID number.
+
+State or territory: {{territory}}
+Name: {{submitterName}}
+Email Address: {{submitterEmail}}
+Waiver Number: {{id}}
+
+Summary:
+{{additionalInformation}}
+
+Files:
+{{textFileList}}
+
+If the contents of this email seem suspicious, do not open them, and instead
+forward this email to SPAM@cms.hhs.gov.
+
+Thank you!`,
+},
+{
+ name: "respond-to-rai-1915b-state",
+ subject: "Your 1915(b) Waiver RAI Response for {{id}} has been submitted to CMS",
+ html: `
+This response confirms the submission of your 1915(b) Waiver RAI Response to CMS for review:
+
+
State or territory: {{territory}}
+
Name: {{submitterName}}
+
Email Address: {{submitterEmail}}
+
Initial Waiver Number: {{id}}
+
Waiver Authority: {{authority}}
+
90th Day Deadline: {{ninetyDaysDate}}
+
+Summary:
+
{{additionalInformation}}
+
+This response confirms the receipt of your Waiver request or your
+response to a Waiver Request for Additional Information (RAI).
+You can expect a formal response to your submittal to be issued within 90 days,
+before {{ninetyDaysDate}}.
+This mailbox is for the submittal of Section 1915(b) and 1915(c) Waivers,
+responses to Requests for Additional Information (RAI) on Waivers, and extension
+requests on Waivers only. Any other correspondence will be disregarded.
+
+If you have questions, please contact
+CHIPSPASubmissionMailbox@cms.hhs.gov
+or your state lead.
+Thank you!
`,
+ text: `
+This response confirms the submission of your 1915(b) Waiver RAI Response to CMS for review:
+
+State or territory: {{territory}}
+Name: {{submitterName}}
+Email Address: {{submitterEmail}}
+Initial Waiver Number: {{id}}
+Waiver Authority: {{authority}}
+90th Day Deadline: {{ninetyDaysDate}}
+
+Summary:
+{{additionalInformation}}
+
+This response confirms the receipt of your Waiver request or your
+response to a Waiver Request for Additional Information (RAI).
+You can expect a formal response to your submittal to be issued within 90 days,
+before {{ninetyDaysDate}}.
+
+This mailbox is for the submittal of Section 1915(b) and 1915(c) Waivers,
+responses to Requests for Additional Information (RAI) on Waivers, and extension
+requests on Waivers only. Any other correspondence will be disregarded.
+
+If you have questions, please contact
+CHIPSPASubmissionMailbox@cms.hhs.gov
+or your state lead.
+
Thank you!`,
}
];
\ No newline at end of file