Skip to content

Add ogar-fma + ogar-cpic public reference-resolution surfaces#227

Merged
AdaWorldAPI merged 1 commit into
mainfrom
claude/a2ui-screen-addressing-continue-azizft
Jul 23, 2026
Merged

Add ogar-fma + ogar-cpic public reference-resolution surfaces#227
AdaWorldAPI merged 1 commit into
mainfrom
claude/a2ui-screen-addressing-continue-azizft

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

What

Two producer-side reference crates so a clinical reasoning consumer resolves its captured loose ends by pulling public reference from OGAR, instead of fabricating ids or restating upstream ontology.

ogar-fma — FMA anatomy structure resolver

  • A structure name ("synovial joint", "kidney") → canonical Anatomy classid (0x0AXX) + FMA cross-reference (the q2 /helix zoom key).
  • The soft-tissue / organ / joint complement to the rigid ogar-fma-skeleton bone atlas.
  • Composes existing Anatomy concepts (anatomical_structure / joint / bone) — mints nothing.
  • FMA numeric ids filled only where canonical + stable (the skeleton atlas's honesty fence: femur 9611, tibia 12856); the rest stay honest None loose ends resolved against /helix.

ogar-cpic — CPIC pharmacogenomics reference surface

  • A (gene, drug) join key ("TPMT/NUDT15", "azathioprine") → public gene→phenotype→recommendation guideline + a NARS (frequency, confidence) deduction premise (the q2 /cpic chain).
  • Routes under the reserved Genetics domain (0x0EXX) at the domain level only.

Firewall / gate discipline

  • Both surfaces are public reference (ConceptDomain::Anatomy / Genetics) — deliberately never Health/PHI, per the codebook's firewall split.
  • ogar-cpic carries the phenotype axis, never a patient genotype.
  • ogar-cpic honors the codebook's explicit "no Genetics mints without an operator ruling" gate: it does NOT mint a concept row. The committed 0x0E01 anchor mint stays a surfaced, operator-gated follow-up.
  • No sensitive disease concept appears in either crate (paired with medcare-rs commitment Sprint 7 muscle-memory: three-way alignment (Kanban/ractor/SurrealQL) + std::sync correction round-trip #8).

Tests / gates

  • ogar-fma: 6 lib tests + 1 doctest; ogar-cpic: 6 lib tests + 1 doctest.
  • cargo fmt + cargo clippy -p ogar-fma -p ogar-cpic --all-targets -- -D warnings clean.

Consumer

Paired with the MedCare-rs PR on the same branch, which wires medcare-cohorts Region/Pgx loose ends to these surfaces (consumer→producer only).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Xv5wRqar5sC5QcXVpkn94n


Generated by Claude Code

Two producer-side reference crates that let a clinical reasoning consumer
(medcare-cohorts) resolve its captured loose ends by PULLING public
reference from OGAR, instead of fabricating ids or restating upstream
ontology (commitment #3: outside ontology is owned upstream).

ogar-fma — FMA anatomy structure resolver. A name ("synovial joint",
"kidney") resolves to its canonical Anatomy classid (0x0AXX) + FMA
cross-reference (the q2 /helix zoom key). The soft-tissue/organ/joint
complement to the rigid ogar-fma-skeleton bone atlas; composes existing
Anatomy concepts (anatomical_structure/joint/bone), mints nothing. FMA
numeric ids filled only where canonical+stable (the skeleton atlas's
honesty fence); the rest stay honest None loose ends resolved vs /helix.

ogar-cpic — CPIC pharmacogenomics reference surface. A (gene, drug) join
key ("TPMT/NUDT15", "azathioprine") resolves to the public gene->
phenotype->recommendation guideline + a NARS (frequency, confidence)
deduction premise (the q2 /cpic chain). Routes under the reserved
Genetics domain (0x0EXX) at the DOMAIN level only — it honors the
codebook's explicit "no Genetics mints without an operator ruling" gate
and does NOT mint a concept row; the committed 0x0E01 anchor mint stays a
surfaced, operator-gated follow-up.

Firewall-clean: both surfaces are public reference (Anatomy / Genetics),
never Health/PHI. ogar-cpic carries the phenotype AXIS, never a patient
genotype. No sensitive disease concept appears in either crate.

12 lib tests + 2 doctests green; fmt + clippy -D warnings clean.
@cursor

cursor Bot commented Jul 23, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_5a8f1bf4-f619-4181-bab6-36efcb27a98e)

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review July 23, 2026 16:51
@AdaWorldAPI
AdaWorldAPI merged commit fcaf303 into main Jul 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants