{
  "provenance": "Copied subset of supplied docs/feature_coverage.json. Coverage status was not independently reclassified.",
  "summary": {
    "app": "ArogyaShutra",
    "requirements": 12,
    "implemented_local": 6,
    "partial": 4,
    "blocked": 2
  },
  "requirements": [
    {
      "id": "AS-F01",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Patient identity and duplicates",
      "original_priority": "P0",
      "source_requirement": "Create a facility-scoped patient identifier; use multiple confirmed demographics for duplicate review and never merge solely by phone.\nAcceptance: Possible duplicates require trained review and preserve merge history and source identifiers.",
      "status": "partial",
      "implementation_scope": "Facility-scoped identity, bilingual names, optional birth date/estimated age and non-merging duplicate references.",
      "residual_limitation": "Duplicate matching is name plus known birth date; trained merge workflow and merge history are absent.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_shared_phone_and_possible_duplicate_do_not_merge_patient_identity"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F02",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Encounter and consent",
      "original_priority": "P0",
      "source_requirement": "Separate outpatient, emergency and inpatient episodes; record purpose-specific consent and the responsible clinician for each episode.\nAcceptance: Administrative consent does not automatically authorize external AI processing or research reuse.",
      "status": "partial",
      "implementation_scope": "Immutable outpatient/emergency identity, responsible active doctor and separate episode/administrative consent.",
      "residual_limitation": "Inpatient episodes/admission management are absent; an emergency label is not clinical triage.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_hospital_notes_require_treating_doctor_and_preserve_signed_content"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F03",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Clinical documentation",
      "original_priority": "P0",
      "source_requirement": "Store authored observations, allergies, problems and care plans with provenance; preserve signed records and add amendments rather than overwrite.\nAcceptance: A signed note cannot be silently edited; amendment shows author, reason and time.",
      "status": "implemented_local",
      "implementation_scope": "Treating-doctor authored notes, exact-content signing, provenance and linked amendments preserve signed history.",
      "residual_limitation": "Human clinical review and policy acceptance remain mandatory; no diagnosis or certified-signature provider is included.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_hospital_notes_require_treating_doctor_and_preserve_signed_content"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F04",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Orders and service catalogue",
      "original_priority": "P0",
      "source_requirement": "Use approved service codes, specimen requirements and priority labels; order entry remains clinician-authorized and does not infer tests from symptoms.\nAcceptance: An unsigned AI draft cannot become a billable or executable clinical order.",
      "status": "implemented_local",
      "implementation_scope": "Manually versioned service codes/methods/references/fees, supervisor approval and treating-doctor orders with frozen terms.",
      "residual_limitation": "The operator must supply reviewed source data and qualified staff; no AI ordering or provider catalogue is connected.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_rejected_specimen_cannot_produce_a_verified_or_released_report"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F05",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Specimen chain of custody",
      "original_priority": "P0",
      "source_requirement": "Generate unique barcodes, record collection/receipt/processing actors and times, and support rejection with reason and recollection linkage.\nAcceptance: A rejected sample cannot produce a released result; recollection uses a new barcode.",
      "status": "implemented_local",
      "implementation_scope": "Unique barcode, actor/time custody stages, reasoned rejection and linked recollection with a new barcode.",
      "residual_limitation": "Device/label-printer integration and target-facility operational checks remain external.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_rejected_specimen_cannot_produce_a_verified_or_released_report"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F06",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Verified laboratory reports",
      "original_priority": "P0",
      "source_requirement": "Capture values, units, method and reference-range version; qualified humans approve release and corrected results retain previous versions.\nAcceptance: An unverified result remains invisible in the patient portal and carries a draft watermark internally.",
      "status": "implemented_local",
      "implementation_scope": "Structured results, independent verifier, bound patient snapshot/hash, critical gate, immutable release and linked corrections.",
      "residual_limitation": "Values and critical flags are human-entered; analyzer integration/reference-data validation are not supplied.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_lab_author_cannot_verify_own_result_even_with_two_roles"
        },
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_verified_report_hash_must_match_before_release"
        },
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_released_lab_report_document_preserves_patient_identity_snapshot"
        },
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_report_correction_preserves_original_and_does_not_double_bill"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F07",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Critical-result escalation",
      "original_priority": "P0",
      "source_requirement": "Route configured critical flags to qualified staff using acknowledged alerts; record attempts, recipient and acknowledgment without autonomous treatment advice.\nAcceptance: An unacknowledged critical alert escalates to the next configured human contact and remains open.",
      "status": "partial",
      "implementation_scope": "Assigned in-app critical alerts, required acknowledgment and recorded worker escalation to configured supervisors.",
      "residual_limitation": "No SMS, call or paging transport is connected; worker supervision and real response times are unverified.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py",
        "suite/server.py",
        "suite/__main__.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_critical_report_requires_assigned_clinician_acknowledgment"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F08",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Admission and bed occupancy",
      "original_priority": "P1",
      "source_requirement": "Model admission, transfer and discharge as approved events; prevent overlapping active occupancy and distinguish unavailable, cleaning and ready beds.\nAcceptance: Two concurrent admissions cannot occupy the same bed for overlapping periods.",
      "status": "blocked",
      "implementation_scope": "No inpatient bed-management workflow.",
      "residual_limitation": "Admission, bed statuses, transfer, discharge and overlapping-occupancy prevention are not implemented.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [],
      "verification_note": "Implementation/status is source-reviewed here; no dedicated feature test is cited. Consult final suite evidence and required human reviews."
    },
    {
      "id": "AS-F09",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Medication dispensing and administration",
      "original_priority": "P1",
      "source_requirement": "Separate prescribing, pharmacy dispensing and bedside administration; confirm patient, item, quantity and actor at each stage.\nAcceptance: Prescription creation alone does not reduce pharmacy stock; only confirmed dispensing does.",
      "status": "blocked",
      "implementation_scope": "No pharmacy or bedside administration workflow.",
      "residual_limitation": "Patient/item/quantity-confirmed dispensing and administration events are not implemented.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [],
      "verification_note": "Implementation/status is source-reviewed here; no dedicated feature test is cited. Consult final suite evidence and required human reviews."
    },
    {
      "id": "AS-F10",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Consolidated billing",
      "original_priority": "P0",
      "source_requirement": "Link every charge to a delivered or approved billable service; record deposits, discounts, cancellations and refund approval separately.\nAcceptance: Duplicate service events create one charge; financial staff cannot rewrite clinical findings.",
      "status": "partial",
      "implementation_scope": "Released services create one linked invoice; bounded cash receipts/refunds cannot alter clinical findings.",
      "residual_limitation": "Consolidated inpatient bills, deposits, discount authorization, insurer claims and digital callbacks are absent.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_report_correction_preserves_original_and_does_not_double_bill"
        },
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_cash_overpayment_refund_and_reference_replay_are_bounded"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F11",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Patient portal and release",
      "original_priority": "P0",
      "source_requirement": "Release only verified documents through time-limited links or authenticated access; support caregiver access with documented authority.\nAcceptance: An expired report link fails without revealing patient identity or report content.",
      "status": "implemented_local",
      "implementation_scope": "Authenticated patient/caregiver grants with documented authority, expiry/revocation and released-only portal/document access.",
      "residual_limitation": "No national identity check or anonymous phone-based download is supplied.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "tests/test_healthcare.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareDomainTests",
          "method": "test_patient_portal_excludes_unreleased_and_revoked_or_expired_links"
        },
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareHttpTests",
          "method": "test_cached_portal_and_document_replay_denied_after_link_revocation"
        },
        {
          "path": "tests/test_healthcare.py",
          "class": "HealthcareHttpTests",
          "method": "test_expired_link_cannot_replay_a_cached_released_report"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "AS-F12",
      "app": "ArogyaShutra",
      "slug": "arogyashutra",
      "source_title": "Downtime and recovery",
      "original_priority": "P0",
      "source_requirement": "Use numbered downtime forms and controlled later entry; label unverified imports and maintain reconciliation queues after outages.\nAcceptance: A recovered record keeps original clinical time and later entry time without silently replacing an existing encounter.",
      "status": "implemented_local",
      "implementation_scope": "Numbered manual downtime entries preserve event/entry times and unverified state; treating-doctor reconciliation preserves prior encounter.",
      "residual_limitation": "Operators supply approved paper forms; no encrypted browser record store or automatic offline merge is provided.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/HEALTHCARE.md",
        "suite/apps/arogyashutra.py",
        "suite/apps/health_common.py"
      ],
      "test_references": [],
      "verification_note": "Implementation/status is source-reviewed here; no dedicated feature test is cited. Consult final suite evidence and required human reviews."
    }
  ]
}