{
  "generated_at": "2026-03-27",
  "reviewed_report_count": 18,
  "reviewed_with_survey_count": 18,
  "metrics_considered": [
    "overall_good",
    "contact_good",
    "phone_easy",
    "website_easy",
    "app_easy",
    "needs_met"
  ],
  "rows": [
    {
      "ods_code": "P84689",
      "practice_name": "Manchester Integrative Medical Practice",
      "report_path": "datasets/practice-patterns/reports/P84689-manchester-integrative-medical-practice.json",
      "website_url": "https://mimp.org.uk/",
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice plugins",
      "website_identity": "standalone shared-group domain",
      "request_platforms": [
        "accurx",
        "silicon_forms"
      ],
      "derived_tags": [
        "request_platform:accurx",
        "request_platform:silicon_forms",
        "website_platform:wordpress"
      ],
      "google_review_score": 4.8,
      "google_review_count": 550,
      "survey": {
        "completion_rate_percent": 12,
        "surveys_sent_out": 982,
        "surveys_sent_back": 115,
        "metrics": {
          "phone_easy": {
            "practice_percent": 41,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 128,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -16
          },
          "website_easy": {
            "practice_percent": 46,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 110,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -8
          },
          "app_easy": {
            "practice_percent": 37,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 84,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -15
          },
          "contact_good": {
            "practice_percent": 54,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 133,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -18
          },
          "overall_good": {
            "practice_percent": 72,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 136,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -5
          },
          "needs_met": {
            "practice_percent": 82,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 122,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -8
          },
          "next_step_known": {
            "practice_percent": 66,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 122,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -17
          },
          "next_step_known_2d": {
            "practice_percent": 91,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 72,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -2
          },
          "choice_time_day": {
            "practice_percent": 46,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 95,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -12
          },
          "wait_right": {
            "practice_percent": 53,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 105,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -15
          }
        }
      },
      "headline": "Manchester Integrative Medical Practice has a clear, modern but tightly gated access model. The public site is a Silicon Practice WordPress build on a standalone domain, while most real patient requests go through Accurx. Routine care, urgent medical requests and repeat prescriptions are all routed into Accurx, and the portal explicitly suspends normal online handling out of hours rather than pretending the route is fully open."
    },
    {
      "ods_code": "P87015",
      "practice_name": "Pendleton Medical Centre",
      "report_path": "datasets/practice-patterns/reports/P87015-pendleton-medical-centre.json",
      "website_url": "https://pendletonmedicalcentre.nhs.uk/",
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice form layer",
      "website_identity": "standalone practice domain",
      "request_platforms": [
        "silicon_forms"
      ],
      "derived_tags": [
        "request_platform:silicon_forms",
        "website_identity:standalone_domain",
        "website_platform:wordpress"
      ],
      "google_review_score": 4.8,
      "google_review_count": 629,
      "survey": {
        "completion_rate_percent": 19,
        "surveys_sent_out": 632,
        "surveys_sent_back": 121,
        "metrics": {
          "phone_easy": {
            "practice_percent": 70,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 70,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": 13
          },
          "website_easy": {
            "practice_percent": 71,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 48,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": 17
          },
          "app_easy": {
            "practice_percent": 54,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 34,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 2
          },
          "contact_good": {
            "practice_percent": 80,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 74,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": 8
          },
          "overall_good": {
            "practice_percent": 73,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 79,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -4
          },
          "needs_met": {
            "practice_percent": 87,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 63,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -3
          },
          "next_step_known": {
            "practice_percent": 76,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 72,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -7
          },
          "next_step_known_2d": {
            "practice_percent": 99,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 50,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 6
          },
          "choice_time_day": {
            "practice_percent": 58,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 49,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 0
          },
          "wait_right": {
            "practice_percent": 78,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 58,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": 10
          }
        }
      },
      "headline": "Pendleton Medical Centre presents one of the clearest digital front doors seen so far. It uses a standalone Silicon Practice site with a large online-forms hub, clearly separates no-account local forms from NHS account or myGP tasks, gives response-time promises on several routes, and exposes direct online forms for urgent medical help, nurse or healthcare assistant appointments, prescriptions, fit notes, test results, admin contact and feedback."
    },
    {
      "ods_code": "P89011",
      "practice_name": "Gordon Street Medical Centre",
      "report_path": "datasets/practice-patterns/reports/P89011-gordon-street-medical-centre.json",
      "website_url": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 1.5,
      "google_review_count": 86,
      "survey": {
        "completion_rate_percent": 22,
        "surveys_sent_out": 517,
        "surveys_sent_back": 113,
        "metrics": {
          "phone_easy": {
            "practice_percent": 33,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 48,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -24
          },
          "website_easy": {
            "practice_percent": 26,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 29,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -28
          },
          "app_easy": {
            "practice_percent": 31,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 28,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -21
          },
          "contact_good": {
            "practice_percent": 47,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 53,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -25
          },
          "overall_good": {
            "practice_percent": 61,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 53,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -16
          },
          "needs_met": {
            "practice_percent": 90,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 51,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": 0
          },
          "next_step_known": {
            "practice_percent": 68,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 49,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -15
          },
          "next_step_known_2d": {
            "practice_percent": 86,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 32,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -7
          },
          "choice_time_day": {
            "practice_percent": 34,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 36,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -24
          },
          "wait_right": {
            "practice_percent": 49,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 45,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -19
          }
        }
      },
      "headline": "Gordon Street Medical Centre follows the same GTD and PATCHS pattern as several neighbouring microsites, but it still has its own faults. The homepage presents a direct PATCHS route, the online-request page says all phone, in-person and online requests go through PATCHS with a 48-hour callback expectation, the prescriptions page still offers email ordering, the contact page carries real complaints contacts, and the PATCHS explainer page contains wrong-practice links back to Ashton GP Service."
    },
    {
      "ods_code": "P89013",
      "practice_name": "Hattersley Group Practice",
      "report_path": "datasets/practice-patterns/reports/P89013-hattersley-group-practice.json",
      "website_url": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 2.1,
      "google_review_count": 72,
      "survey": {
        "completion_rate_percent": 22,
        "surveys_sent_out": 531,
        "surveys_sent_back": 117,
        "metrics": {
          "phone_easy": {
            "practice_percent": 22,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 51,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -35
          },
          "website_easy": {
            "practice_percent": 41,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 37,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -13
          },
          "app_easy": {
            "practice_percent": 40,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 33,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -12
          },
          "contact_good": {
            "practice_percent": 37,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 51,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -35
          },
          "overall_good": {
            "practice_percent": 41,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 51,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -36
          },
          "needs_met": {
            "practice_percent": 69,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 49,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -21
          },
          "next_step_known": {
            "practice_percent": 58,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 48,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -25
          },
          "next_step_known_2d": {
            "practice_percent": 78,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 24,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -15
          },
          "choice_time_day": {
            "practice_percent": 34,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 41,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -24
          },
          "wait_right": {
            "practice_percent": 40,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 47,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -28
          }
        }
      },
      "headline": "Hattersley Group Practice uses the same GTD and PATCHS pattern as other Tameside GTD sites, but it also shows signs of template drift. The homepage presents a direct PATCHS route, the online-request page says all phone, in-person and online requests go through PATCHS with a 48-hour callback expectation, the contact page embeds complaints contacts and a recurring third-Thursday closure notice, and the PATCHS explainer page still contains wrong-practice links back to Ashton."
    },
    {
      "ods_code": "P89020",
      "practice_name": "HT Practice",
      "report_path": "datasets/practice-patterns/reports/P89020-ht-practice.json",
      "website_url": "https://htpractice.co.uk/",
      "website_stack": "Standalone legacy surgery website",
      "website_identity": "standalone practice domain",
      "request_platforms": [
        "patient_access"
      ],
      "derived_tags": [
        "request_platform:patient_access",
        "website_identity:standalone_domain"
      ],
      "google_review_score": 1.3,
      "google_review_count": 25,
      "survey": {
        "completion_rate_percent": 24,
        "surveys_sent_out": 498,
        "surveys_sent_back": 119,
        "metrics": {
          "phone_easy": {
            "practice_percent": 33,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 83,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -24
          },
          "website_easy": {
            "practice_percent": 13,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 41,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -41
          },
          "app_easy": {
            "practice_percent": 31,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 36,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -21
          },
          "contact_good": {
            "practice_percent": 60,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 83,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -12
          },
          "overall_good": {
            "practice_percent": 66,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 83,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -11
          },
          "needs_met": {
            "practice_percent": 92,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 80,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": 2
          },
          "next_step_known": {
            "practice_percent": 73,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 80,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -10
          },
          "next_step_known_2d": {
            "practice_percent": 94,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 49,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 1
          },
          "choice_time_day": {
            "practice_percent": 51,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 58,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -7
          },
          "wait_right": {
            "practice_percent": 48,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 74,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -20
          }
        }
      },
      "headline": "HT Practice uses a standalone site that looks old-fashioned but relatively explicit. It does not present a modern online-consultation platform for appointments on the public pages checked here. Instead it says routine advance appointments are released every Thursday after 2pm, same-day urgent appointments require calling at 8am, repeat prescriptions can be requested by email, post or Patient Access, and complaints go to a dedicated practice complaints email or the integrated care board."
    },
    {
      "ods_code": "P89602",
      "practice_name": "The Smithy Surgery",
      "report_path": "datasets/practice-patterns/reports/P89602-the-smithy-surgery.json",
      "website_url": "https://www.gtdhealthcare.co.uk/thesmithysurgery",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 4.0,
      "google_review_count": 23,
      "survey": {
        "completion_rate_percent": 30,
        "surveys_sent_out": 364,
        "surveys_sent_back": 109,
        "metrics": {
          "phone_easy": {
            "practice_percent": 65,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 42,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": 8
          },
          "website_easy": {
            "practice_percent": 21,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 11,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -33
          },
          "app_easy": {
            "practice_percent": 64,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 14,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 12
          },
          "contact_good": {
            "practice_percent": 70,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 44,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -2
          },
          "overall_good": {
            "practice_percent": 78,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 44,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": 1
          },
          "needs_met": {
            "practice_percent": 94,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 43,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": 4
          },
          "next_step_known": {
            "practice_percent": 86,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 42,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": 3
          },
          "next_step_known_2d": {
            "practice_percent": 94,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 33,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 1
          },
          "choice_time_day": {
            "practice_percent": 61,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 31,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 3
          },
          "wait_right": {
            "practice_percent": 62,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 41,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -6
          }
        }
      },
      "headline": "The Smithy Surgery uses the same GTD and PATCHS pattern as several other sites in this batch, but its own live pages still matter. The homepage carries an Android text-message warning, the site presents a direct PATCHS route, the online-request page contains wrong-practice links back to Ashton GP Service, the prescriptions page still offers email ordering, and complaints handling is embedded in the contact page with local and central GTD contacts."
    },
    {
      "ods_code": "P89612",
      "practice_name": "Mossley Medical Practice",
      "report_path": "datasets/practice-patterns/reports/P89612-mossley-medical-practice.json",
      "website_url": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 3.7,
      "google_review_count": 16,
      "survey": {
        "completion_rate_percent": 22,
        "surveys_sent_out": 423,
        "surveys_sent_back": 95,
        "metrics": {
          "phone_easy": {
            "practice_percent": 69,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 22,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": 12
          },
          "website_easy": {
            "practice_percent": 54,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 8,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": 0
          },
          "app_easy": {
            "practice_percent": 65,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 9,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 13
          },
          "contact_good": {
            "practice_percent": 71,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 24,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -1
          },
          "overall_good": {
            "practice_percent": 83,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 25,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": 6
          },
          "needs_met": {
            "practice_percent": 95,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 23,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": 5
          },
          "next_step_known": {
            "practice_percent": 94,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 23,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": 11
          },
          "next_step_known_2d": {
            "practice_percent": 89,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 22,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -4
          },
          "choice_time_day": {
            "practice_percent": 64,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 20,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 6
          },
          "wait_right": {
            "practice_percent": 58,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 22,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -10
          }
        }
      },
      "headline": "Mossley Medical Practice follows the same GTD and PATCHS pattern as the other microsites reviewed here, but it still has its own quirks. The site carries an Android text-message warning, the homepage exposes a direct PATCHS route, the PATCHS explainer page contains wrong-practice links back to Ashton, and the prescriptions page is stricter than some peers because it says repeat prescriptions are not taken over the phone or by email."
    },
    {
      "ods_code": "V6E6I",
      "practice_name": "Manchester Integrative Medical Practice at Moss Side Health Centre",
      "report_path": "datasets/practice-patterns/reports/V6E6I-manchester-integrative-medical-practice-at-moss-side-health-centre.json",
      "website_url": "https://mimp.org.uk/",
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice plugins",
      "website_identity": "exact shared site and path with P84689",
      "request_platforms": [
        "accurx",
        "silicon_forms"
      ],
      "derived_tags": [
        "request_platform:accurx",
        "request_platform:silicon_forms",
        "website_platform:wordpress"
      ],
      "google_review_score": 4.8,
      "google_review_count": 550,
      "survey": {
        "completion_rate_percent": null,
        "surveys_sent_out": null,
        "surveys_sent_back": null,
        "metrics": {
          "phone_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 53,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "website_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 51,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "app_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 49,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "contact_good": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 70,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "overall_good": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 75,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "needs_met": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 90,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "next_step_known": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 83,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "next_step_known_2d": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 93,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "choice_time_day": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 54,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "wait_right": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 67,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          }
        }
      },
      "headline": "The Moss Side identity uses the exact same public website as P84689, but the digital routing is not truly branch-neutral. The shared site lists both Longsight and Moss Side opening times, the complaints page phone number matches Moss Side, but the main online request links still route patients into Accurx using the P84689 code and the Longsight phone number."
    },
    {
      "ods_code": "Y02325",
      "practice_name": "Charlestown MD",
      "report_path": "datasets/practice-patterns/reports/Y02325-charlestown-medical-practice.json",
      "website_url": "https://charlestownmedicalpractice.co.uk/",
      "website_stack": "Standalone WordPress practice site with Silicon Practice style NHS theme",
      "website_identity": "standalone practice domain",
      "request_platforms": [
        "accurx",
        "patchs",
        "patient_access",
        "silicon_forms"
      ],
      "derived_tags": [
        "request_platform:accurx",
        "request_platform:patchs",
        "request_platform:patient_access",
        "request_platform:silicon_forms",
        "website_identity:standalone_domain",
        "website_platform:wordpress"
      ],
      "google_review_score": 1.9,
      "google_review_count": 109,
      "survey": {
        "completion_rate_percent": 17,
        "surveys_sent_out": 621,
        "surveys_sent_back": 106,
        "metrics": {
          "phone_easy": {
            "practice_percent": 41,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 48,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -16
          },
          "website_easy": {
            "practice_percent": 52,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 25,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -2
          },
          "app_easy": {
            "practice_percent": 47,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 23,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -5
          },
          "contact_good": {
            "practice_percent": 50,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 47,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -22
          },
          "overall_good": {
            "practice_percent": 59,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 51,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -18
          },
          "needs_met": {
            "practice_percent": 75,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 46,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -15
          },
          "next_step_known": {
            "practice_percent": 72,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 43,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -11
          },
          "next_step_known_2d": {
            "practice_percent": 89,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 28,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -4
          },
          "choice_time_day": {
            "practice_percent": 49,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 35,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -9
          },
          "wait_right": {
            "practice_percent": 53,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 42,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -15
          }
        }
      },
      "headline": "Charlestown Medical Practice is a standalone WordPress and Silicon Practice style site in transition. The homepage announces new management from 16 September 2025 and says all requests made by phone, in person or online will go through PATCHS, but the appointments page still contains older NHS App wording that mentions continuing to the Accurx system. Prescriptions are split across NHS account, Patient Access, PATCHS and paper-slip routes, and the complaints page is a fuller formal policy page than most GTD microsites expose."
    },
    {
      "ods_code": "Y02520",
      "practice_name": "Simpson Medical Practice",
      "report_path": "datasets/practice-patterns/reports/Y02520-simpson-medical-practice.json",
      "website_url": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 1.8,
      "google_review_count": 104,
      "survey": {
        "completion_rate_percent": 16,
        "surveys_sent_out": 463,
        "surveys_sent_back": 76,
        "metrics": {
          "phone_easy": {
            "practice_percent": 53,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 51,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -4
          },
          "website_easy": {
            "practice_percent": 52,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 38,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -2
          },
          "app_easy": {
            "practice_percent": 51,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 36,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -1
          },
          "contact_good": {
            "practice_percent": 74,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 54,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": 2
          },
          "overall_good": {
            "practice_percent": 80,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 54,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": 3
          },
          "needs_met": {
            "practice_percent": 84,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 51,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -6
          },
          "next_step_known": {
            "practice_percent": 76,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 51,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -7
          },
          "next_step_known_2d": {
            "practice_percent": 87,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 33,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -6
          },
          "choice_time_day": {
            "practice_percent": 58,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 38,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 0
          },
          "wait_right": {
            "practice_percent": 69,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 47,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": 1
          }
        }
      },
      "headline": "Simpson Medical Practice uses the same GTD plus PATCHS structure as several peers, but its own patient path still has notable maintenance issues. The homepage exposes a direct PATCHS route, the explainer page says all phone, in-person and online requests go through PATCHS with a 48-hour callback expectation and 24/7 admin submission, and that same explainer page still contains wrong-practice Ashton links."
    },
    {
      "ods_code": "Y02586",
      "practice_name": "Ashton Gp Service",
      "report_path": "datasets/practice-patterns/reports/Y02586-ashton-gp-service.json",
      "website_url": "https://www.gtdhealthcare.co.uk/ashtongpservice",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 1.8,
      "google_review_count": 91,
      "survey": {
        "completion_rate_percent": 15,
        "surveys_sent_out": 569,
        "surveys_sent_back": 88,
        "metrics": {
          "phone_easy": {
            "practice_percent": 33,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 45,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -24
          },
          "website_easy": {
            "practice_percent": 43,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 29,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -11
          },
          "app_easy": {
            "practice_percent": 45,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 25,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -7
          },
          "contact_good": {
            "practice_percent": 57,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 46,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -15
          },
          "overall_good": {
            "practice_percent": 52,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 47,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -25
          },
          "needs_met": {
            "practice_percent": 68,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 43,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -22
          },
          "next_step_known": {
            "practice_percent": 62,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 42,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -21
          },
          "next_step_known_2d": {
            "practice_percent": 76,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 20,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -17
          },
          "choice_time_day": {
            "practice_percent": 28,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 29,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -30
          },
          "wait_right": {
            "practice_percent": 53,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 39,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -15
          }
        }
      },
      "headline": "Ashton GP Service presents a relatively coherent GTD microsite with PATCHS as the main request platform. The homepage exposes a direct PATCHS route, the appointments and online-request pages say all requests made online, by phone or in person go through PATCHS, prescriptions are pushed to NHS account use, and complaints handling is embedded in the contact page with both local and central GTD contacts."
    },
    {
      "ods_code": "Y02663",
      "practice_name": "Droylsden Medical Practice",
      "report_path": "datasets/practice-patterns/reports/Y02663-droylsden-medical-practice.json",
      "website_url": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 1.8,
      "google_review_count": 85,
      "survey": {
        "completion_rate_percent": 18,
        "surveys_sent_out": 550,
        "surveys_sent_back": 100,
        "metrics": {
          "phone_easy": {
            "practice_percent": 30,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 42,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -27
          },
          "website_easy": {
            "practice_percent": 29,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 21,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -25
          },
          "app_easy": {
            "practice_percent": 39,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 26,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -13
          },
          "contact_good": {
            "practice_percent": 48,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 43,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -24
          },
          "overall_good": {
            "practice_percent": 49,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 43,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -28
          },
          "needs_met": {
            "practice_percent": 77,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 43,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -13
          },
          "next_step_known": {
            "practice_percent": 61,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 37,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -22
          },
          "next_step_known_2d": {
            "practice_percent": 99,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 20,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 6
          },
          "choice_time_day": {
            "practice_percent": 31,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 31,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -27
          },
          "wait_right": {
            "practice_percent": 53,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 39,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -15
          }
        }
      },
      "headline": "Droylsden Medical Practice uses the familiar GTD plus PATCHS structure, but its live details still matter. The site carries an Android text-message warning, the appointments page says the PATCHS route opens Monday to Friday from 7:30am, the explainer page says all routes go through PATCHS with a 48-hour callback expectation and 24/7 admin submission, and the explainer page also contains wrong-practice links back to Ashton."
    },
    {
      "ods_code": "Y02713",
      "practice_name": "Guide Bridge Medical Practice",
      "report_path": "datasets/practice-patterns/reports/Y02713-guide-bridge-medical-practice.json",
      "website_url": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 1.8,
      "google_review_count": 116,
      "survey": {
        "completion_rate_percent": 23,
        "surveys_sent_out": 531,
        "surveys_sent_back": 122,
        "metrics": {
          "phone_easy": {
            "practice_percent": 37,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 47,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -20
          },
          "website_easy": {
            "practice_percent": 42,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 32,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -12
          },
          "app_easy": {
            "practice_percent": 39,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 28,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -13
          },
          "contact_good": {
            "practice_percent": 50,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 48,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -22
          },
          "overall_good": {
            "practice_percent": 53,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 49,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -24
          },
          "needs_met": {
            "practice_percent": 84,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 46,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -6
          },
          "next_step_known": {
            "practice_percent": 68,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 44,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -15
          },
          "next_step_known_2d": {
            "practice_percent": 84,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 29,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -9
          },
          "choice_time_day": {
            "practice_percent": 32,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 35,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -26
          },
          "wait_right": {
            "practice_percent": 40,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 44,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -28
          }
        }
      },
      "headline": "Guide Bridge Medical Practice is another GTD microsite with PATCHS at the centre, but its patient journey is messier than Ashton\u2019s. The site carries an Android text-message warning across multiple pages, the appointments page says the online form is available only Monday to Friday from 7:30am until 4pm, the prescriptions page still accepts email requests, and the PATCHS explainer page contains broken cross-links back to Ashton GP Service."
    },
    {
      "ods_code": "Y02755001",
      "practice_name": "Rock@Radcliffe",
      "report_path": "datasets/practice-patterns/reports/Y02755001-rock-radcliffe.json",
      "website_url": "https://www.rockhealthcare.nhs.uk/",
      "website_stack": "WordPress on GPsurgery.net network theme",
      "website_identity": "shared organisational site",
      "request_platforms": [
        "accurx"
      ],
      "derived_tags": [
        "request_platform:accurx",
        "website_platform:wordpress"
      ],
      "google_review_score": 1.5,
      "google_review_count": 45,
      "survey": {
        "completion_rate_percent": null,
        "surveys_sent_out": null,
        "surveys_sent_back": null,
        "metrics": {
          "phone_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 53,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "website_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 51,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "app_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 49,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "contact_good": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 70,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "overall_good": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 75,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "needs_met": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 90,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "next_step_known": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 83,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "next_step_known_2d": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 93,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "choice_time_day": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 54,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "wait_right": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 67,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          }
        }
      },
      "headline": "Rock@Radcliffe currently has one of the messiest front doors reviewed so far. The NHS identity still points to the shared Rock site, but that site appears Bury and Moorgate-focused, not Radcliffe-focused. It mixes Accurx and askmyGP on the same public pages, the main live digital routes are keyed to the parent code Y02755 rather than the Radcliffe branch code Y02755001, and a live site page says the Radcliffe surgery has relocated to Moorgate Primary Care Centre."
    },
    {
      "ods_code": "Y02849",
      "practice_name": "City Health Centre",
      "report_path": "datasets/practice-patterns/reports/Y02849-city-health-centre.json",
      "website_url": "https://www.gtdhealthcare.co.uk/cityhealthcentre",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "accurx",
        "patchs"
      ],
      "derived_tags": [
        "request_platform:accurx",
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 4.5,
      "google_review_count": 11,
      "survey": {
        "completion_rate_percent": 9,
        "surveys_sent_out": 957,
        "surveys_sent_back": 85,
        "metrics": {
          "phone_easy": {
            "practice_percent": 44,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 159,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -13
          },
          "website_easy": {
            "practice_percent": 56,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 145,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": 2
          },
          "app_easy": {
            "practice_percent": 36,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 104,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -16
          },
          "contact_good": {
            "practice_percent": 67,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 162,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -5
          },
          "overall_good": {
            "practice_percent": 70,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 174,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -7
          },
          "needs_met": {
            "practice_percent": 78,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 143,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -12
          },
          "next_step_known": {
            "practice_percent": 75,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 153,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -8
          },
          "next_step_known_2d": {
            "practice_percent": 84,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 93,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -9
          },
          "choice_time_day": {
            "practice_percent": 60,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 122,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 2
          },
          "wait_right": {
            "practice_percent": 65,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 141,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -3
          }
        }
      },
      "headline": "City Health Centre is the clear GTD outlier in this batch because it routes patients into Accurx rather than PATCHS. The appointments page pushes a direct Accurx form, urgent health-problem requests are only open online from 7:30am to 12pm and can close earlier at high demand, routine and admin requests stay open until 6:30pm, and the prescriptions page still permits email contact."
    },
    {
      "ods_code": "Y02875",
      "practice_name": "Lindley House Health Centre",
      "report_path": "datasets/practice-patterns/reports/Y02875-lindley-house-health-centre.json",
      "website_url": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice",
      "website_stack": "GTD-managed practice microsite",
      "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
      "request_platforms": [
        "patchs"
      ],
      "derived_tags": [
        "request_platform:patchs",
        "website_identity:shared_host_microsite"
      ],
      "google_review_score": 2.1,
      "google_review_count": 66,
      "survey": {
        "completion_rate_percent": 18,
        "surveys_sent_out": 722,
        "surveys_sent_back": 129,
        "metrics": {
          "phone_easy": {
            "practice_percent": 48,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 50,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -9
          },
          "website_easy": {
            "practice_percent": 45,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 28,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -9
          },
          "app_easy": {
            "practice_percent": 53,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 29,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 1
          },
          "contact_good": {
            "practice_percent": 63,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 50,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -9
          },
          "overall_good": {
            "practice_percent": 72,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 52,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -5
          },
          "needs_met": {
            "practice_percent": 87,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 45,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -3
          },
          "next_step_known": {
            "practice_percent": 71,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 48,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -12
          },
          "next_step_known_2d": {
            "practice_percent": 99,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 28,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 6
          },
          "choice_time_day": {
            "practice_percent": 52,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 34,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -6
          },
          "wait_right": {
            "practice_percent": 71,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 43,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": 3
          }
        }
      },
      "headline": "Lindley House Health Centre uses the same GTD plus PATCHS model as several peers, but its own details still matter. The site carries an Android text-message warning, routes routine and urgent use into PATCHS, the explainer page says all routes go through PATCHS with a 48-hour callback expectation and 24/7 admin submission, the same page contains wrong-practice Ashton links, and the prescriptions and complaints pages still depend on old-style local email contacts."
    },
    {
      "ods_code": "Y02936",
      "practice_name": "Millbrook Medical Practice",
      "report_path": "datasets/practice-patterns/reports/Y02936-millbrook-medical-practice.json",
      "website_url": "https://www.millbrookmedicalcentre.nhs.uk/",
      "website_stack": "Standalone nhs.uk practice site with Practice365 elements",
      "website_identity": "standalone practice domain",
      "request_platforms": [
        "accurx",
        "patchs",
        "patient_access"
      ],
      "derived_tags": [
        "request_platform:accurx",
        "request_platform:patchs",
        "request_platform:patient_access",
        "website_identity:standalone_domain"
      ],
      "google_review_score": 2.7,
      "google_review_count": 39,
      "survey": {
        "completion_rate_percent": 20,
        "surveys_sent_out": 565,
        "surveys_sent_back": 111,
        "metrics": {
          "phone_easy": {
            "practice_percent": 54,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 36,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -3
          },
          "website_easy": {
            "practice_percent": 29,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 13,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -25
          },
          "app_easy": {
            "practice_percent": 41,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 15,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -11
          },
          "contact_good": {
            "practice_percent": 58,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 36,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -14
          },
          "overall_good": {
            "practice_percent": 69,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 36,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -8
          },
          "needs_met": {
            "practice_percent": 86,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 36,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -4
          },
          "next_step_known": {
            "practice_percent": 73,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 33,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -10
          },
          "next_step_known_2d": {
            "practice_percent": 91,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 22,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -2
          },
          "choice_time_day": {
            "practice_percent": 50,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 28,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -8
          },
          "wait_right": {
            "practice_percent": 42,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 35,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -26
          }
        }
      },
      "headline": "Millbrook Medical Centre is the messiest digital-front-door case in the GTD set. The homepage exposes generic cards for RapidHealth, PATCHS, Accurx, Klinik, SystmConnect and Engage all at once, but the appointments and contact pages actually funnel routine appointments and admin queries into Accurx Triage. Urgent appointments are phone or in-person from 8am for same-day acute problems only, and the site still has a formal complaints pack buried in the wider practice-information section rather than in the main contact flow."
    },
    {
      "ods_code": "Y02960",
      "practice_name": "New Bank Health",
      "report_path": "datasets/practice-patterns/reports/Y02960-new-bank-health.json",
      "website_url": "https://newbank.nhs.uk/",
      "website_stack": "WordPress with NHS UK theme and Silicon Practice elements",
      "website_identity": "standalone practice domain",
      "request_platforms": [
        "accurx",
        "patchs",
        "silicon_forms"
      ],
      "derived_tags": [
        "request_platform:accurx",
        "request_platform:patchs",
        "request_platform:silicon_forms",
        "website_identity:standalone_domain",
        "website_platform:wordpress"
      ],
      "google_review_score": 1.9,
      "google_review_count": 163,
      "survey": {
        "completion_rate_percent": 10,
        "surveys_sent_out": 942,
        "surveys_sent_back": 98,
        "metrics": {
          "phone_easy": {
            "practice_percent": 61,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 62,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": 4
          },
          "website_easy": {
            "practice_percent": 73,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 61,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": 19
          },
          "app_easy": {
            "practice_percent": 60,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 47,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 8
          },
          "contact_good": {
            "practice_percent": 66,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 65,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -6
          },
          "overall_good": {
            "practice_percent": 69,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 66,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -8
          },
          "needs_met": {
            "practice_percent": 82,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 55,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -8
          },
          "next_step_known": {
            "practice_percent": 75,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 62,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -8
          },
          "next_step_known_2d": {
            "practice_percent": 85,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 42,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -8
          },
          "choice_time_day": {
            "practice_percent": 66,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 46,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 8
          },
          "wait_right": {
            "practice_percent": 65,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 52,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -3
          }
        }
      },
      "headline": "New Bank still looks like a transition case, but the patient-task picture is now clearer. The homepage says all requests go through PATCHS from 1 October 2025, the appointments page still tells NHS App users to continue to the Accurx system, local Silicon Practice forms still render on the practice domain, and repeat-prescription and other admin routes remain available as separate local forms."
    }
  ],
  "flag_summaries": [
    {
      "flag": "request_platform:patchs",
      "label": "PATCHS present",
      "count_with_flag": 13,
      "count_without_flag": 5,
      "metrics": {
        "overall_good": {
          "with_flag_avg": 64.3,
          "without_flag_avg": 70.3,
          "difference": -6.0,
          "with_flag_vs_ics_avg": -12.7
        },
        "contact_good": {
          "with_flag_avg": 58.3,
          "without_flag_avg": 64.7,
          "difference": -6.4,
          "with_flag_vs_ics_avg": -13.7
        },
        "phone_easy": {
          "with_flag_avg": 45.4,
          "without_flag_avg": 48.0,
          "difference": -2.6,
          "with_flag_vs_ics_avg": -11.6
        },
        "website_easy": {
          "with_flag_avg": 43.3,
          "without_flag_avg": 43.3,
          "difference": 0.0,
          "with_flag_vs_ics_avg": -10.7
        },
        "app_easy": {
          "with_flag_avg": 47.0,
          "without_flag_avg": 40.7,
          "difference": 6.3,
          "with_flag_vs_ics_avg": -5.0
        },
        "needs_met": {
          "with_flag_avg": 82.2,
          "without_flag_avg": 87.0,
          "difference": -4.8,
          "with_flag_vs_ics_avg": -7.8
        }
      },
      "members": [
        "P89011",
        "P89013",
        "P89602",
        "P89612",
        "Y02325",
        "Y02520",
        "Y02586",
        "Y02663",
        "Y02713",
        "Y02849",
        "Y02875",
        "Y02936",
        "Y02960"
      ]
    },
    {
      "flag": "website_identity:shared_host_microsite",
      "label": "Shared-host patient microsite",
      "count_with_flag": 10,
      "count_without_flag": 8,
      "metrics": {
        "overall_good": {
          "with_flag_avg": 63.9,
          "without_flag_avg": 68.0,
          "difference": -4.1,
          "with_flag_vs_ics_avg": -13.1
        },
        "contact_good": {
          "with_flag_avg": 58.4,
          "without_flag_avg": 61.3,
          "difference": -2.9,
          "with_flag_vs_ics_avg": -13.6
        },
        "phone_easy": {
          "with_flag_avg": 43.4,
          "without_flag_avg": 50.0,
          "difference": -6.6,
          "with_flag_vs_ics_avg": -13.6
        },
        "website_easy": {
          "with_flag_avg": 40.9,
          "without_flag_avg": 47.3,
          "difference": -6.4,
          "with_flag_vs_ics_avg": -13.1
        },
        "app_easy": {
          "with_flag_avg": 46.3,
          "without_flag_avg": 45.0,
          "difference": 1.3,
          "with_flag_vs_ics_avg": -5.7
        },
        "needs_met": {
          "with_flag_avg": 82.6,
          "without_flag_avg": 84.0,
          "difference": -1.4,
          "with_flag_vs_ics_avg": -7.4
        }
      },
      "members": [
        "P89011",
        "P89013",
        "P89602",
        "P89612",
        "Y02520",
        "Y02586",
        "Y02663",
        "Y02713",
        "Y02849",
        "Y02875"
      ]
    },
    {
      "flag": "request_platform:accurx",
      "label": "Accurx present",
      "count_with_flag": 7,
      "count_without_flag": 11,
      "metrics": {
        "overall_good": {
          "with_flag_avg": 67.8,
          "without_flag_avg": 64.4,
          "difference": 3.4,
          "with_flag_vs_ics_avg": -9.2
        },
        "contact_good": {
          "with_flag_avg": 59.0,
          "without_flag_avg": 59.7,
          "difference": -0.7,
          "with_flag_vs_ics_avg": -13.0
        },
        "phone_easy": {
          "with_flag_avg": 48.2,
          "without_flag_avg": 44.8,
          "difference": 3.4,
          "with_flag_vs_ics_avg": -8.8
        },
        "website_easy": {
          "with_flag_avg": 51.2,
          "without_flag_avg": 39.7,
          "difference": 11.5,
          "with_flag_vs_ics_avg": -2.8
        },
        "app_easy": {
          "with_flag_avg": 44.2,
          "without_flag_avg": 46.5,
          "difference": -2.3,
          "with_flag_vs_ics_avg": -7.8
        },
        "needs_met": {
          "with_flag_avg": 80.6,
          "without_flag_avg": 84.3,
          "difference": -3.7,
          "with_flag_vs_ics_avg": -9.4
        }
      },
      "members": [
        "P84689",
        "V6E6I",
        "Y02325",
        "Y02755001",
        "Y02849",
        "Y02936",
        "Y02960"
      ]
    },
    {
      "flag": "website_platform:wordpress",
      "label": "WordPress public site",
      "count_with_flag": 6,
      "count_without_flag": 12,
      "metrics": {
        "overall_good": {
          "with_flag_avg": 68.2,
          "without_flag_avg": 64.5,
          "difference": 3.7,
          "with_flag_vs_ics_avg": -8.8
        },
        "contact_good": {
          "with_flag_avg": 62.5,
          "without_flag_avg": 58.5,
          "difference": 4.0,
          "with_flag_vs_ics_avg": -9.5
        },
        "phone_easy": {
          "with_flag_avg": 53.2,
          "without_flag_avg": 43.4,
          "difference": 9.8,
          "with_flag_vs_ics_avg": -3.8
        },
        "website_easy": {
          "with_flag_avg": 60.5,
          "without_flag_avg": 37.6,
          "difference": 22.9,
          "with_flag_vs_ics_avg": 6.5
        },
        "app_easy": {
          "with_flag_avg": 49.5,
          "without_flag_avg": 44.6,
          "difference": 4.9,
          "with_flag_vs_ics_avg": -2.5
        },
        "needs_met": {
          "with_flag_avg": 81.5,
          "without_flag_avg": 83.7,
          "difference": -2.2,
          "with_flag_vs_ics_avg": -8.5
        }
      },
      "members": [
        "P84689",
        "P87015",
        "V6E6I",
        "Y02325",
        "Y02755001",
        "Y02960"
      ]
    },
    {
      "flag": "request_platform:silicon_forms",
      "label": "Silicon Practice hosted forms present",
      "count_with_flag": 5,
      "count_without_flag": 13,
      "metrics": {
        "overall_good": {
          "with_flag_avg": 68.2,
          "without_flag_avg": 64.5,
          "difference": 3.7,
          "with_flag_vs_ics_avg": -8.8
        },
        "contact_good": {
          "with_flag_avg": 62.5,
          "without_flag_avg": 58.5,
          "difference": 4.0,
          "with_flag_vs_ics_avg": -9.5
        },
        "phone_easy": {
          "with_flag_avg": 53.2,
          "without_flag_avg": 43.4,
          "difference": 9.8,
          "with_flag_vs_ics_avg": -3.8
        },
        "website_easy": {
          "with_flag_avg": 60.5,
          "without_flag_avg": 37.6,
          "difference": 22.9,
          "with_flag_vs_ics_avg": 6.5
        },
        "app_easy": {
          "with_flag_avg": 49.5,
          "without_flag_avg": 44.6,
          "difference": 4.9,
          "with_flag_vs_ics_avg": -2.5
        },
        "needs_met": {
          "with_flag_avg": 81.5,
          "without_flag_avg": 83.7,
          "difference": -2.2,
          "with_flag_vs_ics_avg": -8.5
        }
      },
      "members": [
        "P84689",
        "P87015",
        "V6E6I",
        "Y02325",
        "Y02960"
      ]
    },
    {
      "flag": "website_identity:standalone_domain",
      "label": "Standalone practice domain",
      "count_with_flag": 5,
      "count_without_flag": 13,
      "metrics": {
        "overall_good": {
          "with_flag_avg": 67.2,
          "without_flag_avg": 64.6,
          "difference": 2.6,
          "with_flag_vs_ics_avg": -9.8
        },
        "contact_good": {
          "with_flag_avg": 62.8,
          "without_flag_avg": 58.0,
          "difference": 4.8,
          "with_flag_vs_ics_avg": -9.2
        },
        "phone_easy": {
          "with_flag_avg": 51.8,
          "without_flag_avg": 43.2,
          "difference": 8.6,
          "with_flag_vs_ics_avg": -5.2
        },
        "website_easy": {
          "with_flag_avg": 47.6,
          "without_flag_avg": 41.4,
          "difference": 6.2,
          "with_flag_vs_ics_avg": -6.4
        },
        "app_easy": {
          "with_flag_avg": 46.6,
          "without_flag_avg": 45.5,
          "difference": 1.1,
          "with_flag_vs_ics_avg": -5.4
        },
        "needs_met": {
          "with_flag_avg": 84.4,
          "without_flag_avg": 82.5,
          "difference": 1.9,
          "with_flag_vs_ics_avg": -5.6
        }
      },
      "members": [
        "P87015",
        "P89020",
        "Y02325",
        "Y02936",
        "Y02960"
      ]
    },
    {
      "flag": "request_platform:patient_access",
      "label": "Patient Access / EMIS Access present",
      "count_with_flag": 3,
      "count_without_flag": 15,
      "metrics": {
        "overall_good": {
          "with_flag_avg": 64.7,
          "without_flag_avg": 65.6,
          "difference": -0.9,
          "with_flag_vs_ics_avg": -12.3
        },
        "contact_good": {
          "with_flag_avg": 56.0,
          "without_flag_avg": 60.3,
          "difference": -4.3,
          "with_flag_vs_ics_avg": -16.0
        },
        "phone_easy": {
          "with_flag_avg": 42.7,
          "without_flag_avg": 46.6,
          "difference": -3.9,
          "with_flag_vs_ics_avg": -14.3
        },
        "website_easy": {
          "with_flag_avg": 31.3,
          "without_flag_avg": 46.1,
          "difference": -14.8,
          "with_flag_vs_ics_avg": -22.7
        },
        "app_easy": {
          "with_flag_avg": 39.7,
          "without_flag_avg": 47.2,
          "difference": -7.5,
          "with_flag_vs_ics_avg": -12.3
        },
        "needs_met": {
          "with_flag_avg": 84.3,
          "without_flag_avg": 82.8,
          "difference": 1.5,
          "with_flag_vs_ics_avg": -5.7
        }
      },
      "members": [
        "P89020",
        "Y02325",
        "Y02936"
      ]
    }
  ],
  "website_stack_groups": [
    {
      "website_stack": "GTD-managed practice microsite",
      "count": 10,
      "members": [
        "P89011",
        "P89013",
        "P89602",
        "P89612",
        "Y02520",
        "Y02586",
        "Y02663",
        "Y02713",
        "Y02849",
        "Y02875"
      ],
      "google_review_score_avg": 2.5,
      "metrics": {
        "overall_good": {
          "avg": 63.9,
          "avg_vs_ics": -13.1
        },
        "contact_good": {
          "avg": 58.4,
          "avg_vs_ics": -13.6
        },
        "phone_easy": {
          "avg": 43.4,
          "avg_vs_ics": -13.6
        },
        "website_easy": {
          "avg": 40.9,
          "avg_vs_ics": -13.1
        },
        "app_easy": {
          "avg": 46.3,
          "avg_vs_ics": -5.7
        },
        "needs_met": {
          "avg": 82.6,
          "avg_vs_ics": -7.4
        }
      }
    },
    {
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice plugins",
      "count": 2,
      "members": [
        "P84689",
        "V6E6I"
      ],
      "google_review_score_avg": 4.8,
      "metrics": {
        "overall_good": {
          "avg": 72.0,
          "avg_vs_ics": -5.0
        },
        "contact_good": {
          "avg": 54.0,
          "avg_vs_ics": -18.0
        },
        "phone_easy": {
          "avg": 41.0,
          "avg_vs_ics": -16.0
        },
        "website_easy": {
          "avg": 46.0,
          "avg_vs_ics": -8.0
        },
        "app_easy": {
          "avg": 37.0,
          "avg_vs_ics": -15.0
        },
        "needs_met": {
          "avg": 82.0,
          "avg_vs_ics": -8.0
        }
      }
    },
    {
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice form layer",
      "count": 1,
      "members": [
        "P87015"
      ],
      "google_review_score_avg": 4.8,
      "metrics": {
        "overall_good": {
          "avg": 73.0,
          "avg_vs_ics": -4.0
        },
        "contact_good": {
          "avg": 80.0,
          "avg_vs_ics": 8.0
        },
        "phone_easy": {
          "avg": 70.0,
          "avg_vs_ics": 13.0
        },
        "website_easy": {
          "avg": 71.0,
          "avg_vs_ics": 17.0
        },
        "app_easy": {
          "avg": 54.0,
          "avg_vs_ics": 2.0
        },
        "needs_met": {
          "avg": 87.0,
          "avg_vs_ics": -3.0
        }
      }
    },
    {
      "website_stack": "Standalone nhs.uk practice site with Practice365 elements",
      "count": 1,
      "members": [
        "Y02936"
      ],
      "google_review_score_avg": 2.7,
      "metrics": {
        "overall_good": {
          "avg": 69.0,
          "avg_vs_ics": -8.0
        },
        "contact_good": {
          "avg": 58.0,
          "avg_vs_ics": -14.0
        },
        "phone_easy": {
          "avg": 54.0,
          "avg_vs_ics": -3.0
        },
        "website_easy": {
          "avg": 29.0,
          "avg_vs_ics": -25.0
        },
        "app_easy": {
          "avg": 41.0,
          "avg_vs_ics": -11.0
        },
        "needs_met": {
          "avg": 86.0,
          "avg_vs_ics": -4.0
        }
      }
    },
    {
      "website_stack": "WordPress with NHS UK theme and Silicon Practice elements",
      "count": 1,
      "members": [
        "Y02960"
      ],
      "google_review_score_avg": 1.9,
      "metrics": {
        "overall_good": {
          "avg": 69.0,
          "avg_vs_ics": -8.0
        },
        "contact_good": {
          "avg": 66.0,
          "avg_vs_ics": -6.0
        },
        "phone_easy": {
          "avg": 61.0,
          "avg_vs_ics": 4.0
        },
        "website_easy": {
          "avg": 73.0,
          "avg_vs_ics": 19.0
        },
        "app_easy": {
          "avg": 60.0,
          "avg_vs_ics": 8.0
        },
        "needs_met": {
          "avg": 82.0,
          "avg_vs_ics": -8.0
        }
      }
    },
    {
      "website_stack": "Standalone legacy surgery website",
      "count": 1,
      "members": [
        "P89020"
      ],
      "google_review_score_avg": 1.3,
      "metrics": {
        "overall_good": {
          "avg": 66.0,
          "avg_vs_ics": -11.0
        },
        "contact_good": {
          "avg": 60.0,
          "avg_vs_ics": -12.0
        },
        "phone_easy": {
          "avg": 33.0,
          "avg_vs_ics": -24.0
        },
        "website_easy": {
          "avg": 13.0,
          "avg_vs_ics": -41.0
        },
        "app_easy": {
          "avg": 31.0,
          "avg_vs_ics": -21.0
        },
        "needs_met": {
          "avg": 92.0,
          "avg_vs_ics": 2.0
        }
      }
    },
    {
      "website_stack": "Standalone WordPress practice site with Silicon Practice style NHS theme",
      "count": 1,
      "members": [
        "Y02325"
      ],
      "google_review_score_avg": 1.9,
      "metrics": {
        "overall_good": {
          "avg": 59.0,
          "avg_vs_ics": -18.0
        },
        "contact_good": {
          "avg": 50.0,
          "avg_vs_ics": -22.0
        },
        "phone_easy": {
          "avg": 41.0,
          "avg_vs_ics": -16.0
        },
        "website_easy": {
          "avg": 52.0,
          "avg_vs_ics": -2.0
        },
        "app_easy": {
          "avg": 47.0,
          "avg_vs_ics": -5.0
        },
        "needs_met": {
          "avg": 75.0,
          "avg_vs_ics": -15.0
        }
      }
    },
    {
      "website_stack": "WordPress on GPsurgery.net network theme",
      "count": 1,
      "members": [
        "Y02755001"
      ],
      "google_review_score_avg": 1.5,
      "metrics": {
        "overall_good": {
          "avg": null,
          "avg_vs_ics": null
        },
        "contact_good": {
          "avg": null,
          "avg_vs_ics": null
        },
        "phone_easy": {
          "avg": null,
          "avg_vs_ics": null
        },
        "website_easy": {
          "avg": null,
          "avg_vs_ics": null
        },
        "app_easy": {
          "avg": null,
          "avg_vs_ics": null
        },
        "needs_met": {
          "avg": null,
          "avg_vs_ics": null
        }
      }
    }
  ],
  "top_by_overall_good": [
    {
      "ods_code": "P89612",
      "practice_name": "Mossley Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 83,
      "metric_vs_ics": 6,
      "google_review_score": 3.7
    },
    {
      "ods_code": "Y02520",
      "practice_name": "Simpson Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 80,
      "metric_vs_ics": 3,
      "google_review_score": 1.8
    },
    {
      "ods_code": "P89602",
      "practice_name": "The Smithy Surgery",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 78,
      "metric_vs_ics": 1,
      "google_review_score": 4.0
    },
    {
      "ods_code": "P87015",
      "practice_name": "Pendleton Medical Centre",
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice form layer",
      "request_platforms": [
        "silicon_forms"
      ],
      "metric_percent": 73,
      "metric_vs_ics": -4,
      "google_review_score": 4.8
    },
    {
      "ods_code": "P84689",
      "practice_name": "Manchester Integrative Medical Practice",
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice plugins",
      "request_platforms": [
        "accurx",
        "silicon_forms"
      ],
      "metric_percent": 72,
      "metric_vs_ics": -5,
      "google_review_score": 4.8
    },
    {
      "ods_code": "Y02875",
      "practice_name": "Lindley House Health Centre",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 72,
      "metric_vs_ics": -5,
      "google_review_score": 2.1
    },
    {
      "ods_code": "Y02849",
      "practice_name": "City Health Centre",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "accurx",
        "patchs"
      ],
      "metric_percent": 70,
      "metric_vs_ics": -7,
      "google_review_score": 4.5
    },
    {
      "ods_code": "Y02936",
      "practice_name": "Millbrook Medical Practice",
      "website_stack": "Standalone nhs.uk practice site with Practice365 elements",
      "request_platforms": [
        "accurx",
        "patchs",
        "patient_access"
      ],
      "metric_percent": 69,
      "metric_vs_ics": -8,
      "google_review_score": 2.7
    },
    {
      "ods_code": "Y02960",
      "practice_name": "New Bank Health",
      "website_stack": "WordPress with NHS UK theme and Silicon Practice elements",
      "request_platforms": [
        "accurx",
        "patchs",
        "silicon_forms"
      ],
      "metric_percent": 69,
      "metric_vs_ics": -8,
      "google_review_score": 1.9
    },
    {
      "ods_code": "P89020",
      "practice_name": "HT Practice",
      "website_stack": "Standalone legacy surgery website",
      "request_platforms": [
        "patient_access"
      ],
      "metric_percent": 66,
      "metric_vs_ics": -11,
      "google_review_score": 1.3
    }
  ],
  "bottom_by_overall_good": [
    {
      "ods_code": "P89013",
      "practice_name": "Hattersley Group Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 41,
      "metric_vs_ics": -36,
      "google_review_score": 2.1
    },
    {
      "ods_code": "Y02663",
      "practice_name": "Droylsden Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 49,
      "metric_vs_ics": -28,
      "google_review_score": 1.8
    },
    {
      "ods_code": "Y02586",
      "practice_name": "Ashton Gp Service",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 52,
      "metric_vs_ics": -25,
      "google_review_score": 1.8
    },
    {
      "ods_code": "Y02713",
      "practice_name": "Guide Bridge Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 53,
      "metric_vs_ics": -24,
      "google_review_score": 1.8
    },
    {
      "ods_code": "Y02325",
      "practice_name": "Charlestown MD",
      "website_stack": "Standalone WordPress practice site with Silicon Practice style NHS theme",
      "request_platforms": [
        "accurx",
        "patchs",
        "patient_access",
        "silicon_forms"
      ],
      "metric_percent": 59,
      "metric_vs_ics": -18,
      "google_review_score": 1.9
    },
    {
      "ods_code": "P89011",
      "practice_name": "Gordon Street Medical Centre",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 61,
      "metric_vs_ics": -16,
      "google_review_score": 1.5
    },
    {
      "ods_code": "P89020",
      "practice_name": "HT Practice",
      "website_stack": "Standalone legacy surgery website",
      "request_platforms": [
        "patient_access"
      ],
      "metric_percent": 66,
      "metric_vs_ics": -11,
      "google_review_score": 1.3
    },
    {
      "ods_code": "Y02936",
      "practice_name": "Millbrook Medical Practice",
      "website_stack": "Standalone nhs.uk practice site with Practice365 elements",
      "request_platforms": [
        "accurx",
        "patchs",
        "patient_access"
      ],
      "metric_percent": 69,
      "metric_vs_ics": -8,
      "google_review_score": 2.7
    },
    {
      "ods_code": "Y02960",
      "practice_name": "New Bank Health",
      "website_stack": "WordPress with NHS UK theme and Silicon Practice elements",
      "request_platforms": [
        "accurx",
        "patchs",
        "silicon_forms"
      ],
      "metric_percent": 69,
      "metric_vs_ics": -8,
      "google_review_score": 1.9
    },
    {
      "ods_code": "Y02849",
      "practice_name": "City Health Centre",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "accurx",
        "patchs"
      ],
      "metric_percent": 70,
      "metric_vs_ics": -7,
      "google_review_score": 4.5
    }
  ],
  "top_by_website_easy": [
    {
      "ods_code": "Y02960",
      "practice_name": "New Bank Health",
      "website_stack": "WordPress with NHS UK theme and Silicon Practice elements",
      "request_platforms": [
        "accurx",
        "patchs",
        "silicon_forms"
      ],
      "metric_percent": 73,
      "metric_vs_ics": 19,
      "google_review_score": 1.9
    },
    {
      "ods_code": "P87015",
      "practice_name": "Pendleton Medical Centre",
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice form layer",
      "request_platforms": [
        "silicon_forms"
      ],
      "metric_percent": 71,
      "metric_vs_ics": 17,
      "google_review_score": 4.8
    },
    {
      "ods_code": "Y02849",
      "practice_name": "City Health Centre",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "accurx",
        "patchs"
      ],
      "metric_percent": 56,
      "metric_vs_ics": 2,
      "google_review_score": 4.5
    },
    {
      "ods_code": "P89612",
      "practice_name": "Mossley Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 54,
      "metric_vs_ics": 0,
      "google_review_score": 3.7
    },
    {
      "ods_code": "Y02325",
      "practice_name": "Charlestown MD",
      "website_stack": "Standalone WordPress practice site with Silicon Practice style NHS theme",
      "request_platforms": [
        "accurx",
        "patchs",
        "patient_access",
        "silicon_forms"
      ],
      "metric_percent": 52,
      "metric_vs_ics": -2,
      "google_review_score": 1.9
    },
    {
      "ods_code": "Y02520",
      "practice_name": "Simpson Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 52,
      "metric_vs_ics": -2,
      "google_review_score": 1.8
    },
    {
      "ods_code": "P84689",
      "practice_name": "Manchester Integrative Medical Practice",
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice plugins",
      "request_platforms": [
        "accurx",
        "silicon_forms"
      ],
      "metric_percent": 46,
      "metric_vs_ics": -8,
      "google_review_score": 4.8
    },
    {
      "ods_code": "Y02875",
      "practice_name": "Lindley House Health Centre",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 45,
      "metric_vs_ics": -9,
      "google_review_score": 2.1
    },
    {
      "ods_code": "Y02586",
      "practice_name": "Ashton Gp Service",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 43,
      "metric_vs_ics": -11,
      "google_review_score": 1.8
    },
    {
      "ods_code": "Y02713",
      "practice_name": "Guide Bridge Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 42,
      "metric_vs_ics": -12,
      "google_review_score": 1.8
    }
  ],
  "bottom_by_website_easy": [
    {
      "ods_code": "P89020",
      "practice_name": "HT Practice",
      "website_stack": "Standalone legacy surgery website",
      "request_platforms": [
        "patient_access"
      ],
      "metric_percent": 13,
      "metric_vs_ics": -41,
      "google_review_score": 1.3
    },
    {
      "ods_code": "P89602",
      "practice_name": "The Smithy Surgery",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 21,
      "metric_vs_ics": -33,
      "google_review_score": 4.0
    },
    {
      "ods_code": "P89011",
      "practice_name": "Gordon Street Medical Centre",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 26,
      "metric_vs_ics": -28,
      "google_review_score": 1.5
    },
    {
      "ods_code": "Y02663",
      "practice_name": "Droylsden Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 29,
      "metric_vs_ics": -25,
      "google_review_score": 1.8
    },
    {
      "ods_code": "Y02936",
      "practice_name": "Millbrook Medical Practice",
      "website_stack": "Standalone nhs.uk practice site with Practice365 elements",
      "request_platforms": [
        "accurx",
        "patchs",
        "patient_access"
      ],
      "metric_percent": 29,
      "metric_vs_ics": -25,
      "google_review_score": 2.7
    },
    {
      "ods_code": "P89013",
      "practice_name": "Hattersley Group Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 41,
      "metric_vs_ics": -13,
      "google_review_score": 2.1
    },
    {
      "ods_code": "Y02713",
      "practice_name": "Guide Bridge Medical Practice",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 42,
      "metric_vs_ics": -12,
      "google_review_score": 1.8
    },
    {
      "ods_code": "Y02586",
      "practice_name": "Ashton Gp Service",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 43,
      "metric_vs_ics": -11,
      "google_review_score": 1.8
    },
    {
      "ods_code": "Y02875",
      "practice_name": "Lindley House Health Centre",
      "website_stack": "GTD-managed practice microsite",
      "request_platforms": [
        "patchs"
      ],
      "metric_percent": 45,
      "metric_vs_ics": -9,
      "google_review_score": 2.1
    },
    {
      "ods_code": "P84689",
      "practice_name": "Manchester Integrative Medical Practice",
      "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice plugins",
      "request_platforms": [
        "accurx",
        "silicon_forms"
      ],
      "metric_percent": 46,
      "metric_vs_ics": -8,
      "google_review_score": 4.8
    }
  ],
  "relative_rankings": {
    "generated_at": "2026-03-27",
    "practice_count": 18,
    "methodology": {
      "kind": "report-only weighted percentile blend",
      "summary": "Default ordering is based on the subjective report scores now stored in each practice JSON: front-door clarity, digital task coverage, journey ease, trust and maintenance, complaints and fallbacks, and overall patient usability. GP Patient Survey, Google scores, click counts and issue counts are shown beside that ordering as comparison columns, not as inputs to the rank itself.",
      "signals": [
        {
          "key": "overall_good",
          "label": "GPPS overall experience",
          "weight": 2.5,
          "include_in_relative_score": false,
          "higher_is_better": true
        },
        {
          "key": "website_easy",
          "label": "GPPS website ease",
          "weight": 2.0,
          "include_in_relative_score": false,
          "higher_is_better": true
        },
        {
          "key": "contact_good",
          "label": "GPPS contact experience",
          "weight": 2.0,
          "include_in_relative_score": false,
          "higher_is_better": true
        },
        {
          "key": "needs_met",
          "label": "GPPS needs met",
          "weight": 2.0,
          "include_in_relative_score": false,
          "higher_is_better": true
        },
        {
          "key": "google_review_score",
          "label": "Google review score",
          "weight": 1.0,
          "include_in_relative_score": false,
          "higher_is_better": true
        },
        {
          "key": "front_door_clarity",
          "label": "Subjective front-door clarity",
          "weight": 2.0,
          "include_in_relative_score": true,
          "higher_is_better": true
        },
        {
          "key": "digital_task_coverage",
          "label": "Subjective digital task coverage",
          "weight": 1.5,
          "include_in_relative_score": true,
          "higher_is_better": true
        },
        {
          "key": "journey_ease",
          "label": "Subjective journey ease",
          "weight": 2.0,
          "include_in_relative_score": true,
          "higher_is_better": true
        },
        {
          "key": "trust_and_maintenance",
          "label": "Subjective trust and maintenance",
          "weight": 1.5,
          "include_in_relative_score": true,
          "higher_is_better": true
        },
        {
          "key": "complaints_and_fallbacks",
          "label": "Subjective complaints and fallbacks",
          "weight": 1.0,
          "include_in_relative_score": true,
          "higher_is_better": true
        },
        {
          "key": "overall_patient_usability",
          "label": "Subjective overall patient usability",
          "weight": 2.5,
          "include_in_relative_score": true,
          "higher_is_better": true
        },
        {
          "key": "avg_user_visible_interactions",
          "label": "Average clicks to first actionable page",
          "weight": 1.5,
          "include_in_relative_score": false,
          "higher_is_better": false
        },
        {
          "key": "avg_friction_points",
          "label": "Average friction notes per task",
          "weight": 1.5,
          "include_in_relative_score": false,
          "higher_is_better": false
        },
        {
          "key": "encountered_issue_count",
          "label": "Encountered issues recorded",
          "weight": 1.5,
          "include_in_relative_score": false,
          "higher_is_better": false
        },
        {
          "key": "stale_or_conflicting_stack_count",
          "label": "Stale or conflicting stack signals",
          "weight": 1.0,
          "include_in_relative_score": false,
          "higher_is_better": false
        }
      ]
    },
    "practices": [
      {
        "ods_code": "P87015",
        "practice_name": "Pendleton Medical Centre",
        "display_name": "Pendleton Medical Centre",
        "headline": "Pendleton Medical Centre presents one of the clearest digital front doors seen so far. It uses a standalone Silicon Practice site with a large online-forms hub, clearly separates no-account local forms from NHS account or myGP tasks, gives response-time promises on several routes, and exposes direct online forms for urgent medical help, nurse or healthcare assistant appointments, prescriptions, fit notes, test results, admin contact and feedback.",
        "website_url": "https://pendletonmedicalcentre.nhs.uk/",
        "website_identity": "standalone practice domain",
        "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice form layer",
        "request_platforms": [
          "silicon_forms"
        ],
        "google_review_score": 4.8,
        "google_review_count": 629,
        "report_path": "datasets/practice-patterns/reports/P87015-pendleton-medical-centre.json",
        "report_link": "../reports/P87015-pendleton-medical-centre.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 70,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 70,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": 13
          },
          "website_easy": {
            "practice_percent": 71,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 48,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": 17
          },
          "app_easy": {
            "practice_percent": 54,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 34,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 2
          },
          "contact_good": {
            "practice_percent": 80,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 74,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": 8
          },
          "overall_good": {
            "practice_percent": 73,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 79,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -4
          },
          "needs_met": {
            "practice_percent": 87,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 63,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -3
          },
          "next_step_known": {
            "practice_percent": 76,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 72,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -7
          },
          "next_step_known_2d": {
            "practice_percent": 99,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 50,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 6
          },
          "choice_time_day": {
            "practice_percent": 58,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 49,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 0
          },
          "wait_right": {
            "practice_percent": 78,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 58,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": 10
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 4,
          "digital_task_coverage": 5,
          "journey_ease": 3,
          "trust_and_maintenance": 4,
          "complaints_and_fallbacks": 4,
          "overall_patient_usability": 4,
          "summary": "One of the strongest digital-access cases reviewed so far, though some useful routes are buried and routine GP access still leans on the phone."
        },
        "raw_signals": {
          "overall_good": 73.0,
          "website_easy": 71.0,
          "contact_good": 80.0,
          "needs_met": 87.0,
          "google_review_score": 4.8,
          "front_door_clarity": 4.0,
          "digital_task_coverage": 5.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 4.0,
          "complaints_and_fallbacks": 4.0,
          "overall_patient_usability": 4.0,
          "avg_user_visible_interactions": 3.0,
          "avg_friction_points": 2.0,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 0.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 3.0,
          "avg_friction_points": 2.0,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 0,
          "median_runtime_ms": 159.8,
          "discovered_path_count": 7,
          "source_page_count": 16,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 3,
            "first_actionable_page": "https://pendletonmedicalcentre.nhs.uk/form/get-help-for-any-health-problem/",
            "first_actionable_host": "pendletonmedicalcentre.nhs.uk",
            "first_friction": "The route is digital and live, but patients still pass through an explainer page before the actual form."
          },
          {
            "task": "routine nurse or healthcare assistant appointment",
            "route_found": true,
            "user_visible_interactions": 3,
            "first_actionable_page": "https://pendletonmedicalcentre.nhs.uk/form/request-an-appointment-with-a-nurse-or-hca/",
            "first_actionable_host": "pendletonmedicalcentre.nhs.uk",
            "first_friction": "This is a strong structured route for nurse and HCA work, but the appointments page still leaves routine GP appointments more phone-dependent."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 3,
            "first_actionable_page": "https://pendletonmedicalcentre.nhs.uk/form/request-a-repeat-prescription/",
            "first_actionable_host": "pendletonmedicalcentre.nhs.uk",
            "first_friction": "The route is clear, but there are multiple parallel prescription channels and patients still need to understand nomination rules."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 5,
            "first_actionable_page": "https://pendletonmedicalcentre.nhs.uk/form/contact-the-practice/",
            "first_actionable_host": "pendletonmedicalcentre.nhs.uk",
            "first_friction": "This is a rich admin layer, but it is buried deeper than appointments or prescriptions."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://pendletonmedicalcentre.nhs.uk/surgery-information/feedback-and-complaints/",
            "first_actionable_host": "pendletonmedicalcentre.nhs.uk",
            "first_friction": "Formal complaints still depend on writing to the practice rather than a dedicated complaints form."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "buried_admin_routes",
            "details": "The site has a strong no-account admin form layer, but it is tucked behind Contact us -> managing your health online -> online forms rather than surfaced directly from the homepage."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "routine_gp_access_still_phone_leaning",
            "details": "The appointments page gives a clear online route for urgent medical help and for nurse or healthcare assistant work, but routine GP appointments in advance are still framed mainly around calling the practice."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "visible_out_of_hours_but_response_bound_to_opening_times",
            "details": "Several forms are reachable out of hours, but response promises and at least one medical-help term explicitly bind handling to opening times or the practice being open."
          }
        ],
        "probably_true": [
          "Pendleton is a genuinely stronger digital-access case than the GTD practices reviewed so far because it offers more task-specific routes, clearer separation of account and no-account workflows, and less supplier confusion.",
          "The site still expects patients to make choices between multiple routes, but it explains those choices better than the messier mixed-platform sites."
        ],
        "needs_follow_up": [
          "Check whether the forms remain submittable out of hours or only render while deferring action until opening time.",
          "Check whether similar standalone Silicon Practice sites in the wider pool expose the same deep online-forms hub pattern."
        ],
        "source_pages": [
          "https://www.nhs.uk/services/gp-surgery/pendleton-medical-centre/P87015",
          "https://pendletonmedicalcentre.nhs.uk/",
          "https://pendletonmedicalcentre.nhs.uk/appointments/",
          "https://pendletonmedicalcentre.nhs.uk/prescriptions/",
          "https://pendletonmedicalcentre.nhs.uk/contact-us/",
          "https://pendletonmedicalcentre.nhs.uk/services/managing-your-health-online/",
          "https://pendletonmedicalcentre.nhs.uk/services/managing-your-health-online/online-forms/",
          "https://pendletonmedicalcentre.nhs.uk/services/managing-your-health-online/online-forms/get-help-for-any-health-problem/",
          "https://pendletonmedicalcentre.nhs.uk/form/get-help-for-any-health-problem/",
          "https://pendletonmedicalcentre.nhs.uk/services/managing-your-health-online/online-forms/request-an-appointment-with-a-nurse-or-healthcare-assistant/",
          "https://pendletonmedicalcentre.nhs.uk/form/request-an-appointment-with-a-nurse-or-hca/",
          "https://pendletonmedicalcentre.nhs.uk/services/managing-your-health-online/online-forms/contact-the-practice/",
          "https://pendletonmedicalcentre.nhs.uk/form/contact-the-practice/",
          "https://pendletonmedicalcentre.nhs.uk/services/managing-your-health-online/online-forms/repeat-prescription-request/",
          "https://pendletonmedicalcentre.nhs.uk/form/request-a-repeat-prescription/",
          "https://pendletonmedicalcentre.nhs.uk/surgery-information/feedback-and-complaints/"
        ],
        "replay_hints": [
          {
            "task": "urgent medical help",
            "start_url": "https://pendletonmedicalcentre.nhs.uk/",
            "visible_next_step": "Appointments -> Get help for any health problem -> Start now and confirm you have none of these",
            "expected_destination": "https://pendletonmedicalcentre.nhs.uk/form/get-help-for-any-health-problem/"
          },
          {
            "task": "routine nurse or healthcare assistant appointment",
            "start_url": "https://pendletonmedicalcentre.nhs.uk/",
            "visible_next_step": "Appointments -> Request an appointment with a nurse or healthcare assistant -> Start now and confirm you have none of these",
            "expected_destination": "https://pendletonmedicalcentre.nhs.uk/form/request-an-appointment-with-a-nurse-or-hca/"
          },
          {
            "task": "repeat prescription",
            "start_url": "https://pendletonmedicalcentre.nhs.uk/",
            "visible_next_step": "Prescriptions -> repeat prescriptions request -> Start now",
            "expected_destination": "https://pendletonmedicalcentre.nhs.uk/form/request-a-repeat-prescription/"
          },
          {
            "task": "admin query",
            "start_url": "https://pendletonmedicalcentre.nhs.uk/",
            "visible_next_step": "Contact us -> Start using online services -> Contact us online -> Contact the practice -> Start now",
            "expected_destination": "https://pendletonmedicalcentre.nhs.uk/form/contact-the-practice/"
          },
          {
            "task": "complaint",
            "start_url": "https://pendletonmedicalcentre.nhs.uk/",
            "visible_next_step": "Feedback and complaints",
            "expected_destination": "https://pendletonmedicalcentre.nhs.uk/surgery-information/feedback-and-complaints/"
          }
        ],
        "signal_scores": [
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 80.0,
            "display_value": "80.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 16,
            "percentile": 100.0
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 4.8,
            "display_value": "4.8 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 5.0,
            "display_value": "5 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 0.0,
            "display_value": "0",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 71.0,
            "display_value": "71.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 2,
            "out_of": 16,
            "percentile": 93.3
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 73.0,
            "display_value": "73.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 4,
            "out_of": 16,
            "percentile": 80.0
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 87.0,
            "display_value": "87.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 16,
            "percentile": 73.3
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 2.0,
            "display_value": "2.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 15,
            "out_of": 18,
            "percentile": 17.6
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 3.0,
            "display_value": "3.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 18,
            "out_of": 18,
            "percentile": 0.0
          }
        ],
        "relative_score": 100.0,
        "relative_band": "top quartile",
        "strengths": [
          "Subjective front-door clarity 1/18",
          "Subjective digital task coverage 1/18",
          "Subjective journey ease 1/18"
        ],
        "cautions": [
          "Subjective trust and maintenance 1/18",
          "Subjective complaints and fallbacks 1/18",
          "Subjective overall patient usability 1/18"
        ],
        "relative_rank": 1,
        "relative_rank_out_of": 18,
        "relative_percentile": 100.0
      },
      {
        "ods_code": "P84689",
        "practice_name": "Manchester Integrative Medical Practice",
        "display_name": "Manchester Integrative Medical Practice",
        "headline": "Manchester Integrative Medical Practice has a clear, modern but tightly gated access model. The public site is a Silicon Practice WordPress build on a standalone domain, while most real patient requests go through Accurx. Routine care, urgent medical requests and repeat prescriptions are all routed into Accurx, and the portal explicitly suspends normal online handling out of hours rather than pretending the route is fully open.",
        "website_url": "https://mimp.org.uk/",
        "website_identity": "standalone shared-group domain",
        "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice plugins",
        "request_platforms": [
          "accurx",
          "silicon_forms"
        ],
        "google_review_score": 4.8,
        "google_review_count": 550,
        "report_path": "datasets/practice-patterns/reports/P84689-manchester-integrative-medical-practice.json",
        "report_link": "../reports/P84689-manchester-integrative-medical-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 41,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 128,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -16
          },
          "website_easy": {
            "practice_percent": 46,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 110,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -8
          },
          "app_easy": {
            "practice_percent": 37,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 84,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -15
          },
          "contact_good": {
            "practice_percent": 54,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 133,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -18
          },
          "overall_good": {
            "practice_percent": 72,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 136,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -5
          },
          "needs_met": {
            "practice_percent": 82,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 122,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -8
          },
          "next_step_known": {
            "practice_percent": 66,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 122,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -17
          },
          "next_step_known_2d": {
            "practice_percent": 91,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 72,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -2
          },
          "choice_time_day": {
            "practice_percent": 46,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 95,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -12
          },
          "wait_right": {
            "practice_percent": 53,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 105,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -15
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 4,
          "digital_task_coverage": 4,
          "journey_ease": 3,
          "trust_and_maintenance": 4,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 4,
          "summary": "Clear and modern, but the digital front door is tightly time-gated and the shared-site setup adds some location ambiguity."
        },
        "raw_signals": {
          "overall_good": 72.0,
          "website_easy": 46.0,
          "contact_good": 54.0,
          "needs_met": 82.0,
          "google_review_score": 4.8,
          "front_door_clarity": 4.0,
          "digital_task_coverage": 4.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 4.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 4.0,
          "avg_user_visible_interactions": 1.4,
          "avg_friction_points": 2.0,
          "encountered_issue_count": 2.0,
          "stale_or_conflicting_stack_count": 0.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.4,
          "avg_friction_points": 2.0,
          "encountered_issue_count": 2,
          "stale_or_conflicting_stack_count": 0,
          "median_runtime_ms": 144.4,
          "discovered_path_count": 6,
          "source_page_count": 10,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/P84689/flow/medical-request",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The urgent route exists and is explicit, but it is not continuously open."
          },
          {
            "task": "routine medical request or admin request",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/P84689/flow/routine-care",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The core digital route is strong during opening hours, but not permissive out of hours."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/P84689/flow/repeat-prescription",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "Repeat prescriptions are digital-first and fairly clear."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/P84689/flow/routine-care",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "Administrative and routine medical work are bundled together into the same main digital door."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://mimp.org.uk/surgery-information/feedback-and-complaints/",
            "first_actionable_host": "mimp.org.uk",
            "first_friction": "There is no dedicated online complaints submission route, only a feedback form plus formal phone or post instructions."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "time_window_gated_digital_front_door",
            "details": "The main Accurx routes are visible out of hours but currently suspended, with the portal showing alternative options instead of accepting normal requests."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "shared_site_for_multiple_locations",
            "details": "The public site covers both Longsight and Moss Side, so some contact and complaints information is location-specific rather than neatly practice-specific."
          }
        ],
        "probably_true": [
          "This is one of the clearest digital front doors reviewed so far, but it performs that clarity by being quite strict about when the digital route is actually open.",
          "Its strong public ratings may be linked more to coherent wording and predictable routing than to unusually low friction."
        ],
        "needs_follow_up": [
          "Check the live in-hours Accurx question flow to capture the actual first patient questions when the triage window is open.",
          "Check whether the linked feedback form materially differs from the formal complaints route in how issues are triaged."
        ],
        "source_pages": [
          "https://www.nhs.uk/services/gp-surgery/manchester-integrative-medical-practice/P84689",
          "https://mimp.org.uk/",
          "https://mimp.org.uk/appointments/",
          "https://mimp.org.uk/prescriptions/",
          "https://mimp.org.uk/contact-us/",
          "https://mimp.org.uk/surgery-information/feedback-and-complaints/",
          "https://mimp.org.uk/services/managing-your-health-online/online-forms/feedback/",
          "https://accurx.nhs.uk/patient-initiated/P84689/flow/routine-care",
          "https://accurx.nhs.uk/patient-initiated/P84689/flow/medical-request",
          "https://accurx.nhs.uk/patient-initiated/P84689/flow/repeat-prescription"
        ],
        "replay_hints": [
          {
            "task": "routine care or admin request",
            "start_url": "https://mimp.org.uk/",
            "visible_next_step": "Homepage online service link for non-urgent medical, medication and administrative requests",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/P84689/flow/routine-care"
          },
          {
            "task": "urgent same-day help",
            "start_url": "https://mimp.org.uk/",
            "visible_next_step": "Appointments -> online triage form",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/P84689/flow/medical-request"
          },
          {
            "task": "repeat prescription",
            "start_url": "https://mimp.org.uk/",
            "visible_next_step": "Prescriptions -> repeat prescriptions request form",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/P84689/flow/repeat-prescription"
          },
          {
            "task": "complaint",
            "start_url": "https://mimp.org.uk/",
            "visible_next_step": "Feedback and complaints",
            "expected_destination": "https://mimp.org.uk/surgery-information/feedback-and-complaints/"
          }
        ],
        "signal_scores": [
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 4.8,
            "display_value": "4.8 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 2.0,
            "display_value": "2",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 0.0,
            "display_value": "0",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 72.0,
            "display_value": "72.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 5,
            "out_of": 16,
            "percentile": 73.3
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 46.0,
            "display_value": "46.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 7,
            "out_of": 16,
            "percentile": 60.0
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 82.0,
            "display_value": "82.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 10,
            "out_of": 16,
            "percentile": 40.0
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 54.0,
            "display_value": "54.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 11,
            "out_of": 16,
            "percentile": 33.3
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.4,
            "display_value": "1.40",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 14,
            "out_of": 18,
            "percentile": 23.5
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 2.0,
            "display_value": "2.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 15,
            "out_of": 18,
            "percentile": 17.6
          }
        ],
        "relative_score": 98.6,
        "relative_band": "top quartile",
        "strengths": [
          "Subjective front-door clarity 1/18",
          "Subjective journey ease 1/18",
          "Subjective trust and maintenance 1/18"
        ],
        "cautions": [
          "Subjective digital task coverage 2/18",
          "Subjective complaints and fallbacks 2/18",
          "Subjective overall patient usability 1/18"
        ],
        "relative_rank": 2,
        "relative_rank_out_of": 18,
        "relative_percentile": 94.1
      },
      {
        "ods_code": "Y02586",
        "practice_name": "Ashton Gp Service",
        "display_name": "Ashton Gp Service",
        "headline": "Ashton GP Service presents a relatively coherent GTD microsite with PATCHS as the main request platform. The homepage exposes a direct PATCHS route, the appointments and online-request pages say all requests made online, by phone or in person go through PATCHS, prescriptions are pushed to NHS account use, and complaints handling is embedded in the contact page with both local and central GTD contacts.",
        "website_url": "https://www.gtdhealthcare.co.uk/ashtongpservice",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 1.8,
        "google_review_count": 91,
        "report_path": "datasets/practice-patterns/reports/Y02586-ashton-gp-service.json",
        "report_link": "../reports/Y02586-ashton-gp-service.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 33,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 45,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -24
          },
          "website_easy": {
            "practice_percent": 43,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 29,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -11
          },
          "app_easy": {
            "practice_percent": 45,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 25,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -7
          },
          "contact_good": {
            "practice_percent": 57,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 46,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -15
          },
          "overall_good": {
            "practice_percent": 52,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 47,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -25
          },
          "needs_met": {
            "practice_percent": 68,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 43,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -22
          },
          "next_step_known": {
            "practice_percent": 62,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 42,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -21
          },
          "next_step_known_2d": {
            "practice_percent": 76,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 20,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -17
          },
          "choice_time_day": {
            "practice_percent": 28,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 29,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -30
          },
          "wait_right": {
            "practice_percent": 53,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 39,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -15
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 4,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 4,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 3,
          "summary": "One of the cleaner GTD microsites in this batch, though it still has account-gated elements and a less-than-obvious complaints route."
        },
        "raw_signals": {
          "overall_good": 52.0,
          "website_easy": 43.0,
          "contact_good": 57.0,
          "needs_met": 68.0,
          "google_review_score": 1.8,
          "front_door_clarity": 4.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 4.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 3.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2.0,
          "stale_or_conflicting_stack_count": 0.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2,
          "stale_or_conflicting_stack_count": 0,
          "median_runtime_ms": 398.8,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/ashtongpservice/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Urgent help still depends on the patient correctly distinguishing between PATCHS triage, the practice phone line and NHS 111."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/ashtongpservice",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The site still makes the patient choose between three entry routes for the same job before care starts."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/ashtongpservice/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Patients without an NHS account are pushed into a more mediated path than on some other practice sites."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/ashtongpservice/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The patient is told they will be contacted within 48 hours rather than being given a more task-specific response expectation."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/ashtongpservice/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly named standalone complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "supplier_account_gate",
            "details": "The appointments instructions tell patients to log in to PATCHS or create an account before submitting the online request."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "complaints_not_separate_page",
            "details": "Formal complaints handling exists, but it is folded into the contact page rather than surfaced as its own obvious complaints page."
          }
        ],
        "probably_true": [
          "Ashton is one of the cleaner GTD microsites in this batch because the live routes broadly tell the same story.",
          "The main access burden here is registration and triage rather than obvious contradictory platform overlap."
        ],
        "needs_follow_up": [
          "Check the PATCHS route in a real browser session to see exactly what the first login and registration prompts are.",
          "Check whether the footer's generic site-feedback route competes with the practice complaints route in user journeys."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/ashtongpservice",
          "https://www.gtdhealthcare.co.uk/ashtongpservice/appointments",
          "https://www.gtdhealthcare.co.uk/ashtongpservice/online-request-form",
          "https://www.gtdhealthcare.co.uk/ashtongpservice/prescriptions",
          "https://www.gtdhealthcare.co.uk/ashtongpservice/contact-us",
          "https://patchs.ai/practice/ashtongpservice",
          "https://www.nhs.uk/services/gp-surgery/ashton-gp-service/Y02586"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/ashtongpservice",
            "visible_next_step": "Click here to access the online request form.",
            "expected_destination": "https://patchs.ai/practice/ashtongpservice"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/ashtongpservice",
            "visible_next_step": "Click here to find out more about Patchs Health.",
            "expected_destination": "https://www.gtdhealthcare.co.uk/ashtongpservice/online-request-form"
          },
          {
            "task": "complaint",
            "start_url": "https://www.gtdhealthcare.co.uk/ashtongpservice",
            "visible_next_step": "Contact us",
            "expected_destination": "https://www.gtdhealthcare.co.uk/ashtongpservice/contact-us"
          }
        ],
        "signal_scores": [
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 2.0,
            "display_value": "2",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 0.0,
            "display_value": "0",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 3,
            "out_of": 18,
            "percentile": 88.2
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 43.0,
            "display_value": "43.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 9,
            "out_of": 16,
            "percentile": 46.7
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 57.0,
            "display_value": "57.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 10,
            "out_of": 16,
            "percentile": 40.0
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.8,
            "display_value": "1.8 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 52.0,
            "display_value": "52.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 14,
            "out_of": 16,
            "percentile": 13.3
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 68.0,
            "display_value": "68.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 16,
            "out_of": 16,
            "percentile": 0.0
          }
        ],
        "relative_score": 94.1,
        "relative_band": "top quartile",
        "strengths": [
          "Subjective front-door clarity 1/18",
          "Subjective journey ease 1/18",
          "Subjective trust and maintenance 1/18"
        ],
        "cautions": [
          "Subjective digital task coverage 4/18",
          "Subjective overall patient usability 3/18",
          "Subjective complaints and fallbacks 2/18"
        ],
        "relative_rank": 3,
        "relative_rank_out_of": 18,
        "relative_percentile": 88.2
      },
      {
        "ods_code": "Y02849",
        "practice_name": "City Health Centre",
        "display_name": "City Health Centre",
        "headline": "City Health Centre is the clear GTD outlier in this batch because it routes patients into Accurx rather than PATCHS. The appointments page pushes a direct Accurx form, urgent health-problem requests are only open online from 7:30am to 12pm and can close earlier at high demand, routine and admin requests stay open until 6:30pm, and the prescriptions page still permits email contact.",
        "website_url": "https://www.gtdhealthcare.co.uk/cityhealthcentre",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "accurx",
          "patchs"
        ],
        "google_review_score": 4.5,
        "google_review_count": 11,
        "report_path": "datasets/practice-patterns/reports/Y02849-city-health-centre.json",
        "report_link": "../reports/Y02849-city-health-centre.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 44,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 159,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -13
          },
          "website_easy": {
            "practice_percent": 56,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 145,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": 2
          },
          "app_easy": {
            "practice_percent": 36,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 104,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -16
          },
          "contact_good": {
            "practice_percent": 67,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 162,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -5
          },
          "overall_good": {
            "practice_percent": 70,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 174,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -7
          },
          "needs_met": {
            "practice_percent": 78,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 143,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -12
          },
          "next_step_known": {
            "practice_percent": 75,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 153,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -8
          },
          "next_step_known_2d": {
            "practice_percent": 84,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 93,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -9
          },
          "choice_time_day": {
            "practice_percent": 60,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 122,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 2
          },
          "wait_right": {
            "practice_percent": 65,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 141,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -3
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 4,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 3,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 3,
          "summary": "The Accurx-led route is clearer than most GTD peers, but urgent-window limits and mixed prescription handling stop it feeling consistently strong."
        },
        "raw_signals": {
          "overall_good": 70.0,
          "website_easy": 56.0,
          "contact_good": 67.0,
          "needs_met": 78.0,
          "google_review_score": 4.5,
          "front_door_clarity": 4.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 3.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 3.0,
          "avg_user_visible_interactions": 1.4,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2.0,
          "stale_or_conflicting_stack_count": 0.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.4,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2,
          "stale_or_conflicting_stack_count": 0,
          "median_runtime_ms": 405.9,
          "discovered_path_count": 4,
          "source_page_count": 6,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/cityhealthcentre/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The urgent online window is narrow and explicitly demand-limited, so a patient can meet a visible route that has already closed."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/y02849",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The patient has to interpret different opening windows for urgent versus routine use of the same online form."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/cityhealthcentre/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Prescription handling is less standardised than core medical access because email still sits beside the digital account route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/y02849",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "Admin tasks are bundled into the same Accurx route as routine clinical triage, so patients still have to trust the single funnel."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/cityhealthcentre/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly separate complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "limited_urgent_online_window",
            "details": "The appointments page says urgent health-problem requests are only open online from 7:30am to 12pm and may close earlier at high demand."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "mixed_prescription_channels",
            "details": "The prescriptions page still exposes an email route alongside the NHS account route."
          }
        ],
        "probably_true": [
          "City is materially different from the PATCHS-based GTD sites and should not be lumped in with them just because it shares the host.",
          "The site's access model is more explicit than some peers, but it still depends on a demand-limited opening window for urgent online requests."
        ],
        "needs_follow_up": [
          "Check the Accurx form fields in a real browser session.",
          "Check whether the urgent online form actually closes early on busy days or just warns that it may."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/cityhealthcentre",
          "https://www.gtdhealthcare.co.uk/cityhealthcentre/appointments",
          "https://www.gtdhealthcare.co.uk/cityhealthcentre/prescriptions",
          "https://www.gtdhealthcare.co.uk/cityhealthcentre/contact-us",
          "https://accurx.nhs.uk/patient-initiated/y02849",
          "https://www.nhs.uk/services/gp-surgery/city-health-centre/Y02849"
        ],
        "replay_hints": [
          {
            "task": "routine or admin request",
            "start_url": "https://www.gtdhealthcare.co.uk/cityhealthcentre",
            "visible_next_step": "Appointments, then Click here to access the online request form",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/y02849"
          },
          {
            "task": "complaint",
            "start_url": "https://www.gtdhealthcare.co.uk/cityhealthcentre",
            "visible_next_step": "Contact us",
            "expected_destination": "https://www.gtdhealthcare.co.uk/cityhealthcentre/contact-us"
          }
        ],
        "signal_scores": [
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 2.0,
            "display_value": "2",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 0.0,
            "display_value": "0",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 3,
            "out_of": 18,
            "percentile": 88.2
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 56.0,
            "display_value": "56.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 3,
            "out_of": 16,
            "percentile": 86.7
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 4.5,
            "display_value": "4.5 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 67.0,
            "display_value": "67.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 16,
            "percentile": 73.3
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 70.0,
            "display_value": "70.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 7,
            "out_of": 16,
            "percentile": 60.0
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 78.0,
            "display_value": "78.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 16,
            "percentile": 26.7
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.4,
            "display_value": "1.40",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 14,
            "out_of": 18,
            "percentile": 23.5
          }
        ],
        "relative_score": 91.6,
        "relative_band": "top quartile",
        "strengths": [
          "Subjective front-door clarity 1/18",
          "Subjective journey ease 1/18",
          "Subjective complaints and fallbacks 2/18"
        ],
        "cautions": [
          "Subjective digital task coverage 4/18",
          "Subjective trust and maintenance 4/18",
          "Subjective overall patient usability 3/18"
        ],
        "relative_rank": 4,
        "relative_rank_out_of": 18,
        "relative_percentile": 82.4
      },
      {
        "ods_code": "Y02875",
        "practice_name": "Lindley House Health Centre",
        "display_name": "Lindley House Health Centre",
        "headline": "Lindley House Health Centre uses the same GTD plus PATCHS model as several peers, but its own details still matter. The site carries an Android text-message warning, routes routine and urgent use into PATCHS, the explainer page says all routes go through PATCHS with a 48-hour callback expectation and 24/7 admin submission, the same page contains wrong-practice Ashton links, and the prescriptions and complaints pages still depend on old-style local email contacts.",
        "website_url": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 2.1,
        "google_review_count": 66,
        "report_path": "datasets/practice-patterns/reports/Y02875-lindley-house-health-centre.json",
        "report_link": "../reports/Y02875-lindley-house-health-centre.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 48,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 50,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -9
          },
          "website_easy": {
            "practice_percent": 45,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 28,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -9
          },
          "app_easy": {
            "practice_percent": 53,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 29,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 1
          },
          "contact_good": {
            "practice_percent": 63,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 50,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -9
          },
          "overall_good": {
            "practice_percent": 72,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 52,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -5
          },
          "needs_met": {
            "practice_percent": 87,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 45,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -3
          },
          "next_step_known": {
            "practice_percent": 71,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 48,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -12
          },
          "next_step_known_2d": {
            "practice_percent": 99,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 28,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 6
          },
          "choice_time_day": {
            "practice_percent": 52,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 34,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -6
          },
          "wait_right": {
            "practice_percent": 71,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 43,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": 3
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 3,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 3,
          "summary": "Broadly usable in the same way as other GTD microsites, but dragged down by maintenance errors and mixed signals."
        },
        "raw_signals": {
          "overall_good": 72.0,
          "website_easy": 45.0,
          "contact_good": 63.0,
          "needs_met": 87.0,
          "google_review_score": 2.1,
          "front_door_clarity": 3.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 3.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 376.9,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The repeated missed-text warning weakens confidence that callbacks or reminders will arrive cleanly."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/lindleymedicalpractice",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The broken Ashton links on the explainer page undermine confidence in the site."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Prescription handling is less standardised than the core medical-request route because email still sits beside the digital account route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The explainer page is undercut by wrong-practice navigation links to Ashton."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly separate complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "wrong_practice_cross_links",
            "details": "The online-request-form page links key navigation items such as Appointments and Prescriptions to Ashton GP Service URLs rather than Lindley URLs."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "message_delivery_warning",
            "details": "Multiple pages carry a warning that some Android users may miss text messages because they may be treated as spam or junk SMS."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "mixed_prescription_channels",
            "details": "The prescriptions page still exposes an email route alongside the NHS account route."
          }
        ],
        "probably_true": [
          "Lindley is another PATCHS-first GTD site, but it is still not identical to the others because it keeps older local email routes alive and uses an unusual old-style practice email address.",
          "The combination of wrong-practice links and missed-text warnings is likely to matter more to patients than the supplier choice alone."
        ],
        "needs_follow_up": [
          "Check in a real browser how visible the Ashton cross-links are during ordinary navigation.",
          "Check whether the old local email contact is still actively used or merely tolerated."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/lindleymedicalpractice",
          "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/appointments",
          "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/online-request-form",
          "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/prescriptions",
          "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/contact-us",
          "https://patchs.ai/practice/lindleymedicalpractice",
          "https://www.nhs.uk/services/gp-surgery/lindley-house-health-centre/Y02875"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice",
            "visible_next_step": "Click here to access the online request form.",
            "expected_destination": "https://patchs.ai/practice/lindleymedicalpractice"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice",
            "visible_next_step": "Click here to find out more about Patchs Health.",
            "expected_destination": "https://www.gtdhealthcare.co.uk/lindleymedicalpractice/online-request-form"
          }
        ],
        "signal_scores": [
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 3,
            "out_of": 18,
            "percentile": 88.2
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 18,
            "percentile": 76.5
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 72.0,
            "display_value": "72.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 5,
            "out_of": 16,
            "percentile": 73.3
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 87.0,
            "display_value": "87.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 16,
            "percentile": 73.3
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 63.0,
            "display_value": "63.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 7,
            "out_of": 16,
            "percentile": 60.0
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 2.1,
            "display_value": "2.1 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 45.0,
            "display_value": "45.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 8,
            "out_of": 16,
            "percentile": 53.3
          }
        ],
        "relative_score": 85.4,
        "relative_band": "top quartile",
        "strengths": [
          "Subjective journey ease 1/18",
          "Subjective complaints and fallbacks 2/18",
          "Subjective overall patient usability 3/18"
        ],
        "cautions": [
          "Subjective trust and maintenance 6/18",
          "Subjective front-door clarity 5/18",
          "Subjective digital task coverage 4/18"
        ],
        "relative_rank": 5,
        "relative_rank_out_of": 18,
        "relative_percentile": 76.5
      },
      {
        "ods_code": "P89612",
        "practice_name": "Mossley Medical Practice",
        "display_name": "Mossley Medical Practice",
        "headline": "Mossley Medical Practice follows the same GTD and PATCHS pattern as the other microsites reviewed here, but it still has its own quirks. The site carries an Android text-message warning, the homepage exposes a direct PATCHS route, the PATCHS explainer page contains wrong-practice links back to Ashton, and the prescriptions page is stricter than some peers because it says repeat prescriptions are not taken over the phone or by email.",
        "website_url": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 3.7,
        "google_review_count": 16,
        "report_path": "datasets/practice-patterns/reports/P89612-mossley-medical-practice.json",
        "report_link": "../reports/P89612-mossley-medical-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 69,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 22,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": 12
          },
          "website_easy": {
            "practice_percent": 54,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 8,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": 0
          },
          "app_easy": {
            "practice_percent": 65,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 9,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 13
          },
          "contact_good": {
            "practice_percent": 71,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 24,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -1
          },
          "overall_good": {
            "practice_percent": 83,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 25,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": 6
          },
          "needs_met": {
            "practice_percent": 95,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 23,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": 5
          },
          "next_step_known": {
            "practice_percent": 94,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 23,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": 11
          },
          "next_step_known_2d": {
            "practice_percent": 89,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 22,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -4
          },
          "choice_time_day": {
            "practice_percent": 64,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 20,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 6
          },
          "wait_right": {
            "practice_percent": 58,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 22,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -10
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 3,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 3,
          "summary": "The main route is understandable, but the site still feels template-driven and brittle, with stricter gating on some tasks than peers."
        },
        "raw_signals": {
          "overall_good": 83.0,
          "website_easy": 54.0,
          "contact_good": 71.0,
          "needs_met": 95.0,
          "google_review_score": 3.7,
          "front_door_clarity": 3.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 3.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.2,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.2,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 385.8,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Urgent help still depends on the patient distinguishing between PATCHS triage, phone contact and NHS 111."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/mossleymedicalpractice",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The broken Ashton links on the explainer page create avoidable doubt about whether the site is maintained carefully."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "This is a stricter digital gate than some peer sites because it explicitly removes phone and email prescription requests."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The explainer page is undercut by wrong-practice navigation links to Ashton."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly separate complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "wrong_practice_cross_links",
            "details": "The online-request-form page links key navigation items such as Appointments and Prescriptions to Ashton GP Service URLs rather than Mossley URLs."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "message_delivery_warning",
            "details": "Multiple pages carry a warning that some Android users may miss text messages because they may be treated as spam or junk SMS."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "strict_prescription_channel_gate",
            "details": "The prescriptions page says repeat prescription requests are not taken over the phone or by email."
          }
        ],
        "probably_true": [
          "Mossley is structurally similar to the other GTD microsites, but its prescription rules are stricter and therefore more likely to matter in patient experience.",
          "The practice appears operationally standardised around PATCHS even though the site still shows clear template-maintenance problems."
        ],
        "needs_follow_up": [
          "Check in a real browser how visible the Ashton cross-links are during ordinary navigation.",
          "Check whether the PATCHS route and the practice SMS warning line up with what patients report about callback reliability."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/mossleymedicalpractice",
          "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/appointments",
          "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/online-request-form",
          "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/prescriptions",
          "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/contact-us",
          "https://patchs.ai/practice/mossleymedicalpractice",
          "https://www.nhs.uk/services/gp-surgery/mossley-medical-practice/P89612"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice",
            "visible_next_step": "Click here to access the online request form.",
            "expected_destination": "https://patchs.ai/practice/mossleymedicalpractice"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice",
            "visible_next_step": "Click here to find out more about Patchs Health.",
            "expected_destination": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/online-request-form"
          },
          {
            "task": "complaint",
            "start_url": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice",
            "visible_next_step": "Contact us",
            "expected_destination": "https://www.gtdhealthcare.co.uk/mossleymedicalpractice/contact-us"
          }
        ],
        "signal_scores": [
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 83.0,
            "display_value": "83.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 1,
            "out_of": 16,
            "percentile": 100.0
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 95.0,
            "display_value": "95.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 16,
            "percentile": 100.0
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 3,
            "out_of": 18,
            "percentile": 88.2
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 71.0,
            "display_value": "71.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 3,
            "out_of": 16,
            "percentile": 86.7
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 54.0,
            "display_value": "54.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 4,
            "out_of": 16,
            "percentile": 80.0
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 18,
            "percentile": 76.5
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 3.7,
            "display_value": "3.7 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.2,
            "display_value": "1.20",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          }
        ],
        "relative_score": 85.4,
        "relative_band": "upper-middle",
        "strengths": [
          "Subjective journey ease 1/18",
          "Subjective complaints and fallbacks 2/18",
          "Subjective overall patient usability 3/18"
        ],
        "cautions": [
          "Subjective trust and maintenance 6/18",
          "Subjective front-door clarity 5/18",
          "Subjective digital task coverage 4/18"
        ],
        "relative_rank": 6,
        "relative_rank_out_of": 18,
        "relative_percentile": 70.6
      },
      {
        "ods_code": "Y02520",
        "practice_name": "Simpson Medical Practice",
        "display_name": "Simpson Medical Practice",
        "headline": "Simpson Medical Practice uses the same GTD plus PATCHS structure as several peers, but its own patient path still has notable maintenance issues. The homepage exposes a direct PATCHS route, the explainer page says all phone, in-person and online requests go through PATCHS with a 48-hour callback expectation and 24/7 admin submission, and that same explainer page still contains wrong-practice Ashton links.",
        "website_url": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 1.8,
        "google_review_count": 104,
        "report_path": "datasets/practice-patterns/reports/Y02520-simpson-medical-practice.json",
        "report_link": "../reports/Y02520-simpson-medical-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 53,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 51,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -4
          },
          "website_easy": {
            "practice_percent": 52,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 38,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -2
          },
          "app_easy": {
            "practice_percent": 51,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 36,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -1
          },
          "contact_good": {
            "practice_percent": 74,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 54,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": 2
          },
          "overall_good": {
            "practice_percent": 80,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 54,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": 3
          },
          "needs_met": {
            "practice_percent": 84,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 51,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -6
          },
          "next_step_known": {
            "practice_percent": 76,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 51,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -7
          },
          "next_step_known_2d": {
            "practice_percent": 87,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 33,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -6
          },
          "choice_time_day": {
            "practice_percent": 58,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 38,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 0
          },
          "wait_right": {
            "practice_percent": 69,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 47,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": 1
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 3,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 3,
          "summary": "A fairly standard GTD plus PATCHS route that still suffers from obvious maintenance faults and some split handling."
        },
        "raw_signals": {
          "overall_good": 80.0,
          "website_easy": 52.0,
          "contact_good": 74.0,
          "needs_met": 84.0,
          "google_review_score": 1.8,
          "front_door_clarity": 3.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 3.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 390.5,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Urgent help still depends on the patient correctly distinguishing between PATCHS triage, the practice phone line and NHS 111."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/simpsonmedicalpractice",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The broken Ashton links on the explainer page undermine confidence in the site."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Prescription handling is less standardised than the core medical-request route because email still sits beside the digital account route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The explainer page is undercut by wrong-practice navigation links to Ashton."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly separate complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "wrong_practice_cross_links",
            "details": "The online-request-form page links key navigation items such as Appointments and Prescriptions to Ashton GP Service URLs rather than Simpson URLs."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "mixed_prescription_channels",
            "details": "The prescriptions page still exposes an email route alongside the NHS account route."
          }
        ],
        "probably_true": [
          "Simpson is structurally close to the other GTD plus PATCHS sites, but it still has its own maintenance issues and should not be treated as a pure duplicate.",
          "The most patient-relevant problems here are the wrong-practice links and the split between a standardised PATCHS route and older local email habits."
        ],
        "needs_follow_up": [
          "Check in a real browser how visible the Ashton cross-links are during ordinary navigation.",
          "Check whether the generic footer feedback route competes with the contact-page complaints route in actual use."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice",
          "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/appointments",
          "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/online-request-form",
          "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/prescriptions",
          "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/contact-us",
          "https://patchs.ai/practice/simpsonmedicalpractice",
          "https://www.nhs.uk/services/gp-surgery/simpson-medical-practice/Y02520"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice",
            "visible_next_step": "Click here to access the online request form",
            "expected_destination": "https://patchs.ai/practice/simpsonmedicalpractice"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice",
            "visible_next_step": "Click here to find out more about Patchs Health",
            "expected_destination": "https://www.gtdhealthcare.co.uk/simpsonmedicalpractice/online-request-form"
          }
        ],
        "signal_scores": [
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 2.0,
            "display_value": "2",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 80.0,
            "display_value": "80.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 2,
            "out_of": 16,
            "percentile": 93.3
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 74.0,
            "display_value": "74.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 2,
            "out_of": 16,
            "percentile": 93.3
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 3,
            "out_of": 18,
            "percentile": 88.2
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 18,
            "percentile": 76.5
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 52.0,
            "display_value": "52.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 16,
            "percentile": 73.3
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 84.0,
            "display_value": "84.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 8,
            "out_of": 16,
            "percentile": 53.3
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.8,
            "display_value": "1.8 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          }
        ],
        "relative_score": 85.4,
        "relative_band": "upper-middle",
        "strengths": [
          "Subjective journey ease 1/18",
          "Subjective complaints and fallbacks 2/18",
          "Subjective overall patient usability 3/18"
        ],
        "cautions": [
          "Subjective trust and maintenance 6/18",
          "Subjective front-door clarity 5/18",
          "Subjective digital task coverage 4/18"
        ],
        "relative_rank": 7,
        "relative_rank_out_of": 18,
        "relative_percentile": 64.7
      },
      {
        "ods_code": "P89602",
        "practice_name": "The Smithy Surgery",
        "display_name": "The Smithy Surgery",
        "headline": "The Smithy Surgery uses the same GTD and PATCHS pattern as several other sites in this batch, but its own live pages still matter. The homepage carries an Android text-message warning, the site presents a direct PATCHS route, the online-request page contains wrong-practice links back to Ashton GP Service, the prescriptions page still offers email ordering, and complaints handling is embedded in the contact page with local and central GTD contacts.",
        "website_url": "https://www.gtdhealthcare.co.uk/thesmithysurgery",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 4.0,
        "google_review_count": 23,
        "report_path": "datasets/practice-patterns/reports/P89602-the-smithy-surgery.json",
        "report_link": "../reports/P89602-the-smithy-surgery.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 65,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 42,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": 8
          },
          "website_easy": {
            "practice_percent": 21,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 11,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -33
          },
          "app_easy": {
            "practice_percent": 64,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 14,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 12
          },
          "contact_good": {
            "practice_percent": 70,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 44,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -2
          },
          "overall_good": {
            "practice_percent": 78,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 44,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": 1
          },
          "needs_met": {
            "practice_percent": 94,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 43,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": 4
          },
          "next_step_known": {
            "practice_percent": 86,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 42,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": 3
          },
          "next_step_known_2d": {
            "practice_percent": 94,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 33,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 1
          },
          "choice_time_day": {
            "practice_percent": 61,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 31,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 3
          },
          "wait_right": {
            "practice_percent": 62,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 41,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -6
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 3,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 3,
          "summary": "The patient route is workable, but repeated maintenance issues and mixed channels stop it feeling properly clean or dependable."
        },
        "raw_signals": {
          "overall_good": 78.0,
          "website_easy": 21.0,
          "contact_good": 70.0,
          "needs_met": 94.0,
          "google_review_score": 4.0,
          "front_door_clarity": 3.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 3.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.2,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.2,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 404.7,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/thesmithysurgery/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Urgent help still depends on the patient distinguishing between PATCHS triage, phone contact and NHS 111."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/thesmithy",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The broken Ashton links on the explainer page create avoidable doubt about whether the site is maintained carefully."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/thesmithysurgery/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The coexistence of NHS account and email ordering makes the prescription route less standardised than the core medical-request route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/thesmithysurgery/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The explainer page is undercut by wrong-practice navigation links to Ashton."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/thesmithysurgery/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly separate complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "wrong_practice_cross_links",
            "details": "The online-request-form page links key navigation items such as Appointments and Prescriptions to Ashton GP Service URLs rather than Smithy URLs."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "message_delivery_warning",
            "details": "Multiple pages carry a warning that some Android users may miss text messages because they may be treated as spam or junk SMS."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "mixed_prescription_channels",
            "details": "The prescriptions page still offers email ordering alongside the NHS account route."
          }
        ],
        "probably_true": [
          "The Smithy appears to use the same operational model as other GTD plus PATCHS sites, but it is not cleanly maintained because the wrong-practice links are still present.",
          "Its stronger Google score does not map to a clearly better website pattern on this pass; the live routes still carry several of the same issues seen elsewhere."
        ],
        "needs_follow_up": [
          "Check in a real browser how visible the Ashton cross-links are during ordinary navigation.",
          "Check whether the Android missed-text warning lines up with what patients report about callbacks and reminders."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/thesmithysurgery",
          "https://www.gtdhealthcare.co.uk/thesmithysurgery/appointments",
          "https://www.gtdhealthcare.co.uk/thesmithysurgery/online-request-form",
          "https://www.gtdhealthcare.co.uk/thesmithysurgery/prescriptions",
          "https://www.gtdhealthcare.co.uk/thesmithysurgery/contact-us",
          "https://patchs.ai/practice/thesmithy",
          "https://www.nhs.uk/services/gp-surgery/the-smithy-surgery/P89602"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/thesmithysurgery",
            "visible_next_step": "Click here to access the online request form.",
            "expected_destination": "https://patchs.ai/practice/thesmithy"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/thesmithysurgery",
            "visible_next_step": "Click here to find out more about Patchs Health.",
            "expected_destination": "https://www.gtdhealthcare.co.uk/thesmithysurgery/online-request-form"
          },
          {
            "task": "complaint",
            "start_url": "https://www.gtdhealthcare.co.uk/thesmithysurgery",
            "visible_next_step": "Contact us",
            "expected_destination": "https://www.gtdhealthcare.co.uk/thesmithysurgery/contact-us"
          }
        ],
        "signal_scores": [
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 94.0,
            "display_value": "94.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 2,
            "out_of": 16,
            "percentile": 93.3
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 3,
            "out_of": 18,
            "percentile": 88.2
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 78.0,
            "display_value": "78.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 3,
            "out_of": 16,
            "percentile": 86.7
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 70.0,
            "display_value": "70.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 4,
            "out_of": 16,
            "percentile": 80.0
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 4.0,
            "display_value": "4.0 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 5,
            "out_of": 18,
            "percentile": 76.5
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 18,
            "percentile": 76.5
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.2,
            "display_value": "1.20",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 21.0,
            "display_value": "21.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 15,
            "out_of": 16,
            "percentile": 6.7
          }
        ],
        "relative_score": 85.4,
        "relative_band": "upper-middle",
        "strengths": [
          "Subjective journey ease 1/18",
          "Subjective complaints and fallbacks 2/18",
          "Subjective overall patient usability 3/18"
        ],
        "cautions": [
          "Subjective trust and maintenance 6/18",
          "Subjective front-door clarity 5/18",
          "Subjective digital task coverage 4/18"
        ],
        "relative_rank": 8,
        "relative_rank_out_of": 18,
        "relative_percentile": 58.8
      },
      {
        "ods_code": "P89011",
        "practice_name": "Gordon Street Medical Centre",
        "display_name": "Gordon Street Medical Centre",
        "headline": "Gordon Street Medical Centre follows the same GTD and PATCHS pattern as several neighbouring microsites, but it still has its own faults. The homepage presents a direct PATCHS route, the online-request page says all phone, in-person and online requests go through PATCHS with a 48-hour callback expectation, the prescriptions page still offers email ordering, the contact page carries real complaints contacts, and the PATCHS explainer page contains wrong-practice links back to Ashton GP Service.",
        "website_url": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 1.5,
        "google_review_count": 86,
        "report_path": "datasets/practice-patterns/reports/P89011-gordon-street-medical-centre.json",
        "report_link": "../reports/P89011-gordon-street-medical-centre.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 33,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 48,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -24
          },
          "website_easy": {
            "practice_percent": 26,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 29,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -28
          },
          "app_easy": {
            "practice_percent": 31,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 28,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -21
          },
          "contact_good": {
            "practice_percent": 47,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 53,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -25
          },
          "overall_good": {
            "practice_percent": 61,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 53,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -16
          },
          "needs_met": {
            "practice_percent": 90,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 51,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": 0
          },
          "next_step_known": {
            "practice_percent": 68,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 49,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -15
          },
          "next_step_known_2d": {
            "practice_percent": 86,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 32,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -7
          },
          "choice_time_day": {
            "practice_percent": 34,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 36,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -24
          },
          "wait_right": {
            "practice_percent": 49,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 45,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -19
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 3,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 2,
          "summary": "The core route is understandable, but wrong-practice links and mixed prescription handling make the site feel less trustworthy."
        },
        "raw_signals": {
          "overall_good": 61.0,
          "website_easy": 26.0,
          "contact_good": 47.0,
          "needs_met": 90.0,
          "google_review_score": 1.5,
          "front_door_clarity": 3.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 2.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 407.0,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Urgent help still depends on the patient correctly distinguishing between PATCHS triage, the practice phone line and NHS 111."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/gordonstreetmedicalcentre",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The route is conceptually simple, but the broken Ashton links on the explainer page undermine confidence in the site."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The coexistence of NHS account and email ordering makes the prescription route less standardised than the core medical-request route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The explainer page is undercut by wrong-practice navigation links to Ashton."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly separate complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "wrong_practice_cross_links",
            "details": "The online-request-form page links key navigation items such as Appointments and Prescriptions to Ashton GP Service URLs rather than Gordon Street URLs."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "mixed_prescription_channels",
            "details": "The prescriptions page still offers email ordering alongside the NHS account route."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "postcode_mismatch_with_repo_metadata",
            "details": "The live contact page shows the practice address postcode as OL6 6PR, while existing repo metadata for this practice used OL6 6NE."
          }
        ],
        "probably_true": [
          "Gordon looks like another standardised GTD plus PATCHS site, but it is not identical to the others because it still preserves email prescriptions and shows an address mismatch against existing metadata.",
          "The low Google score may reflect factors outside the website, but the broken cross-links and split prescription route do not help."
        ],
        "needs_follow_up": [
          "Confirm the current postcode against the NHS profile and any current map listing.",
          "Check in a real browser how visible the Ashton cross-links are during ordinary navigation."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre",
          "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/appointments",
          "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/online-request-form",
          "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/prescriptions",
          "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/contact-us",
          "https://patchs.ai/practice/gordonstreetmedicalcentre",
          "https://www.nhs.uk/services/gp-surgery/gordon-street-medical-centre/P89011"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre",
            "visible_next_step": "Click here to access the online request form.",
            "expected_destination": "https://patchs.ai/practice/gordonstreetmedicalcentre"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre",
            "visible_next_step": "Click here to find out more about Patchs Health.",
            "expected_destination": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/online-request-form"
          },
          {
            "task": "complaint",
            "start_url": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre",
            "visible_next_step": "Contact us",
            "expected_destination": "https://www.gtdhealthcare.co.uk/gordonstreetmedicalcentre/contact-us"
          }
        ],
        "signal_scores": [
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 90.0,
            "display_value": "90.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 4,
            "out_of": 16,
            "percentile": 80.0
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 18,
            "percentile": 76.5
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 9,
            "out_of": 18,
            "percentile": 52.9
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 61.0,
            "display_value": "61.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 11,
            "out_of": 16,
            "percentile": 33.3
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 26.0,
            "display_value": "26.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 14,
            "out_of": 16,
            "percentile": 13.3
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.5,
            "display_value": "1.5 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 16,
            "out_of": 18,
            "percentile": 11.8
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 47.0,
            "display_value": "47.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 15,
            "out_of": 16,
            "percentile": 6.7
          }
        ],
        "relative_score": 77.0,
        "relative_band": "upper-middle",
        "strengths": [
          "Subjective journey ease 1/18",
          "Subjective complaints and fallbacks 2/18",
          "Subjective digital task coverage 4/18"
        ],
        "cautions": [
          "Subjective overall patient usability 9/18",
          "Subjective trust and maintenance 6/18",
          "Subjective front-door clarity 5/18"
        ],
        "relative_rank": 9,
        "relative_rank_out_of": 18,
        "relative_percentile": 52.9
      },
      {
        "ods_code": "P89013",
        "practice_name": "Hattersley Group Practice",
        "display_name": "Hattersley Group Practice",
        "headline": "Hattersley Group Practice uses the same GTD and PATCHS pattern as other Tameside GTD sites, but it also shows signs of template drift. The homepage presents a direct PATCHS route, the online-request page says all phone, in-person and online requests go through PATCHS with a 48-hour callback expectation, the contact page embeds complaints contacts and a recurring third-Thursday closure notice, and the PATCHS explainer page still contains wrong-practice links back to Ashton.",
        "website_url": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 2.1,
        "google_review_count": 72,
        "report_path": "datasets/practice-patterns/reports/P89013-hattersley-group-practice.json",
        "report_link": "../reports/P89013-hattersley-group-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 22,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 51,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -35
          },
          "website_easy": {
            "practice_percent": 41,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 37,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -13
          },
          "app_easy": {
            "practice_percent": 40,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 33,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -12
          },
          "contact_good": {
            "practice_percent": 37,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 51,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -35
          },
          "overall_good": {
            "practice_percent": 41,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 51,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -36
          },
          "needs_met": {
            "practice_percent": 69,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 49,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -21
          },
          "next_step_known": {
            "practice_percent": 58,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 48,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -25
          },
          "next_step_known_2d": {
            "practice_percent": 78,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 24,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -15
          },
          "choice_time_day": {
            "practice_percent": 34,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 41,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -24
          },
          "wait_right": {
            "practice_percent": 40,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 47,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -28
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 3,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 2,
          "summary": "Usable enough at first glance, but template drift and recurring closure complexity weaken confidence."
        },
        "raw_signals": {
          "overall_good": 41.0,
          "website_easy": 41.0,
          "contact_good": 37.0,
          "needs_met": 69.0,
          "google_review_score": 2.1,
          "front_door_clarity": 3.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 2.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 369.4,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Patients must understand both the normal out-of-hours NHS 111 route and the separate GTD urgent cover arrangement for the recurring closure window."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/hattersleygrouppractice",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The site standardises requests through PATCHS, but the broken Ashton links on the explainer page weaken confidence in the journey."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "As with Ashton, patients without an NHS account are pushed into a more mediated route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The explainer page is undercut by wrong-practice navigation links to Ashton."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly separate complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "wrong_practice_cross_links",
            "details": "The online-request-form page links key navigation items such as Appointments and Prescriptions to Ashton GP Service URLs rather than Hattersley URLs."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "recurring_partial_closure",
            "details": "The contact page says the practice is closed every third Thursday from 12:15pm except August and December, with a separate GTD urgent cover number."
          }
        ],
        "probably_true": [
          "Hattersley presents a more obviously GTD-managed identity than Ashton because the homepage says the partnership is managed by gtd GMS.",
          "The patient-facing route is still coherent enough to use, but it contains enough template slippage to deserve caution."
        ],
        "needs_follow_up": [
          "Check in a real browser how visible the Ashton cross-links are during normal navigation.",
          "Check whether the direct PATCHS route shows any different behaviour during the recurring Thursday closure period."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/hattersleygrouppractice",
          "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/appointments",
          "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/online-request-form",
          "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/prescriptions",
          "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/contact-us",
          "https://patchs.ai/practice/hattersleygrouppractice",
          "https://www.nhs.uk/services/gp-surgery/hattersley-group-practice/P89013"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice",
            "visible_next_step": "Click here to access the online request form.",
            "expected_destination": "https://patchs.ai/practice/hattersleygrouppractice"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice",
            "visible_next_step": "Click here to find out more about Patchs Health.",
            "expected_destination": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/online-request-form"
          },
          {
            "task": "complaint",
            "start_url": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice",
            "visible_next_step": "Contact us",
            "expected_destination": "https://www.gtdhealthcare.co.uk/hattersleygrouppractice/contact-us"
          }
        ],
        "signal_scores": [
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 2.0,
            "display_value": "2",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 18,
            "percentile": 76.5
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 2.1,
            "display_value": "2.1 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 9,
            "out_of": 18,
            "percentile": 52.9
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 41.0,
            "display_value": "41.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 11,
            "out_of": 16,
            "percentile": 33.3
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 69.0,
            "display_value": "69.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 15,
            "out_of": 16,
            "percentile": 6.7
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 41.0,
            "display_value": "41.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 16,
            "out_of": 16,
            "percentile": 0.0
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 37.0,
            "display_value": "37.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 16,
            "out_of": 16,
            "percentile": 0.0
          }
        ],
        "relative_score": 77.0,
        "relative_band": "lower-middle",
        "strengths": [
          "Subjective journey ease 1/18",
          "Subjective complaints and fallbacks 2/18",
          "Subjective digital task coverage 4/18"
        ],
        "cautions": [
          "Subjective overall patient usability 9/18",
          "Subjective trust and maintenance 6/18",
          "Subjective front-door clarity 5/18"
        ],
        "relative_rank": 10,
        "relative_rank_out_of": 18,
        "relative_percentile": 47.1
      },
      {
        "ods_code": "V6E6I",
        "practice_name": "Manchester Integrative Medical Practice at Moss Side Health Centre",
        "display_name": "Manchester Integrative Medical Practice at Moss Side Health Centre",
        "headline": "The Moss Side identity uses the exact same public website as P84689, but the digital routing is not truly branch-neutral. The shared site lists both Longsight and Moss Side opening times, the complaints page phone number matches Moss Side, but the main online request links still route patients into Accurx using the P84689 code and the Longsight phone number.",
        "website_url": "https://mimp.org.uk/",
        "website_identity": "exact shared site and path with P84689",
        "website_stack": "WordPress with NHS UK frontend theme and Silicon Practice plugins",
        "request_platforms": [
          "accurx",
          "silicon_forms"
        ],
        "google_review_score": 4.8,
        "google_review_count": 550,
        "report_path": "datasets/practice-patterns/reports/V6E6I-manchester-integrative-medical-practice-at-moss-side-health-centre.json",
        "report_link": "../reports/V6E6I-manchester-integrative-medical-practice-at-moss-side-health-centre.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 53,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "website_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 51,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "app_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 49,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "contact_good": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 70,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "overall_good": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 75,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "needs_met": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 90,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "next_step_known": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 83,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "next_step_known_2d": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 93,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "choice_time_day": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 54,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "wait_right": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 67,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 2,
          "digital_task_coverage": 3,
          "journey_ease": 3,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 2,
          "overall_patient_usability": 2,
          "summary": "The shared website exposes useful routes, but branch identity drift and complaints-code mismatch make the journey feel only partly practice-specific."
        },
        "raw_signals": {
          "google_review_score": 4.8,
          "front_door_clarity": 2.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 3.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 2.0,
          "overall_patient_usability": 2.0,
          "avg_user_visible_interactions": 1.33,
          "avg_friction_points": 2.0,
          "encountered_issue_count": 2.0,
          "stale_or_conflicting_stack_count": 0.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.33,
          "avg_friction_points": 2.0,
          "encountered_issue_count": 2,
          "stale_or_conflicting_stack_count": 0,
          "median_runtime_ms": 153.5,
          "discovered_path_count": 3,
          "source_page_count": 6,
          "task_count": 3
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/P84689/flow/medical-request",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The shared digital front door does not clearly preserve the Moss Side identity in the actual online route."
          },
          {
            "task": "routine medical request or admin request",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/P84689/flow/routine-care",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The site is easy to navigate, but the branch identity is blurred at the point of digital request."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://mimp.org.uk/surgery-information/feedback-and-complaints/",
            "first_actionable_host": "mimp.org.uk",
            "first_friction": "The complaints route is more Moss Side-specific than the core request platform."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "shared_site_shared_code_mismatch",
            "details": "The exact shared patient-facing site for Moss Side uses Accurx routes keyed to P84689 rather than a Moss Side-specific code."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "identity_split_across_routes",
            "details": "The shared contact and Accurx routes foreground Longsight details, while the complaints page and NHS profile foreground Moss Side details."
          }
        ],
        "probably_true": [
          "This is not a separate digital pattern so much as a second NHS identity living on the same digital front door.",
          "Patients may not care about the internal identity split if the service works well, but it matters for later automation and branch-level analysis."
        ],
        "needs_follow_up": [
          "Check whether the in-hours Accurx flow ever makes the Moss Side identity visible later in the journey.",
          "Check whether booking, callback or SMS messages generated from the shared route differ by physical site."
        ],
        "source_pages": [
          "https://www.nhs.uk/services/gp-surgery/manchester-integrative-medical-practice-at-moss-side-health-centre/V6E6I",
          "https://mimp.org.uk/",
          "https://mimp.org.uk/contact-us/",
          "https://mimp.org.uk/surgery-information/feedback-and-complaints/",
          "https://accurx.nhs.uk/patient-initiated/P84689/flow/routine-care",
          "https://accurx.nhs.uk/patient-initiated/P84689/flow/medical-request"
        ],
        "replay_hints": [
          {
            "task": "shared routine-care route",
            "start_url": "https://mimp.org.uk/",
            "visible_next_step": "Homepage online service link for non-urgent requests",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/P84689/flow/routine-care"
          },
          {
            "task": "shared complaints route",
            "start_url": "https://mimp.org.uk/",
            "visible_next_step": "Feedback and complaints",
            "expected_destination": "https://mimp.org.uk/surgery-information/feedback-and-complaints/"
          }
        ],
        "signal_scores": [
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 4.8,
            "display_value": "4.8 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 2.0,
            "display_value": "2",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 0.0,
            "display_value": "0",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 9,
            "out_of": 18,
            "percentile": 52.9
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.33,
            "display_value": "1.33",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 13,
            "out_of": 18,
            "percentile": 29.4
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 2.0,
            "display_value": "2.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 15,
            "out_of": 18,
            "percentile": 17.6
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 16,
            "out_of": 18,
            "percentile": 11.8
          }
        ],
        "relative_score": 61.3,
        "relative_band": "lower-middle",
        "strengths": [
          "Subjective journey ease 1/18",
          "Subjective digital task coverage 4/18",
          "Subjective trust and maintenance 6/18"
        ],
        "cautions": [
          "Subjective complaints and fallbacks 16/18",
          "Subjective front-door clarity 12/18",
          "Subjective overall patient usability 9/18"
        ],
        "relative_rank": 11,
        "relative_rank_out_of": 18,
        "relative_percentile": 41.2
      },
      {
        "ods_code": "Y02960",
        "practice_name": "New Bank Health",
        "display_name": "New Bank Health",
        "headline": "New Bank still looks like a transition case, but the patient-task picture is now clearer. The homepage says all requests go through PATCHS from 1 October 2025, the appointments page still tells NHS App users to continue to the Accurx system, local Silicon Practice forms still render on the practice domain, and repeat-prescription and other admin routes remain available as separate local forms.",
        "website_url": "https://newbank.nhs.uk/",
        "website_identity": "standalone practice domain",
        "website_stack": "WordPress with NHS UK theme and Silicon Practice elements",
        "request_platforms": [
          "accurx",
          "patchs",
          "silicon_forms"
        ],
        "google_review_score": 1.9,
        "google_review_count": 163,
        "report_path": "datasets/practice-patterns/reports/Y02960-new-bank-health.json",
        "report_link": "../reports/Y02960-new-bank-health.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 61,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 62,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": 4
          },
          "website_easy": {
            "practice_percent": 73,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 61,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": 19
          },
          "app_easy": {
            "practice_percent": 60,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 47,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": 8
          },
          "contact_good": {
            "practice_percent": 66,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 65,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -6
          },
          "overall_good": {
            "practice_percent": 69,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 66,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -8
          },
          "needs_met": {
            "practice_percent": 82,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 55,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -8
          },
          "next_step_known": {
            "practice_percent": 75,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 62,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -8
          },
          "next_step_known_2d": {
            "practice_percent": 85,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 42,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -8
          },
          "choice_time_day": {
            "practice_percent": 66,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 46,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": 8
          },
          "wait_right": {
            "practice_percent": 65,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 52,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -3
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 2,
          "digital_task_coverage": 4,
          "journey_ease": 2,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 2,
          "summary": "There is plenty of digital surface area, but the transition-state overlap between PATCHS, Accurx and legacy forms makes the experience hard to trust."
        },
        "raw_signals": {
          "overall_good": 69.0,
          "website_easy": 73.0,
          "contact_good": 66.0,
          "needs_met": 82.0,
          "google_review_score": 1.9,
          "front_door_clarity": 2.0,
          "digital_task_coverage": 4.0,
          "journey_ease": 2.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 2.0,
          "avg_user_visible_interactions": 1.4,
          "avg_friction_points": 1.8,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.4,
          "avg_friction_points": 1.8,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 441.1,
          "discovered_path_count": 6,
          "source_page_count": 8,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://newbank.nhs.uk/appointments/",
            "first_actionable_host": "newbank.nhs.uk",
            "first_friction": "The page gives mixed supplier instructions by promoting PATCHS while still telling NHS App users to continue to Accurx."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://patchs.ai/newbankmedicalpractice/login?",
            "first_actionable_host": "patchs.ai",
            "first_friction": "Supplier overlap on the same page increases cognitive load."
          },
          {
            "task": "legacy medical-help form still exposed",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://newbank.nhs.uk/form/get-help-for-any-health-problem/",
            "first_actionable_host": "newbank.nhs.uk",
            "first_friction": "This is a relatively high first-step data burden before the patient can explain the problem in context."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://newbank.nhs.uk/prescriptions/",
            "first_actionable_host": "newbank.nhs.uk",
            "first_friction": "Prescriptions are not fully consolidated into the PATCHS story."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://newbank.nhs.uk/surgery-information/feedback-and-complaints/",
            "first_actionable_host": "newbank.nhs.uk",
            "first_friction": "The page still sits under the wider transition banner and does not look especially prominent compared with the request-system messaging."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "conflicting_platform_guidance",
            "details": "Appointments page says all requests go through PATCHS but still tells NHS App users to continue to the Accurx system."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "legacy_route_still_live",
            "details": "The old local medical-help form remains live on the practice domain despite the site's PATCHS-first transition messaging."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "fragmented_admin_routes",
            "details": "Prescription-related tasks are split across several separate local forms rather than a single consistent front door."
          }
        ],
        "probably_true": [
          "New Bank is still in a mixed-transition state rather than having a clean single access pattern.",
          "The main patient burden is not just multiple suppliers; it is multiple overlapping routes with different implied currentness."
        ],
        "needs_follow_up": [
          "Check the direct PATCHS route out of hours to see whether it stays available, queues the request, or visibly closes.",
          "Check whether the complaints page content itself is stale beyond its title and heading.",
          "Test whether the local legacy forms still submit or only render."
        ],
        "source_pages": [
          "https://newbank.nhs.uk/",
          "https://newbank.nhs.uk/appointments/",
          "https://newbank.nhs.uk/form/get-help-for-any-health-problem/",
          "https://newbank.nhs.uk/prescriptions/",
          "https://newbank.nhs.uk/surgery-information/feedback-and-complaints/",
          "https://newbank.nhs.uk/news/patchs/",
          "https://newbank.nhs.uk/online-forms/",
          "https://patchs.ai/newbankmedicalpractice/login?"
        ],
        "replay_hints": [],
        "signal_scores": [
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 73.0,
            "display_value": "73.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 1,
            "out_of": 16,
            "percentile": 100.0
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 4.0,
            "display_value": "4 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 66.0,
            "display_value": "66.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 6,
            "out_of": 16,
            "percentile": 66.7
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 69.0,
            "display_value": "69.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 8,
            "out_of": 16,
            "percentile": 53.3
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 9,
            "out_of": 18,
            "percentile": 52.9
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.9,
            "display_value": "1.9 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 10,
            "out_of": 18,
            "percentile": 47.1
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 82.0,
            "display_value": "82.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 10,
            "out_of": 16,
            "percentile": 40.0
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.8,
            "display_value": "1.80",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 13,
            "out_of": 18,
            "percentile": 29.4
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.4,
            "display_value": "1.40",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 14,
            "out_of": 18,
            "percentile": 23.5
          }
        ],
        "relative_score": 58.5,
        "relative_band": "lower-middle",
        "strengths": [
          "Subjective digital task coverage 2/18",
          "Subjective complaints and fallbacks 2/18",
          "Subjective trust and maintenance 6/18"
        ],
        "cautions": [
          "Subjective front-door clarity 12/18",
          "Subjective journey ease 12/18",
          "Subjective overall patient usability 9/18"
        ],
        "relative_rank": 12,
        "relative_rank_out_of": 18,
        "relative_percentile": 35.3
      },
      {
        "ods_code": "Y02325",
        "practice_name": "Charlestown MD",
        "display_name": "Charlestown MD",
        "headline": "Charlestown Medical Practice is a standalone WordPress and Silicon Practice style site in transition. The homepage announces new management from 16 September 2025 and says all requests made by phone, in person or online will go through PATCHS, but the appointments page still contains older NHS App wording that mentions continuing to the Accurx system. Prescriptions are split across NHS account, Patient Access, PATCHS and paper-slip routes, and the complaints page is a fuller formal policy page than most GTD microsites expose.",
        "website_url": "https://charlestownmedicalpractice.co.uk/",
        "website_identity": "standalone practice domain",
        "website_stack": "Standalone WordPress practice site with Silicon Practice style NHS theme",
        "request_platforms": [
          "accurx",
          "patchs",
          "patient_access",
          "silicon_forms"
        ],
        "google_review_score": 1.9,
        "google_review_count": 109,
        "report_path": "datasets/practice-patterns/reports/Y02325-charlestown-medical-practice.json",
        "report_link": "../reports/Y02325-charlestown-medical-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 41,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 48,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -16
          },
          "website_easy": {
            "practice_percent": 52,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 25,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -2
          },
          "app_easy": {
            "practice_percent": 47,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 23,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -5
          },
          "contact_good": {
            "practice_percent": 50,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 47,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -22
          },
          "overall_good": {
            "practice_percent": 59,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 51,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -18
          },
          "needs_met": {
            "practice_percent": 75,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 46,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -15
          },
          "next_step_known": {
            "practice_percent": 72,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 43,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -11
          },
          "next_step_known_2d": {
            "practice_percent": 89,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 28,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -4
          },
          "choice_time_day": {
            "practice_percent": 49,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 35,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -9
          },
          "wait_right": {
            "practice_percent": 53,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 42,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -15
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 2,
          "digital_task_coverage": 3,
          "journey_ease": 2,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 2,
          "summary": "There are still several live routes, but transition-state messaging and fragmented handling make the overall front door feel uncertain."
        },
        "raw_signals": {
          "overall_good": 59.0,
          "website_easy": 52.0,
          "contact_good": 50.0,
          "needs_met": 75.0,
          "google_review_score": 1.9,
          "front_door_clarity": 2.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 2.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 2.0,
          "avg_user_visible_interactions": 1.2,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.2,
          "avg_friction_points": 1.0,
          "encountered_issue_count": 2,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 155.2,
          "discovered_path_count": 5,
          "source_page_count": 8,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://charlestownmedicalpractice.co.uk/appointments/",
            "first_actionable_host": "charlestownmedicalpractice.co.uk",
            "first_friction": "The coexistence of new PATCHS messaging and older Accurx wording makes the route harder to trust."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://patchs.ai/practice/charlestownmedicalpractice",
            "first_actionable_host": "patchs.ai",
            "first_friction": "Supplier overlap on the same appointments page increases cognitive load during the transition."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://charlestownmedicalpractice.co.uk/prescriptions/",
            "first_actionable_host": "charlestownmedicalpractice.co.uk",
            "first_friction": "Prescription access is fragmented across several platforms and paper fallback rather than one single front door."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://charlestownmedicalpractice.co.uk/services/",
            "first_actionable_host": "charlestownmedicalpractice.co.uk",
            "first_friction": "The site keeps both direct service pages and the wider PATCHS transition story alive at the same time."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://charlestownmedicalpractice.co.uk/surgery-information/feedback-and-complaints/",
            "first_actionable_host": "charlestownmedicalpractice.co.uk",
            "first_friction": "The complaints wording still leans on written complaints and a fairly formal process."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "conflicting_platform_guidance",
            "details": "The homepage and appointments page promote PATCHS, but the appointments page still contains older NHS App wording that mentions continuing to the Accurx system."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "fragmented_prescription_routes",
            "details": "The prescriptions page keeps NHS account, Patient Access, PATCHS and paper-slip routes alive at the same time."
          }
        ],
        "probably_true": [
          "Charlestown is still in transition rather than having a clean single access pattern.",
          "Its complaints route is more explicit than most GTD microsites, but the main patient burden is overlapping systems rather than complaints discoverability."
        ],
        "needs_follow_up": [
          "Check the direct PATCHS route in a real browser session to see exactly what the first registration prompts are.",
          "Check whether the direct service pages for sick notes and test results now feed into PATCHS or still act as separate local paths."
        ],
        "source_pages": [
          "https://charlestownmedicalpractice.co.uk/",
          "https://charlestownmedicalpractice.co.uk/appointments/",
          "https://charlestownmedicalpractice.co.uk/prescriptions/",
          "https://charlestownmedicalpractice.co.uk/services/",
          "https://charlestownmedicalpractice.co.uk/contact-us/",
          "https://charlestownmedicalpractice.co.uk/surgery-information/feedback-and-complaints/",
          "https://patchs.ai/practice/charlestownmedicalpractice",
          "https://www.nhs.uk/services/gp-surgery/charlestown-md/Y02325"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://charlestownmedicalpractice.co.uk/",
            "visible_next_step": "Appointments, then online form",
            "expected_destination": "https://patchs.ai/practice/charlestownmedicalpractice"
          },
          {
            "task": "complaint",
            "start_url": "https://charlestownmedicalpractice.co.uk/",
            "visible_next_step": "Feedback and complaints",
            "expected_destination": "https://charlestownmedicalpractice.co.uk/surgery-information/feedback-and-complaints/"
          }
        ],
        "signal_scores": [
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 2.0,
            "display_value": "2",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 52.0,
            "display_value": "52.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 16,
            "percentile": 73.3
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 9,
            "out_of": 18,
            "percentile": 52.9
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.9,
            "display_value": "1.9 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 10,
            "out_of": 18,
            "percentile": 47.1
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.2,
            "display_value": "1.20",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 11,
            "out_of": 18,
            "percentile": 41.2
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 59.0,
            "display_value": "59.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 12,
            "out_of": 16,
            "percentile": 26.7
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 50.0,
            "display_value": "50.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 16,
            "percentile": 26.7
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 75.0,
            "display_value": "75.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 14,
            "out_of": 16,
            "percentile": 13.3
          }
        ],
        "relative_score": 56.9,
        "relative_band": "lower-middle",
        "strengths": [
          "Subjective complaints and fallbacks 2/18",
          "Subjective digital task coverage 4/18",
          "Subjective trust and maintenance 6/18"
        ],
        "cautions": [
          "Subjective front-door clarity 12/18",
          "Subjective journey ease 12/18",
          "Subjective overall patient usability 9/18"
        ],
        "relative_rank": 13,
        "relative_rank_out_of": 18,
        "relative_percentile": 29.4
      },
      {
        "ods_code": "Y02663",
        "practice_name": "Droylsden Medical Practice",
        "display_name": "Droylsden Medical Practice",
        "headline": "Droylsden Medical Practice uses the familiar GTD plus PATCHS structure, but its live details still matter. The site carries an Android text-message warning, the appointments page says the PATCHS route opens Monday to Friday from 7:30am, the explainer page says all routes go through PATCHS with a 48-hour callback expectation and 24/7 admin submission, and the explainer page also contains wrong-practice links back to Ashton.",
        "website_url": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 1.8,
        "google_review_count": 85,
        "report_path": "datasets/practice-patterns/reports/Y02663-droylsden-medical-practice.json",
        "report_link": "../reports/Y02663-droylsden-medical-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 30,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 42,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -27
          },
          "website_easy": {
            "practice_percent": 29,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 21,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -25
          },
          "app_easy": {
            "practice_percent": 39,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 26,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -13
          },
          "contact_good": {
            "practice_percent": 48,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 43,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -24
          },
          "overall_good": {
            "practice_percent": 49,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 43,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -28
          },
          "needs_met": {
            "practice_percent": 77,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 43,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -13
          },
          "next_step_known": {
            "practice_percent": 61,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 37,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -22
          },
          "next_step_known_2d": {
            "practice_percent": 99,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 20,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 6
          },
          "choice_time_day": {
            "practice_percent": 31,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 31,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -27
          },
          "wait_right": {
            "practice_percent": 53,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 39,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -15
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 2,
          "digital_task_coverage": 3,
          "journey_ease": 2,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 2,
          "summary": "The basic route exists, but warnings, mixed channels and maintenance faults make the user journey feel more brittle than clear."
        },
        "raw_signals": {
          "overall_good": 49.0,
          "website_easy": 29.0,
          "contact_good": 48.0,
          "needs_met": 77.0,
          "google_review_score": 1.8,
          "front_door_clarity": 2.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 2.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 2.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.2,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.2,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 410.5,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The opening wording is less explicit about the closing time than on some peer sites."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/droylsdenmedicalpractice",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The broken Ashton links on the explainer page undermine confidence in the site."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Prescription handling is less standardised than the core medical-request route because email still sits beside the digital account route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The explainer page is undercut by wrong-practice navigation links to Ashton."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are handled from the contact page rather than a clearly separate complaints page."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "wrong_practice_cross_links",
            "details": "The online-request-form page links key navigation items such as Appointments and Prescriptions to Ashton GP Service URLs rather than Droylsden URLs."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "message_delivery_warning",
            "details": "Multiple pages carry a warning that some Android users may miss text messages because they may be treated as spam or junk SMS."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "mixed_prescription_channels",
            "details": "The prescriptions page still exposes an email route alongside the NHS account route."
          }
        ],
        "probably_true": [
          "Droylsden is structurally close to other GTD plus PATCHS sites, but it still has its own maintainability and communication issues.",
          "The combination of wrong-practice links and missed-text warnings is likely to matter more to patients than the supplier choice alone."
        ],
        "needs_follow_up": [
          "Check in a real browser how visible the Ashton cross-links are during ordinary navigation.",
          "Check the direct PATCHS route out of hours to see how clearly closure or queuing is communicated."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice",
          "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/appointments",
          "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/online-request-form",
          "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/prescriptions",
          "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/contact-us",
          "https://patchs.ai/practice/droylsdenmedicalpractice",
          "https://www.nhs.uk/services/gp-surgery/droylsden-medical-practice/Y02663"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice",
            "visible_next_step": "Click here to access the online request form.",
            "expected_destination": "https://patchs.ai/practice/droylsdenmedicalpractice"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice",
            "visible_next_step": "Click here to find out more about Patchs Health.",
            "expected_destination": "https://www.gtdhealthcare.co.uk/droylsdenmedicalpractice/online-request-form"
          }
        ],
        "signal_scores": [
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.2,
            "display_value": "1.20",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 9,
            "out_of": 18,
            "percentile": 52.9
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.8,
            "display_value": "1.8 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 29.0,
            "display_value": "29.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 16,
            "percentile": 26.7
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 77.0,
            "display_value": "77.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 13,
            "out_of": 16,
            "percentile": 20.0
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 48.0,
            "display_value": "48.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 14,
            "out_of": 16,
            "percentile": 13.3
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 49.0,
            "display_value": "49.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 15,
            "out_of": 16,
            "percentile": 6.7
          }
        ],
        "relative_score": 56.9,
        "relative_band": "bottom quartile",
        "strengths": [
          "Subjective complaints and fallbacks 2/18",
          "Subjective digital task coverage 4/18",
          "Subjective trust and maintenance 6/18"
        ],
        "cautions": [
          "Subjective front-door clarity 12/18",
          "Subjective journey ease 12/18",
          "Subjective overall patient usability 9/18"
        ],
        "relative_rank": 14,
        "relative_rank_out_of": 18,
        "relative_percentile": 23.5
      },
      {
        "ods_code": "P89020",
        "practice_name": "HT Practice",
        "display_name": "HT Practice",
        "headline": "HT Practice uses a standalone site that looks old-fashioned but relatively explicit. It does not present a modern online-consultation platform for appointments on the public pages checked here. Instead it says routine advance appointments are released every Thursday after 2pm, same-day urgent appointments require calling at 8am, repeat prescriptions can be requested by email, post or Patient Access, and complaints go to a dedicated practice complaints email or the integrated care board.",
        "website_url": "https://htpractice.co.uk/",
        "website_identity": "standalone practice domain",
        "website_stack": "Standalone legacy surgery website",
        "request_platforms": [
          "patient_access"
        ],
        "google_review_score": 1.3,
        "google_review_count": 25,
        "report_path": "datasets/practice-patterns/reports/P89020-ht-practice.json",
        "report_link": "../reports/P89020-ht-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 33,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 83,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -24
          },
          "website_easy": {
            "practice_percent": 13,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 41,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -41
          },
          "app_easy": {
            "practice_percent": 31,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 36,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -21
          },
          "contact_good": {
            "practice_percent": 60,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 83,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -12
          },
          "overall_good": {
            "practice_percent": 66,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 83,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -11
          },
          "needs_met": {
            "practice_percent": 92,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 80,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": 2
          },
          "next_step_known": {
            "practice_percent": 73,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 80,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -10
          },
          "next_step_known_2d": {
            "practice_percent": 94,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 49,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": 1
          },
          "choice_time_day": {
            "practice_percent": 51,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 58,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -7
          },
          "wait_right": {
            "practice_percent": 48,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 74,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -20
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 3,
          "digital_task_coverage": 2,
          "journey_ease": 2,
          "trust_and_maintenance": 3,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 2,
          "summary": "The site is explicit rather than chaotic, but the actual access model is phone-heavy, timetable-bound and light on digital convenience."
        },
        "raw_signals": {
          "overall_good": 66.0,
          "website_easy": 13.0,
          "contact_good": 60.0,
          "needs_met": 92.0,
          "google_review_score": 1.3,
          "front_door_clarity": 3.0,
          "digital_task_coverage": 2.0,
          "journey_ease": 2.0,
          "trust_and_maintenance": 3.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 2.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.8,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 0.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.8,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 0,
          "median_runtime_ms": null,
          "discovered_path_count": 4,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://htpractice.co.uk/appointments/",
            "first_actionable_host": "htpractice.co.uk",
            "first_friction": "Urgent access looks strongly phone-gated."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://htpractice.co.uk/appointments/",
            "first_actionable_host": "htpractice.co.uk",
            "first_friction": "Routine access appears to depend on a weekly release pattern rather than a continuous request route."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://htpractice.co.uk/prescriptions/",
            "first_actionable_host": "htpractice.co.uk",
            "first_friction": "Prescription access is split across several low-coordination channels."
          },
          {
            "task": "admin query",
            "route_found": false,
            "user_visible_interactions": 1,
            "first_actionable_page": null,
            "first_actionable_host": null,
            "first_friction": "The site does not clearly separate admin requests such as fit notes, referrals or test-result follow-up into dedicated task routes on the pages checked here."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://htpractice.co.uk/complaints/",
            "first_actionable_host": "htpractice.co.uk",
            "first_friction": "The page is formal and process-heavy, including a zero-tolerance section alongside the complaint process."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "hostile_to_simple_fetch",
            "details": "The live site reset simpler HTTPS requests during checking, so browser-like retrieval and NHS or search cross-checks were needed to confirm it was actually live."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "phone_gated_urgent_access",
            "details": "The appointments page says same-day urgent appointments require calling at 8am."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "weekly_release_routine_appointments",
            "details": "The appointments page says routine advance appointments are released every Thursday after 2pm."
          }
        ],
        "probably_true": [
          "HT Practice is a useful low-rated contrast case because it appears to have less supplier clutter than some GTD sites, but also offers a much more phone- and timetable-gated access model.",
          "The strongest signal from this pass is not brokenness of the live site, but a relatively old-fashioned workflow with limited obvious digital request routes."
        ],
        "needs_follow_up": [
          "Check whether any hidden or JavaScript-only appointment or admin routes exist beyond the static pages visible here.",
          "Check whether the contact form is actually used for patient admin requests or is intended only for general enquiries."
        ],
        "source_pages": [
          "https://www.nhs.uk/services/gp-surgery/ht-practice/P89020",
          "https://htpractice.co.uk/",
          "https://htpractice.co.uk/appointments/",
          "https://htpractice.co.uk/prescriptions/",
          "https://htpractice.co.uk/contact/",
          "https://htpractice.co.uk/complaints/",
          "https://www.cqc.org.uk/provider/1-199787220/contact"
        ],
        "replay_hints": [
          {
            "task": "routine appointment guidance",
            "start_url": "https://htpractice.co.uk/",
            "visible_next_step": "Appointments",
            "expected_destination": "https://htpractice.co.uk/appointments/"
          },
          {
            "task": "repeat prescription",
            "start_url": "https://htpractice.co.uk/",
            "visible_next_step": "Prescriptions",
            "expected_destination": "https://htpractice.co.uk/prescriptions/"
          },
          {
            "task": "complaint",
            "start_url": "https://htpractice.co.uk/",
            "visible_next_step": "Complaints",
            "expected_destination": "https://htpractice.co.uk/complaints/"
          }
        ],
        "signal_scores": [
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 0.0,
            "display_value": "0",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 92.0,
            "display_value": "92.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 3,
            "out_of": 16,
            "percentile": 86.7
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 5,
            "out_of": 18,
            "percentile": 76.5
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 60.0,
            "display_value": "60.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 8,
            "out_of": 16,
            "percentile": 53.3
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 9,
            "out_of": 18,
            "percentile": 52.9
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 66.0,
            "display_value": "66.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 10,
            "out_of": 16,
            "percentile": 40.0
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.8,
            "display_value": "1.80",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 13,
            "out_of": 18,
            "percentile": 29.4
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 16,
            "out_of": 18,
            "percentile": 11.8
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 13.0,
            "display_value": "13.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 16,
            "out_of": 16,
            "percentile": 0.0
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.3,
            "display_value": "1.3 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 18,
            "out_of": 18,
            "percentile": 0.0
          }
        ],
        "relative_score": 56.3,
        "relative_band": "bottom quartile",
        "strengths": [
          "Subjective complaints and fallbacks 2/18",
          "Subjective trust and maintenance 4/18",
          "Subjective front-door clarity 5/18"
        ],
        "cautions": [
          "Subjective digital task coverage 16/18",
          "Subjective journey ease 12/18",
          "Subjective overall patient usability 9/18"
        ],
        "relative_rank": 15,
        "relative_rank_out_of": 18,
        "relative_percentile": 17.6
      },
      {
        "ods_code": "Y02713",
        "practice_name": "Guide Bridge Medical Practice",
        "display_name": "Guide Bridge Medical Practice",
        "headline": "Guide Bridge Medical Practice is another GTD microsite with PATCHS at the centre, but its patient journey is messier than Ashton\u2019s. The site carries an Android text-message warning across multiple pages, the appointments page says the online form is available only Monday to Friday from 7:30am until 4pm, the prescriptions page still accepts email requests, and the PATCHS explainer page contains broken cross-links back to Ashton GP Service.",
        "website_url": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice",
        "website_identity": "shared GTD patient microsite on the gtdhealthcare.co.uk domain",
        "website_stack": "GTD-managed practice microsite",
        "request_platforms": [
          "patchs"
        ],
        "google_review_score": 1.8,
        "google_review_count": 116,
        "report_path": "datasets/practice-patterns/reports/Y02713-guide-bridge-medical-practice.json",
        "report_link": "../reports/Y02713-guide-bridge-medical-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 37,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 47,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -20
          },
          "website_easy": {
            "practice_percent": 42,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 32,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -12
          },
          "app_easy": {
            "practice_percent": 39,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 28,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -13
          },
          "contact_good": {
            "practice_percent": 50,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 48,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -22
          },
          "overall_good": {
            "practice_percent": 53,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 49,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -24
          },
          "needs_met": {
            "practice_percent": 84,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 46,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -6
          },
          "next_step_known": {
            "practice_percent": 68,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 44,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -15
          },
          "next_step_known_2d": {
            "practice_percent": 84,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 29,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -9
          },
          "choice_time_day": {
            "practice_percent": 32,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 35,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -26
          },
          "wait_right": {
            "practice_percent": 40,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 44,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -28
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 2,
          "digital_task_coverage": 2,
          "journey_ease": 2,
          "trust_and_maintenance": 2,
          "complaints_and_fallbacks": 3,
          "overall_patient_usability": 2,
          "summary": "The core platform is visible, but the narrow request window and recurring template problems make the site feel harder to rely on."
        },
        "raw_signals": {
          "overall_good": 53.0,
          "website_easy": 42.0,
          "contact_good": 50.0,
          "needs_met": 84.0,
          "google_review_score": 1.8,
          "front_door_clarity": 2.0,
          "digital_task_coverage": 2.0,
          "journey_ease": 2.0,
          "trust_and_maintenance": 2.0,
          "complaints_and_fallbacks": 3.0,
          "overall_patient_usability": 2.0,
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.4,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.0,
          "avg_friction_points": 1.4,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 341.2,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/appointments",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The time window on the online form makes out-of-hours and late-afternoon use less clear than on some other sites."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://patchs.ai/practice/guidebridgemedicalcentre",
            "first_actionable_host": "patchs.ai",
            "first_friction": "The repeated Android text-message warning increases anxiety about whether practice messages will actually arrive."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/prescriptions",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The coexistence of NHS account and email ordering makes the prescription route less standardised than the core medical-request route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/online-request-form",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "The explainer page is itself unreliable because several of its navigation links point to Ashton GP Service."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/contact-us",
            "first_actionable_host": "www.gtdhealthcare.co.uk",
            "first_friction": "Complaints are folded into the contact page rather than surfaced as a clearly separate task route."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "wrong_practice_cross_links",
            "details": "The online-request-form page links key navigation items such as Appointments and Prescriptions to Ashton GP Service URLs rather than Guide Bridge URLs."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "message_delivery_warning",
            "details": "Multiple pages carry a warning that some Android users may miss text messages because they may be treated as spam or junk SMS."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "limited_online_request_window",
            "details": "The appointments page says the online form is available only Monday to Friday from 7:30am until 4pm."
          }
        ],
        "probably_true": [
          "Guide Bridge uses the same broad GTD plus PATCHS pattern as Ashton, but quality control is noticeably worse because of broken internal links and messaging about missed texts.",
          "The practice still appears to tolerate more than one prescription path even while core medical access is standardised around PATCHS."
        ],
        "needs_follow_up": [
          "Check in a real browser whether the broken Ashton cross-links are visible in normal menu use or only in certain responsive states.",
          "Check whether the direct PATCHS route itself visibly closes outside the stated weekday window."
        ],
        "source_pages": [
          "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice",
          "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/appointments",
          "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/online-request-form",
          "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/prescriptions",
          "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/contact-us",
          "https://patchs.ai/practice/guidebridgemedicalcentre",
          "https://www.nhs.uk/services/gp-surgery/guide-bridge-medical-practice/Y02713"
        ],
        "replay_hints": [
          {
            "task": "routine medical request",
            "start_url": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice",
            "visible_next_step": "Click here to access Patchs Health.",
            "expected_destination": "https://patchs.ai/practice/guidebridgemedicalcentre"
          },
          {
            "task": "admin query",
            "start_url": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice",
            "visible_next_step": "Click here to find out more about Patchs Health.",
            "expected_destination": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/online-request-form"
          },
          {
            "task": "complaint",
            "start_url": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice",
            "visible_next_step": "Contact us",
            "expected_destination": "https://www.gtdhealthcare.co.uk/guidebridgemedicalpractice/contact-us"
          }
        ],
        "signal_scores": [
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.0,
            "display_value": "1.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 1,
            "out_of": 18,
            "percentile": 100.0
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 2,
            "out_of": 18,
            "percentile": 94.1
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 6,
            "out_of": 18,
            "percentile": 70.6
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 84.0,
            "display_value": "84.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 8,
            "out_of": 16,
            "percentile": 53.3
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 9,
            "out_of": 18,
            "percentile": 52.9
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.4,
            "display_value": "1.40",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 11,
            "out_of": 18,
            "percentile": 41.2
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 42.0,
            "display_value": "42.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 10,
            "out_of": 16,
            "percentile": 40.0
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.8,
            "display_value": "1.8 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 50.0,
            "display_value": "50.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 16,
            "percentile": 26.7
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 53.0,
            "display_value": "53.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 13,
            "out_of": 16,
            "percentile": 20.0
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 16,
            "out_of": 18,
            "percentile": 11.8
          }
        ],
        "relative_score": 46.8,
        "relative_band": "bottom quartile",
        "strengths": [
          "Subjective complaints and fallbacks 2/18",
          "Subjective trust and maintenance 6/18",
          "Subjective overall patient usability 9/18"
        ],
        "cautions": [
          "Subjective digital task coverage 16/18",
          "Subjective front-door clarity 12/18",
          "Subjective journey ease 12/18"
        ],
        "relative_rank": 16,
        "relative_rank_out_of": 18,
        "relative_percentile": 11.8
      },
      {
        "ods_code": "Y02936",
        "practice_name": "Millbrook Medical Practice",
        "display_name": "Millbrook Medical Practice",
        "headline": "Millbrook Medical Centre is the messiest digital-front-door case in the GTD set. The homepage exposes generic cards for RapidHealth, PATCHS, Accurx, Klinik, SystmConnect and Engage all at once, but the appointments and contact pages actually funnel routine appointments and admin queries into Accurx Triage. Urgent appointments are phone or in-person from 8am for same-day acute problems only, and the site still has a formal complaints pack buried in the wider practice-information section rather than in the main contact flow.",
        "website_url": "https://www.millbrookmedicalcentre.nhs.uk/",
        "website_identity": "standalone practice domain",
        "website_stack": "Standalone nhs.uk practice site with Practice365 elements",
        "request_platforms": [
          "accurx",
          "patchs",
          "patient_access"
        ],
        "google_review_score": 2.7,
        "google_review_count": 39,
        "report_path": "datasets/practice-patterns/reports/Y02936-millbrook-medical-practice.json",
        "report_link": "../reports/Y02936-millbrook-medical-practice.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": 54,
            "ics_percent": 57,
            "national_percent": 53,
            "practice_base": 36,
            "question_text": "find it easy to get through to this GP practice by phone",
            "practice_minus_ics": -3
          },
          "website_easy": {
            "practice_percent": 29,
            "ics_percent": 54,
            "national_percent": 51,
            "practice_base": 13,
            "question_text": "find it easy to contact this GP practice using their website",
            "practice_minus_ics": -25
          },
          "app_easy": {
            "practice_percent": 41,
            "ics_percent": 52,
            "national_percent": 49,
            "practice_base": 15,
            "question_text": "find it easy to contact this GP practice using the NHS App",
            "practice_minus_ics": -11
          },
          "contact_good": {
            "practice_percent": 58,
            "ics_percent": 72,
            "national_percent": 70,
            "practice_base": 36,
            "question_text": "describe their experience of contacting their GP practice as good",
            "practice_minus_ics": -14
          },
          "overall_good": {
            "practice_percent": 69,
            "ics_percent": 77,
            "national_percent": 75,
            "practice_base": 36,
            "question_text": "describe their overall experience of this GP practice as good",
            "practice_minus_ics": -8
          },
          "needs_met": {
            "practice_percent": 86,
            "ics_percent": 90,
            "national_percent": 90,
            "practice_base": 36,
            "question_text": "felt their needs were met during their last general practice appointment",
            "practice_minus_ics": -4
          },
          "next_step_known": {
            "practice_percent": 73,
            "ics_percent": 83,
            "national_percent": 83,
            "practice_base": 33,
            "question_text": "knew what the next step would be after contacting their GP practice",
            "practice_minus_ics": -10
          },
          "next_step_known_2d": {
            "practice_percent": 91,
            "ics_percent": 93,
            "national_percent": 93,
            "practice_base": 22,
            "question_text": "knew what the next step would be within two days of contacting their GP practice",
            "practice_minus_ics": -2
          },
          "choice_time_day": {
            "practice_percent": 50,
            "ics_percent": 58,
            "national_percent": 54,
            "practice_base": 28,
            "question_text": "were offered a choice of time or day when they last tried to make a general practice appointment",
            "practice_minus_ics": -8
          },
          "wait_right": {
            "practice_percent": 42,
            "ics_percent": 68,
            "national_percent": 67,
            "practice_base": 35,
            "question_text": "felt they waited about the right amount of time for their last general practice appointment",
            "practice_minus_ics": -26
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 1,
          "digital_task_coverage": 3,
          "journey_ease": 2,
          "trust_and_maintenance": 1,
          "complaints_and_fallbacks": 2,
          "overall_patient_usability": 1,
          "summary": "The site exposes several live routes, but the supplier collage and buried complaints handling make it one of the least coherent experiences reviewed."
        },
        "raw_signals": {
          "overall_good": 69.0,
          "website_easy": 29.0,
          "contact_good": 58.0,
          "needs_met": 86.0,
          "google_review_score": 2.7,
          "front_door_clarity": 1.0,
          "digital_task_coverage": 3.0,
          "journey_ease": 2.0,
          "trust_and_maintenance": 1.0,
          "complaints_and_fallbacks": 2.0,
          "overall_patient_usability": 1.0,
          "avg_user_visible_interactions": 1.4,
          "avg_friction_points": 1.6,
          "encountered_issue_count": 3.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.4,
          "avg_friction_points": 1.6,
          "encountered_issue_count": 3,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 1208.5,
          "discovered_path_count": 5,
          "source_page_count": 8,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.millbrookmedicalcentre.nhs.uk/practice-information/appointments/",
            "first_actionable_host": "www.millbrookmedicalcentre.nhs.uk",
            "first_friction": "Urgent same-day help is not offered through the online consultation route in this pass."
          },
          {
            "task": "routine medical request or appointment",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/n83032",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The homepage advertises several different supplier names, but the appointments workflow actually resolves to Accurx."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.millbrookmedicalcentre.nhs.uk/practice-information/prescriptions/",
            "first_actionable_host": "www.millbrookmedicalcentre.nhs.uk",
            "first_friction": "Prescription access is spread across several systems and offline fallback methods rather than one clear route."
          },
          {
            "task": "admin query",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/n83032",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The site forces admin messaging into Accurx while the homepage simultaneously advertises several other online-contact suppliers."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://www.millbrookmedicalcentre.nhs.uk/practice-information/",
            "first_actionable_host": "www.millbrookmedicalcentre.nhs.uk",
            "first_friction": "Formal complaints are not surfaced prominently in the main contact flow."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "homepage_platform_overload",
            "details": "The homepage advertises RapidHealth, PATCHS, Accurx, Klinik, SystmConnect and Engage all at once even though the actionable appointment workflow points to Accurx."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "slow_appointments_page",
            "details": "The simple live fetch timing for the appointments page was much slower than the other pages used in this review."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "complaints_route_buried",
            "details": "Formal complaints materials were found in downloadable documents under Practice Information rather than in the main contact flow."
          }
        ],
        "probably_true": [
          "Millbrook is the most confusing front door in the GTD set reviewed so far because the homepage broadcasts many supplier names while the actionable workflow mainly uses Accurx.",
          "The main patient burden here is not just which supplier is used, but the sheer amount of overlapping or generic digital-access messaging."
        ],
        "needs_follow_up": [
          "Check whether the generic homepage cards for PATCHS, RapidHealth, Klinik, SystmConnect and Engage are intentional live routes or just leftover content modules.",
          "Open the Accurx route in a real browser session to inspect the first input burden.",
          "Check whether a more direct formal complaints page exists elsewhere on the site."
        ],
        "source_pages": [
          "https://www.millbrookmedicalcentre.nhs.uk/",
          "https://www.millbrookmedicalcentre.nhs.uk/practice-information/appointments/",
          "https://www.millbrookmedicalcentre.nhs.uk/practice-information/prescriptions/",
          "https://www.millbrookmedicalcentre.nhs.uk/online-services/",
          "https://www.millbrookmedicalcentre.nhs.uk/contact/",
          "https://www.millbrookmedicalcentre.nhs.uk/practice-information/",
          "https://florey.accurx.com/p/N83032",
          "https://www.nhs.uk/services/gp-surgery/millbrook-medical-practice/Y02936"
        ],
        "replay_hints": [
          {
            "task": "routine appointment",
            "start_url": "https://www.millbrookmedicalcentre.nhs.uk/",
            "visible_next_step": "Appointments, then Book a Routine Appointment",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/n83032"
          },
          {
            "task": "admin query",
            "start_url": "https://www.millbrookmedicalcentre.nhs.uk/practice-information/appointments/",
            "visible_next_step": "Make an Admin Query",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/n83032"
          },
          {
            "task": "complaint",
            "start_url": "https://www.millbrookmedicalcentre.nhs.uk/practice-information/",
            "visible_next_step": "Complaints Procedure Information Leaflet or Complaints Form",
            "expected_destination": "https://practice365.co.uk/uploads/sites/1489/2026/01/Patient-Complaint-Leaflet.doc"
          }
        ],
        "signal_scores": [
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 3.0,
            "display_value": "3 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 4,
            "out_of": 18,
            "percentile": 82.4
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 2.7,
            "display_value": "2.7 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "needs_met",
            "label": "GPPS needs met",
            "raw_value": 86.0,
            "display_value": "86.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 7,
            "out_of": 16,
            "percentile": 60.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 3.0,
            "display_value": "3",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 8,
            "out_of": 18,
            "percentile": 58.8
          },
          {
            "key": "overall_good",
            "label": "GPPS overall experience",
            "raw_value": 69.0,
            "display_value": "69.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 8,
            "out_of": 16,
            "percentile": 53.3
          },
          {
            "key": "contact_good",
            "label": "GPPS contact experience",
            "raw_value": 58.0,
            "display_value": "58.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 9,
            "out_of": 16,
            "percentile": 46.7
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 1.6,
            "display_value": "1.60",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "website_easy",
            "label": "GPPS website ease",
            "raw_value": 29.0,
            "display_value": "29.0%",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 16,
            "percentile": 26.7
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.4,
            "display_value": "1.40",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 14,
            "out_of": 18,
            "percentile": 23.5
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 16,
            "out_of": 18,
            "percentile": 11.8
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 1.0,
            "display_value": "1 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 17,
            "out_of": 18,
            "percentile": 5.9
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 1.0,
            "display_value": "1 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 17,
            "out_of": 18,
            "percentile": 5.9
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 1.0,
            "display_value": "1 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 17,
            "out_of": 18,
            "percentile": 5.9
          }
        ],
        "relative_score": 23.0,
        "relative_band": "bottom quartile",
        "strengths": [
          "Subjective digital task coverage 4/18",
          "Subjective journey ease 12/18",
          "Subjective complaints and fallbacks 16/18"
        ],
        "cautions": [
          "Subjective front-door clarity 17/18",
          "Subjective trust and maintenance 17/18",
          "Subjective overall patient usability 17/18"
        ],
        "relative_rank": 17,
        "relative_rank_out_of": 18,
        "relative_percentile": 5.9
      },
      {
        "ods_code": "Y02755001",
        "practice_name": "Rock@Radcliffe",
        "display_name": "Rock@Radcliffe",
        "headline": "Rock@Radcliffe currently has one of the messiest front doors reviewed so far. The NHS identity still points to the shared Rock site, but that site appears Bury and Moorgate-focused, not Radcliffe-focused. It mixes Accurx and askmyGP on the same public pages, the main live digital routes are keyed to the parent code Y02755 rather than the Radcliffe branch code Y02755001, and a live site page says the Radcliffe surgery has relocated to Moorgate Primary Care Centre.",
        "website_url": "https://www.rockhealthcare.nhs.uk/",
        "website_identity": "shared organisational site",
        "website_stack": "WordPress on GPsurgery.net network theme",
        "request_platforms": [
          "accurx"
        ],
        "google_review_score": 1.5,
        "google_review_count": 45,
        "report_path": "datasets/practice-patterns/reports/Y02755001-rock-radcliffe.json",
        "report_link": "../reports/Y02755001-rock-radcliffe.json",
        "survey_metrics": {
          "phone_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 53,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "website_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 51,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "app_easy": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 49,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "contact_good": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 70,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "overall_good": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 75,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "needs_met": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 90,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "next_step_known": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 83,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "next_step_known_2d": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 93,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "choice_time_day": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 54,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          },
          "wait_right": {
            "practice_percent": null,
            "ics_percent": null,
            "national_percent": 67,
            "practice_base": null,
            "question_text": "",
            "practice_minus_ics": null
          }
        },
        "subjective_scores": {
          "scored_on": "2026-03-13",
          "scale": "1_to_5_higher_is_better",
          "front_door_clarity": 1,
          "digital_task_coverage": 2,
          "journey_ease": 2,
          "trust_and_maintenance": 1,
          "complaints_and_fallbacks": 1,
          "overall_patient_usability": 1,
          "summary": "One of the weakest front doors in the set: identity drift, conflicting platforms and stale complaints content undermine almost every route."
        },
        "raw_signals": {
          "google_review_score": 1.5,
          "front_door_clarity": 1.0,
          "digital_task_coverage": 2.0,
          "journey_ease": 2.0,
          "trust_and_maintenance": 1.0,
          "complaints_and_fallbacks": 1.0,
          "overall_patient_usability": 1.0,
          "avg_user_visible_interactions": 1.2,
          "avg_friction_points": 2.0,
          "encountered_issue_count": 4.0,
          "stale_or_conflicting_stack_count": 1.0
        },
        "report_signals": {
          "avg_user_visible_interactions": 1.2,
          "avg_friction_points": 2.0,
          "encountered_issue_count": 4,
          "stale_or_conflicting_stack_count": 1,
          "median_runtime_ms": 98.7,
          "discovered_path_count": 5,
          "source_page_count": 7,
          "task_count": 5
        },
        "task_overview": [
          {
            "task": "urgent same-day help",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/Y02755",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The digital route is not branch-specific and appears to have drifted away from the Radcliffe identity."
          },
          {
            "task": "routine medical or admin request",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/Y02755",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "The route is richer than the public website suggests, but the site itself does a poor job explaining which platform is authoritative."
          },
          {
            "task": "repeat prescription",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://accurx.nhs.uk/patient-initiated/Y02755/flow/repeat-prescription",
            "first_actionable_host": "accurx.nhs.uk",
            "first_friction": "Prescription access is clear in navigation but again keyed to Y02755 rather than the Radcliffe branch code."
          },
          {
            "task": "alternate digital route still exposed",
            "route_found": true,
            "user_visible_interactions": 1,
            "first_actionable_page": "https://my.askmygp.uk/?c=Y02755#/intro",
            "first_actionable_host": "my.askmygp.uk",
            "first_friction": "The site exposes two competing request platforms without explaining whether one is legacy or secondary."
          },
          {
            "task": "complaint or formal negative feedback",
            "route_found": true,
            "user_visible_interactions": 2,
            "first_actionable_page": "https://www.rockhealthcare.nhs.uk/patient-info/complaints-compliments/",
            "first_actionable_host": "www.rockhealthcare.nhs.uk",
            "first_friction": "The complaints page is generic, sparse and stale."
          }
        ],
        "encountered_issues": [
          {
            "encountered_on": "2026-03-13",
            "issue_type": "branch_identity_drift",
            "details": "The live Rock site and linked Accurx routes foreground Rock Healthcare Limited at Moorgate Primary Care Centre rather than the Radcliffe branch identity from the NHS profile."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "conflicting_platforms",
            "details": "The site navigation promotes Accurx while the footer still promotes askmyGP, both using the parent code Y02755."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "stale_sparse_complaints_page",
            "details": "The complaints page was last updated on 7 March 2022 and only gives generic Practice Manager by phone or in writing instructions."
          },
          {
            "encountered_on": "2026-03-13",
            "issue_type": "relocation_confusion",
            "details": "A live site page states that the Radcliffe surgery relocated to Moorgate Primary Care Centre on 1 January 2025."
          }
        ],
        "probably_true": [
          "Rock@Radcliffe is a good example of why the NHS identity and the actual patient front door cannot be treated as the same thing.",
          "The key problem here is not just low quality or slowness, but a shared site whose live digital routes appear to have partially moved on from the Radcliffe branch identity."
        ],
        "needs_follow_up": [
          "Open the askmyGP route in a fully interactive browser session to see whether it is still usable or effectively residual.",
          "Check whether the NHS profile for Rock@Radcliffe is itself stale after the move to Moorgate."
        ],
        "source_pages": [
          "https://www.nhs.uk/services/gp-surgery/rock@radcliffe/Y02755001",
          "https://www.rockhealthcare.nhs.uk/",
          "https://www.rockhealthcare.nhs.uk/patient-info/complaints-compliments/",
          "https://www.rockhealthcare.nhs.uk/relocating-radcliffe-surgery-to-moorgate-primary-care-centre/",
          "https://accurx.nhs.uk/patient-initiated/Y02755",
          "https://accurx.nhs.uk/patient-initiated/Y02755/flow/repeat-prescription",
          "https://my.askmygp.uk/?c=Y02755#/intro"
        ],
        "replay_hints": [
          {
            "task": "main digital request route",
            "start_url": "https://www.rockhealthcare.nhs.uk/",
            "visible_next_step": "Online Appointments",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/Y02755"
          },
          {
            "task": "repeat prescription",
            "start_url": "https://www.rockhealthcare.nhs.uk/",
            "visible_next_step": "Online Prescriptions",
            "expected_destination": "https://accurx.nhs.uk/patient-initiated/Y02755/flow/repeat-prescription"
          },
          {
            "task": "alternate route check",
            "start_url": "https://www.rockhealthcare.nhs.uk/",
            "visible_next_step": "Footer Get Help Now \u2013 askmyGP",
            "expected_destination": "https://my.askmygp.uk/?c=Y02755#/intro"
          },
          {
            "task": "complaint",
            "start_url": "https://www.rockhealthcare.nhs.uk/",
            "visible_next_step": "Patient Information -> Complaints and Compliments",
            "expected_destination": "https://www.rockhealthcare.nhs.uk/patient-info/complaints-compliments/"
          }
        ],
        "signal_scores": [
          {
            "key": "stale_or_conflicting_stack_count",
            "label": "Stale or conflicting stack signals",
            "raw_value": 1.0,
            "display_value": "1",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.0,
            "rank": 7,
            "out_of": 18,
            "percentile": 64.7
          },
          {
            "key": "avg_user_visible_interactions",
            "label": "Average clicks to first actionable page",
            "raw_value": 1.2,
            "display_value": "1.20",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 11,
            "out_of": 18,
            "percentile": 41.2
          },
          {
            "key": "journey_ease",
            "label": "Subjective journey ease",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 12,
            "out_of": 18,
            "percentile": 35.3
          },
          {
            "key": "avg_friction_points",
            "label": "Average friction notes per task",
            "raw_value": 2.0,
            "display_value": "2.00",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 15,
            "out_of": 18,
            "percentile": 17.6
          },
          {
            "key": "google_review_score",
            "label": "Google review score",
            "raw_value": 1.5,
            "display_value": "1.5 / 5",
            "include_in_relative_score": false,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 16,
            "out_of": 18,
            "percentile": 11.8
          },
          {
            "key": "digital_task_coverage",
            "label": "Subjective digital task coverage",
            "raw_value": 2.0,
            "display_value": "2 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 16,
            "out_of": 18,
            "percentile": 11.8
          },
          {
            "key": "front_door_clarity",
            "label": "Subjective front-door clarity",
            "raw_value": 1.0,
            "display_value": "1 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.0,
            "rank": 17,
            "out_of": 18,
            "percentile": 5.9
          },
          {
            "key": "trust_and_maintenance",
            "label": "Subjective trust and maintenance",
            "raw_value": 1.0,
            "display_value": "1 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.5,
            "rank": 17,
            "out_of": 18,
            "percentile": 5.9
          },
          {
            "key": "overall_patient_usability",
            "label": "Subjective overall patient usability",
            "raw_value": 1.0,
            "display_value": "1 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 2.5,
            "rank": 17,
            "out_of": 18,
            "percentile": 5.9
          },
          {
            "key": "complaints_and_fallbacks",
            "label": "Subjective complaints and fallbacks",
            "raw_value": 1.0,
            "display_value": "1 / 5",
            "include_in_relative_score": true,
            "higher_is_better": true,
            "weight": 1.0,
            "rank": 18,
            "out_of": 18,
            "percentile": 0.0
          },
          {
            "key": "encountered_issue_count",
            "label": "Encountered issues recorded",
            "raw_value": 4.0,
            "display_value": "4",
            "include_in_relative_score": false,
            "higher_is_better": false,
            "weight": 1.5,
            "rank": 18,
            "out_of": 18,
            "percentile": 0.0
          }
        ],
        "relative_score": 11.8,
        "relative_band": "bottom quartile",
        "strengths": [
          "Subjective journey ease 12/18",
          "Subjective digital task coverage 16/18",
          "Subjective front-door clarity 17/18"
        ],
        "cautions": [
          "Subjective complaints and fallbacks 18/18",
          "Subjective trust and maintenance 17/18",
          "Subjective overall patient usability 17/18"
        ],
        "relative_rank": 18,
        "relative_rank_out_of": 18,
        "relative_percentile": 0.0
      }
    ],
    "top_five": [
      {
        "ods_code": "P87015",
        "practice_name": "Pendleton Medical Centre",
        "relative_rank": 1,
        "relative_score": 100.0
      },
      {
        "ods_code": "P84689",
        "practice_name": "Manchester Integrative Medical Practice",
        "relative_rank": 2,
        "relative_score": 98.6
      },
      {
        "ods_code": "Y02586",
        "practice_name": "Ashton Gp Service",
        "relative_rank": 3,
        "relative_score": 94.1
      },
      {
        "ods_code": "Y02849",
        "practice_name": "City Health Centre",
        "relative_rank": 4,
        "relative_score": 91.6
      },
      {
        "ods_code": "Y02875",
        "practice_name": "Lindley House Health Centre",
        "relative_rank": 5,
        "relative_score": 85.4
      }
    ],
    "bottom_five": [
      {
        "ods_code": "Y02663",
        "practice_name": "Droylsden Medical Practice",
        "relative_rank": 14,
        "relative_score": 56.9
      },
      {
        "ods_code": "P89020",
        "practice_name": "HT Practice",
        "relative_rank": 15,
        "relative_score": 56.3
      },
      {
        "ods_code": "Y02713",
        "practice_name": "Guide Bridge Medical Practice",
        "relative_rank": 16,
        "relative_score": 46.8
      },
      {
        "ods_code": "Y02936",
        "practice_name": "Millbrook Medical Practice",
        "relative_rank": 17,
        "relative_score": 23.0
      },
      {
        "ods_code": "Y02755001",
        "practice_name": "Rock@Radcliffe",
        "relative_rank": 18,
        "relative_score": 11.8
      }
    ]
  }
}