nci-cidc-api-modules 1.2.52__tar.gz → 1.2.54__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. {nci_cidc_api_modules-1.2.52/nci_cidc_api_modules.egg-info → nci_cidc_api_modules-1.2.54}/PKG-INFO +1 -1
  2. nci_cidc_api_modules-1.2.54/cidc_api/__init__.py +1 -0
  3. nci_cidc_api_modules-1.2.54/cidc_api/models/code_systems.py +29 -0
  4. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/adverse_event_orm.py +2 -1
  5. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/demographic_orm.py +2 -1
  6. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/radiotherapy_dose_orm.py +3 -2
  7. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/response_by_system_orm.py +2 -2
  8. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/response_orm.py +3 -3
  9. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/adverse_event_orm.py +2 -1
  10. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/demographic_orm.py +2 -1
  11. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/radiotherapy_dose_orm.py +2 -1
  12. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/response_by_system_orm.py +2 -2
  13. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/response_orm.py +3 -3
  14. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/adverse_event.py +3 -2
  15. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/demographic.py +5 -4
  16. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/radiotherapy_dose.py +2 -1
  17. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/response.py +3 -3
  18. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/response_by_system.py +2 -2
  19. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/adverse_event.py +3 -2
  20. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/demographic.py +5 -4
  21. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/radiotherapy_dose.py +2 -1
  22. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/response.py +3 -3
  23. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/response_by_system.py +2 -2
  24. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/types.py +11 -5
  25. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54/nci_cidc_api_modules.egg-info}/PKG-INFO +1 -1
  26. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/nci_cidc_api_modules.egg-info/SOURCES.txt +1 -5
  27. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/setup.py +0 -1
  28. nci_cidc_api_modules-1.2.52/cidc_api/__init__.py +0 -1
  29. nci_cidc_api_modules-1.2.52/cidc_api/reference/ctcae.py +0 -34
  30. nci_cidc_api_modules-1.2.52/cidc_api/reference/gvhd.py +0 -6
  31. nci_cidc_api_modules-1.2.52/cidc_api/reference/icd10cm.py +0 -12
  32. nci_cidc_api_modules-1.2.52/cidc_api/reference/icdo3.py +0 -12
  33. nci_cidc_api_modules-1.2.52/cidc_api/reference/uberon.py +0 -5
  34. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/LICENSE +0 -0
  35. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/MANIFEST.in +0 -0
  36. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/README.md +0 -0
  37. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/boot.py +0 -0
  38. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/config/__init__.py +0 -0
  39. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/config/db.py +0 -0
  40. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/config/logging.py +0 -0
  41. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/config/secrets.py +0 -0
  42. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/config/settings.py +0 -0
  43. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/__init__.py +0 -0
  44. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/data.py +0 -0
  45. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/__init__.py +0 -0
  46. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/additional_treatment_orm.py +0 -0
  47. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/base_orm.py +0 -0
  48. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/baseline_clinical_assessment_orm.py +0 -0
  49. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/comorbidity_orm.py +0 -0
  50. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/consent_group_orm.py +0 -0
  51. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/disease_orm.py +0 -0
  52. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/exposure_orm.py +0 -0
  53. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/gvhd_diagnosis_acute_orm.py +0 -0
  54. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/gvhd_diagnosis_chronic_orm.py +0 -0
  55. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/gvhd_organ_acute_orm.py +0 -0
  56. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/gvhd_organ_chronic_orm.py +0 -0
  57. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/medical_history_orm.py +0 -0
  58. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/other_malignancy_orm.py +0 -0
  59. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/participant_orm.py +0 -0
  60. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/prior_treatment_orm.py +0 -0
  61. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/specimen_orm.py +0 -0
  62. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/stem_cell_transplant_orm.py +0 -0
  63. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/surgery_orm.py +0 -0
  64. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/therapy_agent_dose_orm.py +0 -0
  65. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/treatment_orm.py +0 -0
  66. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage1/trial_orm.py +0 -0
  67. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/__init__.py +0 -0
  68. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/additional_treatment_orm.py +0 -0
  69. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/administrative_person_orm.py +0 -0
  70. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/administrative_role_assignment_orm.py +0 -0
  71. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/arm_orm.py +0 -0
  72. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/base_orm.py +0 -0
  73. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/baseline_clinical_assessment_orm.py +0 -0
  74. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/cohort_orm.py +0 -0
  75. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/comorbidity_orm.py +0 -0
  76. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/consent_group_orm.py +0 -0
  77. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/contact_orm.py +0 -0
  78. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/disease_orm.py +0 -0
  79. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/exposure_orm.py +0 -0
  80. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/file_orm.py +0 -0
  81. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/gvhd_diagnosis_acute_orm.py +0 -0
  82. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/gvhd_diagnosis_chronic_orm.py +0 -0
  83. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/gvhd_organ_acute_orm.py +0 -0
  84. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/gvhd_organ_chronic_orm.py +0 -0
  85. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/institution_orm.py +0 -0
  86. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/medical_history_orm.py +0 -0
  87. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/other_clinical_endpoint_orm.py +0 -0
  88. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/other_malignancy_orm.py +0 -0
  89. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/participant_orm.py +0 -0
  90. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/prior_treatment_orm.py +0 -0
  91. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/publication_orm.py +0 -0
  92. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/shipment_orm.py +0 -0
  93. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/shipment_specimen_orm.py +0 -0
  94. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/specimen_orm.py +0 -0
  95. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/stem_cell_transplant_orm.py +0 -0
  96. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/surgery_orm.py +0 -0
  97. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/therapy_agent_dose_orm.py +0 -0
  98. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/treatment_orm.py +0 -0
  99. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/db/stage2/trial_orm.py +0 -0
  100. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/errors.py +0 -0
  101. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/files/__init__.py +0 -0
  102. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/files/details.py +0 -0
  103. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/files/facets.py +0 -0
  104. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/migrations.py +0 -0
  105. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/models.py +0 -0
  106. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/base.py +0 -0
  107. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/__init__.py +0 -0
  108. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/additional_treatment.py +0 -0
  109. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/baseline_clinical_assessment.py +0 -0
  110. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/comorbidity.py +0 -0
  111. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/consent_group.py +0 -0
  112. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/disease.py +0 -0
  113. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/exposure.py +0 -0
  114. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/gvhd_diagnosis_acute.py +0 -0
  115. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/gvhd_diagnosis_chronic.py +0 -0
  116. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/gvhd_organ_acute.py +0 -0
  117. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/gvhd_organ_chronic.py +0 -0
  118. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/medical_history.py +0 -0
  119. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/other_malignancy.py +0 -0
  120. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/participant.py +0 -0
  121. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/prior_treatment.py +0 -0
  122. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/specimen.py +0 -0
  123. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/stem_cell_transplant.py +0 -0
  124. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/surgery.py +0 -0
  125. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/therapy_agent_dose.py +0 -0
  126. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/treatment.py +0 -0
  127. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage1/trial.py +0 -0
  128. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/__init__.py +0 -0
  129. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/additional_treatment.py +0 -0
  130. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/administrative_person.py +0 -0
  131. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/administrative_role_assignment.py +0 -0
  132. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/arm.py +0 -0
  133. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/baseline_clinical_assessment.py +0 -0
  134. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/cohort.py +0 -0
  135. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/comorbidity.py +0 -0
  136. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/consent_group.py +0 -0
  137. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/contact.py +0 -0
  138. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/disease.py +0 -0
  139. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/exposure.py +0 -0
  140. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/file.py +0 -0
  141. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/gvhd_diagnosis_acute.py +0 -0
  142. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/gvhd_diagnosis_chronic.py +0 -0
  143. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/gvhd_organ_acute.py +0 -0
  144. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/gvhd_organ_chronic.py +0 -0
  145. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/institution.py +0 -0
  146. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/medical_history.py +0 -0
  147. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/other_clinical_endpoint.py +0 -0
  148. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/other_malignancy.py +0 -0
  149. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/participant.py +0 -0
  150. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/prior_treatment.py +0 -0
  151. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/publication.py +0 -0
  152. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/shipment.py +0 -0
  153. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/shipment_specimen.py +0 -0
  154. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/specimen.py +0 -0
  155. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/stem_cell_transplant.py +0 -0
  156. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/surgery.py +0 -0
  157. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/therapy_agent_dose.py +0 -0
  158. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/treatment.py +0 -0
  159. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/pydantic/stage2/trial.py +0 -0
  160. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/models/schemas.py +0 -0
  161. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/__init__.py +0 -0
  162. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/assay_handling.py +0 -0
  163. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/auth.py +0 -0
  164. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/email_layout.html +0 -0
  165. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/emails.py +0 -0
  166. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/file_handling.py +0 -0
  167. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/gcloud_client.py +0 -0
  168. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/jose.py +0 -0
  169. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/rest_utils.py +0 -0
  170. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/shared/utils.py +0 -0
  171. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/cidc_api/telemetry.py +0 -0
  172. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/nci_cidc_api_modules.egg-info/dependency_links.txt +0 -0
  173. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/nci_cidc_api_modules.egg-info/not-zip-safe +0 -0
  174. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/nci_cidc_api_modules.egg-info/requires.txt +0 -0
  175. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/nci_cidc_api_modules.egg-info/top_level.txt +0 -0
  176. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/pyproject.toml +0 -0
  177. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/requirements.modules.txt +0 -0
  178. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/setup.cfg +0 -0
  179. {nci_cidc_api_modules-1.2.52 → nci_cidc_api_modules-1.2.54}/tests/test_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nci_cidc_api_modules
3
- Version: 1.2.52
3
+ Version: 1.2.54
4
4
  Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
5
5
  Home-page: https://github.com/NCI-CIDC/cidc-api-gae
6
6
  License: MIT license
@@ -0,0 +1 @@
1
+ __version__ = "1.2.54"
@@ -0,0 +1,29 @@
1
+ from typing import Optional
2
+
3
+ from sqlalchemy import MetaData, String
4
+ from sqlalchemy.orm import declarative_base, mapped_column, Mapped
5
+
6
+ SCHEMA = "code_systems"
7
+
8
+ metadata_obj = MetaData(schema=SCHEMA)
9
+ Base = declarative_base(metadata=metadata_obj)
10
+
11
+
12
+ class Ctcae60(Base):
13
+ __tablename__ = "ctcae_60"
14
+
15
+ code: Mapped[str] = mapped_column(String(8), primary_key=True)
16
+ term: Mapped[Optional[str]] = mapped_column(String(255), nullable=True)
17
+
18
+ def __repr__(self) -> str:
19
+ return f"Ctcae60(code={self.code!r}, term={self.term!r})"
20
+
21
+
22
+ class Icdo3(Base):
23
+ __tablename__ = "icdo_3"
24
+
25
+ morphological_code: Mapped[str] = mapped_column(String(6), primary_key=True)
26
+ morphological_term: Mapped[Optional[str]] = mapped_column(String(255), nullable=True)
27
+
28
+ def __repr__(self) -> str:
29
+ return f"Icdo3(morphological_code={self.morphological_code!r}, morphological_term={self.morphological_term!r})"
@@ -13,6 +13,7 @@ from cidc_api.models.types import (
13
13
  SystemOrganClass,
14
14
  AttributionCause,
15
15
  AttributionLikelihood,
16
+ YN,
16
17
  YNU,
17
18
  )
18
19
 
@@ -33,7 +34,7 @@ class AdverseEventORM(BaseORM):
33
34
  severity_grade: Mapped[SeverityGrade]
34
35
  event_other_specify: Mapped[str | None]
35
36
  system_organ_class: Mapped[SystemOrganClass | None]
36
- discontinuation_due_to_event: Mapped[bool]
37
+ discontinuation_due_to_event: Mapped[YN]
37
38
  days_to_onset_of_event: Mapped[NonNegativeInt]
38
39
  days_to_resolution_of_event: Mapped[NonNegativeInt | None]
39
40
  serious_adverse_event: Mapped[YNU]
@@ -17,6 +17,7 @@ from cidc_api.models.types import (
17
17
  Occupation,
18
18
  Education,
19
19
  AgeAtEnrollmentUnits,
20
+ YN,
20
21
  )
21
22
 
22
23
 
@@ -29,7 +30,7 @@ class DemographicORM(BaseORM):
29
30
  participant_id: Mapped[int] = mapped_column(ForeignKey("stage1.participant.participant_id", ondelete="CASCADE"))
30
31
  age_at_enrollment: Mapped[PositiveInt | None]
31
32
  age_at_enrollment_units: Mapped[AgeAtEnrollmentUnits | None]
32
- age_90_or_over: Mapped[bool]
33
+ age_90_or_over: Mapped[YN]
33
34
  sex: Mapped[Sex]
34
35
  race: Mapped[List[Race]] = mapped_column(JSON)
35
36
  ethnicity: Mapped[Ethnicity]
@@ -9,8 +9,9 @@ from cidc_api.models.types import (
9
9
  RadiotherapyProcedure,
10
10
  UberonAnatomicalTerm,
11
11
  RadiotherapyDoseUnits,
12
- YNU,
13
12
  RadiationExtent,
13
+ YN,
14
+ YNU,
14
15
  )
15
16
 
16
17
 
@@ -26,7 +27,7 @@ class RadiotherapyDoseORM(BaseORM):
26
27
  days_to_end: Mapped[NonNegativeInt]
27
28
  procedure: Mapped[RadiotherapyProcedure]
28
29
  anatomical_location: Mapped[UberonAnatomicalTerm | None]
29
- is_total_dose: Mapped[bool]
30
+ is_total_dose: Mapped[YN]
30
31
  number_of_fractions: Mapped[NonNegativeInt | None]
31
32
  received_dose: Mapped[NonNegativeFloat]
32
33
  received_dose_units: Mapped[RadiotherapyDoseUnits]
@@ -4,7 +4,7 @@ from sqlalchemy import ForeignKey, String
4
4
  from sqlalchemy.orm import Mapped, mapped_column, relationship
5
5
 
6
6
  from cidc_api.models.db.stage1.base_orm import BaseORM
7
- from cidc_api.models.types import ResponseSystem, ResponseSystemVersion, BestOverallResponse, YNUNA
7
+ from cidc_api.models.types import ResponseSystem, ResponseSystemVersion, BestOverallResponse, YNUNA, YN
8
8
 
9
9
 
10
10
  class ResponseBySystemORM(BaseORM):
@@ -19,7 +19,7 @@ class ResponseBySystemORM(BaseORM):
19
19
  best_overall_response: Mapped[BestOverallResponse] = mapped_column(String)
20
20
  response_duration: Mapped[PositiveInt | None]
21
21
  duration_of_stable_disease: Mapped[PositiveInt | None]
22
- durable_clinical_benefit: Mapped[bool | None]
22
+ durable_clinical_benefit: Mapped[YN | None]
23
23
  days_to_first_response: Mapped[PositiveInt | None]
24
24
  days_to_best_response: Mapped[PositiveInt | None]
25
25
  progression: Mapped[YNUNA]
@@ -5,7 +5,7 @@ from sqlalchemy import ForeignKey
5
5
  from sqlalchemy.orm import Mapped, mapped_column, relationship
6
6
 
7
7
  from cidc_api.models.db.stage1.base_orm import BaseORM
8
- from cidc_api.models.types import SurvivalStatus, YNUNA, CauseOfDeath
8
+ from cidc_api.models.types import SurvivalStatus, YNUNA, CauseOfDeath, YN
9
9
 
10
10
 
11
11
  class ResponseORM(BaseORM):
@@ -21,8 +21,8 @@ class ResponseORM(BaseORM):
21
21
  pathological_complete_response: Mapped[YNUNA | None]
22
22
  days_to_death: Mapped[NonNegativeInt | None]
23
23
  cause_of_death: Mapped[CauseOfDeath | None]
24
- evaluable_for_toxicity: Mapped[bool]
25
- evaluable_for_efficacy: Mapped[bool]
24
+ evaluable_for_toxicity: Mapped[YN]
25
+ evaluable_for_efficacy: Mapped[YN]
26
26
  days_to_last_vital_status: Mapped[NonNegativeInt | None]
27
27
 
28
28
  participant: Mapped[ParticipantORM] = relationship(back_populates="response", cascade="all, delete")
@@ -13,6 +13,7 @@ from cidc_api.models.types import (
13
13
  SystemOrganClass,
14
14
  AttributionCause,
15
15
  AttributionLikelihood,
16
+ YN,
16
17
  YNU,
17
18
  )
18
19
 
@@ -33,7 +34,7 @@ class AdverseEventORM(BaseORM):
33
34
  severity_grade: Mapped[SeverityGrade]
34
35
  event_other_specify: Mapped[str | None]
35
36
  system_organ_class: Mapped[SystemOrganClass | None]
36
- discontinuation_due_to_event: Mapped[bool]
37
+ discontinuation_due_to_event: Mapped[YN]
37
38
  days_to_onset_of_event: Mapped[NonNegativeInt]
38
39
  days_to_resolution_of_event: Mapped[NonNegativeInt | None]
39
40
  serious_adverse_event: Mapped[YNU]
@@ -17,6 +17,7 @@ from cidc_api.models.types import (
17
17
  Occupation,
18
18
  Education,
19
19
  AgeAtEnrollmentUnits,
20
+ YN,
20
21
  )
21
22
 
22
23
 
@@ -29,7 +30,7 @@ class DemographicORM(BaseORM):
29
30
  participant_id: Mapped[int] = mapped_column(ForeignKey("stage2.participant.participant_id", ondelete="CASCADE"))
30
31
  age_at_enrollment: Mapped[PositiveInt | None]
31
32
  age_at_enrollment_units: Mapped[AgeAtEnrollmentUnits | None]
32
- age_90_or_over: Mapped[bool]
33
+ age_90_or_over: Mapped[YN]
33
34
  sex: Mapped[Sex]
34
35
  race: Mapped[List[Race]] = mapped_column(JSON)
35
36
  ethnicity: Mapped[Ethnicity]
@@ -9,6 +9,7 @@ from cidc_api.models.types import (
9
9
  RadiotherapyProcedure,
10
10
  UberonAnatomicalTerm,
11
11
  RadiotherapyDoseUnits,
12
+ YN,
12
13
  YNU,
13
14
  RadiationExtent,
14
15
  )
@@ -26,7 +27,7 @@ class RadiotherapyDoseORM(BaseORM):
26
27
  days_to_end: Mapped[NonNegativeInt]
27
28
  procedure: Mapped[RadiotherapyProcedure]
28
29
  anatomical_location: Mapped[UberonAnatomicalTerm | None]
29
- is_total_dose: Mapped[bool]
30
+ is_total_dose: Mapped[YN]
30
31
  number_of_fractions: Mapped[NonNegativeInt | None]
31
32
  received_dose: Mapped[NonNegativeFloat]
32
33
  received_dose_units: Mapped[RadiotherapyDoseUnits]
@@ -4,7 +4,7 @@ from sqlalchemy import ForeignKey, String
4
4
  from sqlalchemy.orm import Mapped, mapped_column, relationship
5
5
 
6
6
  from cidc_api.models.db.stage2.base_orm import BaseORM
7
- from cidc_api.models.types import ResponseSystem, ResponseSystemVersion, BestOverallResponse, YNUNA
7
+ from cidc_api.models.types import ResponseSystem, ResponseSystemVersion, BestOverallResponse, YNUNA, YN
8
8
 
9
9
 
10
10
  class ResponseBySystemORM(BaseORM):
@@ -19,7 +19,7 @@ class ResponseBySystemORM(BaseORM):
19
19
  best_overall_response: Mapped[BestOverallResponse] = mapped_column(String)
20
20
  response_duration: Mapped[PositiveInt | None]
21
21
  duration_of_stable_disease: Mapped[PositiveInt | None]
22
- durable_clinical_benefit: Mapped[bool | None]
22
+ durable_clinical_benefit: Mapped[YN | None]
23
23
  days_to_first_response: Mapped[PositiveInt | None]
24
24
  days_to_best_response: Mapped[PositiveInt | None]
25
25
  progression: Mapped[YNUNA]
@@ -5,7 +5,7 @@ from sqlalchemy import ForeignKey
5
5
  from sqlalchemy.orm import Mapped, mapped_column, relationship
6
6
 
7
7
  from cidc_api.models.db.stage2.base_orm import BaseORM
8
- from cidc_api.models.types import SurvivalStatus, YNUNA, CauseOfDeath
8
+ from cidc_api.models.types import SurvivalStatus, YNUNA, YN, CauseOfDeath
9
9
 
10
10
 
11
11
  class ResponseORM(BaseORM):
@@ -21,8 +21,8 @@ class ResponseORM(BaseORM):
21
21
  pathological_complete_response: Mapped[YNUNA | None]
22
22
  days_to_death: Mapped[NonNegativeInt | None]
23
23
  cause_of_death: Mapped[CauseOfDeath | None]
24
- evaluable_for_toxicity: Mapped[bool]
25
- evaluable_for_efficacy: Mapped[bool]
24
+ evaluable_for_toxicity: Mapped[YN]
25
+ evaluable_for_efficacy: Mapped[YN]
26
26
  days_to_last_vital_status: Mapped[NonNegativeInt | None]
27
27
 
28
28
  participant: Mapped[ParticipantORM] = relationship(back_populates="response", cascade="all, delete")
@@ -1,7 +1,7 @@
1
1
  from pydantic import NonNegativeInt
2
2
 
3
3
  from cidc_api.models.pydantic.base import Base
4
- from cidc_api.reference.ctcae import is_ctcae_other_term
4
+ from cidc_api.code_systems.ctcae import is_ctcae_other_term
5
5
  from cidc_api.models.pydantic.base import forced_validator, forced_validators
6
6
  from cidc_api.models.errors import ValueLocError
7
7
  from cidc_api.models.types import (
@@ -13,6 +13,7 @@ from cidc_api.models.types import (
13
13
  SystemOrganClass,
14
14
  AttributionCause,
15
15
  AttributionLikelihood,
16
+ YN,
16
17
  YNU,
17
18
  )
18
19
 
@@ -53,7 +54,7 @@ class AdverseEvent(Base):
53
54
  system_organ_class: SystemOrganClass | None = None
54
55
 
55
56
  # Indicator to identify whether a participant exited the study prematurely due to the adverse event being described.
56
- discontinuation_due_to_event: bool
57
+ discontinuation_due_to_event: YN
57
58
 
58
59
  # Days from enrollment date to date of onset of the adverse event.
59
60
  days_to_onset_of_event: NonNegativeInt
@@ -15,6 +15,7 @@ from cidc_api.models.types import (
15
15
  Occupation,
16
16
  Education,
17
17
  AgeAtEnrollmentUnits,
18
+ YN,
18
19
  )
19
20
 
20
21
 
@@ -39,7 +40,7 @@ class Demographic(Base):
39
40
 
40
41
  # Indicates whether the participant is 90 years old or over. (for PHI purposes)
41
42
  # CDE: https://cadsr.cancer.gov/onedata/dmdirect/NIH/NCI/CO/CDEDD?filter=CDEDD.ITEM_ID=15354920%20and%20ver_nr=1
42
- age_90_or_over: bool
43
+ age_90_or_over: YN
43
44
 
44
45
  # A textual description of a person's sex at birth. e.g. "Male"
45
46
  # CDE: https://cadsr.cancer.gov/onedata/dmdirect/NIH/NCI/CO/CDEDD?filter=CDEDD.ITEM_ID=7572817%20and%20ver_nr=3
@@ -100,13 +101,13 @@ class Demographic(Base):
100
101
  age_90_or_over = data.get("age_90_or_over", None)
101
102
  age_at_enrollment = int(data.get("age_at_enrollment", None) or 0)
102
103
 
103
- if age_90_or_over:
104
+ if age_90_or_over == "Yes":
104
105
  if age_at_enrollment or age_at_enrollment_units:
105
106
  raise ValueLocError(
106
107
  'If "age_90_or_over" is "Yes" then "age_at_enrollment" and "age_at_enrollment_units" must be blank.',
107
108
  loc="age_at_enrollment",
108
109
  )
109
- else:
110
+ elif age_90_or_over == "No":
110
111
  if not age_at_enrollment or not age_at_enrollment_units:
111
112
  raise ValueLocError(
112
113
  'If "age_90_or_over" is "No" then "age_at_enrollment" and "age_at_enrollment_units" are required.',
@@ -120,7 +121,7 @@ class Demographic(Base):
120
121
  age_90_or_over = data.get("age_90_or_over", None)
121
122
  age_at_enrollment = int(data.get("age_at_enrollment", None) or 0)
122
123
 
123
- if not age_90_or_over:
124
+ if age_90_or_over == "No":
124
125
  age_in_years = age_at_enrollment if age_at_enrollment_units == "Years" else age_at_enrollment / 365.25
125
126
  if age_in_years >= 90:
126
127
  raise ValueLocError(
@@ -4,6 +4,7 @@ from cidc_api.models.pydantic.base import forced_validator, forced_validators
4
4
  from cidc_api.models.errors import ValueLocError
5
5
  from cidc_api.models.pydantic.base import Base
6
6
  from cidc_api.models.types import (
7
+ YN,
7
8
  YNU,
8
9
  RadiotherapyProcedure,
9
10
  UberonAnatomicalTerm,
@@ -38,7 +39,7 @@ class RadiotherapyDose(Base):
38
39
 
39
40
  # Indicates whether the record represents the total dose for a radiotherapy treatment course (which may be either
40
41
  # a multi-fractionated or a single-fraction dose).
41
- is_total_dose: bool
42
+ is_total_dose: YN
42
43
 
43
44
  # The number of fractions a participant received to deliver the radiation dose.
44
45
  number_of_fractions: NonNegativeInt | None = None
@@ -3,7 +3,7 @@ from cidc_api.models.pydantic.base import forced_validator, forced_validators
3
3
 
4
4
  from cidc_api.models.errors import ValueLocError
5
5
  from cidc_api.models.pydantic.base import Base
6
- from cidc_api.models.types import SurvivalStatus, YNUNA, CauseOfDeath
6
+ from cidc_api.models.types import SurvivalStatus, YNUNA, YN, CauseOfDeath
7
7
 
8
8
 
9
9
  @forced_validators
@@ -39,10 +39,10 @@ class Response(Base):
39
39
  cause_of_death: CauseOfDeath | None = None
40
40
 
41
41
  # Indicates whether participant was evaluable for toxicity (adverse events, DLT, etc.) overall.
42
- evaluable_for_toxicity: bool
42
+ evaluable_for_toxicity: YN
43
43
 
44
44
  # Indicates whether participant was evaluable for efficacy (for example, response, PFS, OS, etc.) overall.
45
- evaluable_for_efficacy: bool
45
+ evaluable_for_efficacy: YN
46
46
 
47
47
  # Days from enrollment date to the last time the patient's vital status was verified.
48
48
  days_to_last_vital_status: NonNegativeInt | None = None
@@ -6,7 +6,7 @@ from cidc_api.models.pydantic.base import forced_validator, forced_validators
6
6
  from cidc_api.models.errors import ValueLocError
7
7
  from cidc_api.models.pydantic.base import Base
8
8
  from cidc_api.models.pydantic.stage1.response import Response
9
- from cidc_api.models.types import ResponseSystem, ResponseSystemVersion, BestOverallResponse, YNUNA
9
+ from cidc_api.models.types import ResponseSystem, ResponseSystemVersion, BestOverallResponse, YNUNA, YN
10
10
 
11
11
 
12
12
  negative_response_values = [
@@ -52,7 +52,7 @@ class ResponseBySystem(Base):
52
52
  duration_of_stable_disease: NonNegativeInt | None = None
53
53
 
54
54
  # Indicates whether a patient achieved a durable clinical benefit.
55
- durable_clinical_benefit: bool | None = None
55
+ durable_clinical_benefit: YN | None = None
56
56
 
57
57
  # Number of days between enrollment date and the date of first response to trial treatment.
58
58
  days_to_first_response: PositiveInt | None = None
@@ -3,7 +3,7 @@ from typing import Self
3
3
  from pydantic import NonNegativeInt, model_validator
4
4
 
5
5
  from cidc_api.models.pydantic.base import Base
6
- from cidc_api.reference.ctcae import is_ctcae_other_term
6
+ from cidc_api.code_systems.ctcae import is_ctcae_other_term
7
7
  from cidc_api.models.types import (
8
8
  CTCAEEventTerm,
9
9
  CTCAEEventCode,
@@ -14,6 +14,7 @@ from cidc_api.models.types import (
14
14
  AttributionCause,
15
15
  AttributionLikelihood,
16
16
  YNU,
17
+ YN,
17
18
  )
18
19
 
19
20
 
@@ -52,7 +53,7 @@ class AdverseEvent(Base):
52
53
  system_organ_class: SystemOrganClass | None = None
53
54
 
54
55
  # Indicator to identify whether a participant exited the study prematurely due to the adverse event being described.
55
- discontinuation_due_to_event: bool
56
+ discontinuation_due_to_event: YN
56
57
 
57
58
  # Days from enrollment date to date of onset of the adverse event.
58
59
  days_to_onset_of_event: NonNegativeInt
@@ -13,6 +13,7 @@ from cidc_api.models.types import (
13
13
  Occupation,
14
14
  Education,
15
15
  AgeAtEnrollmentUnits,
16
+ YN,
16
17
  )
17
18
 
18
19
 
@@ -36,7 +37,7 @@ class Demographic(Base):
36
37
 
37
38
  # Indicates whether the participant is 90 years old or over. (for PHI purposes)
38
39
  # CDE: https://cadsr.cancer.gov/onedata/dmdirect/NIH/NCI/CO/CDEDD?filter=CDEDD.ITEM_ID=15354920%20and%20ver_nr=1
39
- age_90_or_over: bool
40
+ age_90_or_over: YN
40
41
 
41
42
  # A textual description of a person's sex at birth. e.g. "Male"
42
43
  # CDE: https://cadsr.cancer.gov/onedata/dmdirect/NIH/NCI/CO/CDEDD?filter=CDEDD.ITEM_ID=7572817%20and%20ver_nr=3
@@ -92,12 +93,12 @@ class Demographic(Base):
92
93
 
93
94
  @model_validator(mode="after")
94
95
  def validate_age_at_enrollment_cr(self) -> Self:
95
- if self.age_90_or_over:
96
+ if self.age_90_or_over == "Yes":
96
97
  if self.age_at_enrollment or self.age_at_enrollment_units:
97
98
  raise ValueError(
98
99
  'If "age_90_or_over" is "Yes" then "age_at_enrollment" and "age_at_enrollment_units" must be blank.'
99
100
  )
100
- else:
101
+ elif self.age_90_or_over == "No":
101
102
  if not self.age_at_enrollment or not self.age_at_enrollment_units:
102
103
  raise ValueError(
103
104
  'If "age_90_or_over" is "No" then "age_at_enrollment" and "age_at_enrollment_units" are required.'
@@ -106,7 +107,7 @@ class Demographic(Base):
106
107
 
107
108
  @model_validator(mode="after")
108
109
  def validate_age_at_enrollment_value(self) -> Self:
109
- if not self.age_90_or_over:
110
+ if self.age_90_or_over == "No":
110
111
  age_in_years = (
111
112
  self.age_at_enrollment if self.age_at_enrollment_units == "Years" else self.age_at_enrollment / 365.25
112
113
  )
@@ -4,6 +4,7 @@ from pydantic import NonNegativeInt, NonNegativeFloat, model_validator
4
4
 
5
5
  from cidc_api.models.pydantic.base import Base
6
6
  from cidc_api.models.types import (
7
+ YN,
7
8
  YNU,
8
9
  RadiotherapyProcedure,
9
10
  UberonAnatomicalTerm,
@@ -37,7 +38,7 @@ class RadiotherapyDose(Base):
37
38
 
38
39
  # Indicates whether the record represents the total dose for a radiotherapy treatment course (which may be either
39
40
  # a multi-fractionated or a single-fraction dose).
40
- is_total_dose: bool
41
+ is_total_dose: YN
41
42
 
42
43
  # The number of fractions a participant received to deliver the radiation dose.
43
44
  number_of_fractions: NonNegativeInt | None = None
@@ -3,7 +3,7 @@ from typing import Self
3
3
  from pydantic import NonNegativeInt, model_validator
4
4
 
5
5
  from cidc_api.models.pydantic.base import Base
6
- from cidc_api.models.types import SurvivalStatus, YNUNA, CauseOfDeath
6
+ from cidc_api.models.types import SurvivalStatus, YN, YNUNA, CauseOfDeath
7
7
 
8
8
 
9
9
  class Response(Base):
@@ -38,10 +38,10 @@ class Response(Base):
38
38
  cause_of_death: CauseOfDeath | None = None
39
39
 
40
40
  # Indicates whether participant was evaluable for toxicity (adverse events, DLT, etc.) overall.
41
- evaluable_for_toxicity: bool
41
+ evaluable_for_toxicity: YN
42
42
 
43
43
  # Indicates whether participant was evaluable for efficacy (for example, response, PFS, OS, etc.) overall.
44
- evaluable_for_efficacy: bool
44
+ evaluable_for_efficacy: YN
45
45
 
46
46
  # Days from enrollment date to the last time the patient's vital status was verified.
47
47
  days_to_last_vital_status: NonNegativeInt | None = None # TODO: Needs CR check
@@ -3,7 +3,7 @@ from typing import Self
3
3
  from pydantic import PositiveInt, model_validator, NonNegativeInt
4
4
 
5
5
  from cidc_api.models.pydantic.base import Base
6
- from cidc_api.models.types import ResponseSystem, ResponseSystemVersion, BestOverallResponse, YNUNA
6
+ from cidc_api.models.types import ResponseSystem, ResponseSystemVersion, BestOverallResponse, YNUNA, YN
7
7
 
8
8
 
9
9
  negative_response_values = [
@@ -45,7 +45,7 @@ class ResponseBySystem(Base):
45
45
  duration_of_stable_disease: NonNegativeInt | None = None
46
46
 
47
47
  # Indicates whether a patient achieved a durable clinical benefit.
48
- durable_clinical_benefit: bool | None = None
48
+ durable_clinical_benefit: YN | None = None
49
49
 
50
50
  # Number of days between enrollment date and the date of first response to trial treatment.
51
51
  days_to_first_response: PositiveInt | None = None
@@ -3,19 +3,19 @@ from typing import Annotated, Literal
3
3
  from pydantic import AfterValidator
4
4
  from sqlalchemy.types import TypeDecorator, Unicode
5
5
 
6
- from cidc_api.reference.icdo3 import is_ICDO3_code, is_ICDO3_term
7
- from cidc_api.reference.uberon import is_uberon_term
8
- from cidc_api.reference.ctcae import (
6
+ from cidc_api.code_systems.icdo3 import is_ICDO3_code, is_ICDO3_term
7
+ from cidc_api.code_systems.uberon import is_uberon_term
8
+ from cidc_api.code_systems.ctcae import (
9
9
  is_ctcae_event_term,
10
10
  is_ctcae_event_code,
11
11
  is_ctcae_severity_grade,
12
12
  is_ctcae_system_organ_class,
13
13
  )
14
- from cidc_api.reference.icd10cm import (
14
+ from cidc_api.code_systems.icd10cm import (
15
15
  is_ICD10CM_code,
16
16
  is_ICD10CM_term,
17
17
  )
18
- from cidc_api.reference.gvhd import is_gvhd_organ
18
+ from cidc_api.code_systems.gvhd import is_gvhd_organ
19
19
 
20
20
  # As python Enums are rather cumbersome when we only want a list of permissible values for a string, use Literal instead
21
21
 
@@ -468,6 +468,12 @@ MCategory = Literal[
468
468
  ]
469
469
 
470
470
 
471
+ YN = Literal[
472
+ "Yes",
473
+ "No",
474
+ ]
475
+
476
+
471
477
  YNU = Literal[
472
478
  "Yes",
473
479
  "No",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nci_cidc_api_modules
3
- Version: 1.2.52
3
+ Version: 1.2.54
4
4
  Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
5
5
  Home-page: https://github.com/NCI-CIDC/cidc-api-gae
6
6
  License: MIT license
@@ -13,6 +13,7 @@ cidc_api/config/logging.py
13
13
  cidc_api/config/secrets.py
14
14
  cidc_api/config/settings.py
15
15
  cidc_api/models/__init__.py
16
+ cidc_api/models/code_systems.py
16
17
  cidc_api/models/data.py
17
18
  cidc_api/models/errors.py
18
19
  cidc_api/models/migrations.py
@@ -151,11 +152,6 @@ cidc_api/models/pydantic/stage2/surgery.py
151
152
  cidc_api/models/pydantic/stage2/therapy_agent_dose.py
152
153
  cidc_api/models/pydantic/stage2/treatment.py
153
154
  cidc_api/models/pydantic/stage2/trial.py
154
- cidc_api/reference/ctcae.py
155
- cidc_api/reference/gvhd.py
156
- cidc_api/reference/icd10cm.py
157
- cidc_api/reference/icdo3.py
158
- cidc_api/reference/uberon.py
159
155
  cidc_api/shared/__init__.py
160
156
  cidc_api/shared/assay_handling.py
161
157
  cidc_api/shared/auth.py
@@ -13,7 +13,6 @@ from cidc_api import __version__
13
13
  packages = [
14
14
  "cidc_api.config",
15
15
  "cidc_api.models",
16
- "cidc_api.reference",
17
16
  "cidc_api.shared",
18
17
  ]
19
18
  packages += find_namespace_packages(include=["cidc_api.models.*"])
@@ -1 +0,0 @@
1
- __version__ = "1.2.52"
@@ -1,34 +0,0 @@
1
- # Stubbed to accept any string
2
- def is_ctcae_event_term(v):
3
- if not isinstance(v, str):
4
- raise TypeError("Value must be a string")
5
- return v
6
-
7
-
8
- # Stubbed to accept any string
9
- def is_ctcae_event_code(v):
10
- if not isinstance(v, str):
11
- raise TypeError("Value must be a string")
12
- return v
13
-
14
-
15
- # Stubbed to accept any string
16
- def is_ctcae_severity_grade(v):
17
- if not isinstance(v, str):
18
- raise TypeError("Value must be a string")
19
- return v
20
-
21
-
22
- # Stubbed to accept any string
23
- def is_ctcae_system_organ_class(v):
24
- if not isinstance(v, str):
25
- raise TypeError("Value must be a string")
26
- return v
27
-
28
-
29
- # Determines if the CTCAE term is one of the "Other, specify" types of terms for which we include
30
- # additional data about the AE.
31
- def is_ctcae_other_term(v):
32
- if isinstance(v, str):
33
- return "Other, specify" in v
34
- return False
@@ -1,6 +0,0 @@
1
- # Stubbed to accept any string
2
- # Should support MAGIC and Modified Glucksberg
3
- def is_gvhd_organ(v):
4
- if not isinstance(v, str):
5
- raise TypeError("Value must be a string")
6
- return v
@@ -1,12 +0,0 @@
1
- # Stubbed to accept any string
2
- def is_ICD10CM_code(v):
3
- if not isinstance(v, str):
4
- raise TypeError("Value must be a string")
5
- return v
6
-
7
-
8
- # Stubbed to accept any string
9
- def is_ICD10CM_term(v):
10
- if not isinstance(v, str):
11
- raise TypeError("Value must be a string")
12
- return v
@@ -1,12 +0,0 @@
1
- # Stubbed to accept any string
2
- def is_ICDO3_code(v):
3
- if not isinstance(v, str):
4
- raise TypeError("Value must be a string")
5
- return v
6
-
7
-
8
- # Stubbed to accept any string
9
- def is_ICDO3_term(v):
10
- if not isinstance(v, str):
11
- raise TypeError("Value must be a string")
12
- return v
@@ -1,5 +0,0 @@
1
- # Stubbed to accept any string
2
- def is_uberon_term(v):
3
- if not isinstance(v, str):
4
- raise TypeError("Value must be a string")
5
- return v