{"id":6052,"date":"2025-08-27T23:54:03","date_gmt":"2025-08-27T23:54:03","guid":{"rendered":"https:\/\/techtrendfeed.com\/?p=6052"},"modified":"2025-08-27T23:54:04","modified_gmt":"2025-08-27T23:54:04","slug":"analysis-assessment-rebuild","status":"publish","type":"post","link":"https:\/\/techtrendfeed.com\/?p=6052","title":{"rendered":"Analysis, Assessment, Rebuild"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>Till lately, I held the idea that Generative Synthetic Intelligence<br \/>\n    (GenAI) in software program growth was predominantly fitted to greenfield<br \/>\n    initiatives. Nonetheless, the introduction of the Mannequin Context Protocol (MCP)<br \/>\n    marks a big shift on this paradigm. MCP emerges as a transformative<br \/>\n    enabler for legacy modernization\u2014particularly for large-scale, long-lived, and<br \/>\n    complicated methods.<\/p>\n<p>As a part of my exploration into modernizing Bahmni\u2019s codebase, an<br \/>\n    open-source Hospital Administration System and Digital Medical Report (EMR),<br \/>\n    I evaluated the usage of Mannequin Context Protocol (MCP) to help the migration<br \/>\n    of legacy show controls. To information this course of, I adopted a workflow that<br \/>\n    I confer with as \u201cAnalysis, Assessment, Rebuild\u201d, which supplies a structured,<br \/>\n    disciplined, and iterative strategy to code migration. This memo outlines<br \/>\n    the modernization effort\u2014one which goes past a easy tech stack improve\u2014by<br \/>\n    leveraging Generative AI (GenAI) to speed up supply whereas preserving the<br \/>\n    stability and intent of the present system. Whereas a lot of the content material<br \/>\n    focuses on modernizing Bahmni, that is just because I&#8217;ve hands-on<br \/>\n    expertise with the codebase.<\/p>\n<p>The preliminary outcomes have been nothing wanting exceptional. The<br \/>\n    streamlined migration effort led to noticeable enhancements in code high quality,<br \/>\n    maintainability, and supply velocity. Based mostly on these early outcomes, I<br \/>\n    imagine this workflow\u2014when augmented with MCP\u2014has the potential to grow to be a<br \/>\n    sport changer for legacy modernization.<\/p>\n<section id=\"BahmniAndLegacyCodeMigration\">\n<h2>Bahmni and Legacy Code Migration<\/h2>\n<p><a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.bahmni.org\/\">Bahmni<\/a> is an open-source Hospital Administration<br \/>\n      System &amp; EMR constructed to help healthcare supply in low-resource<br \/>\n      settings offering a wealthy interface for medical and administrative customers.<br \/>\n      The Bahmni <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/Bahmni\/openmrs-module-bahmniapps\">frontend<\/a> was initially<br \/>\n      developed utilizing <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/angularjs.org\/\">AngularJS<\/a> (model 1.x)\u2014an<br \/>\n      early however highly effective framework for constructing dynamic internet functions.<br \/>\n      Nonetheless, AngularJS has lengthy been deprecated by the Angular workforce at Google,<br \/>\n      with official long-term help having resulted in <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/endoflife.date\/angularjs\">December 2021<\/a>.<\/p>\n<p>Regardless of this, Bahmni continues to rely closely on AngularJS for a lot of of<br \/>\n      its core workflows. This reliance introduces important dangers, together with<br \/>\n      safety vulnerabilities from unpatched dependencies, problem in<br \/>\n      onboarding builders unfamiliar with the outdated framework, restricted<br \/>\n      compatibility with fashionable instruments and libraries, and diminished maintainability<br \/>\n      as new necessities are constructed on an growing old codebase.<\/p>\n<p>In healthcare methods, the continued use of outdated software program can<br \/>\n      adversely have an effect on medical workflows and compromise affected person knowledge security.<br \/>\n      For Bahmni, frontend migration has grow to be a vital precedence. <\/p>\n<\/section>\n<section id=\"ResearchReviewRebuild\">\n<h2>Analysis, Assessment, Rebuild<\/h2>\n<div class=\"figure \" id=\"image1.png\"><img decoding=\"async\" src=\"https:\/\/martinfowler.com\/articles\/research-review-rebuild\/image1.png\" style=\"max-width: 95vw;\" width=\"900\" \/><\/p>\n<p class=\"photoCaption\">Determine 1: Analysis, Assessment, Rebuild Workflow<\/p>\n<\/div>\n<p>The workflow I adopted is named \u201cAnalysis, Assessment, Rebuild\u201d \u2014 the place<br \/>\n      we do a function migration analysis utilizing a few MCP servers, validate<br \/>\n      and approve the strategy AI proposes, rebuild the function after which as soon as<br \/>\n      all of the code era is finished, refactor issues that you just did not like.<\/p>\n<\/section>\n<section id=\"TheWorkflow\">\n<h2>The Workflow<\/h2>\n<ol>\n<li>Put together an inventory of options focused for migration. Choose one function to<br \/>\n        start with. <\/li>\n<li>Use Mannequin Context Protocol (MCP) servers to analysis the chosen function<br \/>\n        by producing a contextual evaluation of the chosen function via a Massive<br \/>\n        Language Mannequin (LLM). <\/li>\n<li>Have area specialists evaluation the generated evaluation, guaranteeing it&#8217;s<br \/>\n        correct, aligns with present mission conventions and architectural tips.<br \/>\n        If the function will not be sufficiently remoted for migration, defer it and replace<br \/>\n        the function listing accordingly. <\/li>\n<li>Proceed with LLM-assisted rebuild of the validated function to the goal<br \/>\n        system or framework. <\/li>\n<li>Till the listing is empty, return to #2<\/li>\n<\/ol>\n<\/section>\n<section id=\"BeforeGettingStarted\">\n<h2>Earlier than Getting Began<\/h2>\n<p>Earlier than we proceed with the workflow, it&#8217;s important to have a<br \/>\n      high-level understanding of the present codebase and decide which<br \/>\n      parts must be retained, discarded, or deferred for future<br \/>\n      consideration.<\/p>\n<p>Within the context of Bahmni, <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/bahmni.atlassian.net\/wiki\/spaces\/BAH\/pages\/37945573\/Display+Controls\"><b>Show<br \/>\n      Controls<\/b><\/a><br \/>\n      are modular, configurable widgets that may be embedded throughout numerous<br \/>\n      pages to reinforce the system\u2019s flexibility. Their decoupled nature makes<br \/>\n      them well-suited for focused modernization efforts. Bahmni presently<br \/>\n      contains over 30 show controls developed over time. These controls are<br \/>\n      extremely configurable, permitting healthcare suppliers to tailor the interface<br \/>\n      to show pertinent knowledge like diagnoses, remedies, lab outcomes, and<br \/>\n      extra. By leveraging show controls, Bahmni facilitates a customizable<br \/>\n      and streamlined consumer expertise, aligning with the various wants of<br \/>\n      healthcare settings.<\/p>\n<p>All the present Bahmni show controls are constructed over OpenMRS REST<br \/>\n      endpoint, which is tightly coupled with the OpenMRS knowledge mannequin and<br \/>\n      particular implementation logic. <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/openmrs.org\/\"><b>OpenMRS<\/b><\/a> (Open<br \/>\n      Medical Report System) is an open-source platform designed to function a<br \/>\n      foundational EMR system primarily for low-resource environments offering<br \/>\n      customizable and scalable methods to handle well being knowledge, particularly in<br \/>\n      growing nations. Bahmni is constructed on prime of OpenMRS, counting on<br \/>\n      OpenMRS for medical knowledge modeling and affected person report administration, utilizing<br \/>\n      its APIs and knowledge constructions. When somebody makes use of Bahmni, they&#8217;re<br \/>\n      primarily utilizing OpenMRS as half of a bigger system.<\/p>\n<p><a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.hl7.org\/fhir\/overview.html\"><b>FHIR<\/b><\/a> (Quick Healthcare<br \/>\n      Interoperability Assets) is a contemporary commonplace for healthcare knowledge<br \/>\n      change, designed to simplify interoperability through the use of a versatile,<br \/>\n      modular strategy to characterize and share medical, administrative, and<br \/>\n      monetary knowledge throughout methods. FHIR was launched by<br \/>\n      <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.hl7.org\/index.cfm\">HL7<\/a> (Well being Stage Seven Worldwide), a<br \/>\n      not-for-profit requirements growth group that performs a pivotal<br \/>\n      position within the healthcare business by growing frameworks and requirements for<br \/>\n      the change, integration, sharing, and retrieval of digital well being<br \/>\n      data. The time period <i>\u201cWell being Stage Seven\u201d<\/i> refers back to the seventh layer<br \/>\n      of the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/OSI_model\">OSI<\/a> (Open Techniques<br \/>\n      Interconnection) mannequin\u2014<a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/OSI_model#Layer_7:_Application_layer\">the appliance<br \/>\n      layer<\/a>,<br \/>\n      chargeable for managing knowledge change between distributed methods.<\/p>\n<p>Though FHIR was initiated in 2011, it reached a big milestone<br \/>\n      in December 2018 with the discharge of FHIR Launch 4 (R4). This launch<br \/>\n      launched the primary normative content material, marking FHIR\u2019s evolution right into a<br \/>\n      steady, production-ready commonplace appropriate for widespread adoption.<\/p>\n<p>Bahmni\u2019s growth commenced in early 2013, throughout a time when FHIR<br \/>\n      was nonetheless in its early levels and had not but achieved normative standing.<br \/>\n      As such, Bahmni relied closely on the mature and production-proven OpenMRS<br \/>\n      REST API. Given Bahmni\u2019s dependence on OpenMRS, the supply of FHIR<br \/>\n      help in Bahmni was inherently tied to OpenMRS\u2019s adoption of FHIR. Till<br \/>\n      lately, FHIR help in OpenMRS remained restricted, experimental, and<br \/>\n      lacked complete protection for a lot of important useful resource sorts.<\/p>\n<p>With the current developments in FHIR help inside OpenMRS, a key<br \/>\n      precedence within the ongoing migration effort is to architect the goal system<br \/>\n      utilizing FHIR R4. Leveraging FHIR endpoints facilitates standardization,<br \/>\n      enhances interoperability, and simplifies integration with exterior<br \/>\n      methods, aligning the system with globally acknowledged healthcare knowledge<br \/>\n      change requirements.<\/p>\n<p>For the aim of this experiment, we&#8217;ll focus particularly on the<br \/>\n      <i>Therapies Show Management<\/i> as a consultant candidate for<br \/>\n      migration.<\/p>\n<div class=\"figure \" id=\"image2.png\"><img decoding=\"async\" src=\"https:\/\/martinfowler.com\/articles\/research-review-rebuild\/image2.png\" \/><\/p>\n<p class=\"photoCaption\">Determine 2: Legacy Therapies Show Management constructed utilizing<br \/>\n      Angular and built-in with OpenMRS REST endpoints\n      <\/p>\n<\/div>\n<p>The <i>Therapy Particulars Management<\/i> is a selected sort of show management<br \/>\n      in Bahmni that focuses on presenting complete details about a<br \/>\n      affected person&#8217;s prescriptions or drug orders over a configurable variety of<br \/>\n      visits. This management is instrumental in offering clinicians with a<br \/>\n      consolidated view of a affected person&#8217;s remedy historical past, aiding in knowledgeable<br \/>\n      decision-making. It retrieves knowledge through a REST API, processing it right into a<br \/>\n      view mannequin for UI rendering in a tabular format, supporting each present<br \/>\n      and historic remedies. The management incorporates error dealing with, empty<br \/>\n      state administration, and efficiency optimizations to make sure a sturdy and<br \/>\n      environment friendly consumer expertise.<\/p>\n<p>The info for this management is sourced from the<br \/>\n      <code>\/openmrs\/ws\/relaxation\/v1\/bahmnicore\/drugOrders\/prescribedAndActive<\/code> endpoint,<br \/>\n      which returns <code>visitDrugOrders<\/code>. The <code>visitDrugOrders<\/code> array comprises<br \/>\n      detailed entries that hyperlink drug orders to particular visits, together with<br \/>\n      metadata in regards to the supplier, drug idea, and dosing directions. Every<br \/>\n      drug order contains prescription particulars resembling drug identify, dosage,<br \/>\n      frequency, length, administration route, begin and cease dates, and<br \/>\n      commonplace code mappings (e.g., WHOATC, CIEL, SNOMED-CT, RxNORM).<\/p>\n<p>Here&#8217;s a pattern JSON response from Bahmni\u2019s<br \/>\n      \/bahmnicore\/drugOrders\/prescribedAndActive REST API endpoint containing<br \/>\n      detailed details about a affected person&#8217;s drug orders throughout a selected<br \/>\n      go to, together with metadata like drug identify, dosage, frequency, length,<br \/>\n      route, and prescribing supplier.<\/p>\n<pre>{\n  \"visitDrugOrders\": [\n    {\n      \"visit\": {\n        \"uuid\": \"3145cef3-abfa-4287-889d-c61154428429\",\n        \"startDateTime\": 1750033721000\n      },\n      \"drugOrder\": {\n        \"concept\": {\n          \"uuid\": \"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\n          \"name\": \"Acetaminophen\",\n          \"dataType\": \"N\/A\",\n          \"shortName\": \"Acetaminophen\",\n          \"units\": null,\n          \"conceptClass\": \"Drug\",\n          \"hiNormal\": null,\n          \"lowNormal\": null,\n          \"set\": false,\n          \"mappings\": [\n            {\n              \"code\": \"70116\",\n              \"name\": null,\n              \"source\": \"CIEL\"\n            },y\n            \/* Response Truncated *\/\n          ]\n        },\n        \"directions\": null,\n        \"uuid\": \"a8a2e7d6-50cf-4e3e-8693-98ff212eee1b\",\n<\/pre>\n<details>\n<summary>present remainder of json<\/summary>\n<pre>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"orderType\": \"Drug Order\",\n        \"accessionNumber\": null,\n        \"orderGroup\": null,\n        \"dateCreated\": null,\n        \"dateChanged\": null,\n        \"dateStopped\": null,\n        \"orderNumber\": \"ORD-1\",\n        \"careSetting\": \"OUTPATIENT\",\n        \"motion\": \"NEW\",\n        \"commentToFulfiller\": null,\n        \"autoExpireDate\": 1750206569000,\n        \"urgency\": null,\n        \"previousOrderUuid\": null,\n        \"drug\": {\n          \"identify\": \"Paracetamol 500 mg\",\n          \"uuid\": \"e8265115-66d3-459c-852e-b9963b2e38eb\",\n          \"kind\": \"Pill\",\n          \"power\": \"500 mg\"\n        },\n        \"drugNonCoded\": null,\n        \"dosingInstructionType\": \"org.openmrs.module.bahmniemrapi.drugorder.dosinginstructions.FlexibleDosingInstructions\",\n        \"dosingInstructions\": {\n          \"dose\": 1.0,\n          \"doseUnits\": \"Pill\",\n          \"route\": \"Oral\",\n          \"frequency\": \"Twice a day\",\n          \"asNeeded\": false,\n          \"administrationInstructions\": \"{\"directions\":\"As directed\"}\",\n          \"amount\": 4.0,\n          \"quantityUnits\": \"Pill\",\n          \"numberOfRefills\": null\n        },\n        \"dateActivated\": 1750033770000,\n        \"scheduledDate\": 1750033770000,\n        \"effectiveStartDate\": 1750033770000,\n        \"effectiveStopDate\": 1750206569000,\n        \"orderReasonText\": null,\n        \"length\": 2,\n        \"durationUnits\": \"Days\",\n        \"voided\": false,\n        \"voidReason\": null,\n        \"orderReasonConcept\": null,\n        \"sortWeight\": null,\n        \"conceptUuid\": \"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"\n      },\n      \"supplier\": {\n        \"uuid\": \"d7a67c17-5e07-11ef-8f7c-0242ac120002\",\n        \"identify\": \"Tremendous Man\",\n        \"encounterRoleUuid\": null\n      },\n      \"orderAttributes\": null,\n      \"retired\": false,\n      \"encounterUuid\": \"fe91544a-4b6b-4bb0-88de-2f9669f86a25\",\n      \"creatorName\": \"Tremendous Man\",\n      \"orderReasonConcept\": null,\n      \"orderReasonText\": null,\n      \"dosingInstructionType\": \"org.openmrs.module.bahmniemrapi.drugorder.dosinginstructions.FlexibleDosingInstructions\",\n      \"previousOrderUuid\": null,\n      \"idea\": {\n        \"uuid\": \"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\n        \"identify\": \"Acetaminophen\",\n        \"dataType\": \"N\/A\",\n        \"shortName\": \"Acetaminophen\",\n        \"models\": null,\n        \"conceptClass\": \"Drug\",\n        \"hiNormal\": null,\n        \"lowNormal\": null,\n        \"set\": false,\n        \"mappings\": [\n          {\n            \"code\": \"70116\",\n            \"name\": null,\n            \"source\": \"CIEL\"\n          },\n          \/* Response Truncated *\/\n        ]\n      },\n      \"sortWeight\": null,\n      \"uuid\": \"a8a2e7d6-50cf-4e3e-8693-98ff212eee1b\",\n      \"effectiveStartDate\": 1750033770000,\n      \"effectiveStopDate\": 1750206569000,\n      \"orderGroup\": null,\n      \"autoExpireDate\": 1750206569000,\n      \"scheduledDate\": 1750033770000,\n      \"dateStopped\": null,\n      \"directions\": null,\n      \"dateActivated\": 1750033770000,\n      \"commentToFulfiller\": null,\n      \"orderNumber\": \"ORD-1\",\n      \"careSetting\": \"OUTPATIENT\",\n      \"orderType\": \"Drug Order\",\n      \"drug\": {\n        \"identify\": \"Paracetamol 500 mg\",\n        \"uuid\": \"e8265115-66d3-459c-852e-b9963b2e38eb\",\n        \"kind\": \"Pill\",\n        \"power\": \"500 mg\"\n      },\n      \"dosingInstructions\": {\n        \"dose\": 1.0,\n        \"doseUnits\": \"Pill\",\n        \"route\": \"Oral\",\n        \"frequency\": \"Twice a day\",\n        \"asNeeded\": false,\n        \"administrationInstructions\": \"{\"directions\":\"As directed\"}\",\n        \"amount\": 4.0,\n        \"quantityUnits\": \"Pill\",\n        \"numberOfRefills\": null\n      },\n      \"durationUnits\": \"Days\",\n      \"drugNonCoded\": null,\n      \"motion\": \"NEW\",\n      \"length\": 2\n    }\n  ]\n}\n\n<\/pre>\n<\/details>\n<p>The <code>\/bahmnicore\/drugOrders\/prescribedAndActive<\/code> mannequin differs considerably<br \/>\n      from the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/fhir.openmrs.org\/StructureDefinition-omrs-medication-request.html\">OpenMRS FHIR<br \/>\n      MedicationRequest<\/a><br \/>\n      mannequin in each construction and illustration. Whereas the Bahmni REST mannequin is<br \/>\n      tailor-made for UI rendering with visit-context grouping and contains<br \/>\n      OpenMRS-specific constructs like <code>idea<\/code>, <code>drug<\/code>, <code>orderNumber<\/code>, and versatile<br \/>\n      dosing directions, the FHIR MedicationRequest mannequin adheres to worldwide<br \/>\n      requirements with a normalized, reference-based construction utilizing sources resembling<br \/>\n      <code>Remedy<\/code>, <code>Encounter<\/code>, <code>Practitioner<\/code>, and coded parts in<br \/>\n      <code>CodeableConcept<\/code> and <code>Timing<\/code>.<\/p>\n<\/section>\n<section id=\"Research\">\n<h2>Analysis<\/h2>\n<p>The \u201cAnalysis\u201d part of the strategy includes producing an<br \/>\n      MCP-augmented LLM evaluation of the chosen Show Management. This part is<br \/>\n      centered round understanding the legacy system\u2019s conduct by analyzing<br \/>\n      its supply code and conducting reverse engineering. Such evaluation is<br \/>\n      important for informing the ahead engineering efforts. Whereas not all<br \/>\n      recognized necessities could also be carried ahead\u2014notably in long-lived<br \/>\n      methods the place sure functionalities could have grow to be out of date\u2014it&#8217;s<br \/>\n      vital to have a transparent understanding of present behaviors. This allows<br \/>\n      groups to make knowledgeable choices about which parts to retain, discard,<br \/>\n      or redesign within the goal system, guaranteeing that the modernization effort<br \/>\n      aligns with present enterprise wants and technical targets.<\/p>\n<p>At this stage, it&#8217;s useful to take a step again and take into account how human<br \/>\n      builders sometimes strategy a migration of this nature. One key perception<br \/>\n      is that migrating from Angular to React depends closely on contextual<br \/>\n      understanding. Builders should draw upon numerous dimensions of data<br \/>\n      to make sure a profitable and significant transition. The vital areas of<br \/>\n      focus sometimes embrace:<\/p>\n<ul>\n<li>Function Analysis: understanding the useful intent and position of the<br \/>\n        present Angular parts inside the broader software.<\/li>\n<li>Knowledge Mannequin Evaluation: reviewing the underlying knowledge constructions and their<br \/>\n        relationships to evaluate compatibility with the brand new structure.<\/li>\n<li>Knowledge Movement Mapping: tracing how knowledge strikes from backend APIs to the<br \/>\n        frontend UI to make sure continuity within the consumer expertise.<\/li>\n<li>FHIR Mannequin Alignment: figuring out whether or not the present knowledge mannequin will be<br \/>\n        mapped to an HL7 FHIR-compatible construction, the place relevant.<\/li>\n<li>Comparative Evaluation: evaluating structural and useful similarities,<br \/>\n        variations, and potential gaps between the outdated and goal implementations.<\/li>\n<li>Efficiency Issues: taking into consideration areas for efficiency<br \/>\n        enhancement within the new system.<\/li>\n<li>Function Relevance: assessing which options must be carried ahead,<br \/>\n        redesigned, or deprecated primarily based on present enterprise wants.<\/li>\n<\/ul>\n<p>This context-driven evaluation is usually probably the most difficult facet of<br \/>\n      any legacy migration. Importantly, modernization will not be merely about<br \/>\n      changing outdated applied sciences\u2014it&#8217;s about reimagining the way forward for the<br \/>\n      system and the enterprise it helps. It includes the evolution of the<br \/>\n      software throughout its whole lifecycle, together with its structure, knowledge<br \/>\n      constructions, and consumer expertise.<\/p>\n<p>The experience of subject material specialists (SMEs) and area specialists<br \/>\n      is essential to know present conduct and to organize a information for the<br \/>\n      migration. And what higher option to seize the anticipated conduct than<br \/>\n      via well-defined check situations in opposition to which the migrated code will<br \/>\n      be evaluated. Understanding what situations are to be examined is vital<br \/>\n      not simply in ensuring that &#8211; the whole lot that used to work nonetheless works<br \/>\n      and the brand new conduct would work as anticipated but in addition as a result of now your LLM<br \/>\n      has a clearly outlined set of targets that it is aware of is what&#8217;s anticipated. By<br \/>\n      defining these targets explicitly, we will make the LLM&#8217;s responses as<br \/>\n      deterministic as attainable, avoiding the unpredictability of probabilistic<br \/>\n      responses and guaranteeing extra dependable outcomes through the migration<br \/>\n      course of.<\/p>\n<p>Based mostly on this understanding, I developed a complete and<br \/>\n      strategically <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/martinfowler.com\/articles\/research-review-rebuild\/display-control-prompt.md\">structured immediate<\/a><br \/>\n      designed to seize all related data successfully.<\/p>\n<p>Whereas the immediate covers all anticipated areas\u2014resembling knowledge move,<br \/>\n      configuration, key features, and integration\u2014it additionally contains a number of<br \/>\n      sections that warrant particular point out:<\/p>\n<ul>\n<li>FHIR Compatibility: this part maps the customized Bahmni knowledge mannequin<br \/>\n        to HL7 FHIR sources and highlights gaps, thereby supporting future<br \/>\n        interoperability efforts. Finishing this mapping requires a strong understanding<br \/>\n        of FHIR ideas and useful resource constructions, and generally is a time-consuming process. It<br \/>\n        sometimes includes a number of hours of detailed evaluation to make sure correct<br \/>\n        alignment, compatibility verification, and identification of divergences between<br \/>\n        the OpenMRS and FHIR remedy fashions, which might now be performed in a matter of<br \/>\n        seconds.<\/li>\n<li>Testing Pointers for React + TypeScript Implementation Over OpenMRS<br \/>\n        FHIR: this part presents structured check situations that emphasize knowledge<br \/>\n        dealing with, rendering accuracy, and FHIR compliance for the modernized frontend<br \/>\n        parts. It serves as a superb basis for the event course of,<br \/>\n        setting out a compulsory set of standards that the LLM ought to fulfill whereas<br \/>\n        rebuilding the part.<\/li>\n<li>Customization Choices: this outlines accessible extension factors and<br \/>\n        configuration mechanisms that improve maintainability and adaptableness throughout<br \/>\n        numerous implementation situations. Whereas a few of these choices are documented,<br \/>\n        the LLM-generated evaluation usually uncovers further customization paths<br \/>\n        embedded within the codebase. This helps establish legacy customization approaches<br \/>\n        extra successfully and ensures a extra exhaustive understanding of present<br \/>\n        capabilities.<\/li>\n<\/ul>\n<p>To collect the required knowledge, I utilized two light-weight servers:<\/p>\n<ul>\n<li>An Atlassian MCP server to extract any accessible documentation on the<br \/>\n        show management.<\/li>\n<li>A filesystem MCP server, the place the legacy frontend code and configuration<br \/>\n        had been mounted, to offer supply code-level evaluation.<\/li>\n<\/ul>\n<div class=\"figure \" id=\"image3.png\"><img decoding=\"async\" src=\"https:\/\/martinfowler.com\/articles\/research-review-rebuild\/image3.png\" style=\"max-width: 95vw;\" width=\"800\" \/><\/p>\n<p class=\"photoCaption\">Determine 3:  MCP + Cline + Claude Setup Diagram<\/p>\n<\/div>\n<p>Whereas elective, this filesystem server allowed me to concentrate on the goal<br \/>\n      system&#8217;s code inside my IDE, with the legacy reference codebases conveniently<br \/>\n      accessible via the mounted server.<\/p>\n<p>These mild weight servers every expose particular capabilities via the<br \/>\n      standardized Mannequin Context Protocol, which is then utilized by Cline (my consumer in<br \/>\n      this case) to entry the code base, documentation and configuration. For the reason that<br \/>\n      configurations shipped are opinionated and the paperwork usually outdated, I added<br \/>\n      particular directions to take the supply code as the one supply of reality and<br \/>\n      the remaining as a supplementary reference.<\/p>\n<\/section>\n<section id=\"Review\">\n<h2>Assessment<\/h2>\n<p>The second part of the strategy \u2014is the place the human within the loop<br \/>\n      turns into invaluable.<\/p>\n<p>The AI-generated evaluation is not meant to be accepted at face worth,<br \/>\n      particularly for complicated codebases. You\u2019ll nonetheless want a site skilled and an<br \/>\n      architect to vet, contextualize, and information the migration course of. AI alone<br \/>\n      is not going emigrate a whole mission seamlessly; it requires<br \/>\n      considerate decomposition, clear boundaries, and iterative validation.<\/p>\n<p>Not all these necessities will essentially be included into the<br \/>\n      goal system, for instance the power to print a prescription sheet primarily based<br \/>\n      on the medicines prescribed is deferred for now.<\/p>\n<p>On this case, I augmented the evaluation with pattern responses from the<br \/>\n      FHIR endpoint and whereas discarding features of the system that aren&#8217;t<br \/>\n      related to the modernization effort. This contains efficiency<br \/>\n      optimizations, check circumstances that aren&#8217;t immediately related to the migration,<br \/>\n      and configuration choices such because the variety of rows to show and<br \/>\n      whether or not to point out energetic or inactive medicines. I felt these will be<br \/>\n      addressed as a part of the following iteration.<\/p>\n<p>As an example, take into account the unit check situations outlined for rendering<br \/>\n      remedy knowledge:<\/p>\n<div class=\"prompt\">\n<pre>\n        \u2705 Comfortable Path\n\n        It ought to accurately render the drugName column.\n        It ought to accurately render the standing column with the suitable Tag colour.\n        It ought to accurately render the precedence column with the proper precedence Tag.\n        It ought to accurately render the supplier column.\n        It ought to accurately render the startDate column.\n        It ought to accurately render the length column.\n        It ought to accurately render the frequency column.\n        It ought to accurately render the route column.\n        It ought to accurately render the doseQuantity column.\n        It ought to accurately render the instruction column.\n\n        \u274c Unhappy Path\n\n        It ought to present a \u201c-\u201d if startDate is lacking.\n        It ought to present a \u201c-\u201d if frequency is lacking.\n        It ought to present a \u201c-\u201d if route is lacking.\n        It ought to present a \u201c-\u201d if doseQuantity is lacking.\n        It ought to present a \u201c-\u201d if instruction is lacking.\n        It ought to deal with circumstances the place the row knowledge is undefined or null.\n      <\/pre>\n<\/div>\n<p>Changing lacking values with \u201c-\u201d within the unhappy path situations has been eliminated,<br \/>\n      because it doesn&#8217;t align with the necessities of the goal system. Such choices<br \/>\n      must be guided by enter from the subject material specialists (SMEs) and<br \/>\n      stakeholders, guaranteeing that solely performance related to the present enterprise<br \/>\n      context is retained.<\/p>\n<p>The literature gathered on the show management now must be coupled with<br \/>\n      mission conventions, practices, and tips with out which the LLM is open to<br \/>\n      interpret the above request, on the info that it was educated with. This contains<br \/>\n      entry to features that may be reused, pattern knowledge fashions and companies and<br \/>\n      reusable atomic parts that the LLMs can now depend on. If such practices,<br \/>\n      type guides and tips are usually not clearly outlined, each iteration of the<br \/>\n      migration dangers producing non-conforming code. Over time, this could contribute to<br \/>\n      a fragmented codebase and an accumulation of technical debt.<\/p>\n<p>The core goal is to outline clear, project-specific coding requirements and<br \/>\n      type guides to make sure consistency within the generated code. These requirements act as<br \/>\n      a foundational reference for the LLM, enabling it to supply output that aligns<br \/>\n      with established conventions. For instance, the Google TypeScript Type Information can<br \/>\n      be summarized and documented as a TypeScript type information saved within the goal<br \/>\n      codebase. This file is then learn by Cline in the beginning of every session to make sure<br \/>\n      that every one generated TypeScript code adheres to a constant and acknowledged<br \/>\n      commonplace.<\/p>\n<\/section>\n<section id=\"Rebuild\">\n<h2>Rebuild<\/h2>\n<p>Rebuilding the function for a goal system with LLM-generated code is<br \/>\n      the ultimate part of the workflow. Now with all of the required knowledge gathered,<br \/>\n      we will get began with a easy immediate<\/p>\n<p> You&#8217;re tasked with constructing a Therapy show management within the new react ts fhir frontend. Yow will discover the small print of the legacy Therapy show management implementation in docs\/treatments-legacy-implementation.md. Create the brand new show management by following the docs\/display-control-guide.md<\/p>\n<p>At this stage, the LLM generates the preliminary code and check situations,<br \/>\n      leveraging the knowledge offered. As soon as this output is produced, it&#8217;s<br \/>\n      important for area specialists and builders to conduct an intensive code evaluation<br \/>\n      and apply any vital refactoring to make sure alignment with mission requirements,<br \/>\n      performance necessities, and long-term maintainability.<\/p>\n<p>Refactoring the LLM-generated code is vital to making sure the code stays<br \/>\n      clear and maintainable. With out correct refactoring, the consequence could possibly be a<br \/>\n      disorganized assortment of code fragments fairly than a cohesive, environment friendly<br \/>\n      system. Given the probabilistic nature of LLMs and the potential discrepancies<br \/>\n      between the generated code and the unique goals, it&#8217;s important to<br \/>\n      contain area specialists and SMEs at this stage. Their position is to totally<br \/>\n      evaluation the code, validate that the output aligns with the preliminary expectations,<br \/>\n      and assess whether or not the migration has been efficiently executed. This skilled<br \/>\n      involvement is essential to make sure the standard, accuracy, and general success of<br \/>\n      the migration course of.<\/p>\n<p>This part must be approached as a complete code evaluation\u2014much like<br \/>\n      reviewing the work of a senior developer who possesses sturdy language and<br \/>\n      framework experience however lacks familiarity with the precise mission context.<br \/>\n      Whereas technical proficiency is important, constructing sturdy methods requires a<br \/>\n      deeper understanding of domain-specific nuances, architectural choices, and<br \/>\n      long-term maintainability. On this context, the human-in-the-loop performs a<br \/>\n      pivotal position, bringing the contextual consciousness and system-level understanding<br \/>\n      that automated instruments or LLMs could lack. It&#8217;s a essential course of to make sure that<br \/>\n      the generated code integrates seamlessly with the broader system structure<br \/>\n      and aligns with project-specific necessities.<\/p>\n<p>In our case, the intent and context of the rebuild had been clearly outlined,<br \/>\n      which minimized the necessity for post-review refactoring. The necessities gathered<br \/>\n      through the analysis part\u2014mixed with clearly articulated mission conventions,<br \/>\n      expertise stack, coding requirements, and magnificence guides\u2014ensured that the LLM had<br \/>\n      minimal ambiguity when producing code. Because of this, there was little left for<br \/>\n      the LLM to deduce independently.<\/p>\n<p>That mentioned, any unresolved questions concerning the implementation plan can<br \/>\n      result in deviations from the anticipated output. Whereas it&#8217;s not possible to<br \/>\n      anticipate and reply each such query prematurely, you will need to<br \/>\n      acknowledge the inevitability of \u201cunknown unknowns.\u201d That is exactly the place a<br \/>\n      thorough evaluation turns into important.<\/p>\n<p>On this specific occasion, my familiarity with the show management we had been<br \/>\n      rebuilding allowed me to proactively decrease such unknowns. Nonetheless, this stage<br \/>\n      of context could not at all times be accessible. Due to this fact, I strongly advocate<br \/>\n      conducting an in depth code evaluation to assist uncover these hidden gaps. If<br \/>\n      recurring points are recognized, the immediate can then be refined to handle them<br \/>\n      preemptively in future iterations.<\/p>\n<p>The attract of LLMs is plain; they provide a seemingly easy resolution<br \/>\n      to complicated issues, and builders can usually create such an answer shortly and<br \/>\n      without having years of deep coding expertise. This could not create a bias<br \/>\n      within the specialists, succumbing to the attract of LLMs and finally take their arms<br \/>\n      off the wheel.<\/p>\n<\/section>\n<section id=\"Outcome\">\n<h2>Consequence<\/h2>\n<div class=\"figure \" id=\"image4.png\"><img decoding=\"async\" src=\"https:\/\/martinfowler.com\/articles\/research-review-rebuild\/image4.png\" style=\"max-width: 95vw;\" width=\"900\" \/><\/p>\n<p class=\"photoCaption\">Determine 4:  A excessive stage overview of the method; taking a function from the legacy codebase and utilizing LLM-assisted evaluation to rebuild it inside the goal system<\/p>\n<\/div>\n<p>In my case the code era course of took about 10 minutes to<br \/>\n      full. The evaluation and implementation, together with each unit and<br \/>\n      integration exams with roughly 95% protection, had been accomplished utilizing<br \/>\n      Claude 3.5 Sonnet (20241022). The entire price for this effort was about<br \/>\n      $2.<\/p>\n<div class=\"figure \" id=\"image5.png\"><img decoding=\"async\" src=\"https:\/\/martinfowler.com\/articles\/research-review-rebuild\/image5.png\" \/><\/p>\n<p class=\"photoCaption\">Determine 5:  Legacy Therapies Show Management constructed utilizing Angular and built-in with OpenMRS REST endpoints<\/p>\n<\/div>\n<div class=\"figure \" id=\"image6.png\"><img decoding=\"async\" src=\"https:\/\/martinfowler.com\/articles\/research-review-rebuild\/image6.png\" style=\"max-width: 95vw;\" width=\"900\" \/><\/p>\n<p class=\"photoCaption\">Determine 6:  Modernized Therapies Show Management rebuilt<br \/>\n      utilizing React and TypeScript, leveraging FHIR endpoints<\/p>\n<\/div>\n<p>With out AI help, each the technical evaluation and implementation<br \/>\n      would have probably taken a developer a minimal of two to 3 days. In my<br \/>\n      case, growing a reusable, general-purpose immediate\u2014grounded within the shared<br \/>\n      architectural ideas behind the roughly 30 show controls in<br \/>\n      Bahmni\u2014took about 5 centered iterations over 4 hours, at a barely<br \/>\n      increased inference price of round $10 throughout these cycles. This effort was<br \/>\n      important to make sure the generated immediate was modular and broadly<br \/>\n      relevant, given that every show management in Bahmni is basically a<br \/>\n      configurable, embeddable widget designed to reinforce system flexibility<br \/>\n      throughout totally different medical dashboards.<\/p>\n<p>Even with AI-assisted era, one of many key prices in growth<br \/>\n      stays the time and cognitive load required to investigate, evaluation, and<br \/>\n      validate the output. Because of my prior expertise with Bahmni, I used to be ready<br \/>\n      to evaluation the generated evaluation in beneath quarter-hour, supplementing it<br \/>\n      with fast parallel analysis to validate the claims and knowledge mappings. I<br \/>\n      was pleasantly shocked by the standard of the evaluation: the info mannequin<br \/>\n      mapping was exact, the logic for transformation was sound, and the check<br \/>\n      case strategies lined a complete vary of situations, each typical<br \/>\n      and edge circumstances.<\/p>\n<p>Code evaluation, nevertheless, emerged as probably the most important problem.<br \/>\n      Reviewing the generated code line by line throughout all modifications took me<br \/>\n      roughly 20 minutes. Not like pairing with a human developer\u2014the place<br \/>\n      iterative discussions happen at a manageable tempo\u2014working with an AI system<br \/>\n      able to producing whole modules inside seconds creates a bottleneck<br \/>\n      on the human facet, particularly when trying line-by-line scrutiny. This<br \/>\n      isn\u2019t a limitation of the AI itself, however fairly a mirrored image of human<br \/>\n      evaluation capability. Whereas AI-assisted code reviewers are sometimes proposed as a<br \/>\n      resolution, they will typically establish syntactic points, adherence to finest<br \/>\n      practices, and potential anti-patterns\u2014however they battle to evaluate intent,<br \/>\n      which is vital in legacy migration initiatives. This intent, grounded in<br \/>\n      area context and enterprise logic, should nonetheless be confirmed by the human in<br \/>\n      the loop.<\/p>\n<p>For a legacy modernization mission involving a migration from AngularJS<br \/>\n      to React, I&#8217;d charge this expertise an absolute 10\/10. This functionality<br \/>\n      opens up the chance for any people with respectable technical<br \/>\n      experience and robust area data emigrate any legacy codebase to a<br \/>\n      fashionable stack with minimal effort and in considerably much less time.<\/p>\n<p>I imagine that with a bottom-up strategy, breaking the issue down<br \/>\n      into atomic parts, and clearly defining finest practices and<br \/>\n      tips, AI-generated code might tremendously speed up supply<br \/>\n      timelines\u2014even for complicated brownfield initiatives as we noticed for Bahmni.<\/p>\n<p>The preliminary evaluation and the following evaluation by specialists ends in a<br \/>\n      crisp sufficient doc that lets us use the restricted house within the context<br \/>\n      window in an environment friendly method so we will match extra data into one single<br \/>\n      immediate. Successfully, this permits the LLM to investigate code in a method that&#8217;s<br \/>\n      not restricted by how the code is organized within the first place by builders.<br \/>\n      This additionally ends in decreasing the general price of utilizing LLMs, as a brute<br \/>\n      drive strategy would imply that you just spend 10 occasions as a lot even for a a lot<br \/>\n      easier mission.<\/p>\n<p>Whereas modernizing the legacy codebase is the principle product of this<br \/>\n      proposed strategy, it&#8217;s not the one worthwhile one. The documentation<br \/>\n      generated in regards to the system is efficacious when offered not simply to the top<br \/>\n      customers \/ implementers in complementing or filling gaps in present methods<br \/>\n      documentation and likewise would stand in as a data base in regards to the system<br \/>\n      for ahead engineering groups pairing with LLMs to reinforce or enrich<br \/>\n      system capabilities.<\/p>\n<\/section>\n<section id=\"WhyTheReviewPhaseMatters\">\n<h2>Why the Assessment Part Issues<\/h2>\n<p>A key enabler of this profitable migration was a well-structured plan<br \/>\n      and detailed scope evaluation part previous to implementation. This early<br \/>\n      funding paid dividends through the code era part. And not using a<br \/>\n      clear understanding of the info move, configuration construction, and<br \/>\n      show logic, the AI would have struggled to supply coherent and<br \/>\n      maintainable outputs. When you&#8217;ve got labored with AI earlier than, you&#8217;ll have<br \/>\n      seen that it&#8217;s constantly desirous to generate output. In an earlier<br \/>\n      try, I proceeded with out ample warning and skipped the evaluation<br \/>\n      step\u2014solely to find that the generated code included a <code>useMemo<\/code> hook<br \/>\n      for an operation that was computationally trivial. One of many success<br \/>\n      standards within the generated evaluation was that the code must be<br \/>\n      performant, and this seemed to be the AI\u2019s method of fulfilling that<br \/>\n      requirement.<\/p>\n<p>Apparently, the AI even added unit exams to validate the<br \/>\n      efficiency of that particular operation. Nonetheless, none of this was<br \/>\n      explicitly required. It arose solely as a consequence of a poorly outlined intent. AI<br \/>\n      included these modifications with out hesitation, regardless of not totally<br \/>\n      understanding the underlying necessities or searching for clarification.<br \/>\n      Reviewing each the generated evaluation and the corresponding code ensures<br \/>\n      that unintended additions are recognized early and that deviations from<br \/>\n      the unique expectations are minimized.<\/p>\n<p>Assessment additionally performs a key position in avoiding pointless back-and-forth<br \/>\n      with the AI through the rebuild part. As an example, whereas refining the<br \/>\n      immediate for the \u201c<a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.google.com\/document\/d\/1DX2rSQ_Tc46F-D93nSVIikkqP9MSd7AQKIPfYvO1eYk\/edit?usp=sharing\">Show Management Implementation<br \/>\n      Information<\/a>\u201d,<br \/>\n      I initially didn\u2019t have the part specifying the unit exams to be<br \/>\n      included. Because of this, the AI generated a check that was largely<br \/>\n      meaningless\u2014providing a false sense of check protection with no actual<br \/>\n      connection to the code beneath check.<\/p>\n<div class=\"figure \" id=\"image7.png\"><img decoding=\"async\" src=\"https:\/\/martinfowler.com\/articles\/research-review-rebuild\/image7.png\" \/><\/p>\n<p class=\"photoCaption\">Determine 7:  AI generated unit check that verifies actuality<br \/>\n      continues to be actual<\/p>\n<\/div>\n<p>In an try to repair this check, I started prompting<br \/>\n      extensively\u2014offering examples and detailed directions on how the unit<br \/>\n      check must be structured. Nonetheless, the extra I prompted, the additional the<br \/>\n      course of deviated from the unique goal of rebuilding the show<br \/>\n      management. The main focus shifted totally to resolving unit check points, with<br \/>\n      the AI even starting to evaluation unrelated exams within the codebase and<br \/>\n      suggesting fixes for issues it recognized there.<\/p>\n<p>Ultimately, realizing the rising divergence from the meant<br \/>\n      process, I restarted the method with clearly outlined directions from the<br \/>\n      outset, which proved to be far more practical.<\/p>\n<p>This leads us to a vital perception: <b>Do not Interrupt AI.<\/b><\/p>\n<p>LLMs, at their core, are predictive sequence turbines that construct<br \/>\n      narratives token by token. Whenever you interrupt a mannequin mid-stream to<br \/>\n      course-correct, you break the logical move it was setting up.<br \/>\n      Stanford\u2019s <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/cs.stanford.edu\/~nfliu\/papers\/lost-in-the-middle.arxiv2023.pdf\">\u201cMisplaced within the<br \/>\n      Center\u201d<\/a><br \/>\n      research revealed that fashions can undergo as much as a 20%<br \/>\n      drop in accuracy when vital data is buried in the midst of<br \/>\n      lengthy contexts, versus when it\u2019s clearly framed upfront. This underscores<br \/>\n      why beginning with a well-defined immediate and letting the AI full its<br \/>\n      process unimpeded usually yields higher outcomes than fixed backtracking or<br \/>\n      mid-flight corrections.<\/p>\n<p>This concept can also be bolstered in <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/cline.bot\/blog\/why-human-intent-matters-more-as-ai-capabilities-grow\">\u201cWhy Human Intent Issues Extra as AI<br \/>\n      Capabilities Develop\u201d by Nick<br \/>\n      Baumann<\/a>,<br \/>\n      which argues that as mannequin capabilities scale, clear human intent\u2014not<br \/>\n      simply brute mannequin power\u2014turns into the important thing to unlocking helpful output.<br \/>\n      Reasonably than micromanaging each response, practitioners profit most by<br \/>\n      designing clear, unambiguous setups and letting the AI full the arc<br \/>\n      with out interruption.<\/p>\n<\/section>\n<section id=\"Conclusion\">\n<h2>Conclusion<\/h2>\n<p>It is very important make clear that this strategy will not be meant to be a<br \/>\n      silver bullet able to executing a large-scale migration with out<br \/>\n      oversight. Reasonably, its power lies in its potential to considerably<br \/>\n      scale back growth time\u2014doubtlessly by a number of weeks\u2014whereas sustaining<br \/>\n      high quality and management.<\/p>\n<p>The purpose is not to interchange human experience however to amplify it\u2014to<br \/>\n      speed up supply timelines whereas guaranteeing that high quality and<br \/>\n      maintainability are preserved, if not improved, through the transition.<\/p>\n<p>It&#8217;s also vital to notice that the expertise and outcomes mentioned<br \/>\n      to date are restricted to read-only controls. Extra complicated or interactive<br \/>\n      parts could current further challenges that require additional<br \/>\n      analysis and refinement of the prompts used.<\/p>\n<p>One of many key insights from exploring GenAI for legacy migration is<br \/>\n      that whereas massive language fashions (LLMs) excel at general-purpose duties and<br \/>\n      predefined workflows, their true potential in large-scale enterprise<br \/>\n      transformation is simply realized when guided by human experience. That is<br \/>\n      effectively illustrated by Moravec\u2019s Paradox, which observes that duties perceived<br \/>\n      as intellectually complicated\u2014resembling logical reasoning\u2014are comparatively simpler<br \/>\n      for AI, whereas duties requiring human instinct and contextual<br \/>\n      understanding stay difficult. Within the context of legacy modernization,<br \/>\n      this paradox reinforces the significance of subject material specialists (SMEs)<br \/>\n      and area specialists, whose deep expertise, contextual understanding,<br \/>\n      and instinct are indispensable. Their experience permits extra correct<br \/>\n      interpretation of necessities, validation of AI-generated outputs, and<br \/>\n      knowledgeable decision-making\u2014finally guaranteeing that the transformation is<br \/>\n      aligned with the group\u2019s targets and constraints.<\/p>\n<p>Whereas project-specific complexities could render this strategy bold,<br \/>\n      I imagine that by adopting this structured workflow, AI-generated code can<br \/>\n      considerably speed up supply timelines\u2014even within the context of complicated<br \/>\n      brownfield initiatives. The intent is to not change human experience, however to<br \/>\n      increase it\u2014streamlining growth whereas safeguarding, and doubtlessly<br \/>\n      enhancing, code high quality and maintainability. Though the standard and<br \/>\n      architectural soundness of the legacy system stay vital elements, this<br \/>\n      methodology presents a robust place to begin. It reduces guide overhead,<br \/>\n      creates ahead momentum, and lays the groundwork for cleaner and extra<br \/>\n      maintainable implementations via expert-led, guided refactoring.<\/p>\n<p>I firmly imagine following this workflow opens up the chance for<br \/>\n      any people with respectable technical experience and robust area<br \/>\n      data emigrate any legacy codebase to a contemporary stack with minimal<br \/>\n      effort and in considerably much less time.<\/p>\n<\/section>\n<hr class=\"bodySep\" \/>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Till lately, I held the idea that Generative Synthetic Intelligence (GenAI) in software program growth was predominantly fitted to greenfield initiatives. Nonetheless, the introduction of the Mannequin Context Protocol (MCP) marks a big shift on this paradigm. MCP emerges as a transformative enabler for legacy modernization\u2014particularly for large-scale, long-lived, and complicated methods. As a part [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":6054,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56],"tags":[550,193,408],"class_list":["post-6052","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-rebuild","tag-research","tag-review"],"_links":{"self":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/6052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6052"}],"version-history":[{"count":1,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/6052\/revisions"}],"predecessor-version":[{"id":6053,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/6052\/revisions\/6053"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/media\/6054"}],"wp:attachment":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 69d9690a190636c2e0989534. Config Timestamp: 2026-04-10 21:18:02 UTC, Cached Timestamp: 2026-08-07 01:51:01 UTC -->