Question

Je travaille dans les soins de santé, en examinant les processus de gestion des données de diverses études d'observation. Un problème auquel j'ai été confronté à plusieurs reprises est les données mal codées, en particulier lorsque certaines valeurs sont manquantes.


Arrière-plan, sautez si vous le souhaitez

Je passe actuellement en revue une étude qui recueille des données sur les patients souffrant d'une maladie spécifique. Les patients rejoignent généralement l'étude une fois la maladie confirmée (quelques mois après l'épidémie). L'un des paramètres importants est le résultat d'un certain test sanguin dans la phase aiguë de la maladie, c'est-à-dire, espérons-le, aussi près que possible de l'épidémie. Parfois, cependant, ce test n'a pas été effectué car il n'y avait aucune indication ou le patient a oublié d'apporter une copie du résultat, etc.

Un aspect important ici est que toutes les données de la DB sont générées à partir de fichiers papier (tonnes de non) et souvent les gens n'ont pas le temps de parcourir tout cela, afin qu'ils n'entrent pas dans le résultat du test sanguin simplement parce qu'ils Je n'y suis pas encore arrivé.


Afin de coder «en quelque sorte» pour une valeur absente, j'ai vu divers schémas:

  1. Utilisez un champ de texte (3) pour les booléens et utilise n/a pour exprimer que "les données ne sont vraiment pas disponibles" (par exemple parce que le test sanguin n'a pas été effectué) et NULL Pour exprimer "peut-être que les données sont quelque part, je ne l'ai pas encore cherché".

  2. Utilisez un champ supplémentaire dans le même tableau, par exemple un champ booléen "Bloodtest_perf" où "perf" représente "réellement interprété".

Je n'aime pas la première approche car elle vous permet de saisir "oui", "y", "ja", "oui", etc. et vous finissez par passer la plupart du temps à nettoyer au lieu d'analyser les données. La deuxième approche n'est pas beaucoup mieux non plus, car vous vous retrouvez au mieux avec les données factices et les données incohérentes:

__ TBL_TEST1 __________________________________
| patID | test1_perf | test1_date | test1_res |
+---------------------------------------------+
| 12345 | no         | NULL       | NULL      |
| 12345 | yes        | 2011-05-13 | 20.0      |
+---------------------------------------------+

La meilleure solution que je pourrais trouver est de créer un TBL_TEST1_METADATA qui contient une entrée fic test1 n'a pas été réalisé, ce qui spécifie alors pourquoi, mais les cliniciens (avec des connaissances rudimentaires de MS) sont aux prises avec cette approche de normalisation.

Qu'est-ce qu'une solution pragmatique mais efficace pour ce problème?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top