You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a curator, I want to review LLM-assisted casing corrections for CIEL names so I can safely update foreign-language terms in bulk.
Use case
A curator filters Russian FSNs, sends a limited batch of names with potential casing issues to the LLM, reviews the proposed replacements in the MCP App, and submits only approved updates.
Requirements
Assess and document all existing CIEL Lab name-casing rules, including eponyms.
Preserve acronym exclusions, clinical stages, laboratory token normalization, biological genus words, proper names, eponym fragments, eponym adjectives, and dataset exclusions.
Preserve existing character normalization and mixed-case handling.
Use the existing CIEL Lab casing algorithm only to identify names that may need review.
Do not send the local algorithm suggestion to the LLM.
Do not use the local algorithm suggestion as a proposed replacement.
Send the LLM the concept ID, current name, locale, and external ID of each name.
Use the external ID as the unique CIEL name reference for the update.
Require structured LLM output that can directly generate the MCP App proposal table.
Include concept ID, current name, locale, external ID, proposed name, and reason.
Leave the proposed-name value empty when no correction is proposed.
Create an MCP App proposal table from the structured LLM output.
Show the current name as a red strikethrough value when a proposal exists.
Show the proposed name as the replacement value.
Support updating an existing OCL name through its external ID; do not create an additional name for a casing-only correction.
Allow selecting terms using the available filters, including concept class, locale, FSN-only, and other existing filters.
Define whether LLM analysis batches of up to 200 terms are supported, considering the current MCP bulk-edit proposal limit.
Compile the casing and eponym rules into a few-shot prompt for the LLM.
Require human review and selection before updates are sent to OCL.
Acceptance criteria
Given filtered CIEL names, when the LLM casing-review flow is requested, then only names identified by the local algorithm as potential casing issues are sent for LLM analysis.
Given the LLM response, when it is received, then it has structured data that can populate the proposal table.
Given a name for which the LLM is confident a correction is needed, when the proposal table is created, then the current name is shown as red strikethrough text and the proposed name is shown as the replacement.
Given a name for which the LLM is not confident that a correction is needed, when the proposal table is created, then its proposed-name value is empty.
Given an approved proposal with a valid external ID, when the user sends the edit, then the existing OCL name is updated without adding a duplicate name.
Given a proposed update that is not selected by the user, when the user sends edits, then that name remains unchanged.
Given a requested analysis batch, when it exceeds the supported limit, then the user receives a clear limitation or batching outcome.
More details (collapsible)
Existing implementation context and proposed LLM prompt
Context
The existing CIEL Lab casing algorithm should act as a sensitive detector for potential casing problems, not as the source of proposed corrections. This avoids anchoring the LLM to an incorrect local suggestion.
The LLM input must identify each name with concept ID, current name, locale, and external ID. The external ID is the unique CIEL name reference used to update the existing OCL name.
The current MCP bulk-edit flow supports updating an existing name through name_uuid. Confirm whether this corresponds to the required external ID or whether an explicit mapping is needed.
The MCP bulk-edit tool currently has a hard limit of 100 items per proposal, while the requested LLM analysis batch size is 200. Confirm the appropriate batching design before implementation.
Suggested LLM prompt
You are reviewing CIEL concept names for sentence casing. For each input name, decide independently whether a casing correction is needed. Do not assume a name needs correction because it appears in the input.
Apply these rules:
Preserve the original language, meaning, punctuation, and technical terminology.
Apply sentence casing when appropriate: capitalize the first cased word, including when it is not a proper name or eponym, and lowercase ordinary subsequent words.
Preserve valid acronyms unless they are known ordinary words.
Preserve clinical stages written as Roman numerals.
Preserve mixed-case technical terms.
Normalize known laboratory tokens: 10^3/ul to 10^3/uL, iu/ml to IU/mL, and Ab where applicable.
Capitalize known biological genus words and proper names.
Capitalize recognized eponyms and eponym-derived adjectives, including hyphenated eponym forms.
Do not capitalize terms in the exclusion dataset merely because they resemble a proper name or eponym.
Do not create a proposal when confidence is insufficient.
Return structured output with one row per input:
concept_id
current_name
locale
external_id
proposed_name, or empty when no correction is proposed
User story
As a curator, I want to review LLM-assisted casing corrections for CIEL names so I can safely update foreign-language terms in bulk.
Use case
A curator filters Russian FSNs, sends a limited batch of names with potential casing issues to the LLM, reviews the proposed replacements in the MCP App, and submits only approved updates.
Requirements
Acceptance criteria
More details (collapsible)
Existing implementation context and proposed LLM prompt
Context
The existing CIEL Lab casing algorithm should act as a sensitive detector for potential casing problems, not as the source of proposed corrections. This avoids anchoring the LLM to an incorrect local suggestion.
The LLM input must identify each name with concept ID, current name, locale, and external ID. The external ID is the unique CIEL name reference used to update the existing OCL name.
The current MCP bulk-edit flow supports updating an existing name through
name_uuid. Confirm whether this corresponds to the required external ID or whether an explicit mapping is needed.The MCP bulk-edit tool currently has a hard limit of 100 items per proposal, while the requested LLM analysis batch size is 200. Confirm the appropriate batching design before implementation.
Suggested LLM prompt
You are reviewing CIEL concept names for sentence casing. For each input name, decide independently whether a casing correction is needed. Do not assume a name needs correction because it appears in the input.
Apply these rules:
10^3/ulto10^3/uL,iu/mltoIU/mL, andAbwhere applicable.Return structured output with one row per input:
concept_idcurrent_namelocaleexternal_idproposed_name, or empty when no correction is proposedreason, or empty when no correction is proposedExamples
ACUTE RESPIRATORY INFECTION→Acute respiratory infection2 HOUR PLASMA GLUCOSE→2 Hour plasma glucosescreening ab level→Screening Ab levelAB TEST→Ab testiu/ml→IU/mL(iu/ml)→(IU/mL)10ˆ3/ul→10^3/uLPARKINSON DISEASE→Parkinson diseasewolffian duct anomaly→Wolffian duct anomalyBorjeson-forssman-lehmann syndrome→Borjeson-Forssman-Lehmann syndromeDisease of Tooth→Disease of toothDoença do vírus zika→Doença do vírus ZikaDoença do vírus Aalivirus→Doença do vírus aalivirusOrchid Aa marker→Orchid aa markerCrimean-Congo hemorrhagic fever→ no proposalFamily history of Charcot-Marie-Tooth disease→ no proposalUNKNOWN TEST→ no proposal