ภาพรวมของตารางทั้งหมดใน OMOP CDM 5.4

ก่อนหน้านี้ผมรู้จัก Observational Medical Outcomes Partnership (OMOP) มาซักพักแล้ว (คนที่บุกเบิกเรื่องนี้ในไทยน่าจะเป็นแมกซ์ ที่ Si Data+) ที่ผ่านมาก็มีเข้าไปดู ๆ มาบ้าง แต่ไม่เคยนั่งไล่ดูทุกตารางทุกฟิลด์เหมือนกันครับ พอดีช่วงผมนี้มีต้องทำงานที่เกี่ยวข้องกับ OMOP CDM ก็เลยถือโอกาสนั่งไล่ดูเลย บทความนี้ก็เป็นสรุปตารางต่าง ๆ ที่มีใน CDM v.5.4 ครับ

ขอบคุณภาพ featured image จาก Hert Niks ที่ Unsplash


Intro

OMOP CDM v.5.4 นี้มีตารางทั้งหมด 38 ตารางครับ เรื่องกระบวนการ ETL ต้องเอาเข้าไปตรงไหนบ้างผมยังไม่ค่อยแม่น ยังไม่แชร์ละกันครับ 😆 แต่ว่าอันนี้ผมเอา Broadsea มารันผ่าน docker-compose แล้วก็เข้าไปดูตัวอย่าง data ตาม model ดูเหมือนว่า Broadsea จะเอา data จาก Synthea มาใส่ แต่พอดูจนจบแล้วผมถึงรู้สึกว่าเขาใส่แปลก ๆ หลาย ๆ ฟิลด์เหมือนกันครับ และหลาย ๆ ฟิลด์ถ้าจะใส่จริง ๆ ก็น่าจะใส่ได้ แต่เขาก็ไม่ได้ใส่ เอาไว้โอกาสหน้าถ้าผมได้ลองดูตัวอย่างจาก dataset อื่น ผมเอาตัวอย่างมาเติมครับ

สำหรับตารางทั้ง 38 ตารางก็จะเป็นตามภาพนี้ครับ จริง ๆ เข้าไปดูจากเว็บของ OMOP เองอาจจะชัดกว่า

ภาพจาก OMOP CDM v5.4 ERD (URL)

ซึ่งจากตารางดูเหมือนจะเยอะ (แต่ถ้าผ่าน FHIR หรือ openEHR มาแล้วอันนี้จะถือว่าน้อย 😆) ตารางเหล่านี้แบ่งออกเป็น 6 กลุ่มใหญ่ ๆ

  1. Clinical data tables: ข้อมูลสุขภาพต่าง ๆ โรคที่เป็นในแต่ละ visit, ยาที่ได้ ฯลฯ
  2. Health system data tables: ข้อมูลผู้ให้บริการ สถานพยาบาล
  3. Health economics data tables: ข้อมูลเรื่องเงิน สิทธิการรักษา ค่ารักษา
  4. Standardized derived elements: การจัดกลุ่มตามช่วงเวลาต่าง ๆ เช่น โรคที่เป็นในช่วงเวลาหนึ่ง
  5. Metadata tables: metadata
  6. Vocabulary tables: สำหรับจัดการเรื่อง terminology ภายใน CDM

ในแต่ละตาราง ผมมี convention เล็ก ๆ คืออันไหนเป็น required field ผมจะทำชื่อฟิลด์เป็นตัวหนานะครับ และจะมีหลาย ๆ ฟิลด์ที่ผมเขียนว่า Concept ID อันนี้จริง ๆ มันก็คือ FK ของ table concept ครับ คือ หลักการทำงานของระบบ vocabulary ใน OMOP แบบสั้น ๆ ก็คือ ทุก concept จะมี concept ID และ code เสมอ ซึ่งเป็น ID ของทาง OMOP เอง ส่วน code ถ้าเอา code ของที่อื่นมาใช้ก็จะเป็น code ของอันนั้น ยกตัวอย่าง condition Appendicitis -> concept ID คือ 440448 ส่วน code คือ 74400008 (รหัส SNOMED CT) เป็นต้นครับ

Clinical data tables

person (URL)

ข้อมูลการระบุตัวบุคคล และข้อมูลทั่วไปอื่น ๆ ของบุคคล ในฐานข้อมูลควรมีเพียง 1 record ต่อ 1 คน ไม่ซ้ำกัน ถ้ามีหลาย data source ควรรวมให้เป็น record เดียว

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
person_idunique identifier ของบุคคล1
gender_concept_idconcept ID ของ biological sex ณ แรกเกิด8507
year_of_birthปีเกิด1949
month_of_birthเดือนเกิด1
day_of_birthวันที่เกิด27
birth_datetimeวันเวลาเกิด1949-01-27 0:00:00
race_concept_idconcept ID ของเชื้อชาติ ถ้าไม่ทราบใส่ 08527
ethnicity_concept_idconcept ID ของชาติพันธุ์ สำหรับใช้ใน US0
location_idที่อยู่ของบุคคลนี้ (FK ของ location)
provider_idแพทย์ GP ของบุคคลนี้ล่าสุด (FK ของ provider)
care_site_idสถานพยาบาลของแพทย์ท่านนั้น (FK ของ care_site)
person_source_valueidentifier ใน source data000728a7-80de-420a-9286-2c20e81cb7b8
gender_source_valueรหัสเพศที่เก็บใน source dataM
gender_source_concept_idconcept ID ของ gender_source0
race_source_valueรหัสเชื้อชาติที่เก็บใน source datawhite
race_source_concept_idconcept ID ของ race_source0
ethnicity_source_valueรหัสชาติพันธุ์ที่เก็บใน source dataitalian
ethnicity_source_concept_idconcept ID ของ ethnicity_source0

observation_period (URL)

ช่วงเวลาที่ทำการสังเกต เป็นช่วงที่จะเกิด clinical event ต่าง ๆ ใช้ในการวิเคราะห์ข้อมูลและสร้าง cohort ใน 1 person สามารถมีได้หลาย observation_period แต่แต่ละ period ไม่สามารถซ้อนทับกัน

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
observation_period_ididentifier ของ period นั้น ๆ1
person_idอ้างอิงบุคคล (FK ของ person)1
observation_period_start_dateวันที่เริ่ม period1949-01-28
observation_period_end_dateวันสิ้นสุด period2019-05-24
period_type_concept_idconcept ID ของที่มาของข้อมูลนี้ เช่น จาก EHR44814724

visit_occurrence (URL)

การรับบริการสุขภาพ (Encounter) อาจมาเองหรือออนไลน์ โดยบุคลากรหมอหรืออาชีพอื่น และจบในวันเดียวหรือนานกว่านั้น

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
visit_occurrence_idunique identification ของ visit85
person_idบุคคลที่รับบริการ (FK ของ person)1
visit_concept_idconcept ID ของประเภท visit เช่น inpatient, outpatient9201
visit_start_dateวันที่เริ่ม visit1981-08-18
visit_start_datetimeวันเวลาที่เริ่ม visit1981-08-18 0:00:00
visit_end_dateวันที่สิ้นสุด visit1981-08-19
visit_end_datetimeวันเวลาที่สิ้นสุด visit1981-08-19 0:00:00
visit_type_concept_idconcept ID ของที่มาของข้อมูลนี้ เช่น จาก EHR44818517
provider_idบุคลากรที่ให้บริการ visit นี้ (FK ของ provider) ใส่ได้คนเดียว ถ้ามีหลายคนไปใช้ visit_detail
care_site_idสถานพยาบาลที่ให้บริการ (FK ของ care_site)
visit_source_valueประเภท visit ที่เก็บใน source data7879d5b2-1af2-49a7-a801-121de124c6af
visit_source_concept_idconcept id ของ visit_source0
admitted_from_concept_idconcept id ของ admitted_from_source0
admitted_from_source_valueรหัสที่มาของการ visit (เช่น มาจาก long-term care) ​จากใน source data
discharged_to_concept_idรหัสปลายทางหลัง discharge (เช่น ไปที่ long-term care) ​จากใน source data0
discharged_to_source_valueconcept id ของ discharged_to_source
preceding_visit_occurrence_idvisit ก่อนหน้า (FK ของ visit_occurrence)82

visit_detail (URL)

เป็น optional table สำหรับใส่รายละเอียดเพิ่มเติมของการ visit (เช่น encounter ย่อย ภายใน encounter หลัก)

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
visit_detail_idunique identifier ของ visit detail
person_idบุคคลที่รับบริการ (FK ของ person)
visit_detail_concept_idconcept ID ของประเภท visit เช่น inpatient, outpatient
visit_detail_start_dateวันที่เริ่ม visit detail
visit_detail_start_datetimeวันเวลาที่เริ่ม visit detail
visit_detail_end_dateวันที่สิ้นสุด visit detail
visit_detail_end_datetimeวันเวลาที่สิ้นสุด visit detail
visit_detail_type_concept_idconcept ID ของที่มาของข้อมูลนี้ เช่น จาก EHR
provider_idบุคลากรที่ให้บริการ visit นี้ (FK ของ provider) ใส่ได้คนเดียว ถ้ามีหลายคนไปใช้ visit_detail
care_site_idสถานพยาบาลที่ให้บริการ (FK ของ care_site)
visit_detail_source_valueประเภท visit ที่เก็บใน source data
visit_detail_source_concept_idconcept id ของ visit source data
admitted_from_concept_idconcept id ของ admitted from source data
admitted_from_source_valueรหัสที่มาของการ visit (เช่น มาจาก long-term care) ​จากใน source data
discharged_to_source_valueรหัสปลายทางหลัง discharge (เช่น ไปที่ long-term care) ​จากใน source data
discharged_to_concept_idconcept id ของ discharged to source data
preceding_visit_detail_idvisit detail ก่อนหน้า (FK ของ visit_detail)
parent_visit_detail_idvisit detail ที่เป็น parent (FK ของ visit_detail)
visit_occurrence_idvisit occurrence หลัก (FK ของ visit_occurrence)

condition_occurrence (URL)

ข้อมูลการวินิจฉัย อาการ หรืออาการแสดง อาจเป็นข้อมูลจากบุคลากรการแพทย์บันทึกหรือผู้รับบริการก็ได้ แต่ไม่เอา rule out, ประวัติในอดีต, ประวัติครอบครัวมารวม

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
condition_occurrence_iduniqe identifier ของ condition1
person_idบุคคลที่รับบริการ (FK ของ person)1
condition_concept_idconcept ID ของ condition40479768
condition_start_dateวันที่เริ่มมี condition1981-08-10
condition_start_datetimeวันเวลาที่เริ่มมี condition1981-08-10 0:00:00
condition_end_dateวันที่ condition สิ้นสุด1981-09-16
condition_end_datetimeวันเวลาที่ condition สิ้นสุด1981-09-16 0:00:00
condition_type_concept_idconcept ID ของที่มาของข้อมูลนี้ เช่น จาก EHR32020
condition_status_concept_idconcept ID ของสถานะของ condition (เช่น admission diagnosis, post-op diagnosis)0
stop_reasonเหตุผลที่ condition นี้ไม่ valid แล้ว (ไม่จำเป็นต้องแปลว่าหายแล้ว)
provider_idบุคลากรที่วินิจฉัยหรือบันทึก condition นี้ (FK ของ provider)
visit_occurrence_idvisit ที่เกิด condition นี้ (FK ของ visit_occurrence)82
visit_detail_idvisit detail ที่เกิด condition นี้ (FK ของ visit_detail) เช่น visit หลักคือนอนรพ. แต่ diag โรคบางอย่างตอนอยู่ ICU (visit detail)0
condition_source_valueรหัสโรคที่เก็บใน source data444470001
condition_source_concept_idconcept ID ของ condition_source40479768
condition_status_source_valueสถานะของ condition ตามที่เก็บใน source data

drug_exposure (URL)

ข้อมูลยา ทั้ง prescription และ OTC ไม่รวมพวก x-ray contrast

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
drug_exposure_idunique identifier ของการได้ยา1
person_idบุคคลที่รับบริการ (FK ของ person)1
drug_concept_idConcept ID ของยาที่ได้รับ1127078
drug_exposure_start_dateวันที่เริ่มได้ยา1958-03-11
drug_exposure_start_datetimeวันเวลาที่เริ่มได้ยา1958-03-11 0:00:00
drug_exposure_end_dateวันที่สิ้นสุดการได้ยา1958-06-09
drug_exposure_end_datetimeวันเวลาที่สิ้นสุดการได้ยา1958-06-09 0:00:00
verbatim_end_dateวันที่หยุดการใช้ยา ตามที่ระบุใน source data1958-06-09
drug_type_concept_idConcept id ของที่มาของข้อมูลนี้ เช่น คนไข้บอก, ข้อมูลการจ่ายยา38000177
stop_reasonสาเหตุที่ยุติการได้ยา
refillsใช้กรณีเป็นการ refill ยา0
quantityปริมาณยาที่ได้0
days_supplyจำนวนวันที่ยานี้ supply90
sigคำสั่งการใช้ยา
route_concept_idConcept id ของ route ยา0
lot_numberlot number0
provider_idบุคลากรที่สั่งหรือให้ยานี้ (FK ของ provider)0
visit_occurrence_idvisit ที่ได้ยานี้ (FK ของ visit_occurrence)79
visit_detail_idvisit detail ที่ได้ยานี้ (FK ของ visit_detail)0
drug_source_valueรหัสยาที่เก็บใน source data282464
drug_source_concept_idConcept id ของ drug_source1127078
route_source_valueรหัส route ที่เก็บใน source data
dose_unit_source_valueหน่วยนับของ dose ที่เก็บใน source data

procedure_occurrence (URL)

procedure ที่ได้รับ ไม่รวม lab procedure, เจาะเลือดตรวจแล็บ

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
procedure_occurrence_idunique identifier ของ procedure1
person_idบุคคลที่รับบริการ (FK ของ person)1
procedure_concept_idConcept ID ของ procedure44783196
procedure_dateวันที่เริ่ม procedure1981-08-17
procedure_datetimeวันเวลาที่เริ่ม procedure1981-08-17 0:00:00
procedure_end_dateวันที่สิ้นสุด procedure
procedure_end_datetimeวันเวลาที่สิ้นสุด procedure
procedure_type_concept_idConcept ID ของที่มาของข้อมูลนี้ เช่น EHR38000275
modifier_concept_idConcept ID ของรายละเอียดเพิ่มเติมของ procedure เช่น CPT4 ที่มีรหัสเสริม0
quantityจำนวนที่ได้รับ
provider_idบุคลากรที่ทำ procedure นี้ (FK ของ provider)
visit_occurrence_idvisit ที่ทำ procedure นี้ (FK ของ visit_occurrence)85
visit_detail_idvisit detail ที่ทำ procedure นี้ (FK ของ visit_detail)0
procedure_source_valueข้อมูล procedure ที่เก็บใน source data699253003
procedure_source_concept_idConcept id ของ procedure_source44783196
modifier_source_valueข้อมูล modifier ที่เก็บใน source data

device_exposure (URL)

การใช้เวชภัณฑ์หรืออุปกรณ์การแพทย์ต่าง ๆ

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
device_exposure_idunique identifier ของการใช้ device
person_idบุคคลที่รับบริการ (FK ของ person)
device_concept_idConcept ID ของ device
device_exposure_start_dateวันที่เริ่มใช้ device
device_exposure_start_datetimeวันเวลาที่เริ่มใช้ device
device_exposure_end_dateวันที่สิ้นสุดการใช้ device
device_exposure_end_datetimeวันเวลาที่สิ้นสุดการใช้ device
device_type_concept_idConcept ID ของที่มาของข้อมูลนี้ เช่น EHR
unique_device_idUnique Device Identification (UDI-DI) เช่น ที่ได้จาก FDA
production_idProduction Identifier (UDI-PI) ของ device
quantityจำนวนการใช้ device
provider_idบุคลากรที่สั่งหรือใส่ device นี้ (FK ของ provider)
visit_occurrence_idvisit ที่เกิดการใช้ device นี้ (FK ของ visit_occurrence)
visit_detail_idvisit detail ที่เกิดการใช้ device นี้ (FK ของ visit_detail)
device_source_valueข้อมูล device ที่เก็บใน source data
device_source_concept_idConcept ID ของ device_source
unit_concept_idConcept ID ของหน่วยนับของ device
unit_source_valueหน่วยนับ ที่เก็บใน source data
unit_source_concept_idConcept ID ของ unit_source_value

measurement (URL)

การวัดค่าต่าง ๆ ที่เป็น standardized measurement (เช่น ผลแล็บ ผล vital signs) สามารถรายงานผลเป็นตัวเลขหรือเป็น concept

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
measurement_idunique identifier ของการวัดนี้1
person_idบุคคลที่รับบริการ (FK ของ person)1
measurement_concept_idConcept ID ของการวัด3006322
measurement_dateวันที่วัด1991-01-31
measurement_datetimeวันเวลาที่วัด1991-01-31 0:00:00
measurement_timeเวลาที่วัด
measurement_type_concept_idConcept ID ของที่มาของข้อมูลนี้ เช่น EHR5001
operator_concept_idConcept ID ของ operator (เช่น มากกว่า, น้อยกว่า)0
value_as_numberค่าที่วัดได้ (ตัวเลข)
value_as_concept_idค่าที่วัดได้ (concept)0
unit_concept_idConcept ID ของหน่วยนับ0
range_lowค่าปกติที่ต่ำสุดของการวัด
range_highค่าปกติที่สูงสุดของการวัด
provider_idบุคลากรที่สั่งหรือรายงานผลการวัดนี้ (FK ของ provider)0
visit_occurrence_idvisit ที่เกิด measurement นี้ (FK ของ visit_occurrence)45
visit_detail_idvisit detail ที่เกิด measurement นี้ (FK ของ visit_detail)0
measurement_source_valueรหัสการวัดตามที่เก็บใน source data8331-1
measurement_source_concept_idConcept ID ของ measurement_source3006322
unit_source_valueหน่วยนับตามที่เก็บใน source data
unit_source_concept_idConcept ID ของ unit_source
value_source_valueค่าที่วัดได้ ตามที่เก็บใน source data
measurement_event_idPK ของ event อื่น ๆ ที่เกี่ยวข้อง
meas_event_field_concept_idConcept ID เพื่อระบุ table ของ event ที่เกี่ยวข้อง

observation (URL)

สิ่งที่ตรวจพบ แต่ไม่ใช่ standardized measurement เช่น การตรวจร่างกาย, ประวัติในอดีต, ประวัติสังคม, ฯลฯ

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
observation_idunique identifier ของการตรวจ72
person_idบุคคลที่รับบริการ (FK ของ person)3
observation_concept_idConcept ID ของการตรวจ4323208
observation_dateวันที่ตรวจ1972-12-20
observation_datetimeวันเวลาที่ตรวจ1972-12-20 0:00:00
observation_type_concept_idConcept ID ของที่มาของข้อมูลนี้ เช่น EHR38000276
value_as_numberค่าที่วัดได้ (ตัวเลข)
value_as_stringค่าที่วัดได้ (ตัวหนังสือ)
value_as_concept_idค่าที่วัดได้ (concept)0
qualifier_concept_idConcept ID ที่ใช้ขยายความ เช่น degree, severity, drug-drug interaction alert0
unit_concept_idConcept ID ของหน่วยนับ0
provider_idบุคลากรที่สั่งหรือรายงานผลการตรวจนี้ (FK ของ provider)0
visit_occurrence_idvisit ที่เกิด observation นี้ (FK ของ visit_occurrence)312
visit_detail_idvisit detail ที่เกิด observation นี้ (FK ของ visit_detail)0
observation_source_valueรหัสการตรวจตามที่เก็บใน source data428251008
observation_source_concept_idConcept ID ของ observation_source4323208
unit_source_valueหน่วยนับตามที่เก็บใน source data
qualifier_source_valueConcept ID ของ unit_source
value_source_valueค่าที่วัดได้ ตามที่เก็บใน source data
observation_event_idPK ของ event อื่น ๆ ที่เกี่ยวข้อง
obs_event_field_concept_idConcept ID เพื่อระบุ table ของ event ที่เกี่ยวข้อง

death (URL)

ข้อมูลการเสียชีวิต

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
person_idบุคคลที่รับบริการ (FK ของ person)
death_dateวันที่เสียชีวิต
death_datetimeวันเวลาที่เสียชีวิต
death_type_concept_idConcept ID ของที่มาของข้อมูลนี้ เช่น EHR
cause_concept_idConcept ID ของสาเหตุการตาย
cause_source_valueสาเหตุการตาย ตามที่เก็บใน source data
cause_source_concept_idConcept ID ของ cause_source

note (URL)

ข้อมูลแบบ free text unstructured data ที่ได้รับการบันทึกไว้

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
note_idunique identifier สำหรับ note นี้
person_idบุคคลที่รับบริการ (FK ของ person)
note_dateวันที่บันทึก note นี้
note_datetimeวันเวลาที่บันทึก note นี้
note_type_concept_idConcept ID ของที่มาของข้อมูลนี้ เช่น EHR
note_class_concept_idConcept ID แสดงประเภทของ note (เช่น consent, action plan)
note_titleชื่อเรื่องของ note
note_textข้อความของ note
encoding_concept_idConcept ID ระบุ encoding (UTF-8)
language_concept_idConcept ID ระบุภาษาของ note
provider_idบุคลากรที่เขียน note นี้ (FK ของ provider)
visit_occurrence_idvisit ที่เกิด note นี้ (FK ของ visit_occurrence)
visit_detail_idvisit detail ที่เกิด note นี้ (FK ของ visit_detail)
note_source_valueเนื้อหาของ note ที่เก็บใน source data
note_event_idPK ของ event อื่น ๆ ที่เกี่ยวข้อง
note_event_field_concept_idConcept ID เพื่อระบุ table ของ event ที่เกี่ยวข้อง

note_nlp (URL)

เนื้อหาที่ได้จากการรัน NLP ต่อ note หนึ่ง ๆ (1 record คือ 1 term ที่ได้มา)

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
note_nlp_idunique identifier ของข้อมูล
note_idnote ที่อ้างอิง (FK ของ note)
section_concept_idConcept ID ของ section ใน note (เช่น general eye evaluation)
snippetชุดข้อความที่ extract มา
“offset”offset ของ term
lexical_variantRaw text ที่ extract จากเครื่องมือ NLP
note_nlp_concept_idไม่มีรายละเอียดใน data model
note_nlp_source_concept_idไม่มีรายละเอียดใน data model
nlp_systemระบบที่ใช้ทำ NLP
nlp_dateวันที่ประมวลผล note
nlp_datetimeวันเวลาที่ประมวลผล note
term_existsใช้บ่งชี้ว่าผู้รับบริการมี condition นี้จริง
term_temporalใช้ระบุว่าเป็นสิ่งที่พบ ณ ปัจจุบันหรือในอดีต
term_modifiersmodifier ของ term

specimen (URL)

ข้อมูลสิ่งส่งตรวจ

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
specimen_idunique identifier ของสิ่งส่งตรวจ
person_idบุคคลที่รับบริการ (FK ของ person)
specimen_concept_idConcept ID ของชนิด specimen
specimen_type_concept_idConcept ID ของที่มาของข้อมูลนี้ เช่น EHR
specimen_dateวันที่เก็บสิ่งส่งตรวจ
specimen_datetimeวันเวลาที่เก็บสิ่งส่งตรวจ
quantityจำนวนสิ่งส่งตรวจที่เก็บ
unit_concept_idConcept ID ของหน่วยนับ
anatomic_site_concept_idConcept ID ของตำแหน่งของร่างกายที่เก็บสิ่งส่งตรวจ
disease_status_concept_idConcept ID ของสถานะของโรค
specimen_source_ididentifier ตามที่ระบุใน source data
specimen_source_valueชนิด specimen ตามที่ระบุใน source data
unit_source_valueหน่วยนับ ตามที่ระบุใน source data
anatomic_site_source_valueตำแหน่งร่างกาย ตามที่ระบุใน source data
disease_status_source_valueสถานะของโรค ตามที่ระบุใน source data

fact_relationship (URL)

ใช้ระบุ relationship ระหว่างข้อมูลต่าง ๆ เช่น ระหว่าง person (เป็นแม่ลูกกัน), ระหว่าง care site (เป็นหน่วยงานหลัก หน่วยงานย่อย), drug-condition (condition เกิดตามหลังได้ยา), measurement-specimen (วัดค่าได้จาก specimen)

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
domain_concept_id_1Concept ID ของ domain ของ entity ต้นทาง
fact_id_1PK ของ entity ต้นทาง
domain_concept_id_2Concept ID ของ domain ของ entity ปลายทาง
fact_id_2PK ของ entity ปลายทาง
relationship_concept_idConcept ID แสดงชนิดความสัมพันธ์ (เช่น parent of, child of)

Health system data tables

location (URL)

physical location ของ person หรือ care site เป็น US centric ของประเทศอื่นเวลาบันทึกก็ปรับให้สอดคล้องกัน

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
location_idunique identifier ของ location
address_1ที่อยู่บรรทัดที่ 1
address_2ที่อยู่บรรทัดที่ 2
cityเมือง
stateรัฐ
zipรหัสไปรษณีย์
countyเทศมณฑล
location_source_valueที่อยู่ ตามที่ระบุใน source data
country_concept_idConcept ID ของประเทศ
country_source_valueประเทศ ตามที่ระบุใน source data
latitudeละติจูด
longitudeลองจิจูด

care_site (URL)

หน่วยงานที่ให้บริการ

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
care_site_idunique identifier ของหน่วยงาน
care_site_nameชื่อของหน่วยงาน
place_of_service_concept_idConcept ID ระบุประเภทของหน่วยงาน
location_idที่อยู่ของหน่วยงาน (FK ของ location)
care_site_source_valueidentifier ตามที่ระบุใน source data
place_of_service_source_valueสถานที่ให้บริการ ตามที่ระบุใน source data

provider (URL)

บุคลากรทางการแพทย์ เช่น หมอ, พยาบาล

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
provider_idunique identifier ของบุคลากร
provider_nameชื่อของบุคลากร (ไม่จำเป็นต้องเป็นชื่อจริง)
npiNational Provider Number
deaหมายเลข DEA (ของ US)
specialty_concept_idConcept ID ระบุ specialty ของบุคลากร
care_site_idหน่วยงานที่ให้บริการ (FK ของ care_site)
year_of_birthปีเกิด
gender_concept_idConcept ID ระบุรหัส
provider_source_valueidentifier ตามที่ระบุใน source data
specialty_source_valuespecialty ตามที่ระบุใน source data
specialty_source_concept_idConcept ID ของ specialty_source
gender_source_valueเพศ ตามที่ระบุใน source data
gender_source_concept_idConcept ID ของ gender_source

Health economics data tables

payer_plan_period (URL)

ข้อมูลเกี่ยวกับสิทธิการรักษาพยาบาล หรือประกันสุขภาพ

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
payer_plan_period_idunique identifier ของสิทธิ
person_idบุคคลที่รับบริการ (FK ของ person)
payer_plan_period_start_dateวันที่เริ่มใช้สิทธิ์นี้
payer_plan_period_end_dateวันที่สิ้นสุดสิทธิ์นี้
payer_concept_idConcept ID ของ payor
payer_source_valueผู้จ่าย ตามที่ระบุใน source data
payer_source_concept_idConcept ID ของ payer_source
plan_concept_idConcept ID ของประเภทรูปแบบประกัน (เช่น เฉพาะทำฟัน, เฉพาะค่ายา)
plan_source_valueประเภทรูปแบบ ตามที่ระบุใน source data
plan_source_concept_idConcept ID plan_source
sponsor_concept_idConcept ID ชนิดผู้จ่ายค่าประกัน
sponsor_source_valueผู้จ่ายค่าประกัน ตามที่ระบุใน source data
sponsor_source_concept_idConcept ID ของ sponsor_source
family_source_valueหมายเลขครอบครัว ตามที่ระบุใน source data
stop_reason_concept_idConcept ID สาเหตุที่ออกจากประกัน
stop_reason_source_valueสาเหตุที่ออกจากประกัน ตามที่ระบุใน source data
stop_reason_source_concept_idConcept ID ของ stop_reason_source

cost (URL)

ราคาของบริการต่าง ๆ ที่ได้เรียกเก็บ หรือที่ได้จ่ายไป

สรุปรายละเอียดฟิลด์ (ใน data model แถบไม่มีรายละเอียดแต่ละฟิลด์ ผมเลยไม่ใส่ตามครับ น่าจะต้องเดาเอาจากชื่อฟิลด์ และของ Broadsea ก็ไม่มีตัวอย่างให้)

CDM FieldDescriptionExample
cost_idใน data model ไม่มีรายละเอียด
cost_event_idใน data model ไม่มีรายละเอียด
cost_domain_idใน data model ไม่มีรายละเอียด
cost_type_concept_idใน data model ไม่มีรายละเอียด
currency_concept_idใน data model ไม่มีรายละเอียด
total_chargeใน data model ไม่มีรายละเอียด
total_costใน data model ไม่มีรายละเอียด
total_paidใน data model ไม่มีรายละเอียด
paid_by_payerใน data model ไม่มีรายละเอียด
paid_by_patientใน data model ไม่มีรายละเอียด
paid_patient_copayใน data model ไม่มีรายละเอียด
paid_patient_coinsuranceใน data model ไม่มีรายละเอียด
paid_patient_deductibleใน data model ไม่มีรายละเอียด
paid_by_primaryใน data model ไม่มีรายละเอียด
paid_ingredient_costใน data model ไม่มีรายละเอียด
paid_dispensing_feeใน data model ไม่มีรายละเอียด
payer_plan_period_idใน data model ไม่มีรายละเอียด
amount_allowedใน data model ไม่มีรายละเอียด
revenue_code_concept_idใน data model ไม่มีรายละเอียด
revenue_code_source_valueRevenue code (ของ US) ตามที่ระบุใน source data
drg_concept_idใน data model ไม่มีรายละเอียด
drg_source_valueDRG code (ของ US) ตามที่ระบุใน source data

Standardized derived elements

drug_era (URL)

ช่วงเวลาที่ได้รับ active ingredient หนึ่ง ๆ มักประกอบด้วยหลาย ๆ drug_exposure

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
drug_era_idunique identifier ของช่วงเวลาที่ได้ยา1
person_idบุคคลที่รับบริการ (FK ของ person)1
drug_concept_idConcept ID ของ ingredient ที่ได้รับ1112807
drug_era_start_dateวันที่เริ่มได้รับ ingredient นี้1970-12-03 0:00:00
drug_era_end_dateวันที่สิ้นสุดการได้รับ ingredient นี้1970-12-31 0:00:00
drug_exposure_countจำนวน drug exposure ที่ได้รับในช่วงเวลา1
gap_daysระยะเวลาที่ไม่ได้ยา ในช่วงเวลานี้364

dose_era (URL)

ช่วงเวลาที่ได้รับยาโดสหนึ่ง ๆ ของ active ingredient ที่สนใจ (ขอแค่ dose เท่ากัน ไม่ว่าจะใน dose form ใด)

สรุปรายละเอียดฟิลด์ (Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
dose_era_idunique identifier ของช่วงเวลา
person_idบุคคลที่รับบริการ (FK ของ person)
drug_concept_idConcept ID ของ ingredient ที่ได้รับ
unit_concept_idConcept ID ของหน่วยนับของ ingredient ที่ได้รับ
dose_valueค่าโดสที่ได้รับ
dose_era_start_dateวันที่เริ่ม dose era นี้
dose_era_end_dateวันสิ้นสุด dose era นี้

condition_era (URL)

โรคที่เกิดในระยะเวลาหนึ่ง ๆ มักประกอบด้วยหลาย ๆ condition occurrence เช่น ไปตรวจ 10 ครั้งด้วยโรคเบาหวาน ก็เป็น 1 condition_era ที่มี 10 condition occurrence

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
condition_era_idunique identifier ของช่วงเวลา1
person_idบุคคลที่รับบริการ (FK ของ person)1
condition_concept_idConcept ID ของ condition81151
condition_era_start_dateวันที่เริ่มมี condition1970-12-03 0:00:00
condition_era_end_dateวันที่สิ้นสุด condition1970-12-31 0:00:00
condition_occurrence_countจำนวน condition occurrence ในช่วงเวลานี้1

episode (URL)

การจัดกลุ่ม event หลาย ๆ ประเภท (เช่น visit, drug, procedure, device) ที่เกิดขึ้นในการดูแลรักษา ณ ช่วงเวลาหนึ่ง ไว้เป็นกลุ่มเดียวกัน

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
episode_idunique identifier ของ episode
person_idบุคคลที่รับบริการ (FK ของ person)
episode_concept_idConcept ID ระบุประเภทของ episode (เช่น treatment episode, disease episode)
episode_start_dateวันที่เริ่ม episode
episode_start_datetimeวันเวลาที่เริ่ม episode
episode_end_dateวันที่สิ้นสุด episode
episode_end_datetimeวันเวลาที่สิ้นสุด episode
episode_parent_idparent episode
episode_numberลำดับของ episode สำหรับกรณีหลาย episode ต่อ ๆ กัน
episode_object_concept_idไม่แน่ใจ เหมือนจะเป็น Concept ID ระบุเป้าหมายของ episode นั้น
episode_type_concept_idConcept ID ของที่มาของข้อมูลนี้ เช่น EHR
episode_source_valueประเภทของ episode ตามที่ระบุใน source data
episode_source_concept_idConcept ID ตามที่ระบุใน episode_source

episode_event (URL)

สำหรับเชื่อมโยง episode กับ event ต่าง ๆ

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
episode_idepisode (FK ของ episode)
event_idPK ของ table ที่ต้องการ reference
episode_event_field_concept_idConcept ID ระบุ domain ของ event ที่ต้องการ reference

Metadata tables

metadata (URL)

metadata ของ dataset ที่ได้ transform มาเข้า OMOP CDM

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
metadata_idunique identifier ของ metadata
metadata_concept_idใน data model ไม่มีรายละเอียด
metadata_type_concept_idใน data model ไม่มีรายละเอียด
nameใน data model ไม่มีรายละเอียด
value_as_stringใน data model ไม่มีรายละเอียด
value_as_concept_idใน data model ไม่มีรายละเอียด
value_as_numberค่าของ metadata ที่เป็นตัวเลข
metadata_dateใน data model ไม่มีรายละเอียด
metadata_datetimeใน data model ไม่มีรายละเอียด

cdm_source (URL)

รายละเอียด CDM และ process ในการ transform data

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
cdm_source_nameชื่อ CDM instanceSynthea synthetic health database
cdm_source_abbreviationชื่อย่อของ CDM instanceSynthea
cdm_holderผู้ดูแล CDM instanceOHDSI Community
source_descriptionคำบรรยาย CDM instanceSyntheaTM is a Synthetic Patient Population Simulator. The goal is to output synthetic, realistic (but not real), patient data and associated health records in a variety of formats.
source_documentation_referenceใน data model ไม่มีรายละเอียดhttps://synthetichealth.github.io/synthea/
cdm_etl_referenceเวอร์ชันของ ETL scripthttps://github.com/OHDSI/ETL-Synthea
source_release_dateวันที่ extract data ออกมา2019-05-25
cdm_release_dateวันที่ ETL script ทำงานเสร็จ2019-05-25
cdm_versionเวอร์ชันของ OMOP CDMv5.3.1
cdm_version_concept_idConcept ID ของเวอร์ชันของ CDMv5.0 18-JAN-19
vocabulary_versionเวอร์ชันของ standardized vocabulary

Vocabulary tables

concept (URL)

ข้อมูล concept

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
concept_idunique identifier ของ concept28060
concept_nameคำบรรยายที่ไม่กำกวมของ conceptStreptococcal sore throat
domain_idDomain (FK ของ domain)Condition
vocabulary_idVocabulary (FK ของ vocabulary)SNOMED
concept_class_idClass (FK ของ concept_class)Clinical Finding
standard_conceptใช้ระบุว่าเป็น concept มาตรฐานของ OMOP หรือไม่S
concept_codeรหัสจริง ๆ ตามที่ระบุในระบบ vocabulary นั้น ๆ43878008
valid_start_dateวันที่เริ่มใช้งาน1970-01-01
valid_end_dateวันที่สิ้นสุดการใช้งาน2099-12-31
invalid_reasonสาเหตุที่ concept นี้ invalid

vocabulary (URL)

ข้อมูลระบบ vocabulary (code system, terminology, etc.)

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
vocabulary_idunique identifier ของระบบคำศัพท์ATC
vocabulary_nameชื่อของระบบคำศัพท์WHO Anatomic Therapeutic Chemical Classification
vocabulary_referenceลิงค์ไปยัง documentation หรือที่โหลดคำศัพท์
vocabulary_versionเวอร์ชันของระบบคำศัพท์RXNORM 2018-08-12
vocabulary_concept_idConcept ID ของระบบคำศัพท์นี้44819117

domain (URL)

ข้อมูล domain ของ concept ต่าง ๆ

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
domain_idunique identifier ของ domainRoute
domain_nameชื่อ domainRoute Of Administration
domain_concept_idConcept ID ของ domain15

concept_class (URL)

ข้อมูล class ของ concept ต่าง ๆ

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
concept_class_idunique identifier ของ class
concept_class_nameชื่อ class
concept_class_concept_idConcept ID ของ class

concept_relationship (URL)

ความสัมพันธ์ระหว่าง concept ต่าง ๆ

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
concept_id_1concept ที่ 135208414
concept_id_2concept ที่ 2192671
relationship_idrelationship (FK ของ relationship)Maps to
valid_start_dateวันที่เริ่มใช้งาน1970-01-01
valid_end_dateวันที่สิ้นสุดการใช้งาน2099-12-31
invalid_reasonสาเหตุที่สิ้นสุดการใช้งาน

relationship (URL)

ชนิดของความสัมพันธ์

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
relationship_idunique identifier ของ relationshipATC – RxNorm
relationship_nameชื่อ relationshipATC to RxNorm
is_hierarchicalเป็น Is-a relationship หรือไม่0
defines_ancestryมีส่วนใน concept_ancestor table หรือไม่1
reverse_relationship_ididentifier ของ relationship ในทิศทางตรงข้ามRxNorm – ATC
relationship_concept_idConcept ID ของชนิด relationship44818810

concept_synonym (URL)

synonym ของ concept ต่าง ๆ

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
concept_idunique identifier ของ synonym28060
concept_synonym_nameterm ของ synonym นั้นStreptococcal sore throat (disorder)
language_concept_idConcept ID ของภาษาของ synonym4180186

concept_ancestor (URL)

hierarchical relationship ของ concept เพื่อใช้ในการ query

สรุปรายละเอียดฟิลด์

CDM FieldDescriptionExample
ancestor_concept_idconcept ID ของ concept ที่เป็น ancestor24818
descendant_concept_idconcept ID ของ concept ที่เป็น descendant4218389
min_levels_of_separationค่าต่ำสุดของจำนวนชั้นที่ห่างกัน1
max_levels_of_separationค่าสูงสุดของจำนวนชั้นที่ห่างกัน1

source_to_concept_map (URL)

การ mapping ระหว่าง non-standard เป็น standard concept

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
source_codeรหัสต้นทาง
source_concept_idconcept ID ของรหัสต้นทาง
source_vocabulary_idvocabulary ของรหัสต้นทาง (FK ของ vocabulary)
source_code_descriptionterm ของรหัสต้นทาง
target_concept_idconcept ID ของรหัสปลายทาง
target_vocabulary_idvocabulary ของรหัสปลายทาง (FK ของ vocabulary)
valid_start_dateวันที่เริ่มใช้งาน
valid_end_dateวันที่สิ้นสุดการใช้งาน
invalid_reasonสาเหตุที่สิ้นสุดการใช้งาน

drug_strength (URL)

ข้อมูล drug strength ของ drug product

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
drug_concept_idConcept ID ของยา
ingredient_concept_idConcept ID ของ active ingredient
amount_valueปริมาณ active ingredient
amount_unit_concept_idConcept ID ของหน่วยนับ
numerator_valueตัวเศษ ของ active ingredient
numerator_unit_concept_idConcept ID ของหน่วยนับ
denominator_valueตัวส่วน ของ active ingredient
denominator_unit_concept_idConcept ID ของหน่วยนับ
box_sizeจำนวนยาในกล่องที่จ่ายให้ผู้รับบริการ
valid_start_dateวันที่เริ่มใช้งาน
valid_end_dateวันที่สิ้นสุดการใช้งาน
invalid_reasonสาเหตุที่สิ้นสุดการใช้งาน

cohort (URL)

ใช้บันทึกว่าใครอยู่ใน cohort บ้าง

สรุปรายละเอียดฟิลด์ (ใน data model ไม่ได้ให้รายละเอียด แต่พอเดาความหมายได้ และใน Broadsea ไม่ได้มีตัวอย่าง)

CDM FieldDescriptionExample
cohort_definition_idFK ของ cohort definition
subject_idFK ของ subject
cohort_start_dateวันที่เข้า cohort
cohort_end_dateวันที่ออกจาก cohort

cohort_definition (URL)

รายละเอียดการนิยาม cohort

สรุปรายละเอียดฟิลด์ (ใน Broadsea ไม่มีตัวอย่าง)

CDM FieldDescriptionExample
cohort_definition_idunique identifier ของนิยาม cohort
cohort_definition_nameชื่อของ cohort
cohort_definition_descriptionคำบรรยายแบบละเอียด ของ cohort นี้
definition_type_concept_idConcept ID ของชนิด cohort definition
cohort_definition_syntaxsyntax หรือ code ที่ใช้รัน cohort
subject_concept_idConcept ID ของชนิด domain ที่เข้า cohort (person, provider, visit)
cohort_initiation_dateวันที่เริ่ม cohort

ก็หมดแล้วครับสำหรับตารางต่าง ๆ จริง ๆ หลังจากไล่ดูโดยละเอียดทั้งหมด ผมพอมีความเห็นเกี่ยวกับ OMOP อยู่บ้างเหมือนกันครับ ผมคิดว่าเขามีทั้งจุดแข็งและจุดอ่อนหลายอย่าง ไว้มีโอกาสมาเขียนเรื่องนี้ครับ

Leave a Reply

Your email address will not be published. Required fields are marked *