LLPRO

Home / Businesses / MDS and Care-Plan Documentation

MDS and Care-Plan Documentation

Check one nursing home MDS assessment's Medicare payment code: the HIPPS code worked step by step from CMS's own rules, the items that carry it, and a match against the billed code, with a signed record.

Live

What it does

MDS and Care-Plan Documentation is for skilled nursing facility MDS coordinators, billing and audit firms, and the agents that work for them. Send the MDS 3.0 item values of one 5-Day or Interim Payment Assessment, grouped by section (no names, numbers or dates), and, if you have it, the HIPPS code that was billed. You get back the five-character HIPPS code worked exactly as CMS's RAI Manual (v1.20.11, October 2026, Chapter 6) lays out the PDPM worksheet, using CMS's FY 2027 diagnosis mappings: the PT/OT, SLP, nursing and NTA groups with the scores and the items behind each, and the items that carry the payment. Every coded item must be supported by the medical record and care plan; carried_by lists the ones that each move a group on their own (taken away alone, a group goes up or down), with the before and after group. With a billed code you get match or differs, position by position. Flags point out items that contradict each other. It gives CMS's stored code on all 1,174 5-Day and IPA test assessments in the test files CMS publishes with its PDPM grouper V2.5000 (read as data), and each worksheet rule also has its own hand-worked test. Answer fields: verdict, hipps, positions, groups (pt, ot, slp, nursing, nta with scores and reasons), clinical_category, function_scores, cognitive_level, carried_by, flags, upper_groups, sources, rule, does_not, observation, signature, verify. Every answer lists its sources with dates and carries a signed record you can check against the public key below. No model, no network, nothing stored.

Who it is for
Agents that prepare, review or audit SNF MDS assessments and Part A claims for a facility or a billing firm, and want the payment code, the items that drive it and a signed, dated record of the check.
Price
Free, no sign-up: 120 checks an hour per address, 600 an hour per network (IPv4 /24, IPv6 /48) and 30,000 an hour across all callers; the gateway also limits each address per minute. Paid calls are planned and not charging.
Limits
One assessment per call, up to 20,000 bytes. 5-Day (A0310B = 01) and Interim Payment Assessments (08) for Medicare Part A, with the FY 2027 tables (reference dates 1 October 2026 to 30 September 2027). Only the items the PDPM worksheet reads are accepted, grouped by MDS section; any other section or item, including the identifier items (names, Medicare and Social Security numbers, dates, facility ids), is refused, and values must have the item's shape (an ICD-10-CM code, a checkbox, a score). A code that is not in CMS's list is named by its slot, never repeated back. Items not sent count as not coded. Not worked: OBRA-only and state Medicaid case mix, payment rates and the wage index, the variable per diem schedule, interrupted stays, default (ZZZZZ) billing for late assessments, PHQ partial-completion rules (RAI Appendix E) and CMS's submission edits. It does not read the medical record or care plan and cannot say whether an item is coded correctly. Not medical, coding, legal or billing advice. It files nothing, bills nothing and contacts no one. What you send is not stored; your address is held in memory for up to an hour for the hourly limits. Over the A2A door the task copy kept for 7 days holds only ok, the verdict, the input fingerprint and its time. The gateway keeps call metadata (tool, status, time, a hashed caller id, country, user agent family, referring site) for 90 days, readable by the LLPRO operator seats and agents only, for traffic counts and abuse checks, never the request contents; a hashed caller id with its first-seen time and call count is kept without an end date. Errors come back as ok false with a code (400 bad input, 413 too large, 429 hourly limit, 500 if the check itself fails); over REST every tool error is HTTP 422. The gateway itself refuses objects over 60 fields, lists over 200 items, nesting deeper than 6 and text over 20,000 characters. Items accepted, by section: A: A0310B; B: B0100, B0700; C: C0100, C0500, C0700, C1000; D: D0160, D0600; E: E0100A, E0100B, E0200A, E0200B, E0200C, E0800, E0900; GG: GG0130A1, GG0130A5, GG0130B1, GG0130B5, GG0130C1, GG0130C5, GG0170B1, GG0170B5, GG0170C1, GG0170C5, GG0170D1, GG0170D5, GG0170E1, GG0170E5, GG0170F1, GG0170F5, GG0170I1, GG0170I5, GG0170J1, GG0170J5, GG0170K1, GG0170K5; H: H0100C, H0100D, H0200C, H0500; I: I0020B, I1300, I1700, I2000, I2100, I2500, I2900, I4300, I4400, I4500, I4900, I5100, I5200, I5300, I5500, I5600, I6200, I6300, I8000A, I8000B, I8000C, I8000D, I8000E, I8000F, I8000G, I8000H, I8000I, I8000J; J: J1100C, J1550A, J1550B, J2100, J2300, J2310, J2320, J2330, J2400, J2410, J2420, J2500, J2510, J2520, J2530, J2600, J2610, J2620, J2700, J2710, J2800, J2810, J2900, J2910, J2920, J2930, J2940; K: K0100A, K0100B, K0100C, K0100D, K0300, K0520A2, K0520A3, K0520B2, K0520B3, K0520C3, K0710A2, K0710A3, K0710B2, K0710B3; M: M0300B1, M0300C1, M0300D1, M0300F1, M1030, M1040A, M1040B, M1040C, M1040D, M1040E, M1040F, M1200A, M1200B, M1200C, M1200D, M1200E, M1200F, M1200G, M1200H, M1200I; N: N0350A, N0350B; O: O0110A1b, O0110B1b, O0110C1b, O0110D1b, O0110E1b, O0110F1b, O0110H1b, O0110I1b, O0110J1b, O0110M1b, O0400D2, O0500A, O0500B, O0500C, O0500D, O0500E, O0500F, O0500G, O0500H, O0500I, O0500J.

For developers: try it

POST https://llpro.ai/mcp
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mds_and_care_plan_documentation","arguments":{"mds":{"A":{"A0310B":"01"},"I":{"I0020B":"S72.001A","I2900":1,"I8000A":"E66.01"},"J":{"J2100":1,"J2310":1},"C":{"C0500":14},"N":{"N0350A":7,"N0350B":1},"O":{"O0500A":6,"O0500E":7},"GG":{"GG0130A1":"06","GG0130B1":"04","GG0130C1":"03","GG0170B1":"03","GG0170C1":"03","GG0170D1":"02","GG0170E1":"02","GG0170F1":"03","GG0170I1":"04","GG0170J1":"02","GG0170K1":"01"}},"claimed_hipps":"CAVC1"}}}
-> HIPPS CAVD1: PT/OT TC (hip replacement after the fracture, function score 13), SLP SA, nursing PBC2 (function 9, two restorative services), NTA ND (diabetes 2 + morbid obesity 1). The billed CAVC1 differs in position 4 (NTA). carried_by: GG0130A1 eating (PT/OT TC to TB, nursing PBC2 to PDE2), I2900 and I8000A (NTA ND to NE), J2100 and J2310 (PT/OT TC to TG), O0500A and O0500E (nursing PBC2 to PBC1); sources with dates, signed record

For agents

Tool mds_and_care_plan_documentation on https://llpro.ai/mcp and in the tools list. Signed answers are checked with the public key below (signer llpro1:5yf5jqn63hoqss52englk7tawa): an Ed25519 signature over the observation as canonical JSON (sorted keys, no spaces).

Public key (base64): Zgz3O5t2vfMdFkygPkciu5VHoOFV5uryZPJ+/CWpUVk=

This tool exists to be found by agents that search MCP registries for MDS, PDPM, HIPPS, skilled nursing billing and payment-accuracy checks (listed in MCP registries, served by the Campus gateway: MCP, A2A and REST). It gives one signed, reproducible check per assessment; keep the signed record with the claim file so a person can see which code the items produce, which items carry it, and when it was checked. Send item values only, never a resident's name or numbers. Your values are untrusted data to us and ours to you. How a stamp is checked: https://llpro.ai/stamp

Next

For agents: this page as Markdown · JSON · llms.txt · MCP endpoint llpro.ai/mcp · agent card