MoonBit ICD-10/ICD-11 parsing, catalog queries, delimited import, batch validation, deterministic reports, and CLI workflows.
moon check --target all --deny-warn
moon test --target all --deny-warn
moon run cmd/main -- check I10
moon run cmd/main -- chapter J45
moon run cmd/main -- prefix A00
moon run cmd/main -- search diabetes
moon run cmd/main -- batch I10,B20,bad
moon run cmd/main -- stats///|
test {
let code = parse_icd10(" a00.0 ")
inspect(code.canonical(), content="A00.0")
let report = validate_icd10("B20")
debug_inspect(report.status, content="Valid")
assert_true(format_report(report).contains("exclusion hint"))
}code,title,chapter_id,parent,excludes,note
I10,Essential hypertension,IX,,,examplemoon run cmd/main -- check I10
moon run cmd/main -- chapter J45
moon run cmd/main -- prefix A00
moon run cmd/main -- search diabetes
moon run cmd/main -- batch I10,B20,bad
moon run cmd/main -- stats| Area | Files | Responsibility |
|---|---|---|
| Domain model | types.mbt, errors.mbt | Public records, statuses, and errors |
| Parsing | normalization.mbt, parser.mbt | Canonical forms and ICD syntax |
| Ranges | ranges.mbt, range_tools.mbt | Chapters, rank boundaries, partitions |
| Catalog | catalog*.mbt, advanced_query.mbt | Invariants, queries, search, fixtures |
| Data pipeline | delimited_reader.mbt, delimited_writer.mbt | CSV/TSV import and export |
| Validation | validate.mbt, batch_validation.mbt, validation_policy.mbt | Single and batch workflows |
| Reporting | analytics.mbt, report_rendering.mbt, data_quality.mbt | Metrics, audits, deterministic output |
| Executables | cmd/main, cmd/benchmark | CLI usage and reproducible workload |
moon run cmd/benchmark -- --rounds 1000moon version --all
moon update
moon fmt --check
moon check --target all --deny-warn
moon test --target all --deny-warn
moon test --target native --enable-coverage --deny-warn
moon info
git diff --exit-codepub struct BatchItem {
line : Int
input : String
report : ValidationReport
} derive(Eq, ToJson, Debug)pub struct BatchSummary {
total : Int
valid : Int
unknown : Int
invalid : Int
chapters : Array[ChapterCount]
} derive(Eq, ToJson, Debug)pub struct IcdCode {
edition : IcdEdition
raw : String
stem : String
category : String
subcategory : String?
numeric : Int
extension : String?
} derive(Eq, ToJson, Debug)fn ImportOptions::new(has_header : Bool, delimiter : Delimiter, reject_unknown_columns : Bool) -> ImportOptionspub struct ValidationReport {
input : String
normalized : String?
status : ValidationStatus
chapter : IcdChapter?
entry : IcdEntry?
issues : Array[ValidationIssue]
} derive(Eq, ToJson, Debug)fn validate_with_policy(catalog : Catalog, input : String, policy : ValidationPolicy) -> ValidationReportMoonBit ICD-10/ICD-11 parsing, catalog queries, delimited import, batch validation, deterministic reports, and CLI workflows.