Scénario de test & Cas d'usage
Extracción de reglas booleanas para clasificación.
Descubrir todas las acciones de boolRuleCreación de tablas: 'notas_pacientes' (documentos) con síntomas y 'reglas_enfermedades' (reglas) definiendo criterios de diagnóstico.
| 1 | PROC CAS; |
| 2 | DATA mycas.notas_pacientes; |
| 3 | INFILE DATALINES delimiter=','; |
| 4 | INPUT id_paciente $ sintoma $; |
| 5 | DATALINES; |
| 6 | P001,fiebre |
| 7 | P001,tos |
| 8 | P001,fatiga |
| 9 | P002,fractura |
| 10 | P002,dolor |
| 11 | P003,fiebre |
| 12 | P003,nauseas |
| 13 | ; |
| 14 | RUN; |
| 15 | |
| 16 | DATA mycas.reglas_enfermedades; |
| 17 | INFILE DATALINES delimiter=','; |
| 18 | INPUT rule_id $ rule_term $; |
| 19 | DATALINES; |
| 20 | GRIPE,fiebre |
| 21 | GRIPE,tos |
| 22 | TRAUMA,fractura |
| 23 | ; |
| 24 | RUN; |
| 25 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.tableInfo / TABLE='notas_pacientes'; |
| 3 | TABLE.tableInfo / TABLE='reglas_enfermedades'; |
| 4 | RUN; |
| 5 | QUIT; |
| 1 | PROC CAS; |
| 2 | ACTION boolRule.brScore / |
| 3 | TABLE={name='notas_pacientes'}, |
| 4 | docId='id_paciente', |
| 5 | termId='sintoma', |
| 6 | ruleTerms={name='reglas_enfermedades'}, |
| 7 | casOut={name='diagnosticos_preliminares', replace=true}; |
| 8 | RUN; |
| 9 | QUIT; |
La tabla de salida 'diagnosticos_preliminares' debe mostrar que el paciente P001 cumple la regla 'GRIPE' (tiene fiebre y tos) y el paciente P002 cumple la regla 'TRAUMA'. El paciente P003 no debería activar la regla de gripe completa si la lógica requiere ambos términos, o parcialmente si la regla es disyuntiva.