Component
type: Class
comment: TBD
subclass of: Thing
is part of: schema.biothings.io
display name: Component
required: sms:true

Patient
type: Class
comment: TBD
subclass of: DataType
is part of: schema.biothings.io
display name: Patient
required: sms:false
requires dependency: PatientID
requires dependency: Sex
requires dependency: YearofBirth
requires dependency: Diagnosis
requires dependency: Component

PatientID
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Patient ID
required: sms:true
validation rules:
  biospecimen: unique error
  patient: unique warning

Sex
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Female
range includes: Male
range includes: Other
display name: Sex
required: sms:true

YearofBirth
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Year of Birth
required: sms:false

Diagnosis
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Healthy
range includes: Cancer
display name: Diagnosis
required: sms:true

DataType
type: Class
comment: TBD
subclass of: Thing
is part of: schema.biothings.io
display name: DataType
required: sms:false

DataProperty
type: Class
comment: TBD
subclass of: Thing
is part of: schema.biothings.io
display name: DataProperty
required: sms:false

Female
type: Class
comment: TBD
subclass of: Sex
is part of: schema.biothings.io
display name: Female
required: sms:false

Male
type: Class
comment: TBD
subclass of: Sex
is part of: schema.biothings.io
display name: Male
required: sms:false

Other
type: Class
comment: TBD
subclass of: Sex
is part of: schema.biothings.io
display name: Other
required: sms:false

Healthy
type: Class
comment: TBD
subclass of: Diagnosis
subclass of: TissueStatus
is part of: schema.biothings.io
display name: Healthy
required: sms:false

Cancer
type: Class
comment: TBD
subclass of: ValidValue
subclass of: Diagnosis
is part of: schema.biothings.io
display name: Cancer
required: sms:false
requires dependency: CancerType
requires dependency: FamilyHistory

CancerType
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Breast
range includes: Colorectal
range includes: Lung
range includes: Prostate
range includes: Skin
display name: Cancer Type
required: sms:true

FamilyHistory
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Breast
range includes: Colorectal
range includes: Lung
range includes: Prostate
range includes: Skin
display name: Family History
required: sms:true
validation rules: list strict

ValidValue
type: Class
comment: TBD
subclass of: Thing
is part of: schema.biothings.io
display name: ValidValue
required: sms:false

Breast
type: Class
comment: TBD
subclass of: CancerType
subclass of: FamilyHistory
is part of: schema.biothings.io
display name: Breast
required: sms:false

Colorectal
type: Class
comment: TBD
subclass of: CancerType
subclass of: FamilyHistory
is part of: schema.biothings.io
display name: Colorectal
required: sms:false

Lung
type: Class
comment: TBD
subclass of: CancerType
subclass of: FamilyHistory
is part of: schema.biothings.io
display name: Lung
required: sms:false

Prostate
type: Class
comment: TBD
subclass of: CancerType
subclass of: FamilyHistory
is part of: schema.biothings.io
display name: Prostate
required: sms:false

Skin
type: Class
comment: TBD
subclass of: CancerType
subclass of: FamilyHistory
is part of: schema.biothings.io
display name: Skin
required: sms:false

Biospecimen
type: Class
comment: TBD
subclass of: DataType
is part of: schema.biothings.io
display name: Biospecimen
required: sms:false
requires component: Patient
requires dependency: SampleID
requires dependency: PatientID
requires dependency: TissueStatus
requires dependency: Component

SampleID
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Sample ID
required: sms:true

TissueStatus
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Healthy
range includes: Malignant
range includes: None
display name: Tissue Status
required: sms:true

Malignant
type: Class
comment: TBD
subclass of: TissueStatus
is part of: schema.biothings.io
display name: Malignant
required: sms:false

None
type: Class
comment: TBD
subclass of: TissueStatus
is part of: schema.biothings.io
display name: None
required: sms:false

BulkRNA-seqAssay
type: Class
comment: TBD
subclass of: DataType
is part of: schema.biothings.io
display name: Bulk RNA-seq Assay
required: sms:false
requires component: Biospecimen
requires dependency: Filename
requires dependency: SampleID
requires dependency: FileFormat
requires dependency: Component

Filename
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Filename
required: sms:true
validation rules:
  mock filename: filenameExists

FileFormat
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: FASTQ
range includes: BAM
range includes: CRAM
range includes: CSV/TSV
display name: File Format
required: sms:true

FASTQ
type: Class
comment: TBD
subclass of: FileFormat
is part of: schema.biothings.io
display name: FASTQ
required: sms:false

BAM
type: Class
comment: TBD
subclass of: ValidValue
subclass of: FileFormat
is part of: schema.biothings.io
display name: BAM
required: sms:false
requires dependency: GenomeBuild

CRAM
type: Class
comment: TBD
subclass of: ValidValue
subclass of: FileFormat
is part of: schema.biothings.io
display name: CRAM
required: sms:false
requires dependency: GenomeBuild
requires dependency: GenomeFASTA

CSV/TSV
type: Class
comment: TBD
subclass of: ValidValue
subclass of: FileFormat
is part of: schema.biothings.io
display name: CSV/TSV
required: sms:false
requires dependency: GenomeBuild

GenomeBuild
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: GRCh37
range includes: GRCh38
range includes: GRCm38
range includes: GRCm39
display name: Genome Build
required: sms:true

GenomeFASTA
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Genome FASTA
required: sms:true

GRCh37
type: Class
comment: TBD
subclass of: GenomeBuild
is part of: schema.biothings.io
display name: GRCh37
required: sms:false

GRCh38
type: Class
comment: TBD
subclass of: GenomeBuild
is part of: schema.biothings.io
display name: GRCh38
required: sms:false

GRCm38
type: Class
comment: TBD
subclass of: GenomeBuild
is part of: schema.biothings.io
display name: GRCm38
required: sms:false

GRCm39
type: Class
comment: TBD
subclass of: GenomeBuild
is part of: schema.biothings.io
display name: GRCm39
required: sms:false

MockComponent
type: Class
comment: Component to hold mock attributes for testing all validation rules
subclass of: DataType
is part of: schema.biothings.io
display name: MockComponent
required: sms:false
requires dependency: Component
requires dependency: CheckList
requires dependency: CheckListEnum
requires dependency: CheckListLike
requires dependency: CheckListLikeEnum
requires dependency: CheckListStrict
requires dependency: CheckListEnumStrict
requires dependency: CheckRegexList
requires dependency: CheckRegexListLike
requires dependency: CheckRegexListStrict
requires dependency: CheckRegexSingle
requires dependency: CheckRegexFormat
requires dependency: CheckRegexInteger
requires dependency: CheckNum
requires dependency: CheckFloat
requires dependency: CheckInt
requires dependency: CheckString
requires dependency: CheckURL
requires dependency: CheckMatchatLeast
requires dependency: CheckMatchatLeastvalues
requires dependency: CheckMatchExactly
requires dependency: CheckMatchExactlyvalues
requires dependency: CheckMatchNone
requires dependency: CheckMatchNonevalues
requires dependency: CheckRecommended
requires dependency: CheckAges
requires dependency: CheckUnique
requires dependency: CheckRange
requires dependency: CheckDate
requires dependency: CheckNA

CheckList
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check List
required: sms:true
validation rules: list

CheckListEnum
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Ab
range includes: Cd
range includes: Ef
range includes: Gh
display name: Check List Enum
required: sms:true
validation rules: list

CheckListLike
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check List Like
required: sms:true
validation rules: list like

CheckListLikeEnum
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Ab
range includes: Cd
range includes: Ef
range includes: Gh
display name: Check List Like Enum
required: sms:true
validation rules: list like

CheckListStrict
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check List Strict
required: sms:true
validation rules: list strict

CheckListEnumStrict
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Ab
range includes: Cd
range includes: Ef
range includes: Gh
display name: Check List Enum Strict
required: sms:true
validation rules: list strict

CheckRegexList
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Regex List
required: sms:true
validation rules: list
validation rules: regex match [a-f]

CheckRegexListLike
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Regex List Like
required: sms:true
validation rules: list like
validation rules: regex match [a-f]

CheckRegexListStrict
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Regex List Strict
required: sms:true
validation rules: list strict
validation rules: regex match [a-f]

CheckRegexSingle
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Regex Single
required: sms:true
validation rules: regex search [a-f]

CheckRegexFormat
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Regex Format
required: sms:true
validation rules: regex match [a-f]

CheckRegexInteger
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Regex Integer
required: sms:true
validation rules: regex search ^\d+$

CheckNum
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Num
required: sms:true
validation rules: num error

CheckFloat
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Float
required: sms:true
validation rules: float error

CheckInt
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Int
required: sms:true
validation rules: int error

CheckString
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check String
required: sms:true
validation rules: str error

CheckURL
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check URL
required: sms:true
validation rules: url

CheckMatchatLeast
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Match at Least
required: sms:true
validation rules: matchAtLeastOne Patient.PatientID set

CheckMatchatLeastvalues
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Match at Least values
required: sms:true
validation rules: matchAtLeastOne MockComponent.checkMatchatLeastvalues value

CheckMatchExactly
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Match Exactly
required: sms:true
validation rules: matchExactlyOne MockComponent.checkMatchExactly set

CheckMatchExactlyvalues
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Match Exactly values
required: sms:true
validation rules: matchExactlyOne MockComponent.checkMatchExactlyvalues value

CheckMatchNone
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Match None
required: sms:true
validation rules: matchNone MockComponent.checkMatchNone set error

CheckMatchNonevalues
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Match None values
required: sms:true
validation rules: matchNone MockComponent.checkMatchNonevalues value error

CheckRecommended
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Recommended
required: sms:false
validation rules: recommended

CheckAges
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Ages
required: sms:true
validation rules: protectAges

CheckUnique
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Unique
required: sms:true
validation rules: unique error

CheckRange
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Range
required: sms:true
validation rules: inRange 50 100 error

CheckDate
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check Date
required: sms:true
validation rules: date

CheckNA
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Check NA
required: sms:true
validation rules: int
validation rules: IsNA

Ab
type: Class
comment: TBD
subclass of: CheckListEnum
subclass of: CheckListLikeEnum
subclass of: CheckListEnumStrict
subclass of: Enum
subclass of: EnumNotRequired
subclass of: ListEnum
subclass of: ListEnumNotRequired
is part of: schema.biothings.io
display name: ab
required: sms:false

Cd
type: Class
comment: TBD
subclass of: CheckListEnum
subclass of: CheckListLikeEnum
subclass of: CheckListEnumStrict
subclass of: Enum
subclass of: EnumNotRequired
subclass of: ListEnum
subclass of: ListEnumNotRequired
is part of: schema.biothings.io
display name: cd
required: sms:false

Ef
type: Class
comment: TBD
subclass of: CheckListEnum
subclass of: CheckListLikeEnum
subclass of: CheckListEnumStrict
subclass of: Enum
subclass of: EnumNotRequired
subclass of: ListEnum
subclass of: ListEnumNotRequired
is part of: schema.biothings.io
display name: ef
required: sms:false

Gh
type: Class
comment: TBD
subclass of: CheckListEnum
subclass of: CheckListLikeEnum
subclass of: CheckListEnumStrict
subclass of: Enum
subclass of: EnumNotRequired
subclass of: ListEnum
subclass of: ListEnumNotRequired
is part of: schema.biothings.io
display name: gh
required: sms:false

MockRDB
type: Class
comment: TBD
subclass of: DataType
is part of: schema.biothings.io
display name: MockRDB
required: sms:false
requires dependency: Component
requires dependency: MockRDBId
requires dependency: SourceManifest

MockRDBId
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: MockRDB_id
required: sms:true
validation rules: int

SourceManifest
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: SourceManifest
required: sms:true

MockFilename
type: Class
comment: TBD
subclass of: DataType
is part of: schema.biothings.io
display name: MockFilename
required: sms:false
requires dependency: Component
requires dependency: Filename

JSONSchemaComponent
type: Class
comment: Component to hold attributes for testing JSON Schemas
subclass of: DataType
is part of: schema.biothings.io
display name: JSONSchemaComponent
required: sms:false
requires dependency: Component
requires dependency: NoRules
requires dependency: NoRulesNotRequired
requires dependency: String
requires dependency: StringNotRequired
requires dependency: Enum
requires dependency: EnumNotRequired
requires dependency: Date
requires dependency: URL
requires dependency: InRange
requires dependency: Regex
requires dependency: List
requires dependency: ListNotRequired
requires dependency: ListEnum
requires dependency: ListEnumNotRequired
requires dependency: ListString
requires dependency: ListInRange

NoRules
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: No Rules
required: sms:true

NoRulesNotRequired
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: No Rules Not Required
required: sms:false

String
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: String
required: sms:true
validation rules: str error

StringNotRequired
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: String Not Required
required: sms:false
validation rules: str error

Enum
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Ab
range includes: Cd
range includes: Ef
range includes: Gh
display name: Enum
required: sms:true

EnumNotRequired
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Ab
range includes: Cd
range includes: Ef
range includes: Gh
display name: Enum Not Required
required: sms:false

Date
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Date
required: sms:true
validation rules: date

URL
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: URL
required: sms:true
validation rules: url

InRange
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: InRange
required: sms:true
validation rules: inRange 50 100

Regex
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: Regex
required: sms:true
validation rules: regex search [a-f]

List
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: List
required: sms:true
validation rules: list

ListNotRequired
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: List Not Required
required: sms:false
validation rules: list

ListEnum
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Ab
range includes: Cd
range includes: Ef
range includes: Gh
display name: List Enum
required: sms:true
validation rules: list

ListEnumNotRequired
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
range includes: Ab
range includes: Cd
range includes: Ef
range includes: Gh
display name: List Enum Not Required
required: sms:false
validation rules: list

ListString
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: List String
required: sms:true
validation rules: list
validation rules: str

ListInRange
type: Class
comment: TBD
subclass of: DataProperty
is part of: schema.biothings.io
display name: List InRange
required: sms:true
validation rules: list
validation rules: inRange 50 100