تكرار البيانات هو تمثيل الكيان الواقعي الواحد أكثر من مرة. وفي المستشفى نادرًا ما يكون التكرار نسخة حرفية؛ بل هو مريض واحد سُجِّل أربع مرات: مرة عبر الطوارئ، ومرة في العيادة الخارجية، ومرة عند التحويل من منشأة أخرى، ومرة بعد تصحيح كتابة اسمه. أما الأثر على النمذجة فمحدد وخطير: إذا توزّعت هذه السجلات الأربعة بين مجموعتي التدريب والاختبار، فإن النموذج يُقيَّم على شخص سبق أن حفظه، وتصبح النتيجة المُعلنة قياسًا لاسترجاع الأفراد لا لقدرة التعميم على أفراد جدد.
إزالة التكرار مسألة هوية قبل أن تكون مسألة تنظيف بيانات. فما لم تستطع تحديد أي السجلات تعود للشخص نفسه، لن تتمكن من تقسيم البيانات تقسيمًا نزيهًا.
ما المشكلة التي يعالجها هذا الحل؟
تشغّل مجموعة مستشفيات نموذجًا للتنبؤ بخطر إعادة الدخول عبر أربع منشآت. يضم فهرس المرضى الرئيسي ٦١٢٬٠٠٠ سجل، بينما يرجّح التدقيق السريري أن هذه السجلات تمثل نحو ٥٤٠٬٠٠٠ شخص مختلف، أي أن قرابة ١٢٪ منها تكرار لأشخاص موجودين أصلًا.
وأسباب التكرار هي الأسباب المعتادة دائمًا. تُلتقط الهوية الإماراتية في بعض مكاتب التسجيل وتُتجاوز في غيرها حين يصل المريض فاقدًا للوعي. وتُكتب الأسماء العربية بصيغ لاتينية متعددة، فيظهر الاسم الواحد بأشكال مختلفة. وتُسجَّل تواريخ الميلاد افتراضيًا في الأول من يناير حين لا تُعرف سوى السنة. ودمجت منشأتان نظاميهما عام ٢٠٢٣ اعتمادًا على الاسم وتاريخ الميلاد وحدهما. والمريضة التي تزوجت وتغيّرت كنيتها موجودة مرتين بحكم التصميم نفسه.
أعطى النموذج مساحة تحت المنحنى قدرها ٠٫٨٩ في التحقق، ثم ٠٫٧١ في الربع الأول بعد التشغيل. ولم يتحقق أحد مما إذا كان الشخص نفسه يظهر على جانبي التقسيم. كان نحو ١٢٪ من مجموعة الاختبار أشخاصًا سبق للنموذج أن رآهم، وكانوا أسهل التنبؤات فيها على الإطلاق.
كيف يعمل الحل؟
افصل بين أنواع التكرار الثلاثة، لأن كل نوع يحتاج معالجة مختلفة. التكرار الحرفي صفّ مطابق بايتًا ببايت، وهو عادةً خلل في الاستيراد ويمكن إزالته بالتجزئة. والتكرار التقريبي هو الكيان نفسه مع اختلاف في الحقول، ويحتاج مطابقة تشابه. أما الزيارة المتكررة فهي سجلات مشروعة متعددة لشخص واحد ولا يجوز حذفها إطلاقًا.
حدِّد هوية الكيانات قبل التقسيم. تُضيّق التكتيلُ فضاءَ المقارنة، ثم تقارن درجةُ التشابه المرشحين داخل كل كتلة، ثم تُسند خطوةُ التجميع معرّفًا مؤسسيًا ثابتًا لكل شخص محدَّد.
قسّم البيانات وفق هذا المعرّف لا وفق الصف. يضمن التقسيم المرتكز على المجموعة وقوع جميع سجلات المريض الواحد في جانب واحد، وهذا ما يجعل النتيجة المُعلنة نزيهة.
أبقِ الدمج قابلًا للتراجع. فدمج مريضين خطأً حادثةُ سلامة سريرية لا مجرد خلل بيانات، ولذا يحتاج كل قرار دمج إلى سجل تدقيق ومسار لفك الدمج.
- 1التجزئة لكشف التكرار الحرفي وحِّد صيغة الصف ثم احسب تجزئته. تطابق التجزئة يعني خللًا في الاستيراد ويمكن دمجه بأمان.
- 2التكتيل لتقليص المقارنات قارن فقط السجلات التي تشترك في مفتاح تقريبي مثل سنة الميلاد مع رمز صوتي للاسم. مقارنة ٦١٢٬٠٠٠ سجل زوجيًا تعني ١٨٧ مليار مقارنة، والتكتيل يجعل المسألة قابلة للتنفيذ.
- 3احتساب التشابه لكل حقل استخدم مسافة التحرير للأسماء، والتطابق التام لرقم الهوية الوطنية، وتقارب التواريخ لتاريخ الميلاد، ثم ادمجها في درجة واحدة.
- 4تجميع السجلات في كيانات اجمع السجلات التي تتجاوز العتبة في عناقيد، وأسند لكل عنقود معرّفًا مؤسسيًا ثابتًا.
- 5التقسيم وفق الكيان استخدم المعرّف المؤسسي مفتاحًا للتجميع حتى لا يظهر أي مريض في التدريب والاختبار معًا.
البنية المرجعية
أربع طبقات، وطبقة الهوية هي التي تحدد إمكانية الوثوق بطبقة التقييم.
| Layer | What it contains |
|---|---|
| طبقة الالتقاط | مسار التسجيل، وأي حقول الهوية إلزامية، وماذا يحدث حين يعجز المريض عن تقديم أي منها. |
| طبقة الهوية | التكتيل واحتساب التشابه والتجميع والمعرّف المؤسسي الناتج عنها. |
| طبقة الحوكمة | مسار الدمج وفك الدمج، وسجل التدقيق، ومن يملك صلاحية تأكيد المطابقة. |
| طبقة التقييم | تقسيم مرتكز على المجموعة وفق المعرّف المؤسسي حتى لا يمتد أي مريض بين التدريب والاختبار. |
خيارات النشر: معرّفات المرضى من أشد الحقول حساسية لدى أي مستشفى. لذلك تُنفَّذ المطابقة داخل البيئة المعتمدة للمنشأة، وسجلات المقارنة نفسها تحتوي بيانات تعريفية وتخضع للتصنيف ذاته.
القدرات الرئيسية
تقدير نسبة التكرار
نسبة تكرار مقيسة لكل منشأة ولكل مسار تسجيل، بدل الاعتماد على الافتراض.
متاحتصميم التكتيل والتشابه
استراتيجية لتوليد المرشحين تجعل المطابقة قابلة للتنفيذ دون إهدار المطابقات الصحيحة.
متاحمسار تحديد هوية الكيانات
معرّف مؤسسي ثابت لكل شخص محدَّد، مع تسجيل درجة الثقة لكل عنقود.
تطوير مخصصتقييم مرتكز على المجموعة
تقسيم يعتمد المعرّف الناتج حتى تعكس النتائج مرضى جددًا لا مرضى محفوظين.
تطوير مخصصالتكاملات
يمسّ تحديد هوية الكيانات مسارَ التسجيل وفهرسَ المرضى الرئيسي أكثر بكثير مما يمسّ النموذج، لأن العلاج الدائم يقع في المنبع.
| النظام | نقطة التكامل والبيانات المتبادلة | الاتجاه |
|---|---|---|
| فهرس المرضى الرئيسي | كتابة المعرّفات المؤسسية الناتجة مع درجات الثقة وسجل دمج قابل للتراجع. ← Label Noise: The Accuracy Ceiling Nobody Put There Deliberately | ثنائي الاتجاه |
| مسار التسجيل | جعل التقاط المعرّف إلزاميًا حيثما أمكن سريريًا، وهو ما يمنع التكرار بدل إصلاحه. ← Missing Values: Why the Gap Itself Carries Information | ثنائي الاتجاه |
| مسار تدريب النماذج | تمرير المعرّف المؤسسي كمفتاح تجميع عبر كل تقسيم وكل إعادة تدريب. ← Data Leakage: The Model That Only Works Before Deployment | ثنائي الاتجاه |
حالات الاستخدام والقطاعات
نمذجة إعادة دخول المستشفى
الهدف معرّف لكل مريض، لذا يفسد المريض المكرر التسمية والتقسيم معًا.
تحليلات مطالبات التأمين
المشترك الواحد عبر عدة وثائق ينتج نمط التسريب نفسه الذي ينتجه المريض عبر عدة سجلات.
سجلات الخدمات الحكومية
المتعاملون المسجلون بصيغ نسخ مختلفة يضخّمون أعداد السكان ويشوّهون نماذج الاستحقاق.
بيانات العملاء الرئيسية
تكرار الأسر والشركات يفسد نمذجة التسرّب وأي مقياس إيراد لكل كيان.
اعتبارات الإمارات والخليج
التعامل مع الأسماء العربية هو المصدر التقني الأبرز للتكرار التقريبي في المنطقة. فقد يُكتب الاسم الواحد بعدة صيغ في الحقل اللاتيني بينما يبقى الحقل العربي متسقًا، أو العكس، ولذلك من الأفضل مقارنة النص العربي مباشرة بدل الاعتماد على النسخ اللاتيني. كما تنقسم الأسماء المركبة التي تحتوي أدوات مثل «آل» و«عبد» و«بن» بطرق مختلفة بين الأنظمة، وتُلحق أداة التعريف على نحو غير متسق. وحيثما تُلتقط الهوية الإماراتية فهي شبه فاصلة وينبغي السماح لها بنقض تطابق الاسم كليًا. أما حيث تغيب - الدخول فاقدًا للوعي، والزوار، وحديثو الولادة - فتضطر المطابقة إلى الاعتماد على أدلة أضعف، وهو بالضبط الموضع الذي تتركز فيه أخطاء الدمج والذي ينبغي أن يتدخل فيه التأكيد البشري.
منهجية التنفيذ
- 1قِس قبل أن تبني قدّر نسبة التكرار على عينة مراجَعة يدويًا حتى يكون للمسار هدف واضح يقيس نفسه عليه.
- 2أصلح الالتقاط حيثما أمكن إلزامية التقاط المعرّف عند التسجيل تمنع من التكرار أكثر مما تحلّه أي خوارزمية مطابقة.
- 3صمّم التكتيل بعناية اختر مفاتيح تكتيل تصمد أمام تباين النسخ العربي، وقِس كم مطابقة صحيحة يفوّتها كل مفتاح.
- 4اضبط العتبات وفق العواقب في السياق السريري يكون الدمج الخاطئ أسوأ من الدمج الفائت، لذا يجب أن تكون العتبة متحفظة وأن تُحال الأزواج الحدية إلى مراجع بشري.
- 5قسّم وفق الكيان دائمًا طبّق المعرّف المؤسسي كمفتاح تجميع في كل تقسيم، بما في ذلك طيّات التحقق المتقاطع.
الأمن وخيارات النشر
يتطلب تحديد هوية الكيانات مقارنة حقول تعريفية بنص واضح، ما يعني أن عملية المطابقة تتعامل مع أشد البيانات حساسية في المؤسسة ويجب أن تُنفَّذ داخل البيئة السريرية المعتمدة. وسجلات المقارنة وملفات الأزواج المرشحة وقوائم المراجعة كلها تحتوي معرّفات مرضى وترث التصنيف نفسه. والدمج الخاطئ يكشف تاريخ مريض لمريض آخر ويُعدّ حادثة تمس سلامة المرضى، لذا يحتاج كل دمج إلى سجل تدقيق ومستخدم مخوّل ومسار فك دمج مُختبر قبل تفعيل الأتمتة. ولا شيء في هذه المقالة يستدعي أو يكشف بيانات مرضى حقيقية؛ فجميع الأمثلة توضيحية.
مثال عملي
أربعة سجلات ينبغي لتحديد هوية الكيانات أن يعرف أنها شخص واحد، وسجل خامس يجب ألا يدمجه.
- السجل ١. اسم بصيغة لاتينية بحروف كبيرة، تاريخ ميلاد ١٩٧١-٠٣-١٤، رقم الهوية الوطنية موجود، دخول عبر الطوارئ.
- السجل ٢. الاسم نفسه بصيغة نسخ مختلفة، تاريخ الميلاد ١٩٧١-٠٣-١٤، رقم الهوية غائب، عيادة خارجية. مسافة الاسم صغيرة والتاريخ مطابق تمامًا.
- السجل ٣. الاسم مختصر بحرف أول وشرطة، تاريخ الميلاد ١٩٧١-٠١-٠١، ورقم الهوية موجود ومطابق للسجل ١. التاريخ قيمة افتراضية، والمعرّف هو الفيصل.
- السجل ٤. الاسم نفسه، تاريخ الميلاد ١٩٧١-٠٣-١٤، محوَّل من منشأة أخرى برقم سجل طبي مختلف. الشخص نفسه من نظام مصدر مختلف.
- السجل ٥ - المصيدة. الاسم نفسه، تاريخ الميلاد ١٩٧١-٠٣-١٤، لكن رقم الهوية مختلف والعنوان مختلف. اسم شائع وتاريخ ميلاد مشترك. هذا شخص آخر، ودمجه يُعدّ حادثة تمس سلامة المرضى.
تُحلّ السجلات من ١ إلى ٤ إلى معرّف مؤسسي واحد يحمل بينها ثلاث زيارات مشروعة. ويبقى السجل ٥ منفصلًا لأن وجود رقم هوية وطنية مختلف يرجّح على تطابق قوي في الاسم والتاريخ. وهذا التباين - المعرّفات تملك حق النقض بينما الأسماء لا تكفي وحدها للتأكيد - هو القاعدة الجوهرية في تحديد هوية الكيانات سريريًا.
مثال برمجي
المسار هو: تجزئة، ثم تكتيل، ثم احتساب تشابه، ثم تجميع، ثم تقسيم وفق المعرّف الناتج. والخطوة الأخيرة هي التي تحمي التقييم فعليًا.
import hashlib
import pandas as pd
from itertools import combinations
from difflib import SequenceMatcher
from sklearn.model_selection import GroupShuffleSplit
# 1. Exact duplicates: normalise, then hash. Ingestion artefacts only.
def row_hash(r):
key = "|".join(str(r[c]).strip().upper() for c in ["name", "dob", "national_id"])
return hashlib.sha256(key.encode()).hexdigest()
df["row_hash"] = df.apply(row_hash, axis=1)
exact = df["row_hash"].duplicated().sum()
print("exact duplicates:", int(exact))
df = df.drop_duplicates(subset="row_hash").copy()
# 2. Blocking: never compare every pair. n(n-1)/2 is not tractable at scale.
def phonetic(name):
s = "".join(ch for ch in str(name).upper() if ch.isalpha())
return s[:4]
df["block"] = df["dob"].str[:4] + "_" + df["name"].map(phonetic)
print("blocks:", df["block"].nunique(), "| largest:", df["block"].value_counts().max())
# 3. Similarity scoring inside each block.
def score(a, b):
name = SequenceMatcher(None, str(a["name"]).upper(), str(b["name"]).upper()).ratio()
dob = 1.0 if a["dob"] == b["dob"] else 0.0
ida, idb = a["national_id"], b["national_id"]
if pd.notna(ida) and pd.notna(idb):
# A present-and-different identifier vetoes the match outright.
return 1.0 if ida == idb else 0.0
return 0.6 * name + 0.4 * dob
pairs = []
for _, grp in df.groupby("block"):
for i, j in combinations(grp.index, 2):
sc = score(df.loc[i], df.loc[j])
if sc >= 0.90:
pairs.append((i, j, sc))
print("candidate matches:", len(pairs))
# 4. Cluster matched pairs into entities (union-find).
parent = {i: i for i in df.index}
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]; x = parent[x]
return x
for i, j, _ in pairs:
ri, rj = find(i), find(j)
if ri != rj: parent[ri] = rj
df["enterprise_id"] = [find(i) for i in df.index]
print("records:", len(df), "-> distinct patients:", df["enterprise_id"].nunique())
# 5. THE STEP THAT MATTERS: split by patient, never by row.
gss = GroupShuffleSplit(n_splits=1, test_size=0.2, random_state=8)
train_idx, test_idx = next(gss.split(df, groups=df["enterprise_id"]))
overlap = set(df.iloc[train_idx]["enterprise_id"]) & set(df.iloc[test_idx]["enterprise_id"])
print("patients in both splits:", len(overlap)) # must be 0عدد التكرارات الحرفية، وإحصاءات التكتيل، وعدد المطابقات المرشحة، ومقدار التقلّص من عدد السجلات إلى عدد المرضى المختلفين، وأخيرًا عدد التداخل الذي يجب أن يكون صفرًا. فإن لم يكن هذا الرقم الأخير صفرًا فالتقييم باطل مهما كانت بقية النتائج.
فحوصات تشخيصية
- احسب عدد المعرّفات المؤسسية التي تظهر في التدريب والاختبار معًا. أي رقم فوق الصفر يُبطل التقييم.
- قارن أداء التحقق بأداء التشغيل. الهبوط الكبير دون تغيّر في التوزيع توقيعٌ كلاسيكي لتسريب التكرار.
- عايِن أعلى الأزواج تشابهًا التي لم تُدمج، وأدنى الأزواج تشابهًا التي دُمجت؛ كلاهما يكشف عتبة مضبوطة خطأً.
- افحص نسبة التكرار لكل منشأة ولكل مسار تسجيل. عادةً ما يكون مكتب واحد أو استيراد واحد مسؤولًا عن معظمها.
- ابحث عن تواريخ الميلاد الافتراضية مثل الأول من يناير، فهي تجمّع التكرارات وتُفشِل التكتيل القائم على التاريخ.
- تحقق من أن كل عملية دمج قابلة للتراجع ومسجّلة قبل تفعيل أي دمج آلي.
متى تستخدم هذه التقنية
- تُنشأ السجلات في نقاط متعددة دون معرّف واحد مفروض.
- دُمجت الأنظمة أو رُحّلت أو وُحّدت، وهي اللحظة التي تنشأ فيها معظم التكرارات.
- تصل الأسماء عبر النسخ بين لغتين، وهو ما يضمن تباينًا في الحقول للشخص نفسه.
- هدف النمذجة معرّف لكل كيان لا لكل صف.
متى لا تستخدمها
- يوجد معرّف واحد موثوق مفروض ومُتحقق منه في كل نقطة التقاط، بحيث يندر التكرار بما يكفي لمعالجته فرديًا.
- تعدد الصفوف لكل كيان هو البنية المقصودة - فالزيارات المتكررة ليست تكرارًا وحذفها يدمّر التاريخ السريري.
- حجم البيانات صغير بما يسمح بالمراجعة اليدوية، وهي أدق من أي مطابق آلي.
- عاقبة الدمج الخاطئ غير مقبولة ولا تتوفر خطوة تأكيد بشرية.
القيود والمتطلبات المسبقة
- يقايض التكتيل الاسترجاعَ بقابلية التنفيذ؛ فأي مفتاح سيفوّت بعض المطابقات الصحيحة، وينبغي قياس هذه المقايضة لا افتراضها.
- تشابه النصوص ضعيف مع الأسماء القصيرة ومع صيغ النسخ التي تختلف في بداية الاسم.
- تُجسّد العتبات حكمًا قيميًا يوازن بين الدمج الخاطئ والدمج الفائت، ولا يمكن ضبطها من البيانات وحدها.
- تحديد الهوية ليس نهائيًا أبدًا: تصل سجلات جديدة باستمرار وتتغير المعرّفات مع الزواج والتصحيح وإعادة الإصدار.
أنواع التكرار وطريقة معالجة كل نوع
النوع الأول وحده آمن للإزالة الآلية. والنوع الثالث لا يجوز إزالته إطلاقًا.
| النوع | كيف يظهر | المعالجة الصحيحة |
|---|---|---|
| تكرار حرفي | صف مطابق بايتًا ببايت | تجزئة ودمج |
| تكرار تقريبي | الشخص نفسه باختلاف الحقول | مطابقة تشابه ثم دمج |
| زيارة متكررة | الشخص نفسه بزيارة مختلفة | الإبقاء عليها والتجميع لكل كيان |
| تكرار عبر الأنظمة | أرقام سجلات مختلفة | الحلّ إلى معرّف مؤسسي واحد |
| مطابقة خاطئة | أشخاص مختلفون بحقول متشابهة | نقض بالمعرّف ومراجعة بشرية |
إزالة الزيارات المتكررة بوصفها تكرارًا هي أشيع خطأ في هذه القائمة، وهي تحذف بصمت التاريخ الطولي الذي تعتمد عليه معظم النماذج السريرية.
الخلاصة
- معظم تكرارات المستشفيات تكرار تقريبي لا نسخ حرفية، ولذلك تكشف التجزئة وحدها القليل منها.
- المريض المكرر عبر التقسيم يحوّل التقييم إلى اختبار ذاكرة.
- الزيارات المتكررة سجلات مشروعة ولا يجوز إزالتها بحجة التكرار.
- وجود رقم هوية وطنية مختلف ينبغي أن ينقض تطابقًا قويًا في الاسم.
- قسّم وفق معرّف الكيان الناتج، وتأكد أن التداخل بين المجموعتين يساوي صفرًا تمامًا.
الأسئلة الشائعة
إذا ظهر المريض نفسه في التدريب والاختبار، يُقيَّم النموذج على شخص سبق أن حفظه. عندئذ يقيس الرقم المُعلن استرجاع الأفراد لا التعميم، وينهار عند التشغيل.
هذا يعالج التكرار الحرفي وحده، وهو عادة أصغر الفئات. أما التكرار التقريبي والتكرار عبر الأنظمة فينجو من أي إزالة قائمة على التجزئة لأن لا صفين متطابقان.
يقصر التكتيل المقارنات على السجلات التي تشترك في مفتاح تقريبي. فمقارنة ٦١٢٬٠٠٠ سجل زوجيًا تعني نحو ١٨٧ مليار مقارنة، والتكتيل يقلّصها بمراتب عشرية مع الاحتفاظ بمعظم المطابقات الصحيحة.
من العواقب لا من درجة F. ففي السياق السريري يكون الدمج الخاطئ أسوأ بكثير من الفائت، لذا اضبط العتبة بتحفظ وأحِل الأزواج الحدية إلى مراجعة بشرية.
لا. تعدد الزيارات لمريض واحد سجلات مشروعة. اربطها بمعرّف كيان مشترك وجمّعها حسب حاجة المهمة، لكن لا تحذفها أبدًا.
الاسم الواحد يُنسخ بصيغ لاتينية عديدة، وتُلحق أدوات مثل «آل» و«بن» على نحو غير متسق، وقد تظهر أداة التعريف أو تغيب. والمطابقة على النص العربي حين يتوفر أوثق من المطابقة على صيغ النسخ.
فقط فوق عتبة متحفظة، مع سجل تدقيق ومسار فك دمج فعّال. أما الأزواج الحدية فمكانها لدى مراجع بشري، لأن الدمج الخاطئ حادثة سلامة سريرية.
تسريب التكرار صورة من تسريب المجموعات: الكيان نفسه يمتد عبر التقسيم. والعلاج واحد، وهو التقسيم المرتكز على المجموعة وفق معرّف كيان محدَّد.
هل تعرف كم مريضًا فعليًا يضمّه فهرس المرضى لديك؟
أرسل لنا مخطط السجلات، وحقول الهوية التي تُلتقط عند التسجيل، وحجم عمليات الدمج التي ينفذها فريقك يدويًا. سنقدّر نسبة التكرار ونقيّم ما إذا كان بالإمكان تقييم النماذج المدرَّبة عليها تقييمًا سليمًا.
اطلب تقييم سلامة بيانات المرضىالمصادر والأدلة
- scikit-learn: GroupShuffleSplit — المرجع الرسمي للتقسيم المرتكز على المجموعة بين التدريب والاختبار.
- Fellegi & Sunter, A Theory for Record Linkage — الإطار الاحتمالي لربط السجلات الذي تقوم عليه أساليب تحديد هوية الكيانات الحديثة.
- Christen, Data Matching — مرجع يغطي التكتيل ودوال المقارنة والتصنيف في ربط السجلات.
- scikit-learn: cross-validation with groups — إرشادات رسمية حول استراتيجيات التحقق المتقاطع المرتكزة على المجموعات.
أسماء الموردين والمنتجات علامات تجارية لمالكيها؛ وتُستخدم المراجع للسياق التقني ولا تعني شراكة أو اعتمادًا أو تأييدًا ما لم يُذكر ذلك صراحة.