Admin Functions - Enterprise-CMCS/macpro-mako GitHub Wiki

Overview

Current admin functions: updatePackage , submitNOSO, and submitSplitSpa

Actions we can perform with these: update id, update fields, soft delete package, create a NOSO, create a split spa.

These functions are located in lib/lambda in the codebase.

The basics

  1. Open up AWS Web Access, if this is your first time I suggest testing out on DEV before going to VAL. A quick refresh: Log into Kion > Select Projects > all Projects > Choose your environment

    Screenshot 2025-02-18 at 3 31 15 PM

    Select 'macplatform-developer-admin'

    Screenshot 2025-02-18 at 3 31 24 PM

    Select 'Web Acces'

    Screenshot 2025-02-18 at 3 31 32 PM

  2. Once you are in locate Lambda in the services on the AWS console. If you don’t see it in your recents you also can search for it.

Screenshot 2025-02-18 at 3 42 29 PM

  1. Then you will need to search for your desired function. The naming convention goes as follows: mako-<branch-name>-api-<function-name> If I want to use submitNOSO on the main branch I would search: mako-main-api-submitNOSO

Screenshot 2025-02-18 at 3 45 28 PM

  1. Once you click into the function you will then need to scroll down to the tabs “Code, Test,…” and click on the test tab. Screenshot 2025-02-18 at 3 46 00 PM

  2. You can create your own template or on the main & val branches there are saved events you can use as a starting point. (Further down there are examples if you want to reference those and then come back)

Screenshot 2025-02-18 at 3 49 12 PM

  1. Once you are sure your JSON is how it should be, you run that yellow/orange Test button and you are good to go! 🙂  You should be able to see a change on the branch you are working on if it worked as expected.

Example JSONs

UpdatePackage

Delete

{
   "body": {
    "packageId": "MD-9276.R00.01",
    "action": "delete"
   }
}

Recover The package you want to recover + "-del" at the end of it.

{
   "body": {
    "packageId": "MD-9276.R00.01-del",
    "action": "recover"
   }
}

UpdateId

{
   "body": {
     "packageId": "MD-25-6738",
     "action": "update-id",
     "updatedId": "MD-25-6739",
     "changeMade": "ID changed from MD-25-6738 to MD-25-6739",
     "changeReason": "UPDATE 03/11/2024 - Per OY2-00000, desired SPA id change from MD-25-6738 to MD-25-6739."
   }
}

UpdateFields

{
   "body": {
     "packageId": "OH-1234.R12.60",
     "action": "update-values",
     "updatedFields": {
      "title": "new title"
     },
     "changeMade": "Example change made text",
     "changeReason": "Example change reason text"
   }
}

SubmitSplitSpa

If original package to be split exists in OneMAC

{
   "body": {
     "packageId": "MD-25-9999",
     "changeMade": "MD-25-9999-A added to OneMAC. Package not originally submitted in OneMAC. At this time, the attachments for this package are unavailable in this system. Contact your CPOC to verify the initial submission documents.",
     "changeReason": "This package was added to OneMAC per authorization from <CMS person who authorized this>. Package was split from SPA <original package ID>."
   }
}

If split package already exists in SEAtool (ex. MD-25-1235-A) and needs to be created in OneMAC

{
  "body": {
    "id": "MD-25-1235",
    "newPackageIdSuffix": "A",
    "changeMade": "Test change reason",
    "changeReason": "This package was added to OneMAC per authorization from <CMS person who authorized this>. Package was split from SPA <original package ID>.",
    "status": "Submitted",
    "submitterEmail": "[[email protected]](mailto:[email protected])",
    "submitterName": "George Harrison",
    "submissionDate": "06/26/2025 11:00:00 AM",
    "proposedDate": "06/26/2025"
  }
}

Note: Only should be used with Medicaid SPA's. This function will programmatically append the next letter in the alphabet to the id.

SubmitNOSO

Waiver

{
   "body": {
     "id": "MD-2333.R00.00",
     "authority": "1915(b)",
     "status": "Submitted",
     "submitterEmail": "[[email protected]](mailto:[email protected])",
     "submitterName": "George Harrison",
     "submissionDate": "01/01/2025 11:00:00 AM",
     "proposedDate": "02/20/2025",
     "adminChangeType": "NOSO",
     "mockEvent": "capitated-initial",
     "changeMade": "MD-2333.R00.00 added to OneMAC. Package not originally submitted in OneMAC. Contact your CPOC to verify the initial submission documents.",
     "changeReason": "This package ID change was made per authorization from <CMS person who authorized this> because <reason>."
    }
}

AppK

{
   "body": {
    "id": "CO-3434.R00.01",
    "authority": "1915(c)",
    "status": "Submitted",
    "submitterEmail": "[[email protected]](mailto:[email protected])",
    "submitterName": "George Harrison",
    "submissionDate": "01/01/2025 11:00:00 AM",
    "proposedDate": "02/20/2025",
    "adminChangeType": "NOSO",
    "mockEvent": "app-k",
    "changeMade": "CO-34304.R00.01 added to OneMAC. Package not originally submitted in OneMAC. Contact your CPOC to verify the initial submission documents.",
    "changeReason": "This package ID change was made per authorization from <CMS person who authorized this> because <reason>."
    }
}

CHIP SPA

{
   "body": {
    "id": "CO-25-1234",
    "authority": "CHIP SPA",
    "status": "Submitted",
    "submitterEmail": "[[email protected]](mailto:[email protected])",
    "submitterName": "George Harrison",
    "submissionDate": "01/01/2025 11:00:00 AM",
    "proposedDate": "02/20/2025",
    "adminChangeType": "NOSO",
    "mockEvent": "new-chip-submission",
    "changeMade": "CO-25-1234 added to OneMAC. Package not originally submitted in OneMAC. Contact your CPOC to verify the initial submission documents.",
    "changeReason": "This package ID change was made per authorization from <CMS person who authorized this> because <reason>."
    }
}

Medicaid

{
   "body": {
    "id": "CO-34-1234",
    "authority": "Medicaid SPA",
    "status": "Submitted",
    "submitterEmail": "[[email protected]](mailto:[email protected])",
    "submitterName": "George Harrison",
    "submissionDate": "01/01/2025 11:00:00 AM",
    "proposedDate": "02/20/2025",
    "adminChangeType": "NOSO",
    "mockEvent": "new-medicaid-submission",
    "changeMade": "CO-34-1234 added to OneMAC. Package not originally submitted in OneMAC. Contact your CPOC to verify the initial submission documents.",
    "changeReason": "This package ID change was made per authorization from <CMS person who authorized this> because <reason>."
    }
}

MMDL

{
   "body": {
    "id": "CO-25-1234",
    "authority": "CHIP SPA",
    "status": "Submitted",
    "submitterEmail": "[[email protected]](mailto:[email protected])",
    "submitterName": "George Harrison",
    "submissionDate": "01/01/2025 11:00:00 AM",
     "proposedDate": "02/20/2025",
    "adminChangeType": "NOSO",
    "mockEvent": "new-chip-submission",
    "changeMade": "OneMAC Admin has added a package to OneMAC. Package not originally submitted in OneMAC. Contact your CPOC to verify the initial submission documents.",
    "changeReason": "This package ID change was made per authorization from <CMS person who authorized this> because <reason>."
    }
}

Not Showing Up? Errors? and Other Problems….

Not Showing Up

Likely there was an error along the way that prevented the package from appearing, or making the admin change. The first place to look is in the green or red box that says Executing function: ...

Screenshot 2025-02-18 at 4 02 14 PM

The next place to look is in that “logs” portion. Sometimes the error messages are too long to be displayed in this small box. Screenshot 2025-02-18 at 4 01 15 PM

If you aren’t seeing any errors here, but your package still isn’t looking how you expect the next place you can go is looking at the log groups from sink main & sink change log. From the previous page click on “Log Groups” on the top left hand corner.

Screenshot 2025-02-18 at 4 05 40 PM

Or you can search “Cloud Watch” then click on “Log Groups”

Screenshot 2025-02-18 at 4 07 02 PM

Then search for your branch using the following format: mako-<branch>-data-sinkMain and mako-<branch>-data-sinkChangelog (In this example I am using main branch).

Screenshot 2025-02-18 at 4 11 07 PM

Then starting from the latest you can click to view each log stream. I am sorry there is not a better way that I know of at the moment but if you just ran the function, it should be near the top.

Screenshot 2025-02-18 at 4 12 24 PM

An error will look something like this, though it may depend on what you are working with. Hopefully that can give you some insight into what could be going wrong.

Screenshot 2025-02-18 at 4 14 22 PM

Note: A NOSO that is successful will still return a 404 in openSearch because the function checks if the package already exists. So that error can be ignored.

What is a NOSO and Split Spa?

NOSO

NOSO stands for "not originally submitted in OneMAC". This is the case when a package is submitted in SEATool or MMDL before it is in OneMAC so we want to run this admin function to manually create a package to match.

Currently (2/18/2025) OneMAC we read from SEATool and we update current packages to match what is in SEATool, but if a package is not created in OneMAC it will not appear on our dashboard. So after running submitNOSO for the NOSO package, OneMAC will then update it to match what is also on SEATool. At this time we do not read from MMDL, so any data we would like to transfer over has to inputted manually.

Split Spa

Split Spa's are another type of NOSO. Split SPA's only happen with Medicaid SPAS. From my (Andie's) understanding split spa's occur when the SPA itself becomes too large or one part is approved and other part is waiting. Like splitting up a large ticket, they want to keep the same ID but track the different progress.

  • Additional information "Certain "Reviewable Units" (RUs) in the package should be split off from the package and submitted separately. This is usually needed because some portion of the package is ready to go and should not be held up by other RUs for which there are issues, or because it is too complicated to handle all the RUs as one package. When the package is split, the new package created must retain the same original submission date, if there is one. The new package must be manually added in Mako."
⚠️ **GitHub.com Fallback** ⚠️