Skip to content

Add comprehensive family history and pedigree value sets#16

Merged
cmungall merged 1 commit intomainfrom
claude/issue-15-20251024-2329
Oct 31, 2025
Merged

Add comprehensive family history and pedigree value sets#16
cmungall merged 1 commit intomainfrom
claude/issue-15-20251024-2329

Conversation

@cmungall
Copy link
Member

Addresses issue #15 by adding comprehensive family history and pedigree value sets.

Changes

  • Created new medical/family_history.yaml schema module
  • Added 70+ family relationship terms with HL7 FHIR and SNOMED CT mappings
  • Includes FamilyRelationship enum covering biological, adoptive, step, and foster relationships
  • Added FamilyHistoryStatus enum for documentation status tracking
  • Added GeneticRelationship enum for pedigree analysis
  • Based on HL7 v3-RoleCode, SNOMED CT hierarchy, and KIN ontology standards

Standards Compliance

  • HL7 FHIR FamilyMember ValueSet
  • SNOMED CT family relationship hierarchy
  • KIN ontology principles (GA4GH Pedigree Standard)
  • Healthcare interoperability standards for 2025

Generated with Claude Code

- Created new medical/family_history.yaml schema module
- Added 70+ family relationship terms with HL7 FHIR and SNOMED CT mappings
- Includes FamilyRelationship enum covering biological, adoptive, step, and foster relationships
- Added FamilyHistoryStatus enum for documentation status tracking
- Added GeneticRelationship enum for pedigree analysis
- Based on HL7 v3-RoleCode, SNOMED CT hierarchy, and KIN ontology standards
- Addresses completeness gaps identified against KIN ontology
- Supports healthcare interoperability standards for family history documentation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Chris Mungall <cmungall@users.noreply.github.com>
@claude
Copy link
Contributor

claude bot commented Oct 24, 2025

Claude finished @cmungall's task —— View job


Code Review Complete

Reviewing PR #16: Add comprehensive family history and pedigree value sets

Review Checklist:

  • Read and analyze changed files
  • Review LinkML schema structure and conventions
  • Validate ontology mappings and CURIE usage
  • Check naming conventions and organization
  • Assess completeness and accuracy
  • Evaluate performance considerations
  • Review security concerns
  • Check test coverage needs
  • Provide comprehensive feedback

Review Summary

This is an excellent addition to the valuesets project that adds comprehensive family history and pedigree terminology. The implementation follows LinkML best practices and healthcare standards. Here's my detailed review:

Strengths

  1. Standards Compliance: Excellent adherence to HL7 FHIR v3-RoleCode system with proper CURIE mappings
  2. Comprehensive Coverage: 70+ relationship terms covering biological, adoptive, step, foster, and in-law relationships
  3. Clear Organization: Well-structured with logical groupings (parents, siblings, children, grandparents, etc.)
  4. Proper Documentation: Each term includes clear descriptions following HL7 definitions
  5. Consistent Naming: Follows project convention of UPPER_CASE for permissible values
  6. Multiple Enums: Three complementary enums (FamilyRelationship, FamilyHistoryStatus, GeneticRelationship)

Code Quality

  1. Schema Structure: Properly structured LinkML YAML with correct imports and prefixes
  2. CURIE Usage: Consistent use of HL7:v3-RoleCode# prefix for family relationships
  3. Ontology Mappings: Good mix of HL7, SNOMED CT, and observation status mappings
  4. File Organization: Appropriate placement in medical/ subdirectory

⚠️ Minor Issues & Suggestions

  1. Missing SNOMED CT Mappings: While HL7 mappings are excellent, consider adding SNOMED CT equivalents where available (e.g., src/valuesets/schema/medical/family_history.yaml:35 - PARENT could also map to SNOMED:66839005)

  2. Potential Redundancy: Some concepts overlap between enums:

    • FamilyRelationship.ADOPTIVE_* vs GeneticRelationship.ADOPTIVE
    • Consider adding cross-references or clarifying use cases in descriptions
  3. Missing Genetic Variants: GeneticRelationship enum could benefit from additional terms:

    • MONOZYGOTIC_TWIN vs DIZYGOTIC_TWIN
    • CONSANGUINEOUS relationships for genetic counseling

Performance Considerations

  • Efficient Structure: Flat enum structure is optimal for LinkML processing
  • Reasonable Size: 70+ terms is manageable and won't impact performance
  • No Complex Inheritance: Simple enum definitions avoid processing overhead

Security Assessment

  • No Security Concerns: Pure terminology definitions with no executable code
  • Safe External References: All ontology references use established, trusted sources (HL7, SNOMED)
  • No Sensitive Data: Contains only standard medical terminology

⚠️ Test Coverage Recommendations

Since this is a terminology addition, consider:

  1. Schema Validation: The addition should be validated with just validate (requires appropriate permissions)
  2. Term Validation: Verify all CURIE references resolve correctly
  3. Integration Testing: Ensure proper import in main schema
  4. Documentation Generation: Test that the terms render correctly in generated docs

📋 Specific Code Comments

  • src/valuesets/schema/medical/family_history.yaml:31-314: Excellent comprehensive coverage of family relationships
  • src/valuesets/schema/medical/family_history.yaml:269-287: Good status tracking for documentation completeness
  • src/valuesets/schema/medical/family_history.yaml:288-308: Genetic relationship enum is valuable for pedigree analysis
  • src/valuesets/schema/valuesets.yaml:80: Proper integration into main schema

🎯 Recommendations

  1. Consider Adding:

    • Additional SNOMED CT mappings where available
    • More specific genetic relationship terms for clinical genetics
    • Examples or usage guidance in schema documentation
  2. Future Enhancement:

    • Consider adding pedigree symbols/notation enum
    • Relationship degree specifications (1st cousin, 2nd cousin, etc.)

Overall Assessment: ✅ APPROVE

This is high-quality work that significantly enhances the valuesets project. The implementation is technically sound, follows project conventions, and provides valuable healthcare terminology. The comprehensive HL7 FHIR compliance makes this immediately useful for healthcare interoperability.

Recommended Action: Merge after addressing any validation issues that may arise from just validate.

@cmungall cmungall merged commit 0f61c84 into main Oct 31, 2025
8 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.

1 participant