Skip to content

Instantly share code, notes, and snippets.

@un-ro
Last active February 18, 2026 03:42
Show Gist options
  • Select an option

  • Save un-ro/2803179f548270e69ef0f5e8f804be27 to your computer and use it in GitHub Desktop.

Select an option

Save un-ro/2803179f548270e69ef0f5e8f804be27 to your computer and use it in GitHub Desktop.
Integrasi Satusehat Odontogram dengan Tumbuhsehat

Odontogram Data

Pengiriman data pemeriksaan Odontogram terdiri atas pengiriman data odontogram, occlusi, torus palatinus, torus mandibularis, palatum, diastema, gigi anomali, kondisi gigi dan mulut lainnya, jumlah gigi decayed, jumlah gigi missing, nama dokter pemeriksa, dan tanggal pemeriksaan menggunakan Resources Observation.

Sumber informasi:

Odontogram

Data odontogram setiap index gigi dan sangat kompleks dari struktur data, dengan contoh payload:

  • .../docs/satusehat/05-odontogram/payload-example-a.json (Gigi 11)
  • .../docs/satusehat/05-odontogram/payload-example-b (Gigi 12)
  • .../docs/satusehat/05-odontogram/payload-example-c (Gigi 15)

Data yang dinamik dan cukup kompleks namun memungkinkan pola:

  • bodySite = hanya perlu dinamik pada coding.code dan coding.display untuk:
    1. Nomenklatur Gigi FDI, memilih indeks gigi
  • component = array of objects dengan beberapa subdata yang nested object (Observation.component.code & Observation.component.valueCodeableConcept), digunakan untuk input:
no component categoryCode
1 Permukaan gigi surf
2 Keadaan Gigi cond
3 Bahan Restorasi mtr
4 Restorasi res
5 Bahan Protesa mpr
6 Protesa pro

Nomenklatur Gigi FDI

Terminologi bodySite.coding.code dan bodySite.coding.display:

code display indeks gigi
422653006 Structure of permanent maxillary right central incisor tooth 11
424877001 Structure of permanent maxillary right lateral incisor tooth 12
860767006 Structure of permanent maxillary right canine tooth 13
57826002 Structure of permanent maxillary right first premolar tooth 14
36492000 Structure of permanent maxillary right second premolar tooth 15
865995000 Structure of permanent maxillary right first molar tooth 16
863902006 Structure of permanent maxillary right second molar tooth 17
68085002 Structure of permanent maxillary right third molar tooth 18
424399000 Structure of permanent maxillary left central incisor tooth 21
423185002 Structure of permanent maxillary left lateral incisor tooth 22
860780009 Structure of permanent maxillary left canine tooth 23
61897005 Structure of permanent maxillary left first premolar tooth 24
23226009 Structure of permanent maxillary left second premolar tooth 25
865988009 Structure of permanent maxillary left first molar tooth 26
863901004 Structure of permanent maxillary left second molar tooth 27
87704003 Structure of permanent maxillary left third molar tooth 28
425106001 Structure of permanent mandibular left central incisor tooth 31
423331005 Structure of permanent mandibular left lateral incisor tooth 32
860782001 Structure of permanent mandibular left canine tooth 33
2400006 Structure of permanent mandibular left first premolar tooth 34
24573005 Structure of permanent mandibular left second premolar tooth 35
866006002 Structure of permanent mandibular left first molar tooth 36
863898000 Structure of permanent mandibular left second molar tooth 37
74344005 Structure of permanent mandibular left third molar tooth 38
424575004 Structure of permanent mandibular right central incisor tooth 41
423937004 Structure of permanent mandibular right lateral incisor tooth 42
860785004 Structure of permanent mandibular right canine tooth 43
80140008 Structure of permanent mandibular right first premolar tooth 44
8873007 Structure of permanent mandibular right second premolar tooth 45
866005003 Structure of permanent mandibular right first molar tooth 46
863899008 Structure of permanent mandibular right second molar tooth 47
38994002 Structure of permanent mandibular right third molar tooth 48
88824007 Structure of deciduous maxillary right central incisor tooth 51
65624003 Structure of deciduous maxillary right lateral incisor tooth 52
30618001 Structure of deciduous maxillary right canine tooth 53
17505006 Structure of deciduous maxillary right first molar tooth 54
27855007 Structure of deciduous maxillary right second molar tooth 55
51678005 Structure of deciduous maxillary left central incisor tooth 61
43622005 Structure of deciduous maxillary left lateral incisor tooth 62
73937000 Structure of deciduous maxillary left canine tooth 63
45234009 Structure of deciduous maxillary left first molar tooth 64
51943008 Structure of deciduous maxillary left second molar tooth 65
89552004 Structure of deciduous mandibular left central incisor tooth 71
14770005 Structure of deciduous mandibular left lateral incisor tooth 72
43281008 Structure of deciduous mandibular left canine tooth 73
38896004 Structure of deciduous mandibular left first molar tooth 74
49330006 Structure of deciduous mandibular left second molar tooth 75
67834006 Structure of deciduous mandibular right central incisor tooth 81
22445006 Structure of deciduous mandibular right lateral incisor tooth 82
6062009 Structure of deciduous mandibular right canine tooth 83
58646007 Structure of deciduous mandibular right first molar tooth 84
61868007 Structure of deciduous mandibular right second molar tooth 85

Permukaan Gigi (surf)

Terminologi component.code.coding:

{
    "system": "http://loinc.org",
    "code": "32889-8",
    "display": "Surface [Identifier] Tooth"
}

Terminologi component.valueCodeableConcept.coding dan component.valueCodeableConcept.display

code display shortcode
710099007 Mesial M
257885003 Occlusion-action O
46053002 Distal D
302990001 Buccalis V
255579002 Palatal-lingual L

Keadaan Gigi (cond)

Terminologi component.code.coding:

{
    "system": "http://snomed.info/sct",
    "code": "278544002",
    "display": "Tooth finding"
}

Terminologi component.valueCodeableConcept:

system coding.code coding.display shortCode
http://snomed.info/sct 162005007 No tooth problem sou = Gigi sehat, normal, tanpa kelainan
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000090 Gigi tidak ada/ tidak diketahui non = Gigi tidak ada/ tidak diketahui
http://snomed.info/sct 278658009 Tooth Unerupted une = Un-erupted
http://snomed.info/sct 278660006 Tooth partially erupted pre = Partial erupted
http://snomed.info/sct 129263008 Impacted tooth imv = Impacted visible
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000091 Anomali ano = Anomali
http://snomed.info/sct 734009000 Diastema of teeth dia = Diastema
http://snomed.info/sct 53963006 Excessive attrition of teeth att = Atrisi
http://snomed.info/sct 47222000 Friction injury of tooth abr = Abrasi
http://snomed.info/sct 80967001 Dental caries car = Caries/ Karies
http://snomed.info/sct 278590005 Fractured dental crown cfr = Crown Fracture/ Fraktur Mahkota
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000092 Gigi Non-Vital nvt = Gigi Non-Vital
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000093 Sisa Akar rrx = Sisa Akar
http://snomed.info/sct 234948008 Tooth absent mis = Gigi Hilang
http://snomed.info/sct 278661005 Tooth present Pre = tooth present
http://snomed.info/sct 307084006 Unable to process information non = no information
http://snomed.info/sct 397797004 Tooth erupted eru = erupting
http://snomed.info/sct 66569006 Retained dental root rrx = Retained root
http://snomed.info/sct 272305001 Dentine pin ppx = Parapulpal pin
http://snomed.info/sct 70931000 Pathological resorption of tooth rex = Resorption
http://snomed.info/sct 57602001 Denticles dex = Denticle
http://snomed.info/sct 35452009 Dilaceration of tooth dix = Dilacerations
http://snomed.info/sct 109683005 Fracture of dental root frx = Root fracture
http://snomed.info/sct 287451003 Tooth cavity drilled and filled cav = cavity
http://snomed.info/sct 39273001 Apical periodontitis app = apical periodontitis
http://snomed.info/sct 17552000 Dental calculus cal = calculus
http://snomed.info/sct 82212003 Erosion of teeth ero = erosion
http://snomed.info/sct 30265004 Dental fluorosis Flu = fluorosis
http://snomed.info/sct 252283005 Marginal periodontitis map = marginal periodontitis
http://snomed.info/sct 716296001 Perforation of dental restoration pex = perforation
http://snomed.info/sct 699457000 Mesial inclination of tooth M.ver = Mesio version
http://snomed.info/sct 699651005 Distal inclination of tooth D.ver = Disto version
http://snomed.info/sct 109498002 Tooth in buccoversion V.ver = Vestibule version
http://snomed.info/sct 109499005 Tooth in linguoversion L.ver = Linguo version
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000103 Palatoversion P.ver = Palato version
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000104 Mesiolinguoversion ML.ver = Mesiolinguo version
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000105 Mesiopalatoversion MP.ver = Mesiopalato version
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000106 Distolabioversion DL.ver = Distolabioversion
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000107 Distovestibuloversion DV.ver = Distovestibulo version
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000108 Distopalatoversion DP.ver = Distopalato version
http://snomed.info/sct 272274004 Occlusal appliance spl = splint

Bahan Restorasi (mtr)

Terminologi component.code.coding:

{
    "system": "http://snomed.info/sct",
    "code": "432680005",
    "display": "Dental filling material"
}

Terminologi component.valueCodeableConcept:

system coding.code coding.display shortCode
http://snomed.info/sct 256447001 Amalgam (silver) dental filling material amf = Amalgam Filling
http://snomed.info/sct 256454007 Glass-ionomer dental material gif = GIC/ Silika
http://snomed.info/sct 256452006 Composite dental filling material cof = Composite filling
http://snomed.info/sct 256455008 Fissure sealant material fis = Fissure Sealant
http://snomed.info/sct 278557005 Dental glass-ionomer filling present gif= glass ionomer filling
http://snomed.info/sct 261253002 Ceramic cef= ceramic filling
http://snomed.info/sct 733965001 Malleable tooth colored material tcf = tooth coloured filling
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000114 unidentified filing uif = unidentified filing
http://snomed.info/sct 256511000 Acrylic dental material acr = Acrilic
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000115 Full Metal Dental Material fm = Full Metal
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000116 Non-precious Metal Dental Material npm = Non-precious metal
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000117 Gold Metal Dental Material gm = Gold Metal
http://snomed.info/sct 256496006 Gold alloy go = Gold
http://snomed.info/sct 256485003 Porcelain bonded to metal foil mp = Metal Porcelain
http://snomed.info/sct 256532008 Root canal filling material rfx = Root filling
http://snomed.info/sct 256480008 Dental porcelain material por = Porcelain
http://snomed.info/sct 261253002 Ceramic cer = Ceramic

Restorasi (res)

Terminologi component.code.coding:

{
    "system": "http://snomed.info/sct",
    "code": "251335007",
    "display": "Dental restoration or prosthesis shade"
}

Terminologi component.valueCodeableConcept:

system coding.code coding.display shortCode
http://snomed.info/sct 468240009 Dental crown, metal fmc = Full Metal Crown
http://snomed.info/sct 468254001 Dental crown, ceramic poc = Porcelain Crown
http://snomed.info/sct 468778007 Metal dental crown with ceramic coating mpc = Metal Porcelain Crown
http://snomed.info/sct 272291000 Full gold crown gmc = Gold Metal Crown
http://snomed.info/sct 706370006 Root canal post rct = Root Canal Treatment / Perawatan Saluran Akar
http://snomed.info/sct 468993001 Dental implant system ipx = Implan
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000094 Metal Bridge meb = Metal Bridge
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000095 Porcelain Bridge pob = Porcelain Bridge
http://snomed.info/sct 260930001 Pontic pon = Pontic
http://snomed.info/sct 707144009 Finding of condition of abutment tooth abu = Gigi abutment
http://snomed.info/sct 272287005 Inlay dental restoration inl = Inlay
http://snomed.info/sct 277487004 Onlay dental restoration onl = Onlay
http://snomed.info/sct 272289008 Crown cr= Crown
http://snomed.info/sct 272299003 Bridge - dental br = Bridge
http://snomed.info/sct 278553009 Dental veneer present dv = Dental Veener
http://snomed.info/sct 278550007 Dental filling present df = Dental Filling

Bahan Protesa (mpr)

Terminologi component.code.coding:

{
    "system": "http://snomed.info/sct",
    "code": "256509009",
    "display": "Maxillofacial prosthesis and appliance material"
}

Terminologi component.valueCodeableConcept:

system coding.code coding.display shortCode
http://snomed.info/sct 256511000 Acrylic dental material acr = Acrilic
http://snomed.info/sct 256525004 Maxillofacial prosthesis or appliance material - metal bmp = Bahan Metal Protesa
http://snomed.info/sct 256504004 Polycarbonate dental material bpp = Bahan Polycarbonat Protesa

Protesa (pro)

Terminologi component.code.coding:

{
    "system": "http://snomed.info/sct",
    "code": "34026-5",
    "display": "Dental prosthesis"
}

Terminologi component.valueCodeableConcept:

system coding.code coding.display arti
http://snomed.info/sct 272256008 Partial denture prd = Partial Denture
http://snomed.info/sct 272253000 Full/full dentures fld = Full Denture
http://snomed.info/sct 706359004 Denture clasp cla = Clasp
http://snomed.info/sct 272254006 Complete upper denture fud = Full upper denture
http://snomed.info/sct 278428009 Partial lower denture pld = Partial lower denture
http://snomed.info/sct 278426008 Partial upper denture pud = Partial upper denture
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000109 Hybrid Lower Denture hld = Hybrid lower denture
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000110 Hybrid Upper Denture hud = Hybrid upper denture

Odontogram Data

Pengiriman data pemeriksaan Odontogram terdiri atas pengiriman data odontogram, occlusi, torus palatinus, torus mandibularis, palatum, diastema, gigi anomali, kondisi gigi dan mulut lainnya, jumlah gigi decayed, jumlah gigi missing, nama dokter pemeriksa, dan tanggal pemeriksaan menggunakan Resources Observation.

Sumber informasi:

Odontogram: Observasi Gigi

Memiliki 10 item / kategori data, dari semua item diketahui pola data pada payload, semua bersifat opsional untuk diintegrasikan, dengan syarat memiliki nilai default atau diisi oleh user. Input berupa pilihan, text / string, dan number / integer.

Occlusi

Payload: ...docs/satusehat/05-odontogram/payload-occlusi.json, membutuhkan input pilihan.

Terminologi object Observation.code.coding:

{
    "code": {
        "coding": [
            {
                "system": "http://snomed.info/sct",
                "code": "25272006",
                "display": "Dental occlusion"
            }
        ]
    },
}

Terminologi object Observation.component.valueCodeableConcept.coding:

system code display Deskripsi Pilihan / shortCode
http://snomed.info/sct 278683009 No malocclusion (Default) nor = Normal Bite
http://snomed.info/sct 109495004 Crossbite crb = Cross Bite
http://snomed.info/sct 60476005 Deep overbite stb = Steep Bite
http://snomed.info/sct 49827005 Disto-occlusion of teeth dio = distal occlusion
http://snomed.info/sct 405258007 Displacement of tooth dis = displacement (midline)
http://snomed.info/sct 110321001 Edge to edge occlusion of teeth ebt = edge to edge bite
http://snomed.info/sct 70305005 Horizontal overbite hbt =horizontal overlap
http://snomed.info/sct 110322008 Mesial step occlusion of primary dentition meo = mesial occlusion
http://snomed.info/sct 50033000 Tooth migration, function mig = migration
http://snomed.info/sct 35580009 Open bite obt = openbite
http://snomed.info/sct 235088005 Reverse overjet rbt = reverse overbite
http://snomed.info/sct 38089000 Rotation of tooth rot = rotation
http://snomed.info/sct 23234003 Vertical overbite sbt = scissors bite
http://snomed.info/sct 734008008 Spacing of teeth spa = spacing
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000111 Tilted Tooth til = tilted tooth

Torus Palatinus

Payload: ...docs/satusehat/05-odontogram/payload-torus-palatinus.json, membutuhkan input pilihan.

Terminologi object Observation.code.coding:

{
    "code": {
        "coding": [
            {
                "system": "http://snomed.info/sct",
                "code": "46752004",
                "display": "Torus palatinus"
            }
        ]
    },
}

Terminologi object Observation.component.valueCodeableConcept.coding:

system code display Deskripsi Pilihan
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000074 Tidak ada Torus Palatinus (Default) Tidak Ada
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000075 Torus Palatinus Kecil Kecil
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000076 Torus Palatinus Sedang Sedang
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000077 Torus Palatinus Besar Besar
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000078 Torus Palatinus Palatinus Multiple

Torus Mandibularis

Payload: ...docs/satusehat/05-odontogram/payload-torus-mandibularis.json, membutuhkan input pilihan.

Terminologi object Observation.code.coding:

{
    "code": {
        "coding": [
            {
                "system": "http://snomed.info/sct",
                "code": "11625007",
                "display": "Torus mandibularis"
            }
        ]
    },
}

Terminologi object Observation.component.valueCodeableConcept.coding:

system code display Deskripsi Pilihan
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000079 Tidak ada Torus Mandibularis (Default) Tidak ada
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000080 Torus Mandibularis Sisi Kiri Sisi Kiri
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000081 Torus Mandibularis Sisi Kanan Sisi Kanan
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000082 Torus Mandibularis pada Kedua Sisi Kedua Sisi

Palatum

Payload: ...docs/satusehat/05-odontogram/payload-palatum.json, membutuhkan input pilihan.

Terminologi object Observation.code.coding:

{
    "code": {
        "coding": [
            {
                "system": "http://loinc.org",
                "code": "32460-8",
                "display": "Physical findings of Palate"
            }
        ]
    },
}

Terminologi object Observation.component.valueCodeableConcept.coding:

system code display Deskripsi Pilihan
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000083 Palatum Dalam (Default) Dalam
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000084 Palatum Sedang Sedang
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000085 Palatum Rendah Rendah

Diastema

Payload: ...docs/satusehat/05-odontogram/payload-diastema.json, membutuhkan input pilihan.

Terminologi object Observation.code.coding:

{
    "code": {
        "coding": [
            {
                "system": "http://snomed.info/sct",
                "code": "734009000",
                "display": "Diastema of teeth"
            }
        ]
    },
}

Terminologi object Observation.component.valueCodeableConcept.coding:

system code display text
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000086 Tidak Ada Diastema (Default) null or -
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000087 Ada Diastema user input: string

Anomali

Payload: ...docs/satusehat/05-odontogram/payload-anomali.json, membutuhkan input pilihan.

Terminologi object Observation.code.coding:

{
    "code": {
        "coding": [
            {
                "system": "http://snomed.info/sct",
                "code": "81256000",
                "display": "Anomaly of tooth position"
            }
        ]
    },
}

Terminologi object Observation.component.valueCodeableConcept.coding:

system code display text
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000088 Tidak Ada Gigi Anomali (Default) null or -
http://terminology.kemkes.go.id/CodeSystem/clinical-term OV000089 Ada Gigi Anomali user input: string

Kondisi Gigi dan Mulut Lainnya

Payload: ...docs/satusehat/05-odontogram/payload-other.json, membutuhkan input string / text.

Terminologi object Observation.code.coding:

{
    "code": {
        "coding": [
            {
                "system": "http://terminology.kemkes.go.id/CodeSystem/clinical-term",
                "code": "OC000060",
                "display": "Kondisi Gigi dan Mulut Lainnya"
            }
        ]
    },
}

Terminologi object Observation.valueString:

  • user input
  • string
  • default: Tidak ada
  • Contoh: "Gusi kemerahan, bengkak, dan terasa lunak saat disentuh. Ditemukan pustula pada bukal gigi 14 dengan diameter 3 mm, mobility negatuf, dan nyeri tekan positif"

Jumlah Gigi (Decayed, Missing, Filled)

Hanya berbeda pada Observation.code.coding.code dan Observation.code.coding.display dengan input int

  1. Decayed, .../docs/satusehat/05-odontogram/payload-tooth-decayed.json:

    Terminologi object Observation.code.coding:

    {
        "code": {
            "coding": [
                {
                    "system": "http://snomed.info/sct",
                    "code": "251319000",
                    "display": "Decayed tooth count"
                }
            ]
        },
    }

    Terminologi object Observation.valueInteger:

    • integer
    • default: 0
  2. Missing, .../docs/satusehat/05-odontogram/payload-tooth-missing.json:

    Terminologi object Observation.code.coding:

    {
        "code": {
            "coding": [
                {
                    "system": "http://snomed.info/sct",
                    "code": "251317003",
                    "display": "Missing tooth count"
                }
            ]
        },
    }

    Terminologi object Observation.valueInteger:

    • integer
    • default: 0
  3. Filled, .../docs/satusehat/05-odontogram/payload-tooth-filled.json

    Terminologi object Observation.code.coding:

    {
        "code": {
            "coding": [
                {
                    "system": "http://snomed.info/sct",
                    "code": "251318008",
                    "display": "Filled tooth count"
                }
            ]
        },
    }

    Terminologi object Observation.valueInteger:

    • integer
    • default: 0
{
"_info": "PUT /records/{id} - field 'odontogram' payload from frontend",
"_note": "Frontend sends tooth FDI number + abbreviation status codes. Backend transforms to full FHIR Observation via OdontogramMapper.",
"_abbreviation_reference": "See docs/satusehat/05-odontogram/odontogram.md for complete abbreviation list per category",
"odontogram": [
{
"toothId": "11",
"statuses": [
{
"category": "surf",
"items": ["M"]
},
{
"category": "cond",
"items": ["sou", "une", "mis"]
}
]
},
{
"toothId": "15",
"statuses": [
{
"category": "surf",
"items": ["F"]
},
{
"category": "mtr",
"items": ["sou", "une", "mis"]
},
{
"category": "pro",
"items": ["prd", "fld"]
}
]
}
]
}
{
"odontogram_details": {
"occlusion": "nor",
"palatinus": "Tidak Ada",
"mandibularis": "Tidak Ada",
"palatum": "Dalam",
"diastema": {
"status": "Ada Diastema",
"detail": "Diastema pada gigi 11 dan 21",
"_comment": "Jika status adalah 'Ada Diastema', maka detail harus diisi dengan informasi lebih lanjut tentang diastema tersebut."
},
"anomali": {
"status": "Ada Gigi Anomali",
"detail": "Gigi anomali pada gigi 31",
"_comment": "Jika status adalah 'Ada Gigi Anomali', maka detail harus diisi dengan informasi lebih lanjut tentang gigi anomali tersebut."
},
"other": "Detail tambahan tentang kondisi gigi lainnya jika diperlukan.",
"decayed": 2,
"missing": 0,
"filled": 1,
"_comment": "Jumlah gigi yang berlubang (decayed), hilang (missing), dan terisi (filled) harus diisi dengan angka yang sesuai."
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment