{"v":[{"id":415,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/183","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/183","number":183,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Customer needs facility to add answers that forms can select from","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nThe customer needs the facility to add\/edit answer pools like allergies.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-15T13:46:45-05:00","updated_at":"2026-10-15T13:50:41-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":265,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/168","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/168","number":168,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"We need a way to do a pass with our database and our returned forms and VESTA data","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nA report that compares what we're getting from forms and what we're getting from VESTA.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":34,"name":"area:clients","exclusive":false,"is_archived":false,"color":"1d76db","description":"Client records, member list, client reports","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/34"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":8,"name":"needs-detail","exclusive":false,"is_archived":false,"color":"fef2c0","description":"Too vague to plan; needs its own conversation","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/8"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-07T16:31:52-05:00","updated_at":"2026-10-07T23:22:02-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":264,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/167","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/167","number":167,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Emergency plans","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nDuring emergency situations the customer needs a list of prioritized clients who need assistance in an emergency. What can we use from VESTA information? Like bed-ridden. We need to be able to select them by an area or region.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":34,"name":"area:clients","exclusive":false,"is_archived":false,"color":"1d76db","description":"Client records, member list, client reports","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/34"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-07T16:17:23-05:00","updated_at":"2026-10-13T11:27:59-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":235,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/164","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/164","number":164,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Store translations of a form (Spanish, Vietnamese, \u2026) as the same form, not a separate one","body":"From Charles (7 Oct 2026):\n\n> I'm thinking we can change form storage so that we store English, Spanish, and potentially any other language if other translations of the same form are provided. We may get a 3040 form tomorrow that's in Vietnamese. We should store it as the 3040 form, but here are the Vietnamese translations of the questions.\n\n> We have some forms already that have both English and Spanish on the same form. Those questions and answers and text areas would be separated into English and Spanish in the form JSON files. We would present the forms as English with the option to turn on Spanish so they'd be displayed \"(English question) \/ (Spanish question)\". Or turn on any other language, if a translation exists.\n\n**Idea**\n\nA translated form is the **same form** with the same fields and the same stored answers. Only the wording changes. A Vietnamese 3040 is still the 3040, so:\n\n- Answers are stored once, under the same field keys, whatever language the wording is in.\n- Each piece of wording (question labels, help\/info text, choice labels, the paper's printed text) is kept per language in the form JSON: English, Spanish, and any other language a translation is provided for.\n- Adding a language means adding translations to the existing form, not creating a new form or a new visit type.\n\n**On screen**\n\n- English by default.\n- A switch turns on another language that has a translation, and the screen then shows both: \"English question \/ Spanish question\", for choices and info text as well.\n- Only languages with a translation are offered.\n\n**Forms that are already bilingual**\n\nThese forms currently store English and Spanish run together in one label, for example `\"1 - Bathing \/ Ba\u00f1ar\"` or `\"And release the information to (y divulgue la informaci\u00f3n a)\"`. They would be split into an English entry and a Spanish entry:\n\n- Things Your Attendant May Not Do (`things-you-may-not-do.json`): most of its text\n- Form H2076, Authorization to Release Medical Information (`h2076-medical-release.json`)\n- Task Guide (`task-guide.json`): the task names\n- PAS Individual Evaluation \/ Service Plan (`pas-eval-service-plan.json`): some lines\n\n(Found by searching for Spanish text, so check the list before starting.)\n\n**To work out**\n\n- **Storage shape:** a label per language inside the definition (e.g. `label: {en, es, vi}`), or a translation file beside the definition in `docs\/forms\/` that is keyed by field. A separate file keeps the English definition unchanged and lets one translation arrive without touching the others.\n- **Paper stays as printed:** the turn-on switch changes the screen only. A bilingual paper original keeps printing both languages, and a translated paper original (e.g. a Vietnamese 3040 PDF) needs its own placement map onto the same fields.\n- **Labels follow the paper's wording** (#77): when the paper prints \"Bathing \/ Ba\u00f1ar\", the English label becomes \"Bathing\" and the Spanish one \"Ba\u00f1ar\". The proof that every printed word is reachable on screen has to see both.\n- **Versioning and publishing:** does a new translation make a new version of the form? Can a form be published with an incomplete translation?\n- **The interview:** the spoken wording (`say`) and help need translations as well.\n- **Default language:** should the client's language (#158) switch the second language on automatically?\n\nNot to be confused with #158, which is about the client's *spoken language* as an answer on the forms.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-07T13:44:52-05:00","updated_at":"2026-10-07T13:49:42-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":234,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/163","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/163","number":163,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Look into internet-access programs for clients in underserved areas","body":"From Jane (7 Oct 2026):\n\n> Are you aware of the telecommunications laws that required phone companies to provide phone infrastructure to all rural areas? It set a precedent for levelling communications across the country so people in disadvantaged areas had a phone. I thought there was something like that for internet accessibility. Originally targeted at children having access, but now I'm wondering if it would help elderly people in disadvantaged areas. It would make a difference for home health care.\n\n**Starting points (to verify before telling anyone):**\n\n- **Universal Service Fund** (Telecommunications Act of 1996, building on the 1934 Act's universal-service goal) pays for the programs below.\n- **E-Rate**: the schools and libraries program, probably the \"children\" one Jane remembers.\n- **Lifeline** (FCC): a monthly discount on phone or internet for low-income households. **Medicaid enrollment qualifies**, so most of our clients may already be eligible.\n- **Affordable Connectivity Program (ACP)**: a larger internet discount that ran out of funding and ended in mid-2024.\n\n**Why it matters here:** clients receiving and signing forms online depends on them having a connection. See #121 (record whether the client can receive forms online) and #123 (clients without a smartphone).\n\n**Possible action:** a question at the visit (\"Would you like help applying for Lifeline?\") or a handout, if the customer wants it.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-07T13:40:43-05:00","updated_at":"2026-10-07T13:40:43-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":233,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/162","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/162","number":162,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Emergency\/Disaster form: \"Do you have special needs?\" is Yes\/No with no room to say what they are","body":"From Jane (7 Oct 2026), about the Patient Information & Emergency\/Disaster Preparedness Plan:\n\n> This form bothers me. The question about special needs is a check box, yes or no. What's the point of asking that question if you don't know what the special needs are. Think I'm going to ask about this because they go crazy preparing for extreme weather conditions. Seems as though knowing what the special needs are might be helpful.\n\nThe paper defines special needs as \"one who needs assistance during evacuation and sheltering because of physical or mental handicaps or one who requires a level of care and resources beyond the basic first aid level of care that is available in shelters for the general population.\"\n\n**Jane is asking the customer.** If they agree, options:\n\n- Add a follow-up \"What are the special needs?\" shown when the answer is Yes (a list, plus free text), kept with the visit even if the paper has no line for it; or\n- Fill it from what we already know (the Class I\u2013IV category further down the same form, equipment, ADLs).\n\nRelated: #141 (prefill this form's check boxes), #100 (STEAR registration).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-07T13:40:38-05:00","updated_at":"2026-10-13T11:27:59-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":232,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/161","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/161","number":161,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Schedule changes may move hours but not change the number of days","body":"From Jane (7 Oct 2026), the reasoning behind the hours rule:\n\n> During SOC and Annual the hours come from the authorisation and they can't change the total number of hours. However, a supervisor is allowed to change when the hours are spent. A change could occur during an annual based on the client's request. So long as they don't exceed the hours for a given period **or change the number of days**, they can make adjustments. The only way the authorised hours can be changed is through a new authorisation.\n\n**What we enforce today** (#92): the weekly total is frozen and shown read-only; hours may move between days.\n\n**What's new**: the **number of days** worked must also stay the same. Check whether the schedule save refuses a change that adds or drops a day, and add that rule if not. The refusal message should say it in plain words (e.g. \"The number of days can't change. Only a new authorization can change it.\").\n\n**To confirm**: \"for a given period\" means per week, as the total is today?","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":35,"name":"review-for-deployment","exclusive":false,"is_archived":false,"color":"0075ca","description":"Built on dev; Charles to review before deploying","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/35"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-07T13:40:33-05:00","updated_at":"2026-10-08T11:15:36-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":231,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/160","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/160","number":160,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Attendants and hours step: show the authorized hours after the phone number, hide per-attendant days behind a button","body":"From Jane (7 Oct 2026):\n\n> In attendant and their hours section; the total hours grid gleaned from the authorisation should display right after the attendant's phone number. The boxes showing days and hours for each attendant should not show. Instead have a button to open that so they can see it if they want. If there is only one attendant it shouldn't display the other attendant boxes for days and hours at all.\n\n**Changes**\n\n1. Move the total hours grid (from the authorization) to directly after the attendant's phone number.\n2. Collapse each attendant's days-and-hours boxes behind a \"Show days and hours\" button.\n3. With one attendant, don't show the boxes for a second attendant at all.\n\nRelated: #92 (total hours are frozen; a schedule may move hours between days).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-07T13:40:29-05:00","updated_at":"2026-10-08T11:15:32-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":230,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/159","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/159","number":159,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Remove \"Not known\" from visit questions; decide what a required field does instead","body":"From Jane (7 Oct 2026):\n\n> Not Known doesn't do much. The \"Answer it instead\" is just sending people round in a circle to ask the same question again. If there are fields where we need to keep track of unknowns we should record it that way. I think getting rid of it is best. Leaving a field blank means they don't know. However, if it's a required field we need to know what to do.\n\n**Where it is**\n\n- The \"Not known\" link and the \"Answer it instead\" link under a question: `pages\/visit-v2.php` (around line 904\u2013919).\n- Offered only where a question has `allow_unknown`; recorded as an `unknown` answer: `code\/form_v2_visit_rules.inc.php` (around lines 343 and 656\u2013666).\n\n**Proposed**\n\n- Remove \"Not known\" from the visit screen. Blank means not known.\n- Keep an explicit \"not known\" only on the specific questions where the customer needs to track it, as a real answer choice on that question.\n\n**To decide**\n\n- A required question left blank: block finishing the visit, or allow a reason (\"does not apply\" already exists)? Which questions, if any, genuinely need \"not known\" recorded?","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-07T13:40:26-05:00","updated_at":"2026-10-07T13:40:26-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":229,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/158","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/158","number":158,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Language question: follow the government form's list, with \"Other\" opening the full list","body":"From Jane (7 Oct 2026):\n\n> The language question is a bit that way too [see the sex question, #157]. There's one government form that lists more than English, Spanish or other. Do we follow the government form and, for ease of use and display, use Other to open a link which displays the additional languages on the government form? (We provide a list of languages to choose from if they select Other.) If we have to keep languages in the database we need individual data elements for each. In this case they can check all the languages they speak. I can imagine the government is interested in that information and at some point it will be necessary.\n\n**What the library has today**\n\n- Client Information Sheet: English, Spanish, Other, Unable to Respond (multi-select).\n- STEAR registry (retired from the library): English, Spanish, Vietnamese, Hindi, Korean, Chinese, Other.\n\n**Proposed**\n\n- Show English and Spanish up front; \"Other\" opens the full list from the government form.\n- Multiple choice: the client can tick every language they speak.\n- Each language is stored as its own value, so forms that print only English\/Spanish\/Other can still print correctly, and a form with the longer list gets the detail.\n\n**To decide**\n\n- Which government form is the source of the full list (STEAR, or another)?\n- Do we also need \"primary language\" separately from \"languages spoken\"?\n\nRelated: #157 (same problem of different choice lists across forms). Not to be confused with #164 (translations of the forms themselves).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-07T13:40:21-05:00","updated_at":"2026-10-07T13:49:42-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":228,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/157","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/157","number":157,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Sex question: some forms offer Male\/Female, others Male\/Female\/Other","body":"From Jane (7 Oct 2026):\n\n> The sex question on multiple forms only has the male and female options, but on some there is three; Male, female and other.\n\n**What the library has today**\n\n| Form | Choices |\n|---|---|\n| Client Information Sheet (`gender`) | Male, Female |\n| Emergency\/Disaster Preparedness Plan (`sex`) | Female, Male |\n| PAS Evaluation \/ Service Plan (`sex`) | M, F |\n\nNone of the forms in `docs\/forms\/` currently prints a third choice, so we need to know which form Jane saw with \"Other\" (possibly a government form not in the library yet).\n\n**To decide**\n\n- This is one Shared Answer across forms. If one form offers \"Other\" and another prints only two boxes, what does the two-box form show when the answer is \"Other\"? (Leave both blank? Print nothing?)\n- Do we ask with the widest set of choices and map down per form, or keep to the two the paper prints?\n\nRelated: #77 (question labels follow the form's own printed wording).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-07T13:40:16-05:00","updated_at":"2026-10-07T13:44:55-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":226,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/156","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/156","number":156,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Available questions, available answers, and fixed answers are different depending on visit type","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nDepending on the visit type, forms will be different, questions the forms show will be different, the answer choices may be different, and the fixed answers (some of which will be shown to the form filler and some not be but will be filled in on the generated form) will be different. We need to make sure our interview\/visit coding can handle these possibilities.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-07T11:26:51-05:00","updated_at":"2026-10-07T13:54:38-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":201,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/148","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/148","number":148,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Add individual client data pulls from VESTA","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nWe need to add the ability to queue\/process VESTA pulls for specific clients. For example, if a client has been updated in VESTA and a user is working on forms, fresh data may be needed on command. We will need a queue that the secure server will check and run a separate report-gathering workflow to pull report data for a specific client and push it to production. Tasks and schedules don't come in the VESTA API calls.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":15,"name":"area:ops","exclusive":false,"is_archived":false,"color":"1d76db","description":"Operational tooling, pipeline, storage","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/15"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":18,"name":"size:weeks","exclusive":false,"is_archived":false,"color":"bfbfbf","description":"A week or more","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/18"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-05T15:12:05-05:00","updated_at":"2026-10-05T15:46:50-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":200,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/147","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/147","number":147,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Switch to VESTA API in report pipeline","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nWe need to finalize the switch to VESTA API for the daily report pipeline.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":15,"name":"area:ops","exclusive":false,"is_archived":false,"color":"1d76db","description":"Operational tooling, pipeline, storage","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/15"},{"id":17,"name":"size:days","exclusive":false,"is_archived":false,"color":"d4d4d4","description":"A few days","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/17"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-05T15:08:41-05:00","updated_at":"2026-10-05T15:46:50-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":194,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/141","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/141","number":141,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[E3] Emergency\/Disaster form: prefill its check boxes","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue comes from Frank's notes of that meeting (item **E3** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Disaster Form - Check Boxes prefilled.\"\n\n## Where we are\nThe note doesn't say which boxes. The candidates on `emergency-disaster-form` are:\n* `stear_status` (requests \/ declines assistance \/ registration completed). This overlaps E2 (#100).\n* `shared.disaster_plan.policies_reviewed`. This overlaps T1 (#101), \"did you explain\" defaults to Yes.\n* The preparedness Yes\/No questions: `has_pet`, `special_needs`, `has_transportation`.\n\n## What to do\n1. Ask the customer which boxes, and what each one defaults to.\n2. Make each one a default the staff can change. Don't make them fixed values unless the customer says the answer is always the same.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-02T09:05:56-05:00","updated_at":"2026-10-07T13:40:38-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":193,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/140","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/140","number":140,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[K2] \"Other care the client receives\" and the service plan's other services are one answer: link them","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue comes from Frank's notes of that meeting (item **K2** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Other care the client receives <-> Service plan.\"\n\n## Where we are\nThe *Other care the client receives* step (Coordination of Care: SN \/ HHA \/ other providers and their schedules) and the service plan's \"other services\" (`form.pas-eval-service-plan.service_other_services`, `\u2026other_services_na`, `\u2026other_services_receiving`) are asked separately. The same information is collected twice, and the two can disagree.\n\n## What to do\n1. Decide which one is asked and which is worked out. Probably: Coordination of Care is asked, and the service plan's other-services line is derived from it (\"None\" when no provider is entered).\n2. Rule it in `code\/form_v2_shared.inc.php` (shared, or derived) so `test-form-v2-shared.php` records the decision.\n3. This answers S5 (#90): what prints when there are no other services.\n4. While here: `form.pas-eval-service-plan.other_services_receiving` is currently labelled \"What change is needed, and why?\" and shown only when the 3040 `change_needed` = yes (SOC_AO.json, *Health, home and needs* step). That looks like a mis-bound element. Check it.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-02T09:05:51-05:00","updated_at":"2026-10-06T14:41:03-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":189,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/136","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/136","number":136,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[C6] Everyday activities: a template, not free text","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue comes from Frank's notes of that meeting (item **C6** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Everyday Activities: Template.\"\n\n## Where we are\n`form.pas-eval-service-plan.adl_assistance` (\"What help does the client need with everyday activities?\") is free text.\n\n## What to do\n1. Get the template from the customer. It is probably one row per activity (bathing, dressing, eating, toileting, moving around\u2026) with a level of help.\n2. Consider driving the rows from the VESTA task list (S4, #89), so only the client's authorized activities are asked.\n3. Compose the printed text from the rows, as a `derived` value.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-02T09:05:32-05:00","updated_at":"2026-10-02T09:05:32-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":188,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/135","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/135","number":135,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[C5] Equipment \/ objects the client uses: a checkbox list, not free text","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue comes from Frank's notes of that meeting (item **C5** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Objects client uses: Checkbox List.\"\n\n## Where we are\n`form.pas-eval-service-plan.assistive_devices` (\"What equipment or devices does the client use?\") is free text. The help text suggests walker, cane, wheelchair, hospital bed, oxygen, shower chair.\n\n## What to do\n1. Agree the list with the customer, or start from the help text's list plus \"Other\" (free text).\n2. Make it a checkbox list. The paper line gets the ticked items joined into text, as a `derived` value.\n3. Check whether the same list is printed anywhere else (the Client Information Sheet, the Emergency\/Disaster form's DME line). If it is, make it a `shared.*` element.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-02T09:05:28-05:00","updated_at":"2026-10-02T09:05:28-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":187,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/134","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/134","number":134,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[C4] Safety and health hazards: a template with drop-downs and fill-in blanks, not free text","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue comes from Frank's notes of that meeting (item **C4** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Safety Health Hazard: Template Elements Drop Down and Fill in Blanks.\"\n\n## Where we are\n`form.pas-eval-service-plan.living_conditions` (\"Describe the home. Are there any safety or health hazards?\", *Health, home and needs* step) is a single free-text answer.\n\n## What to do\n1. Get the template's elements from the customer: the hazards to pick from (stairs, rugs, clutter, lighting, pests, utilities, smoke detectors\u2026?) and the blanks to fill in.\n2. Turn the question into a drop-down\/checklist plus fill-in blanks. Then compose the printed text from the answers, as a `derived` value, so the paper field still gets one line of text.\n3. Check what the PAS evaluation paper prints there, and that the composed text fits the box.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-02T09:05:24-05:00","updated_at":"2026-10-02T09:05:24-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":181,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/128","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/128","number":128,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[P4] Decide where a person must sign off before forms go live on production","body":"**Background.** Forms V2 is the new paperwork system for client visits. Each visit type is a \"release\" (forms, placements, interview questions). From 29 Sep 2026 most of it is **built by AI from the command line**, and people check it in the Form Explorer. Item **P4** in `docs\/ActionItems.md` (\u00a76, tooling).\n\n## The decision\nIf AI can import and publish everything (P3, #127), where does a **human** have to approve before real staff use it with real clients?\n\n## Our suggestion\n- AI may import and publish to **dev\/staging** freely.\n- **Activating a release for an agency on production** stays a **named person's act**, recorded (who, when, which release), done after they have looked at the Explorer (P1) and the change list (P2, #126).\n\n## Question\nWho is that person (or role), and is one sign-off enough for all three agencies, or one per agency?\n\n## When decided\nUpdate FormsV2Plan \u00a73.1 (the 21 Sep \"office orders the questions\" ruling) and the `feedback_v2_placement_by_claude` memory to match.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:02:21-05:00","updated_at":"2026-10-05T15:44:44-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":179,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/126","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/126","number":126,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[P2] Show draft vs published side by side, and what changed between releases","body":"**Background.** Forms V2 is the new paperwork system for client visits. Each visit type (e.g. Start of Care) is a \"release\": the forms, where each answer prints, and the interview questions with their order and branching. From 29 Sep 2026 most of that is **built by AI from the command line**, and **people check it**. Item **P2** in `docs\/ActionItems.md` (\u00a76, tooling).\n\n## The problem\nA reviewer can't re-read 400+ questions every time something changes. They need to see **what changed**.\n\n## What to do\n- In the Form Explorer (`\/admin\/form-explorer`), show the **draft and the published version side by side**.\n- Show the **difference between two releases**: questions added, removed or reworded, changed branching, changed placements, changed prefills. `form_v2_release_compare()` already works this out. It needs a screen.\n- Ideally, link each change to the issue that asked for it (these action items).\n\n## Related\nP1 (Form Explorer, done), P3 (#127, publishing pipeline), P4 (#128, human sign-off before production).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":35,"name":"review-for-deployment","exclusive":false,"is_archived":false,"color":"0075ca","description":"Built on dev; Charles to review before deploying","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/35"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":2,"created_at":"2026-10-01T10:02:11-05:00","updated_at":"2026-10-08T11:15:36-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":178,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/125","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/125","number":125,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[R2] \"How do I find the questions for a specific form?\"","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview arranged by topic, and the system fills in the agency's paper forms from the answers, so one form's questions are spread over several steps. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is item **R2** in `docs\/ActionItems.md`.\n\n## The customer's question\n\"How do I find the questions for a specific form?\"\n\n## What exists today\n- The data-element list we published on 29 Sep (R1) has a \"By form\" view.\n- The **Form Explorer** (`\/admin\/form-explorer`, built 30 Sep) has a *Forms and paper* tab that lists every question feeding a chosen form. It is an authoring tool, though, not something field staff use.\n\n## What to do in the product\n- G3 (#79): show on each question which form(s) it fills.\n- Consider a per-form filter on the office review page (`\/visits-v2-review`) and\/or in the visit itself (\"show only the questions for Form 3040\").\n\nClose this when staff can answer the question themselves without the Explorer.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":35,"name":"review-for-deployment","exclusive":false,"is_archived":false,"color":"0075ca","description":"Built on dev; Charles to review before deploying","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/35"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T10:02:06-05:00","updated_at":"2026-10-08T11:15:36-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":177,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/124","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/124","number":124,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[D6] Client capability survey: send our draft questions to the customer","body":"**Background.** Forms V2 is the new paperwork system for client visits. Clients sign their forms on screen during the visit, and the plan is to send them their signed copies afterwards. The customer is running a survey of their clients to find out how those copies can reach them. This issue is item **D6** in `docs\/ActionItems.md`, from the customer demo on 29 Sep 2026.\n\n## What to do\nSend the customer the draft survey below, and ask them to report **counts per answer (and per branch)**, not each client's answers. Counts are enough to decide, and they keep the survey itself from becoming a pile of health information.\n\nThe results decide D3 (connectivity checklist) and D5 (clients without a smartphone).\n\n## Draft survey: can the client receive and view their forms?\nShort, plain, and answerable at the door. Each question says what its answer decides.\n\n**Phone**\n1. What kind of phone do you use most? *Smartphone (iPhone \/ Android) \u00b7 Flip or basic cell phone \u00b7 Home phone only \u00b7 No phone.* Decides whether a text link can work at all.\n2. Can you get text messages on it? *Yes \u00b7 No \u00b7 Not sure.*\n3. If we texted you a link, could you open it and read a document? *Yes, by myself \u00b7 Yes, with help \u00b7 No.* This measures \"has a smartphone\" by whether they could actually do it.\n\n**Internet and email**\n4. Do you have internet at home? *Wi-Fi \u00b7 Only on my phone's data plan \u00b7 No.*\n5. Do you have an email address you check? *Yes (write it down) \u00b7 No.*\n\n**Other devices**\n6. Is there a computer or tablet in the home you can use? *Computer \u00b7 Tablet (iPad etc.) \u00b7 Neither.*\n7. Your TV: *Smart TV (Netflix\/YouTube built in) \u00b7 Regular TV with a cable box \u00b7 Regular TV only.* If smart, what brand? Tells us whether a TV route is even possible.\n8. Is your TV connected to the internet? *Yes \u00b7 No \u00b7 Don't know.*\n\n**Help and preference**\n9. Is there a family member or someone you trust who helps with your paperwork? If yes, may we send your copies to them? *(name, relationship, phone\/email)*. It must be the client's own choice. That person receives health information.\n10. How would you like to get copies of your signed forms? *Paper copy \u00b7 Text message \u00b7 Email \u00b7 Send to my helper.*\n11. Is anything hard about reading documents? *Small print \u00b7 Vision \u00b7 Prefer Spanish \u00b7 Other.* This affects the format as well as the delivery.\n\n**For the agency to fill in, not to ask**\n12. Branch, and whether the client lives in an area with no cell signal. This spots gaps by area.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:01:58-05:00","updated_at":"2026-10-01T10:01:58-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":176,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/123","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/123","number":123,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[D5] Clients without a smartphone: how do they see their signed forms?","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, the system fills in the agency's paper forms, and the client signs on screen. The plan is to send the client their signed copies by web link. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **D5** in `docs\/ActionItems.md`).\n\n## The question\nMany clients don't have a smartphone. Most do have cable TV. How do they get their signed forms?\n\n## Ideas raised, and our assessment\n- **A cable TV \"channel\" \/ digital signage.** A cable channel is broadcast to everyone on the system, so it can't carry one client's health information. Signage and smart-TV apps need internet in the home, which is exactly what's missing.\n- **A USB stick for a smart TV.** That leaves health information loose in the home, and a TV can't open an encrypted stick. Many smart TVs show photos from USB but not PDFs.\n\n## Realistic options\n1. A **paper copy** left at the visit or mailed.\n2. **Send to a family member or representative** the client names (their own choice, since that person receives health information; see C3, #83).\n3. A **text link**. It works on many phones that aren't smartphones, but only if the phone has a browser.\n\n## Blocked on\nThe client capability survey (D6). Decide once the survey shows how many clients fall in each group.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":6,"name":"blocked","exclusive":false,"is_archived":false,"color":"b60205","description":"Cannot start until a dependency lands","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/6"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:01:51-05:00","updated_at":"2026-10-07T13:40:43-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":175,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/122","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/122","number":122,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[D4] Questions that ask several things at once: split or narrow them","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **D4** in `docs\/ActionItems.md`).\n\n## The problem\nSome questions on the paper ask several things in one sentence, e.g. the 3040's *\"Is a change needed in tasks or hours, or should services end?\"*, which is three questions. One yes\/no answer can't say which part it means.\n\n## What to do\n- The 3040 case is handled by H5 (#95): ask only about tasks or hours, in a set format.\n- **Go through every interview step** and list the other compound questions.\n- For each, propose: split into separate questions (each printing to the right box), or narrow it as H5 does. Send the list to Jane to confirm.\n\nNote: this has to sit alongside G1 (#77, use the paper's wording). Where we split a question, each part still carries the paper's question number.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:01:46-05:00","updated_at":"2026-10-01T10:01:46-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":174,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/121","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/121","number":121,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[D3] Record whether the client can receive forms online (connectivity checklist)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, the system fills in the agency's paper forms, and the client signs on screen. The plan is to send the client their signed copies by **web link** afterwards. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **D3** in `docs\/ActionItems.md`).\n\n## The problem\nA web link only works if the client can open one. The visit needs to record whether the client can, using a short connectivity checklist (internet, device, email, text messages\u2026).\n\n## Where we are\nNo form asks this. It is tied to how signed PDFs will be delivered (the document storage work, Phase 3), which isn't built yet.\n\n## Decision needed from the customer\n**The checklist.** Our draft questions are in D6 (the client capability survey). We suggest the visit asks a short version of the same questions, so the survey results and the visit records line up.\n\n## Related\nC3 (#83, collect the email address), D5 (clients without a smartphone), D6 (survey).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:01:41-05:00","updated_at":"2026-10-07T13:40:43-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":173,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/120","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/120","number":120,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[D2] Protect a \"primary\" answer once its follow-up questions are done (lock, confirm, or warn?)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Some answers open further questions: answer \"Yes\" to *Does the client have a POA?* and the POA details appear. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **D2** in `docs\/ActionItems.md`).\n\n## The customer's concern\nIf someone goes back and changes a primary answer after its follow-up questions are filled in, the follow-ups disappear and the forms change, possibly without anyone noticing.\n\n## How it works today\nThe server decides which questions show. Changing a primary answer hides its follow-ups (and their answers stop printing). Nothing warns or locks.\n\n## Options\n1. **Lock**: once follow-ups are answered, the primary answer can't be changed (or only by a supervisor).\n2. **Confirm and clear**: changing it asks \"This will remove N answers below. Continue?\" and clears them if confirmed.\n3. **Warn only**: show a notice that follow-up answers were hidden.\n\nOur suggestion is **2**. It prevents accidents without trapping staff when the first answer really was wrong.\n\n## Decision needed from the customer\nWhich behaviour they want.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:01:37-05:00","updated_at":"2026-10-01T10:01:37-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":172,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/119","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/119","number":119,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[D1] How to correct a mistake on a form after it has been signed","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, the system fills in the agency's paper forms, and the client signs on screen. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **D1** in `docs\/ActionItems.md`).\n\n## The customer's question\n> \"Mistake on a form after the fact: how do they change it?\"\n\n## Where we are\n- **Before signing:** any answer can be changed. Saving a change replaces the review copy the client is shown.\n- **After signing:** the visit takes no more answers. The signed PDF is kept as the record and can't be altered. **There is no way to correct it yet.** (The old Forms V1 had an \"amend\" flow, retired on 1 Oct 2026.)\n\n## What needs designing\nA correction that **never changes the signed original** but produces a new, linked revision. To decide:\n- who may correct (a right, e.g. the `Amend` right that already exists in our permission list),\n- whether the correction has to be signed again by the client,\n- how the corrected version and the original are shown and kept (both kept, with who changed what and why),\n- whether a correction is per form or re-opens the visit.\n\n## Answer for Jane now\nMistakes can be fixed any time before signing. After signing there is no correction path yet. It's on the list as this design item.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T10:01:31-05:00","updated_at":"2026-10-08T11:00:48-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":171,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/118","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/118","number":118,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[F2] Fill the vendor and agency address automatically from the agency\/branch","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **F2** in `docs\/ActionItems.md`).\n\n## What the customer asked\nThe vendor and agency name\/address on the forms should be **filled automatically** from the agency and branch the client belongs to. Staff shouldn't be asked.\n\n## What to do\n- Keep the agency's details per branch (name, address, phone, vendor number, contract number) in one place, maintained by an administrator.\n- Fill every form's agency\/vendor fields from it, using the client's branch.\n- Remove any interview question that asks for them.\n\n## Related\nF1 (which number prints), A2 (#106, the agency name and phone on the 3040), H4 (#94, the coordinator per branch may live in the same place).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":2,"created_at":"2026-10-01T10:01:20-05:00","updated_at":"2026-10-13T11:27:59-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":170,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/117","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/117","number":117,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[F1] Form footer: vendor number vs contract number, per branch (need the rule)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Many of the state forms carry the agency's **vendor number** at the bottom. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **F1** in `docs\/ActionItems.md`).\n\n## What the customer said\nThe vendor number on the bottom of the forms must be checked. Sometimes it should be the **contract number** instead, and the number **depends on the branch**.\n\n## Decision needed from the customer\n1. **The rule**: on which forms (or for which programs\/payers) is it the vendor number, and when the contract number?\n2. **The numbers**: the vendor and contract numbers for each branch of each agency.\n\n## Then\nStore the numbers per branch (not typed in each visit) and print the right one by the rule. It is the same agency\/branch data as F2.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:01:16-05:00","updated_at":"2026-10-09T15:02:39-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":169,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/116","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/116","number":116,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[W6] PAS\/PHC consent: some versions have no signature lines. Which version do they use?","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, the system fills in the agency's paper forms, and the client signs on screen. Each form is set up from a specific blank PDF of the agency's paper. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **W6** in `docs\/ActionItems.md`).\n\n## What came up\nOn the **PAS\/PHC consent** form, some versions of the paper had **no signature lines**.\n\n## What to do\n- Check which revision of the PAS\/PHC consent we placed (the blank PDF behind `consent-pas-phc`), and whether it has signature lines.\n- If the version the agency uses is different, replace the blank and redo the placement.\n\n## Decision needed from the customer\n**Which version of the PAS\/PHC consent do they use today?** Ask them to send the current blank form (or its revision date).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:01:12-05:00","updated_at":"2026-10-01T10:01:12-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":168,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/115","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/115","number":115,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[W5] \"I am not providing a record\" ticked: tick the box below it automatically","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **W5** in `docs\/ActionItems.md`).\n\n## What the customer said\nWhen \"I am not providing a record\" is ticked, **the box below it should be ticked automatically** as well. The two always go together.\n\n## What to do\n1. Find the pair on the paper. Most likely the advance directive section: `shared.advance_directive.providing_copy`, on form H2076 or the advance directive acknowledgement. Confirm against the PDF.\n2. Make the second box follow the first (a derived value), and stop asking it separately.\n\n## Check with Jane\nWhich form and which box \"the box below\" is, if it isn't obvious from the paper.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T10:01:08-05:00","updated_at":"2026-10-08T11:15:32-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":165,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/112","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/112","number":112,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[W2] If a POA signs, show the follow-up question (which one?)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, the system fills in the agency's paper forms, and the client (or their representative) signs on screen. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **W2** in `docs\/ActionItems.md`).\n\n## What the customer said\n> \"If POA, then show the other question.\"\n\nWhen someone with Power of Attorney signs for the client, another question has to appear.\n\n## Decision needed from the customer\n**Which question?** Candidates in the visit today:\n- the authority the person signs under (`shared.release.authority`),\n- who the consenting person is (`form.consent-pcs.consenting_person`),\n- the medical power of attorney details (`shared.advance_directive.mpoa_*`).\n\nDo they also need a copy of the POA document recorded?\n\n## Related\nW1 (#111): when the client signs, the representative questions are hidden.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T10:00:52-05:00","updated_at":"2026-10-02T09:06:26-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":162,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/109","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/109","number":109,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[A5] 3040 Q4 & Q5: fill automatically when there are attendants (orientation visit)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **A5** in `docs\/ActionItems.md`).\n\n## What the customer said\nOn the 3040, **questions 4 and 5** should fill themselves when the client has attendants, on an orientation visit.\n\n## What to do\n1. Identify which interview elements print at Q4 and Q5. The paper's question numbers aren't mapped yet (G2, #78).\n2. Fill them from the client's attendants (VESTA schedule \/ attendant list).\n\n## Decision needed from the customer\n**What do Q4 and Q5 fill with?** E.g. attendant names, \"Yes\", the number of attendants, hire\/orientation dates. And what should they show when there are no attendants yet?","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T10:00:39-05:00","updated_at":"2026-10-02T09:06:26-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":160,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/107","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/107","number":107,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[A3] Attendant orientation: take it from the service plan, remove it from the 3040","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. One answer can fill several forms. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **A3** in `docs\/ActionItems.md`).\n\n## What the customer asked\n> Attendant orientation: take it from the service plan and remove it from the 3040.\n> \"Need to know if this question fills another form.\"\n\n## How it works today\nThe 3040's orientation section (how the attendant was oriented, plus the `ori_*` details) is asked as its own set of questions.\n\n## What to do\nStop asking orientation on the 3040 and fill it from the service plan's answers.\n\n## Decision needed from the customer\n**Which service plan fields replace the 3040 orientation answers?** We'll propose a field-by-field match from the two papers for Jane to confirm.\n\n## Answer we owe them\n\"Does this question fill another form?\" The Form Explorer (`\/admin\/form-explorer`, *Questions \u2194 forms* tab) shows every form each question fills. We should send them the answer for the orientation questions specifically.\n\n## Technical notes\nElements: `form.forms-3040.orientation_method`, `form.forms-3040.ori_*`. Note A2 (#106) already removes two `ori_*` questions.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T10:00:31-05:00","updated_at":"2026-10-02T09:06:27-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":156,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/103","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/103","number":103,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[T3] 3040 task grid: don't allow \"weekly\" for a task done daily (need the full rule)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. It has a grid of tasks, each with a frequency. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **T3** in `docs\/ActionItems.md`).\n\n## What the customer said\nOn the 3040 task grid, staff must **not be able to choose \"weekly\"** for a task that is done daily.\n\n## How it works today\nAny frequency can be picked for any task.\n\n## Decision needed from the customer\n**The full rule.**\n- Where does \"done daily\" come from: the VESTA task list \/ authorization, or another answer in the visit?\n- Is a daily task allowed only \"daily\", or also e.g. \"as needed\"?\n- Are there similar rules for other frequencies (a weekly task can't be \"monthly\", etc.)?\n\n## Technical notes\nElements: `form.forms-3040.task_*_freq`. Probably filters the frequency choices by task, using the S4 (#89) task data.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":3,"created_at":"2026-10-01T10:00:06-05:00","updated_at":"2026-10-06T11:10:41-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":154,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/101","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/101","number":101,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[T1] \"Did you explain\u2026?\" questions should default to Yes","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **T1** in `docs\/ActionItems.md`).\n\n## What the customer asked\nThe \"Explain\u2026\" questions (\"Did you go over the task guide with the client?\" and so on) should **default to Yes**.\n\n## How it works today\nThey start blank, so staff tap Yes on each one.\n\n## What to do\nPre-set these to Yes. Staff can still change one to No. Known elements:\n- `form.task-guide.*_reviewed`\n- `form.things-you-may-not-do.family_scope_reviewed`\n- probably `shared.*.policies_reviewed` and `shared.*.rights_reviewed`\n\n## Question to confirm\nDoes this apply to **every** \"did you explain \/ did you review\" question in the visit, or only the task guide ones? We suggest every one, and we'll list them for Jane to check.\n\nNote: a pre-ticked \"Yes, I explained it\" is something staff are attesting to. The customer should be comfortable that a default doesn't weaken it.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T09:59:57-05:00","updated_at":"2026-10-06T11:10:41-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":153,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/100","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/100","number":100,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[E2] STEAR registration: register on the spot if not registered, mark done if yes","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **E2** in `docs\/ActionItems.md`).\n\nSTEAR is the State of Texas Emergency Assistance Registry (registered through 2-1-1). It lets emergency responders know a person needs help in a disaster. The Emergency\/Disaster form asks whether the client is registered.\n\n## What was asked\n- If the client is **not registered**: send them (or the branch) to the STEAR web link and register them now, during the visit.\n- If the client **is registered**: fill in \"registration done\".\n\n## How it works today\nA yes\/no question and a status, with no link or follow-up.\n\n## Questions\n- For the customer: **who does the registering**, the staff member at the visit or the branch afterwards? Should the link (and the 2-1-1 number) be shown on screen?\n- If it's done later, should the visit record a follow-up so it isn't forgotten?\n- For Jane: the text \"on stear\". We read it as part of this item. Confirm.\n\n## Technical notes\nElements: `form.emergency-disaster-form.registered_211_stear`, `\u2026stear_status`.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T09:59:49-05:00","updated_at":"2026-10-07T13:40:38-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":152,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/99","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/99","number":99,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[E1] Pharmacy: pick from known pharmacies or look it up, and fill the phone","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **E1** in `docs\/ActionItems.md`).\n\n## What was asked\nOn the Emergency\/Disaster form, staff shouldn't have to type the client's pharmacy and its phone number.\n- Use it if it is already on file, or\n- offer a drop-down of known pharmacies, or\n- look it up on the web and fill in the phone number.\n\n## How it works today\nPharmacy name and phone are typed by hand.\n\n## Decision needed\n**Where do pharmacies come from?**\n- Does VESTA or the customer already hold the client's pharmacy? If so, we prefill it.\n- Otherwise: build a list from pharmacies staff have entered before (it grows over time), or use a public source. The NPI registry lists pharmacies as well as doctors, so the C2 lookup (#82) could serve both.\n\n## Technical notes\nElements: `form.emergency-disaster-form.pharmacy`, `\u2026pharmacy_phone`.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":3,"created_at":"2026-10-01T09:59:45-05:00","updated_at":"2026-10-06T13:58:42-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":151,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/98","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/98","number":98,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H8] Unclear note: \"3040 form questions EE hours change\" (ask Jane)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site and sent their feedback by text. This issue is one item from that feedback (item **H8** in `docs\/ActionItems.md`).\n\n## The note\n> \"3040 form questions EE hours change\"\n\nWe don't know what this means. \"EE\" might mean employee (the attendant), so this could be about a change in an *attendant's* hours rather than the client's. Or it could be another way of saying H5 (#95).\n\n## Question for Jane\nWhat did the customer mean, and which question on the 3040 is it about?\n\nClose this issue, or turn it into a real item, once answered.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":8,"name":"needs-detail","exclusive":false,"is_archived":false,"color":"fef2c0","description":"Too vague to plan; needs its own conversation","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/8"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T09:59:40-05:00","updated_at":"2026-10-01T09:59:40-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":148,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/95","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/95","number":95,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H5] 3040 \"Is a change needed?\": ask only about tasks or hours, set format, files a change request","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **H5** in `docs\/ActionItems.md`).\n\n## What the customer asked\nThe 3040 asks *\"Is a change needed in tasks or hours, or should services end?\"*. That is three questions in one.\n- Ask **only about tasks or hours** (drop \"should services end\" from the visit).\n- The answer must be in a **set format**, not free text.\n- Answering \"yes, a change is needed\" **does not edit the hours**. It files a change request to the coordinator (#94, H4).\n\n## How it works today\nA yes\/no question plus a free-text detail box.\n\n## Decision needed from the customer\n**What is the set format?** For example: Change needed: None \/ Tasks \/ Hours \/ Both, then for tasks which ones added or removed, for hours the requested new weekly hours. Also: what should print on the 3040 for \"should services end\"? Always \"No\"?\n\n## Technical notes\nElements: `form.forms-3040.change_needed`, `\u2026change_needed_detail`. Related: D4 (other \"several questions in one\" cases), #94.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T09:59:29-05:00","updated_at":"2026-10-02T09:06:26-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":147,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/94","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/94","number":94,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H4] \"Request hours change\" and \"Request schedule change\" buttons that notify the coordinator","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **H4** in `docs\/ActionItems.md`).\n\n## What the customer described\nNobody changes a client's hours during the visit. If the hours need to change, staff press a **\"Request hours change\"** button. The request goes to the **coordinator**, who makes the change in VESTA and tells the client's case manager. There is also a **schedule change request** for the same purpose.\n\n## How it works today\nNo such request exists. The only way to show a needed change is to type different numbers, which H2 is taking away.\n\n## What to do\nBuild a request that is raised from inside the visit, reaches the coordinator, and is tracked until done. It is a new feature, so its design needs agreeing first.\n\n## Decisions needed from the customer\n1. **What goes in a request?** E.g. the change wanted (new weekly hours \/ which days and times), the reason, who asked for it.\n2. **How does the coordinator get it?** Email, a list on a screen in this system, both? Who is the coordinator for each branch?\n3. **What does \"done\" mean?** The coordinator marks it done once VESTA is updated? Should the visit wait for it, or carry on with the current hours?\n4. Is a schedule change request the same thing with different fields, or a separate process?\n\n## Related\nH2 (hours read-only), H3, H5 (the 3040 \"change needed\" answer should file this request).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T09:59:18-05:00","updated_at":"2026-10-06T13:44:18-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":143,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/90","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/90","number":90,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[S5] \"Other services\": what should the paper show when there are none?","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **S5** in `docs\/ActionItems.md`).\n\n## The problem\nOn the PAS service plan, \"Other services\" lets staff list other services the client gets. We added a **\"None\"** choice to the question, but the paper has no box for \"None\". When staff picked None, **nothing printed**, so the field looks unanswered.\n\n## Decision needed from the customer\nWhen the client has no other services, what should the paper show?\n- write \"None\" (or \"N\/A\") in the field,\n- leave it blank, or\n- something else they normally do on paper.\n\n## Technical notes\nElements: `form.pas-eval-service-plan.service_other_services`, `\u2026other_services_na`.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T09:58:56-05:00","updated_at":"2026-10-06T13:44:18-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":138,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/85","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/85","number":85,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[O2] Reorder the visit steps by the customer's priority list (waiting on the list)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, step by step, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **O2** in `docs\/ActionItems.md`).\n\n## What's happening\nThe customer is ranking the sections\/forms of the visit by priority, i.e. the order staff should work through them with the client.\n\n## Waiting on\n**The customer's ranked list.**\n\n## When it arrives\nReorder the steps in `docs\/form-v2-interviews\/SOC_AO.json` to match, keeping O1 (emergency plan right after emergency contacts) unless the list says otherwise. Reseed and check in dev.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T09:58:32-05:00","updated_at":"2026-10-01T09:58:32-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":134,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/81","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/81","number":81,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[C1] Allergies: required drop-down list with \"Other\" (customer to send the list)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **C1** in `docs\/ActionItems.md`).\n\n## What the customer asked\nAllergies should be chosen from a drop-down list, with an \"Other\" choice for free text. The question must be answered and can't be left blank.\n\n## How it works today\nAllergies is a free-text box on the Client Information Sheet, and it can be left empty.\n\n## What to do\n1. Turn the question into a list of choices plus \"Other (type it in)\". It will probably need to allow more than one choice.\n2. Make it required. Note that \"No known allergies\" has to be one of the choices, or a client with no allergies can't answer it.\n\n## Waiting on\n**The customer will send the list of allergies.** Ask too whether more than one may be picked, and how they want \"no known allergies\" worded.\n\n## Technical notes\nElement: `form.client-information-sheet.allergies`.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":5,"name":"customer-input","exclusive":false,"is_archived":false,"color":"fbca04","description":"Waiting on an answer from the customer","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/5"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T09:58:10-05:00","updated_at":"2026-10-01T09:58:10-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":130,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/77","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/77","number":77,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[G1] Question labels must use the form's own printed wording","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms (Form 3040, the PAS service plan, the consent forms and so on) from the answers. The client then signs on screen. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **G1** in `docs\/ActionItems.md`).\n\n## What the customer asked\n> \"We need to use their labels and questions please. If we don't their people will be confused.\"\n> \"Make labels on questions same as on form.\"\n\n## How it works today\nEach interview question is a plain-English rewording written for the visit, e.g. \"Is Attendant A competent to do the tasks?\". The form's own wording is shown underneath as explanatory text, but it is not the label. Staff trained on the paper forms can't recognise the questions.\n\n## What to do\nMake the form's printed wording the question label. This reverses an earlier design choice (FormsV2Plan \u00a74.1.2).\n\n## Decision needed from the customer\nSome answers print on **several** forms, and each form may word the question differently (one \"shared\" question fills all of them). For those, which wording do we show?\n- one form's wording wins (which form?), or\n- show each form's wording, listing the forms the answer fills.\n\n## Technical notes\nInterview files: `docs\/form-v2-interviews\/SOC_AO.json`. Shared elements: `code\/form_v2_shared.inc.php`. Related: G2 (question numbers), G3 (form names), G4 (update the docs\/memory).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":7,"created_at":"2026-10-01T09:57:52-05:00","updated_at":"2026-10-13T11:27:59-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":278,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/169","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/169","number":169,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Hide forms on form-filling section buttons, show with info button","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nThe list of forms is too long to put into the section buttons. Add an info button like the form questions have that display the forms in a section in a list (not one after the other).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-08T13:06:14-05:00","updated_at":"2026-10-09T15:42:16-05:00","closed_at":"2026-10-09T15:42:09-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":263,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/166","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/166","number":166,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Form filling sections need an indicator that there are waiting questions and the form-filler hasn't visited the section.","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nThis will also re-flag if questions appear after another question has been answered.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":17,"name":"size:days","exclusive":false,"is_archived":false,"color":"d4d4d4","description":"A few days","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/17"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-07T16:14:24-05:00","updated_at":"2026-10-08T11:15:32-05:00","closed_at":"2026-10-08T11:03:14-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":262,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/165","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/165","number":165,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"How do we ensure that a changed answer causes the forms to be re-generated and signatures needed again?","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nThat includes a question that causes other questions to appear in later sections, and those sections need to have a flag shown that the form-filler should revisit the section.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":17,"name":"size:days","exclusive":false,"is_archived":false,"color":"d4d4d4","description":"A few days","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/17"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":4,"created_at":"2026-10-07T16:13:29-05:00","updated_at":"2026-10-08T11:02:33-05:00","closed_at":"2026-10-08T11:00:48-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":225,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/155","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/155","number":155,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Used \"shared\" instead of pooled in Form Explorer","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\n","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-07T11:01:12-05:00","updated_at":"2026-10-07T11:48:18-05:00","closed_at":"2026-10-07T11:48:18-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":224,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/154","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/154","number":154,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Form Explorer needs to be able to show JUST \"agency branch fixed\" or JUST \"prefilled\"","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\n","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-07T11:00:15-05:00","updated_at":"2026-10-07T11:48:18-05:00","closed_at":"2026-10-07T11:48:18-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":223,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/153","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/153","number":153,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Form Explorer needs to show items that are pooled and which are filled from web lookup","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nThese relationships need to be indicated.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-07T10:58:25-05:00","updated_at":"2026-10-07T11:48:17-05:00","closed_at":"2026-10-07T11:48:17-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":222,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/152","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/152","number":152,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Sidebar in form filling UI needs list of names of forms (or just form number)","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nThey need to show forms associated with questions in each section.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-07T10:54:35-05:00","updated_at":"2026-10-09T15:42:09-05:00","closed_at":"2026-10-07T11:48:17-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":221,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/151","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/151","number":151,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Check VESTA data for multiple time spans in attendant schedule","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nWe need to check that VESTA data is showing attendants with multiple timespans per day.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":15,"name":"area:ops","exclusive":false,"is_archived":false,"color":"1d76db","description":"Operational tooling, pipeline, storage","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/15"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"},{"id":16,"name":"size:hours","exclusive":false,"is_archived":false,"color":"ededed","description":"Under a day","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/16"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-07T10:53:27-05:00","updated_at":"2026-10-07T23:22:47-05:00","closed_at":"2026-10-07T23:22:47-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":203,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/150","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/150","number":150,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Refuse a blank form that carries hidden layers","body":"**Background.** Forms V2 fills the agency's paper forms by printing answers on top of a \"blank\" PDF of each form (`docs\/form-blanks\/`). Issue #104 (the Task Guide's logo and bottom line printing twice) turned out to be a **hidden layer** left in the blank by Adobe Illustrator. It was switched off by default and held an older copy of the page.\n\nOur proof tooling (poppler) respects \"off\" and hides it, so every proof looked right. Apple's built-in PDF viewer and some print paths ignore it and draw it. The PDF tool that combines answers with the blank (qpdf) carries it into every review and signed copy. The customer saw it; we could not, until we went looking.\n\nThe Task Guide blank was rebuilt without the layer. Nothing stops the next blank from bringing one in.\n\n## What to do\nRefuse to register a blank that has hidden content, with a message in words saying what to do.\n\n- Where: the blank probe \/ registration, `form_v2_pdf_probe()` \/ `form_v2_template_register()` in `code\/form_v2_template.inc.php`. These already fingerprint and measure every blank, and `form-overlay-propose.php` calls the registration.\n- What counts: the catalogue's `\/OCProperties` has a non-empty `\/D \/OFF` list (or `\/BaseState \/OFF`), **and** the page content uses an `\/OC` marked-content span or an XObject `\/OC` naming one of those layers. A layer that is on everywhere is harmless: `forms-3040` and `things-you-may-not-do` carry `\/OFF[]` and must still pass.\n- Also worth flagging: a `\/Thumb` page thumbnail (it can show stale artwork in a viewer's sidebar). That's a warning, not a refusal.\n- Add a test in `scripts\/test-form-blanks.php` (or the template state test) that walks every blank in the catalogue and asserts none has hidden content. That test alone would have caught #104 before the visit.\n- Note how to clean a blank in `docs\/form-placements\/README.md`: cut the layer's BDC\u2026EMC span from the page stream (PyMuPDF in `venv`), then check the result is pixel-identical so the measured boxes stand. If it is, only `template_sha256` changes.\n\n## Done when\n- Registering a blank with an \"off\" layer is refused, with a message in words.\n- Every current blank passes.\n- The test covers the whole catalogue.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-05T16:09:53-05:00","updated_at":"2026-10-06T14:27:02-05:00","closed_at":"2026-10-06T13:55:29-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":202,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/149","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/149","number":149,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"Bring packet (visit type) import and publish into the Forms V2 pipeline","body":"**Background.** Forms V2 is the new paperwork system for client visits. Each visit type (SOC\/AO, AR, PHV\u2026) is a **packet**: the list of forms that visit requires. `scripts\/form-v2-pipeline.php` (#127) takes the repo's files to a published release in one checked transaction (#130). Packets are the one input it still leaves out: they are published separately with `import-form-packets.php --publish`.\n\n**Not urgent.** Only SOC_AO has an interview today (`docs\/form-v2-interviews\/SOC_AO.json`), and its packet is already published. This matters once more visit types get interviews.\n\n## The problem\nThe pipeline reads the **published** packet to decide which forms belong to a visit type (`form_v2_packet_form_codes()`), and it pins that packet version into the release. If `docs\/form-packets\/{packet}.json` changes, for example a form is added, the pipeline:\n- quietly uses the old packet, so the new form is not imported, placed or checked;\n- refuses outright if the packet has never been published (\"The visit type X is not published.\").\n\nSo a packet change takes two commands in the right order, and nothing warns you when the second step is forgotten. That is the same split-chain problem #127 fixed for forms, maps and interviews.\n\n## What to do\n- **Import:** run the packet's file through the existing importer, idempotently (an unchanged file writes nothing). The proposers and the forms import should then read the packet **about to be** published, the way they already read pending form definitions.\n- **Publish:** publish the packet in the same transaction, in dependency order: forms \u2192 **packet** \u2192 maps \u2192 interview \u2192 release. The packet gate requires every item's form to have a published version, so the packet goes after the forms. Use the existing gate (`form_packet_validate_definition()` with the publish context), never a second one.\n- **Check:** if the packet differs from the published one, the review page (`\/admin\/form-v2-publish`) should show it under \"what changed\" (forms added or removed, items, pages). `form_v2_publish_check()` keeps judging the release that results.\n- **Release:** a packet change alone is a content change, so it produces a new release, and an unchanged packet does not.\n- **Merge key:** the install-wide `item.key` uniqueness rule (one `form_code` \u21d2 one item key across every published packet) must still hold. This chain publishes one packet, but the rule is checked across all of them.\n\n## Related\n#127 (the pipeline), #130 (the check), #128 (activation stays a separate act).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-05T15:44:44-05:00","updated_at":"2026-10-07T08:44:30-05:00","closed_at":"2026-10-06T15:07:39-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":199,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/146","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/146","number":146,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"VESTA agency ID can sometimes be multiple per agency","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nThe system editor needs to handle multiple IDs in the editor UI.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-05T13:26:12-05:00","updated_at":"2026-10-05T13:30:31-05:00","closed_at":"2026-10-05T13:29:54-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":198,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/145","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/145","number":145,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Add client detail pull-out to form filling UI","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nThe client detail sheet that was visible in form filling UI V1 needs to be added to V2.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":17,"name":"size:days","exclusive":false,"is_archived":false,"color":"d4d4d4","description":"A few days","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/17"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-05T11:55:52-05:00","updated_at":"2026-10-06T14:27:10-05:00","closed_at":"2026-10-06T14:27:10-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":197,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/144","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/144","number":144,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Adjust systems editor UI","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nMove the Logo to the column with the color settings. There are also unexplained blank fields in the editor (see screenshot). Adjust the layout of the agency form so it doesn't take up so much vertical space. The help information on there doesn't need to talk about form pre-fills.","ref":"","assets":[{"id":6,"name":"photo-20261005-113742-1.png","size":108582,"download_count":15,"created_at":"2026-10-05T11:37:43-05:00","uuid":"2cef058f-5fda-429f-89df-53ced5b7baa6","browser_download_url":"https:\/\/www-s01.apinet.com\/codeforge\/attachments\/2cef058f-5fda-429f-89df-53ced5b7baa6","type":"attachment"}],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-05T11:37:42-05:00","updated_at":"2026-10-05T13:30:31-05:00","closed_at":"2026-10-05T13:30:31-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":196,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/143","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/143","number":143,"user":{"id":3,"login":"connect-bot","login_name":"","source_id":0,"full_name":"","email":"charles+connect@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/68a2723f7ad70dee2e1415be7488d84b","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/connect-bot","language":"en-US","is_admin":false,"last_login":"2026-10-01T08:52:00-05:00","created":"2026-10-01T08:49:35-05:00","restricted":false,"active":true,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"connect-bot"},"original_author":"","original_author_id":0,"title":"Check forms V2 for PHI audit log","body":"**Charles W.** _(via Connect)_\n<!-- connect:user=1 -->\n\nMake sure the PHI recording for the audit log is in place.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":7,"name":"security","exclusive":false,"is_archived":false,"color":"d93f0b","description":"Authentication, authorization or PHI exposure","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/7"},{"id":16,"name":"size:hours","exclusive":false,"is_archived":false,"color":"ededed","description":"Under a day","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/16"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-05T11:21:10-05:00","updated_at":"2026-10-06T14:59:29-05:00","closed_at":"2026-10-06T14:55:22-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":195,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/142","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/142","number":142,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[F3] Check the agency administrator name is set for all three agencies on production","body":"**Background.** Forms V2 is the new paperwork system for client visits. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. Frank's notes of that meeting say \"Agency Administrator - Ambrose\" (item **F3** in `docs\/ActionItems.md`).\n\n## Where we are\nBuilt already. The `agency_administrator` column (`migrations\/20260928_agency-administrator.sql`) is read as the `system.agency_administrator` prefill fact. It prints \"- Ambrose Hernandez\" on the PAS\/PHC consent and the Private Pay agreement. When it is empty, the line reads \"the Agency Administrator or designee\".\n\n## What to do\n1. Confirm the migration is applied on production.\n2. Confirm the column is filled for systems 9, 10 and 11, and ask whether Ambrose is the administrator for all three agencies.\n3. Proof one consent PDF per agency.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":15,"name":"area:ops","exclusive":false,"is_archived":false,"color":"1d76db","description":"Operational tooling, pipeline, storage","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/15"},{"id":16,"name":"size:hours","exclusive":false,"is_archived":false,"color":"ededed","description":"Under a day","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/16"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-02T09:05:59-05:00","updated_at":"2026-10-05T14:08:29-05:00","closed_at":"2026-10-05T14:08:29-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":192,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/139","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/139","number":139,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H9] 3040 schedule note (FWD) comes from the service plan start date: prefill it, don't ask","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue comes from Frank's notes of that meeting (item **H9** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Schedule Note: Pulls from Service Plan Start Date.\"\n\n## Where we are\n`form.forms-3040.schedule_fwd` is labelled \"Schedule note (FWD)\" and asked as free text (\"Copy what the schedule says here\u2026\"). If it is a date, our reading of the field is wrong.\n\n## What to do\n1. Check the 3040 paper: what \"FWD\" is and what format it expects.\n2. Prefill it from the service plan start date (`auth.service_start_date`, or whichever element the PAS evaluation \/ service plan prints) and stop asking it. Treat it as a `derived` \/ prefilled value, so the Form Explorer shows its source.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-02T09:05:45-05:00","updated_at":"2026-10-05T14:21:35-05:00","closed_at":"2026-10-05T14:21:35-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":191,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/138","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/138","number":138,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[A7] 3040 \"Which health problems must the attendant report?\" is a reminder: make it Yes\/No","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue comes from Frank's notes of that meeting (item **A7** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Which Health Problems must the attendant report? Yes\/No its a reminder change it.\"\n\n## Where we are\n`form.forms-3040.ori_report_health_problems` asks for a list of symptoms (free text, *Attendants and supervision* step).\n\n## What to do\n1. Check the 3040 paper at that spot. If it is a tick box or a check-off item, change the field type to a Yes\/No (\"Did you tell the attendant which health problems to report?\"). If the paper has a blank line, decide what prints on it once the answer is Yes\/No.\n2. Probably default it to Yes, like the other \"did you explain\" items (T1, #101).\n3. Its neighbour \"who should they report them to\" is A2 (#106).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":3,"created_at":"2026-10-02T09:05:41-05:00","updated_at":"2026-10-05T13:31:49-05:00","closed_at":"2026-10-05T13:31:49-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":190,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/137","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/137","number":137,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[K1] A directory of agencies (name, phone, fax) to pick from instead of typing","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue comes from Frank's notes of that meeting (item **K1** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Provide Directory with Agency Names and Phone Numbers\/Fax Numbers.\"\n\n## Where we are\nOther providers are typed in by hand: *Other care the client receives* (Coordination of Care: skilled nursing, home health, other), and possibly the Transfer form.\n\n## What to do\n1. Ask where it is used: Coordination of Care, Transfer, or both. Ask whether the customer has a list.\n2. Store the directory. It is not PHI. A new table or a file, and it needs a way to keep it up to date.\n3. In the interview, pick from the directory (with an \"Other\" choice). Picking fills the name, phone and fax.\n4. Related: the pharmacy lookup (E1, #99) and the doctor's address (C2, #82) are the same kind of lookup.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":3,"created_at":"2026-10-02T09:05:37-05:00","updated_at":"2026-10-08T11:02:33-05:00","closed_at":"2026-10-08T09:29:24-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":183,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/130","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/130","number":130,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[P6] A completeness check the CLI runs before publishing (same report as the Explorer's Gaps tab)","body":"**Background.** Forms V2 is the new paperwork system for client visits. Each visit type is a \"release\" (forms, placements, interview questions). From 29 Sep 2026 most of it is **built by AI from the command line**, and people check it. Item **P6** in `docs\/ActionItems.md` (\u00a76, tooling).\n\n## What to do\nBefore anything is published (P3, #127), the CLI runs a check and refuses on failure:\n- every field on every form is either filled by something or has a recorded reason for being blank,\n- every branch of the interview can be reached,\n- no question is orphaned (fills nothing),\n- every shared element has a ruling (`scripts\/test-form-v2-shared.php`),\n- every form's proof PDF renders.\n\nThe Form Explorer's **Gaps** tab (built 30 Sep) shows the same report. Both must use the same code, so the screen and the CLI can't disagree.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T10:02:29-05:00","updated_at":"2026-10-05T15:44:44-05:00","closed_at":"2026-10-05T15:43:52-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":182,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/129","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/129","number":129,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[P5] Repo files are the source of truth for forms; do the on-screen editors stay?","body":"**Background.** Forms V2 is the new paperwork system for client visits. Each visit type is a \"release\" (forms, placements, interview questions). From 29 Sep 2026 most of it is **built by AI from the command line**, and people check it. Item **P5** in `docs\/ActionItems.md` (\u00a76, tooling).\n\n## The principle\n**Everything the AI writes is a file in the repo**, reviewed as a diff, and the database is built from those files. This is the same approach already used for permissions (`code\/perms.inc.php` \u2192 `sync-perms.php`). It gives a history of every change and a review before it lands.\n\n## The problem\nThere are also on-screen editors (`\/admin\/form-v2-maps` for placements, `\/admin\/form-v2-workflows` for question order). An edit made there changes the database but not the files, and the next import from the files would undo it, or the two quietly drift apart.\n\n## Decision needed\n- **Remove the edit screens** (keep them read-only, or point to the Explorer), or\n- **keep them, but export every edit back to the files** so the files stay the truth.\n\nOur suggestion: make them read-only. Corrections go through a file change, which is what the AI and the review already work on.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T10:02:27-05:00","updated_at":"2026-10-05T10:34:31-05:00","closed_at":"2026-10-05T10:24:08-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":180,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/127","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/127","number":127,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[P3] One CLI pipeline to import, validate and publish forms, interviews and releases from repo files","body":"**Background.** Forms V2 is the new paperwork system for client visits. Each visit type (e.g. Start of Care) is a \"release\" built from several pieces: form definitions, placements (where each answer prints on the PDF), the shared data pool, prefills, and the interview (questions, order, branching). From 29 Sep 2026 most of that is **built by AI from the command line**, and people check it. Item **P3** in `docs\/ActionItems.md` (\u00a76, tooling).\n\n## The problem\nToday's tools assumed office staff would build and publish on screen:\n- `seed-form-v2-workflow.php` never publishes.\n- `form-publish.php` publishes definitions and maps but deliberately **not interviews or releases** (\"the office's decision\").\n- The steps are separate scripts (`import-forms.php`, `form-overlay-propose.php`, `form-attest-propose.php`, `seed-form-v2-workflow.php`, `form-publish.php`) with no single chain.\n\n## What to do\nOne pipeline over the files in the repo: interviews (`docs\/form-v2-interviews\/`), definitions (`docs\/forms\/`), shared pool, placements (`docs\/form-placements\/`), prefills.\n\n**import \u2192 validate \u2192 publish a new version \u2192 assemble a release \u2192 (optionally) activate**\n\n- Dry run by default, `--apply` to write.\n- Idempotent: an unchanged file creates no new version.\n- Same checks as the screens, and a refusal is printed, never forced.\n- Missing today: publishing an interview, assembling and publishing a release, the one command that runs the chain.\n\n## Related\nP4 (#128, where a person must sign off), P5 (#129, files are the source of truth), P6 (#130, pre-publish check).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":3,"created_at":"2026-10-01T10:02:17-05:00","updated_at":"2026-10-05T15:44:44-05:00","closed_at":"2026-10-05T15:41:55-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":167,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/114","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/114","number":114,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[W4] Two witnesses only when the client signs with an X","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, the system fills in the agency's paper forms, and each signer signs on screen. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **W4** in `docs\/ActionItems.md`).\n\n## The customer's rule\nWitnesses are needed **only when the client signs with an \"X\"** (cannot write their name). Then **two** witnesses sign. Otherwise there are no witnesses.\n\n## How it works today\nWitness questions and signature lines are offered whatever way the client signs.\n\n## What to do\n- Add (or reuse) a question: \"Will the client sign with an X?\"\n- Yes: require two witnesses (name + signature, date stamped automatically per W3).\n- No: hide the witness questions and leave the witness lines blank on every form.\n\n## Technical notes\nElements: `form.*.witness_1`, `form.*.witness_2` and their signing slots. Related: W1 (#111), W3.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T10:01:04-05:00","updated_at":"2026-10-06T14:41:03-05:00","closed_at":"2026-10-06T11:11:38-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":166,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/113","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/113","number":113,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[W3] Auto-date the witness signature; stop asking for the witness date","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, the system fills in the agency's paper forms, and each signer taps to sign on screen. Each signature line's date is filled automatically with the date of the tap. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **W3** in `docs\/ActionItems.md`).\n\n## What the customer asked\nDate the **witness** signatures automatically, like the other signature lines.\n\n## How it works today\nThe witness date is asked as a question instead of coming from the witness's signing tap.\n\n## What to do\nTreat the witness date lines as part of the witness signing slots, so the date is stamped when the witness signs, and remove the witness date questions.\n\n## Technical notes\nElements: `form.*.witness_1_date`, `form.*.witness_2_date`. A date line claimed by a signing slot is never a question (`form_v2_signed_fields()`), so this is mostly a placement change. Related: W4 (witnesses only for an X signature).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T10:01:00-05:00","updated_at":"2026-10-06T11:11:38-05:00","closed_at":"2026-10-06T11:11:38-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":164,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/111","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/111","number":111,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[W1] When the client signs, hide the \"signing for the client\" lines","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, the system fills in the agency's paper forms, and the client (or their representative) signs each form on screen. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **W1** in `docs\/ActionItems.md`).\n\n## What the customer said\n**Nobody signs for the client if the client signs.**\n\n## How it works today\nThe \"signed on behalf of the client\" (representative \/ authority) questions and signature lines are shown even when the client signs for themselves.\n\n## What to do\nWhen the visit records that the client signs personally:\n- hide the representative questions (name, relationship, authority), and\n- leave the representative signature lines unsigned and blank on the paper.\n\n## Technical notes\nElements: `shared.release.authority` and the consenting-person signing slots. Related: W2 (what to show when it is a POA), W4 (witnesses).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":3,"created_at":"2026-10-01T10:00:49-05:00","updated_at":"2026-10-06T14:59:29-05:00","closed_at":"2026-10-06T14:45:48-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":163,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/110","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/110","number":110,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[A6] Answer Jane: where is 3040 Q8 \"Attendant is competent\u2026\" captured?","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **A6** in `docs\/ActionItems.md`).\n\n## Jane's question\n3040 **Q8** reads \"Attendant is\/continues to be competent to provide\u2026\". Where in the visit is that answered?\n\n## The answer\nIt is asked in the **Attendants and supervision** step as \"Is Attendant A\/B\/C competent to do the tasks?\", one question per attendant (`form.forms-3040.competent_a`, `_b`, `_c`).\n\nIt was hard to find because our label doesn't match the paper's wording. That is the general problem fixed by G1 (#77).\n\n## To do before closing\n- Check that `competent_a\/b\/c` is the field actually printed at 3040 Q8 (proof the PDF).\n- Send Jane the answer.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T10:00:44-05:00","updated_at":"2026-10-08T11:33:06-05:00","closed_at":"2026-10-08T11:33:06-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":161,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/108","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/108","number":108,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[A4] Orientation supervisory visit: pull the task list from VESTA","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form, which lists the attendant's tasks. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **A4** in `docs\/ActionItems.md`).\n\n## What the customer asked\nOn an orientation supervisory visit, the 3040's task list should come **from VESTA**, the client's authorized tasks, not be chosen by hand.\n\n## What to do\nFill the 3040 task rows from the same VESTA task list built for the service plan in S4 (#89). Build it once, use it in all three places (service plan, task guide #102, 3040).\n\n## Depends on\n#89 (S4).\n\n## Technical notes\nElements: `form.forms-3040.task_*`. Related: T3 (#103), which limits the frequency per task.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T10:00:36-05:00","updated_at":"2026-10-06T10:06:53-05:00","closed_at":"2026-10-05T15:55:11-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":159,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/106","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/106","number":106,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[A2] 3040 \"Report problems to the agency\": fill name and phone from the agency, remove the questions","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **A2** in `docs\/ActionItems.md`).\n\n## What the customer asked\nIn the 3040's orientation section (\"attendant should report problems to the agency\"), **remove** the questions \"who should they report to\" and \"phone number\". They are always the agency itself.\n\n## What to do\nFill both from the agency's own name and phone number (the agency, or the branch if each branch has its own phone). Stop asking them.\n\n## Check\nIs the phone the agency's main number or the branch's? It should come from the same agency\/branch details used for the footer (F2).\n\n## Technical notes\nElements: `form.forms-3040.ori_report_to_name`, `\u2026ori_report_to_phone`.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T10:00:19-05:00","updated_at":"2026-10-06T11:10:41-05:00","closed_at":"2026-10-06T09:44:01-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":158,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/105","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/105","number":105,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[A1] 3040 Q3b and Q7 always have opposite answers: answer 3b, fill Q7 automatically","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **A1** in `docs\/ActionItems.md`).\n\n## What the customer said\nOn the 3040, **question 3b and question 7 always have opposite answers**. If 3b is Yes, 7 is No, and the other way round.\n\n## What to do\n1. Find which interview elements print at 3040 Q3b and Q7. We haven't mapped the paper's question numbers yet (see G2, #78).\n2. Ask only 3b. Q7 is worked out as its opposite (a \"derived\" value) and is no longer a question.\n3. Check the Form Explorer shows Q7 as \"worked out from other answers\".","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T10:00:15-05:00","updated_at":"2026-10-07T13:54:38-05:00","closed_at":"2026-10-06T09:44:01-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":157,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/104","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/104","number":104,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[T4] Task guide PDF prints the logo and the bottom line twice","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms and produces PDFs for the client to sign. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **T4** in `docs\/ActionItems.md`).\n\n## The bug\nOn the generated **task guide** PDF, the agency **logo** and the **bottom line (footer)** each appear **twice**.\n\n## What to do\nNot looked into yet. Likely causes to check:\n- the blank PDF template already carries the logo\/footer, and our placement draws them again, or\n- the page is stamped twice (e.g. once in the review copy, once at signing).\n\nGenerate a task guide in dev with `form-pdf-proof.php`, compare it with the blank template, and fix the placement or the render. The customer will see this on every visit, so it should go early.\n\n## Technical notes\n`task-guide` placement in `docs\/form-placements\/`, render in `code\/form_render.inc.php` \/ `form_pdf_generate()`.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":2,"name":"bug","exclusive":false,"is_archived":false,"color":"d73a4a","description":"Something is broken today","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/2"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T10:00:11-05:00","updated_at":"2026-10-06T14:27:02-05:00","closed_at":"2026-10-05T16:09:55-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":155,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/102","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/102","number":102,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[T2] Task guide: highlight, or show only, the client's VESTA tasks?","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. The **task guide** is a printed document listing the tasks an attendant may do. Staff go over it with the client. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **T2** in `docs\/ActionItems.md`).\n\n## What was asked\nIn the task guide, point out the tasks that actually apply to this client, using the client's authorized task list from VESTA (the same list as S4, #89).\n\n## Decision needed from the customer\n- **Highlight** the client's tasks and keep the full printed guide, or\n- **show only** the client's tasks. That makes a shorter guide, but it changes the printed document.\n\nDoes the same choice apply on screen and on the paper?\n\n## Depends on\n#89 (S4), the VESTA task list for the client.\n\n## Technical notes\n`task-guide` placement and interview step.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T10:00:02-05:00","updated_at":"2026-10-05T16:08:33-05:00","closed_at":"2026-10-05T15:31:17-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":150,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/97","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/97","number":97,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H7] 3040 \"Does the schedule vary week to week?\" is always No: prefill and remove the question","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **H7** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Does the client's schedule vary from week to week?\" is **always No**.\n\n## What to do\nRemove the question and always print \"No\" on the 3040. Hide any follow-up questions that only appear when it is \"Yes\".\n\n## Technical notes\nElement: `form.forms-3040.schedule_variable`.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":3,"created_at":"2026-10-01T09:59:36-05:00","updated_at":"2026-10-05T14:21:35-05:00","closed_at":"2026-10-05T14:21:35-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":149,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/96","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/96","number":96,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H6] 3040 \"Does the client need the services?\" is always Yes: default it, or remove it?","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Form 3040 is the state's supervisory visit form. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **H6** in `docs\/ActionItems.md`).\n\n## What the customer said\nOn the 3040, \"Does the client continue to need the services?\" is **always Yes**.\n\n## Decision needed from the customer\n- **Default to Yes but still show it**, so staff can change it in the rare case it's No, or\n- **remove the question** and always print Yes.\n\n## Technical notes\nElement: `form.forms-3040.continues_to_need_services`. Compare H7, where the customer clearly said to remove it.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T09:59:33-05:00","updated_at":"2026-10-05T14:21:40-05:00","closed_at":"2026-10-05T14:21:35-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":146,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/93","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/93","number":93,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H3] Weekly schedule must not total more than the authorized hours (hard stop or warning?)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **H3** in `docs\/ActionItems.md`).\n\n## The customer's rule\n> \"Can change allotted hours per day but cannot change total hours authorized.\" \"Can't go over authorized hours.\"\n\nStaff may move hours between days (e.g. 3 on Monday, 5 on Tuesday), but the **weekly total must not go over** the authorized weekly hours (H2).\n\n## How it works today\nNothing compares the schedule's total with the authorization.\n\n## What to do\nAdd the check: show a running total beside the authorized hours as staff fill in the days, and act when the total is greater.\n\n## Decision needed from the customer\nWhen the total goes over:\n- **hard stop**: the visit can't continue until the schedule fits, or\n- **warning**: it is allowed but flagged to the office (shown on the review page).\n\nAlso: is a total **under** the authorized hours fine, or should it be flagged too?\n\n## Technical notes\nElements: `schedule.*` and the derived weekly total. Related: H1, H2, H4.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T09:59:11-05:00","updated_at":"2026-10-07T23:22:45-05:00","closed_at":"2026-10-06T13:25:35-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":145,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/92","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/92","number":92,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H2] Authorized weekly hours are read-only in an SOC visit (from VESTA)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Some answers start pre-filled from VESTA (the agency's EVV\/scheduling system) for staff to confirm. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **H2** in `docs\/ActionItems.md`).\n\n## The customer's rule\n> \"Can't go over authorized hours. Can't change hours but might change time frame. Can change allotted hours per day but cannot change total hours authorized.\"\n\n## How it works today\nAuthorized weekly hours are pre-filled from the VESTA authorization, but staff can change them. We chose that on 25 Sep (dictionary 2: authorization values are asked and any difference is shown to the office).\n\n## What to do\n- Show authorized weekly hours as **read-only**, straight from VESTA. Not a question.\n- This reverses the 25 Sep rule for this one value. Add it to the frozen list (`FORM_V2_FROZEN_KEYS`), as was done for `auth.program_type`.\n- Check whether `auth.days_per_week` should be frozen too.\n- If the hours are wrong, the route is the \"Request hours change\" button (H4), not an edit.\n\n## Technical notes\nElement: `auth.weekly_hours`. Related: H3 (daily hours may move but the total can't go over), H4.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T09:59:06-05:00","updated_at":"2026-10-07T13:40:33-05:00","closed_at":"2026-10-05T11:54:03-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":144,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/91","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/91","number":91,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[H1] Schedule hours: two decimals, quarter-hour steps (.25 \/ .50 \/ .75)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **H1** in `docs\/ActionItems.md`).\n\n## What the customer asked\nHours per day in the attendant schedule are entered to **two decimal places, in quarter-hour steps**: 1.25, 2.50, 3.75 and so on.\n\n## What to do\n- Make each day's hours accept only multiples of 0.25 (refuse 2.3, for example), and print them with two decimals.\n- A step picker or drop-down may be easier on a tablet than typing.\n- Check the derived totals (weekly total, ISP Total Hours, 3040 hours per attendant) also print with two decimals.\n\n## Technical notes\nElements: `schedule.attendant_*_{day}`. Related: H2\/H3 (authorized total can't be changed or exceeded).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":3,"created_at":"2026-10-01T09:59:00-05:00","updated_at":"2026-10-07T23:22:45-05:00","closed_at":"2026-10-05T11:54:03-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":142,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/89","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/89","number":89,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[S4] Tasks: only show the tasks VESTA lists for this client","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Some answers start pre-filled from VESTA (the agency's EVV\/scheduling system). On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **S4** in `docs\/ActionItems.md`).\n\n## What the customer asked\nThe service plan's task list should show **only the tasks authorized in VESTA** for this client.\n\n## How it works today\nThe tasks are pre-ticked from VESTA, but staff see the full list of every possible task and can tick or untick any of them. The paper could then list tasks the client isn't authorized for.\n\n## What to do\n- Show only the client's VESTA tasks, read-only or confirm-only.\n- Decide what happens when a task is wrong in VESTA. Probably the same route as hours: a change request to the coordinator (H4), not an edit in the visit.\n- Check what \"Other tasks\" (`shared.plan.tasks_other`) should do.\n\n## Technical notes\nElements: `auth.service_tasks`, `shared.plan.tasks_other`. This same task list also drives T2 (task guide highlighting) and A4 (3040 orientation tasks), so build it once and reuse it.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T09:58:52-05:00","updated_at":"2026-10-05T16:08:33-05:00","closed_at":"2026-10-05T15:31:17-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":141,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/88","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/88","number":88,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[S3] Supervision frequency is \"Every 12 months \/ PRN\": remove the question (confirm it applies on every form)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **S3** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"How often will the attendant be supervised\" is always **every 12 months**. On paper it reads \"Every 12 months \/ PRN\" (PRN = as needed). Remove the question.\n\n## How it works today\nIt is asked on the service plan, and the same idea is asked again for:\n- the PAS service plan (`form.pas-eval-service-plan.frequency_of_supervision`, `_months`, `_other`)\n- the PCS consent (`form.consent-pcs.supervision_interval`)\n- the private pay agreement (`form.private-pay-agreement.supervision_interval`)\n- the 3040 (`form.forms-3040.frequency_of_visits`)\n\n## What to do\nRemove the question and print \"Every 12 months \/ PRN\" (or each form's equivalent box) on each of those forms.\n\n## Waiting on\n**Confirm with the customer (via Jane)** that the same default applies to the consent forms, the private pay agreement and the 3040, not only the service plan. Until then, change only the service plan.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T09:58:44-05:00","updated_at":"2026-10-06T11:10:41-05:00","closed_at":"2026-10-06T09:49:54-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":140,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/87","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/87","number":87,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[S2] \"Who will supervise the attendant\" is always Supervisor: remove the question","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **S2** in `docs\/ActionItems.md`).\n\n## What the customer said\n\"Who will supervise the attendant\" is always **Supervisor**, never RN.\n\n## How it works today\nIt is a question, and its choices include RN.\n\n## What to do\nRemove the question and print \"Supervisor\" on every form that carries it.\n\n## Technical notes\nElement: `shared.supervision_level` (a shared element, so it may print on several forms; check each one).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T09:58:39-05:00","updated_at":"2026-10-05T14:21:35-05:00","closed_at":"2026-10-05T14:21:35-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":139,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/86","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/86","number":86,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[S1] Service end date is always blank: stop asking, print it blank","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. Some answers start pre-filled from VESTA (the agency's EVV\/scheduling system) for staff to confirm. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **S1** in `docs\/ActionItems.md`).\n\n## What the customer said\nThe service end date on the service plan is **always left blank**.\n\n## How it works today\nThe interview asks for the service end date (pre-filled from the VESTA authorization).\n\n## What to do\nRemove the question. The field prints blank on every form that carries it.\n\n## Technical notes\nElement: `auth.service_end_date`. Check every form that prints it. The Form Explorer's \"where each answer comes from\" view should then show it as \"left blank, not asked\".","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T09:58:36-05:00","updated_at":"2026-10-05T13:24:40-05:00","closed_at":"2026-10-05T11:54:03-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":137,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/84","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/84","number":84,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[O1] Move \"Plan for emergencies\" right after \"Communication and emergency contacts\"","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, step by step, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **O1** in `docs\/ActionItems.md`).\n\n## What was asked\nIn the visit, the **Plan for emergencies** step should come straight after **Communication and emergency contacts**. The two topics belong together in conversation with the client.\n\n## What to do\nReorder the steps in `docs\/form-v2-interviews\/SOC_AO.json`, reseed the interview and check the visit in dev.\n\nSmall change. The customer is also sending a full priority order for the sections (O2), which may reorder everything again later.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T09:58:28-05:00","updated_at":"2026-10-05T16:08:33-05:00","closed_at":"2026-10-05T15:57:32-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":136,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/83","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/83","number":83,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[C3] Ask for the client's email address (and a family member's) during the visit","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **C3** in `docs\/ActionItems.md`).\n\n## What was asked\nCollect the client's email address during the visit, plus a family member's if that person is the one who will open the forms.\n\n## Why it matters\nSigned forms are meant to reach the client by a web link afterwards. Without an email address (or a phone number for a text) there is nowhere to send that link.\n\n## How it works today\nNone of the start-of-care forms prints an email address, and the interview doesn't ask for one. The client record (`hh_member`) has no email field either.\n\n## What to do\n- Add a \"Client email\" question, optional, with a \"no email\" choice.\n- Add \"Family member \/ representative who receives the forms\": name, relationship, email and\/or phone. It must be the client's own choice, because that person will receive health information.\n- Store the answers on the client record (a new encrypted `hh_member` field via a migration), not only in the visit, so later visits and the document delivery can use them.\n\n## Related\nD3 (connectivity checklist), D5 (clients without a smartphone), D6 (client survey).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T09:58:25-05:00","updated_at":"2026-10-06T14:27:10-05:00","closed_at":"2026-10-06T14:27:10-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":135,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/82","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/82","number":82,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[C2] Look up the doctor's address from the doctor's name (e.g. NPI registry)","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **C2** in `docs\/ActionItems.md`).\n\n## What was asked\nCan the system find the doctor's address on the web from the doctor's name, instead of staff typing it in?\n\n## How it works today\nThe physician's address on the PAS service plan is typed in by hand.\n\n## What to do (research first)\n- The national NPI registry (NPPES) has a free public lookup API that searches by name and state and returns practice addresses and phone numbers. It looks like the best source.\n- Proposed flow: staff type the doctor's name, the system shows matching doctors (name, specialty, city), staff pick one, and the address and phone fill in. Staff can still edit them.\n- Check: whether a name-only search is precise enough, whether production can reach the API (outbound calls), and that only the doctor's name is sent, never anything about the client.\n\n## Open question\nIs the NPI registry an acceptable source for the customer, or do they keep their own list of doctors?\n\n## Technical notes\nElement: `form.pas-eval-service-plan.physician_address`. A similar lookup is wanted for pharmacies (E1).","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":3,"created_at":"2026-10-01T09:58:15-05:00","updated_at":"2026-10-07T10:35:44-05:00","closed_at":"2026-10-07T10:35:44-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":133,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/80","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/80","number":80,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[G4] Update the Forms V2 plan: the paper's label replaces our spoken rewording","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms from the answers. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **G4** in `docs\/ActionItems.md`).\n\n## Why\nThe customer wants each question labelled with the form's own wording (G1). Our design notes still say the interview uses a spoken, plain-English rewording. Anyone (or any AI session) that writes interview questions from those notes would keep doing the wrong thing.\n\n## What to do\n- Update FormsV2Plan \u00a74.1.2: a question's label is the paper's wording. The rule that a form's explanatory text (consent paragraphs, rights, etc.) must also show on screen still stands.\n- Update the matching project memory (`feedback_v2_placement_by_claude`) and the README in `docs\/form-v2-interviews\/`.\n\nThis is a documentation change. Do it together with G1 once the shared-wording decision is made.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":1,"created_at":"2026-10-01T09:58:06-05:00","updated_at":"2026-10-05T11:21:06-05:00","closed_at":"2026-10-05T11:21:06-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":132,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/79","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/79","number":79,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[G3] Show the form number\/name in the visit's document list and on each question","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms (Form 3040, the PAS service plan, the consent forms and so on) from the answers. The client then signs on screen. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **G3** in `docs\/ActionItems.md`).\n\n## What the customer asked\n> \"Form numbers should be in list.\"\n\n## How it works today\nThe interview is arranged by topic (Confirm the client, Service plan, Plan for emergencies\u2026), not by form. Staff can't see which form they are filling at any moment, or the official form numbers of the documents in the visit.\n\n## What to do\n- In the visit's list of documents, show each form's official number and name (e.g. \"Form 3040 \u2013 Supervisory Visit\").\n- On each question, show which form(s) it fills, so staff know where the answer is going.\n\n## Technical notes\nPairs with G2 (question numbers). It also helps answer R2 (\"how do I find the questions for a specific form?\").","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T09:58:01-05:00","updated_at":"2026-10-05T11:28:03-05:00","closed_at":"2026-10-05T11:28:03-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0},{"id":131,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/78","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/78","number":78,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[G2] Show the form's question number beside each question","body":"**Background.** Forms V2 is the new paperwork system for client visits. During a visit, staff go through an on-screen interview with the client, and the system fills in the agency's paper forms (Form 3040, the PAS service plan, the consent forms and so on) from the answers. The client then signs on screen. On 29 Sep 2026 Jane showed the customer the Start of Care \/ Annual (SOC\/AO) visit on site. This issue is one item from their feedback (item **G2** in `docs\/ActionItems.md`).\n\n## What the customer asked\n> \"Also need question numbers that are on form.\"\n\n## How it works today\nQuestions on screen carry no reference to the paper. Staff can't tell that a question is, say, question 3b on the 3040.\n\n## What to do\nShow the form and its question number beside each question, e.g. \"3040 \u2014 Q3b\".\n- The placement files (which say where each answer prints on the PDF) need a `number` for each field. None has one today, so each form's numbering has to be read off the paper and recorded.\n- A question that fills several forms shows each form's number.\n\n## Technical notes\nPlacements: `docs\/form-placements\/`. Once this exists, add the numbers to the data-element list (R1) and to the Form Explorer (`\/admin\/form-explorer`). Related: G1, G3.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":2,"created_at":"2026-10-01T09:57:56-05:00","updated_at":"2026-10-05T14:24:13-05:00","closed_at":"2026-10-05T14:24:13-05:00","due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0}]}