nhutnguyengkimvn
- 19 skills
- 0 followers
- 4 hours ago last updated
- ▌ Analyze Clickup Task · nhutnguyengkimvn bundleAnalyzes a ClickUp task (screenshot, pasted task doc, or plain description) and produces a concrete plan of attack for the Core platform: what the task is actually asking for, which charting template and which sheet tab it lands in, which existing field keys it touches, and what has to change per field. Reads the Core field-mapping Google Sheet directly so field keys are looked up, not guessed. Use whenever the user says "phân tích task này", "/analyze-clickup-task", pastes a ClickUp user story / Scope block, or drops a screenshot of a ticket and asks how to approach it. Output is an analysis and a proposal — it does NOT implement anything. Invoked as `analyze-clickup-task [task text | screenshot path]`.
- ▌ Generate Annots JSON · nhutnguyengkimvn bundleGenerates the AnnotsJSON for a lab PDF form by running the CommonForms pipeline: ML field detection → key assignment → Claude visual verification. Outputs a JSON array of annotated form fields (AnnotsJSON format) ready to be pasted into the medicalpdf admin page. Called from import-lab-recform W05 when AnnotsJSON is null, or standalone.
- ▌ Test Create New Case · nhutnguyengkimvn bundleCreates a new test case end-to-end on the DNA Insights dashboard (dev or prod) via Playwright browser tools: login with a sale account, fill the "Create case" wizard, then complete and Save each case section (Patient Information, Opt-In Consent, Primary Care Provider, Family History), click Submit and confirm Yes — case goes Draft → New. Patient data and sale credentials come from the existing `data/case-data.json` file — that data file is READ-ONLY and never regenerated (writing run results to the shared test-core-flow/state/report.json is expected and required). The Medicare ID is asked interactively each run and goes into the "Primary Policy #" field. Part of /test-core-flow (step 1). Invoked as `test-create-new-case`.
- ▌ Commonforms Panel Patch · nhutnguyengkimvnPhân tích file JSON annotation của CommonForms PDF (Amedix lab requisition forms) kết hợp với nội dung PDF để tạo file patch JSON mapping UUID → tên field mới theo panel. Dùng khi user cung cấp: (1) JSON annotation của một PDF form, (2) file PDF (hoặc text content của PDF). Output là một file `*_patch.json` chứa mapping uuid → new_contents, dùng với script apply_patch.py. Trigger khi user nói "tạo patch", "phân tích json", "map panel", "diagnosis_icd10codes", hoặc upload PDF kèm JSON annotation của Amedix form.
- ▌ Test Provider Call Flow · nhutnguyengkimvn bundleStep 3 of the DNA Insights core test flow — the provider consult call. Runs TWO parallel logins (PSS in the default browser context, PROVIDER in a second isolated context): PSS opens the Pending case, starts the call overlay, calls the patient mobile (patient number 804-222-1111 auto-answers on dev), then rings provider "DR VU Doctor"; the provider answers the pop-call, opens the case from the call widget, and a script completes the provider sections (Medications, Medical History, Review of Systems, Family History, General Health, Depression Screening, Social History, Preventive Screening, Functional Status & Safety, Advance Care Planning), creates Orders via Manage Orders, adds a Care Plan item, saves Diagnosis, and waits for the Master Encounter Report to generate. Case ID comes from report.json (or asked when standalone). Invoked as `test-provider-call-flow`.
- ▌ Clone Form Io · nhutnguyengkimvnClones an existing Form.io order-services form and renames/modifies it for a different lab or test type. Use when a new form is very similar to an existing one — clone it, rename, and patch only the parts that differ (panel names, gene lists, questionnaire fields). Invoked as `clone-form-io <source-form-name>`. Always checks whether the target clone already exists before cloning.
- ▌ Create Formio · nhutnguyengkimvnStandalone Form.io order-services form creator. Reads a lab PDF, classifies its fields, and builds + saves the Form.io JSON schema in the dashboard builder — without running the full import-lab-recform pipeline. Use when W01–W03 are already done and only the Form.io form needs to be created or re-created for a recform.
- ▌ Test Core Flow · nhutnguyengkimvn bundleOrchestrator for the DNA Insights end-to-end core test flow. Chains the test sub-skills in order (create case as SALES → submit case to Pending as PSS), asks the environment ONCE up front, and keeps shared run state in state/report.json so each sub-skill can consume the previous one's output. Invoked as `test-core-flow`. Use the registry below to pick which sub-skill handles which job when only part of the flow is needed.
- ▌
- ▌ Form Key Verifier · nhutnguyengkimvnVisually verify and auto-correct form field key assignments. Pre-filters the key list using PDF text extraction before visual verification to dramatically reduce reasoning load.
- ▌ Import Key To PDF · nhutnguyengkimvnFills the AnnotsJSON field of a PDF record in the DNA Insights medicalpdf admin. Reads the current AnnotsJSON from the dashboard, uses icd10-panel-fill to map each annotation's UUID to the correct ICD10 panel string (by reading the source PDF), then pastes the updated JSON back into the AnnotsJSON field and saves. Invoked as `import-key-to-pdf <path.pdf> [<dashboard_url>]`, or called inline from import-lab-recform after W04.
- ▌ Import Lab Recform · nhutnguyengkimvn bundleImports Lab Req Forms into the DNA Insights admin dashboard from explicit PDF paths. Invoked as `import-lab-recform <path1.pdf> [<path2.pdf> ...]`. Use this skill whenever the user says things like "import lab recform <file>.pdf", "run import-lab-recform on these PDFs", or "create medical req forms from these files". The skill validates every supplied path, asks for the dashboard URL, reads each PDF's content to detect its Test Type + Lab, then runs the per-recform pipeline (create Medical Specialty if missing → create ReqForm + sync CSV → flatten PDF + upload → create Form.io order services form) for each PDF in turn, pausing for user confirmation before moving to the next one.
- ▌ Extract Recform Panels CSV · nhutnguyengkimvn bundleReads one or more lab Test Requisition Form PDFs and emits ONE CSV per PDF listing every orderable panel with its test parameters (gene list / assay labels) and its ICD-10 codes. Handles both requisition layouts: per-panel ICD tables (AlphaDERA-style NGS / PCR-MLPA forms) and a single shared form-level ICD list (Isacare PGx-style panel-composition forms). Use whenever the user says "export panel list to CSV", "lấy list panel ra csv", "extract panels + test params + icd from these PDFs", or hands over several requisition PDFs at once. These PDFs are usually FLATTENED (one image per page, no text layer), so extraction is a 300-DPI render + visual read, then a deterministic validator, then a SECOND independent read diffed against the first before the result is reported. Invoked as `extract-recform-panels-csv <path1.pdf> [<path2.pdf> ...]`.
- ▌ Verify Formio Panel Params · nhutnguyengkimvn bundleVerifies the Form.io order-services Test Panel → Test Parameters → aggregator wiring for a lab order form. Runs a static key/wiring check on the schema JSON (every order_service_test_panel option maps to exactly one order_service_test_parameters_<N> group and one matching aggregator arm), then optionally drives the live Preview Form to confirm that selecting a panel and its parameters actually populates the hidden order_service_test_parameters in the Submission JSON. Called from import-lab-recform W04 after the form is saved, or standalone. Use when the user says "check the formio form", "verify panel parameters", "kiểm tra panel/parameters", or "chọn panel rồi chọn hết xem có data không".
- ▌ Test Submit Case To Pending · nhutnguyengkimvn bundleMoves a DNA Insights case from New to Pending as the PSS account: login with the PSS account from data/pss-data.json, search the case ID in the Task List, open it and verify the Case ID matches, fill the Compliance and Medications sections from the JSON answer sets (skipping anything disabled), click "Mark as Pending" only if needed (Compliance save usually auto-transitions the case to Pending). The case ID comes from the previous /test-create-new-case run via the shared report.json, or is asked interactively when run standalone. NO logout at the end — the PSS session stays logged in. Part of /test-core-flow (step 2). Invoked as `test-submit-case-to-pending`.
- ▌ Verify Recform Icd10 Import · nhutnguyengkimvn bundleAudits the ICD-10 codes that were imported into a requisition PDF's AnnotsJSON against the codes the source PDF actually prints. Use whenever the user asks "check lại code import trong pdf đã đúng chưa", "verify the ICD-10 mapping", or after `import-lab-recform` Workflow 05 / `icd10-panel-fill` writes `diagnosis_icd10codes_panel_<Panel>__<ICD>` values. Reports per category: entries never filled, codes on the form never imported, imported codes not on the form, codes filed under the wrong panel, count mismatches, malformed codes. Phase A is a deterministic diff; Phase B is an independent second read of the PDF that catches MISREAD codes, which no format check can detect. Invoked as `verify-recform-icd10-import <annots.json> <panels.json>`.
- ▌ Extract Recform Icd10 Panels · nhutnguyengkimvn bundleReads a lab Test Requisition Form PDF (AlphaDERA Labs and similar) and emits a structured JSON of panel → ICD-10 codes: per test panel, PRIMARY ICD-10 CODES (required) and SECONDARY ICD-10 CODES (optional), plus CROSS-PANEL ICD10 CODES where the form lists them. Use whenever the user says "phân tích PDF này ra JSON", "extract ICD-10 panels from <file>.pdf", or needs the ICD10 panel mapping that `import-lab-recform` Workflow 05 (AnnotsJSON / icd10-panel-fill) consumes. These requisition PDFs are usually FLATTENED (each page is one image, no text layer), so extraction is a 300-DPI render + visual read, followed by a deterministic validator over the JSON shape and every ICD-10 code format. Invoked as `extract-recform-icd10-panels <path.pdf>`.
- ▌ Get Record Transcripts Dashboard · nhutnguyengkimvn bundleCollects call recordings + transcripts for a list of DNA Insights case names and exports them to CSV (id, case_name, date_time_start, date_time_end, video_link, transcribe_file_link_v2). For every call longer than 2:00 it triggers the transcript service when the case has no transcript yet, waits until the new transcript lands, then appends the row and tracks the case as done (resumable). Runs entirely over the dashboard HTTP API — no browser, no 10 tabs. Use when the user hands over a file/list of case names and asks for the call records, recordings or transcripts, or says "get record transcripts", "lấy transcript của list case này", "export call records ra csv". Invoked as `get-record-transcripts-dashboard <case-list-file>`.
- ▌ Convert Order Service JSON To CSV · nhutnguyengkimvn bundleConvert a Form.io form definition (JSON) into the DNAi Req-Form mapping CSV. Use whenever the user provides a Form.io form JSON (components array with type/key/label/conditional/customConditional...) and wants it mapped to the DNAi import sheet: one row per component, fixed "Test Requirements" section, role columns, Values joined by ';', and conditions emitted into the "additional_component_props JSON" column. Triggers: "map this form JSON to CSV", "convert Form.io to the req-form sheet", "generate the order services CSV".