This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
medicacion2021 [2021/03/31 08:03] osotolongo [Reglas de CIMA] |
medicacion2021 [2021/04/03 10:42] (current) osotolongo [tl;dr] |
||
---|---|---|---|
Line 4: | Line 4: | ||
===== tl;dr ===== | ===== tl;dr ===== | ||
+ | |||
+ | El formato de la base de datos de input ha de ser: | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | y se ejecutan dos scripts consecutivos, | ||
<code bash> | <code bash> | ||
Line 10: | Line 17: | ||
</ | </ | ||
- | Y ahora lee al menos acerca del formato de input. ;-) | + | Y los resultados quedan en el archivo // |
===== Antes de empezar ===== | ===== Antes de empezar ===== | ||
Line 266: | Line 273: | ||
===== Aplicando las reglas ===== | ===== Aplicando las reglas ===== | ||
- | Aqui he de leer dos cosas antes que nada. Primero, las reglas que hemos construido. Estas las voy a asignar a un hash de arrays, | + | Aqui he de leer tres cosas antes que nada. Primero, las reglas que hemos construido. Estas las voy a asignar a un hash de arrays, |
<code perl> | <code perl> | ||
Line 279: | Line 286: | ||
close RDF; | close RDF; | ||
+ | </ | ||
+ | |||
+ | Luego, la lista de principios activos de [[https:// | ||
+ | |||
+ | <code perl> | ||
+ | my %cima; | ||
+ | open ADF, "< | ||
+ | while (< | ||
+ | my ($med, $pal, $pan) = / | ||
+ | my @pas = split /, /, $pal; | ||
+ | for (@pas) {s/ | ||
+ | $cima{$med} = [ @pas ]; | ||
+ | } | ||
+ | close ADF; | ||
</ | </ | ||
Line 308: | Line 329: | ||
foreach my $rkey (sort keys %wrules){ | foreach my $rkey (sort keys %wrules){ | ||
if(exists($wrules{$rkey}{$med})){ | if(exists($wrules{$rkey}{$med})){ | ||
- | $meds{$rkey} = 1; | + | |
- | $visits{$pid}{$vid}{$rkey} = 1; | + | $meds{$pa} = 1; |
+ | $visits{$pid}{$vid}{$pa} = 1; | ||
+ | } | ||
last; | last; | ||
} | } | ||
Line 317: | Line 340: | ||
</ | </ | ||
- | Cuando encuentro este elemento en las reglas, marco el ID de la regla como existente | + | Cuando encuentro este elemento en las reglas, marco tods los ID de principios activos correspondientes a este medicamento |
Una vez llenados los medicamentos de cada visita hemos de escribirlo en forma matricial. Primero escribimos los headers, | Una vez llenados los medicamentos de cada visita hemos de escribirlo en forma matricial. Primero escribimos los headers, |