Newsgroup: it.comp.appl.access
Titolo: ICD-9-CM importazione

Vi spiego...
Più volte ho fatto ricorso al NG, sempre con ottimi suggerimenti...
Sono un medico, che per necessità e/o passione si occupa anche (poco alla
volta ...) di Access.
E' uscita da qualche tempo la classificazione delle malattie e delle
procedure ...
I file nativi sono disponibili e scaricabili liberamente dal sito del
ministero della sanità 
http://www.sanita.it/sdo/icd9cm/icd9cm.htm
 in formato
rtf
ve ne do' un esempio salvato come txt
------------------------------------------------------------
Rottura, rotto
- Tendine (traumatica) - V. anche distorsione, per sede (continua)
-- Piede 845.10
--- Interfalangea (articolazione) 845.13
---Metatarsofalangea (articolazione) 845.12
--- Non traumatica 727.68
--- Sede specifica NIA 845.19
---Tarso-metatarsica (articolazione) 845.11
-- Polso 842.00
--- Carpale (giunzione) 842.01
--- Non traumatica 727.63
---- Estesori 727.63
---- Flessori 727.64
--- Radiocarpale (articolazione) 842.02
---Radioulnare (giunzione, distale) 842.09
--- Sede specifica NIA 842.09
-- Quadricipite 844.8
--- Non traumatica 727.65
- Testicolo (traumatica) 878.2
-- Complicata 878.3
-- Da sifilide 095.8
-Timpano, timpanica (membrana) (V. anche perforazione, timpano) 384.20
-- Con otite media - V. otite media
-- Traumatica - V. ferita, aperta, orecchio, membrana
- Tonsilla 474.8
- Traumatica
-- Aorta - V. rottura, aorta, traumatica
-- Con ferita aperta - V. ferita, aperta, per sede
-- Globo oculare (occhio) - V. ferita, aperta, bulbo oculare
--Legamento, muscolo o tendine - V. anche distorsione
--- Con ferita aperta - V. ferita, aperta, per sede
-- Membrana timpatica - V. ferita, aperta, membrana
-- Nel senso di ernia - V. ernia
-- Occhio 871.2
-- Organi interni (addome, torace o pelvi) - V. traumatismo, interno, per
sede
--- Cuore - V. rottura, miocardio, traumatica
--- Fegato - V. rottura, fegato
--------------------------------------------------------------
Come vedete ogni patologia od evento principale è seguito dalla lista
preceduta dal trattino della specifica e a volte dalla sotto specifica (es
rottura - tendine -- piede ) e quindi dal codice corrispondente...
Ho provato (senza grosso successo ) ad importare il file per farne una
tabella principale correlata a sua volta con specifica  e sottospecifica
...
Mi date qualche suggerimento sul come fare?
Sapete se già qualcuno l'ha fatto?
Come si fa, scorrendo una tabella a leggere una stringa carattere per
carattere,  per identificare lettere, trattini e numeri?
Grazie !
.... non so se ho chiesto troppo
... ma tentare non nuoce!
bce...@tiscalinet.it

Sapete se già qualcuno l'ha fatto?
no, non l'ho fatto, anche perché non ho ancora caricato la nuova
tabella ICD9CM... devo verificare se la tabella che mi hanno
dato è quella corretta o meno...
Ora scarico i testi .rtf dal sito del Ministero e compatibilmente
con i miei lavori (mobilità sanitaria), cercherò di vedere se sia
il caso di usare questi file oppure se riesco a recuperare un
file "buono"...
Non prometto nulla (soprattutto sui tempi!) ma se può interessarti
mandami una e-mail ( 
md...@tin.it
 ) e appena riesco ti mando
la tabella...
Ripeto: non prometto nulla sui tempi, perché ho ancora un po'
di caos con il lavoro (nel 1999 ho dovuto rifare tutti i programmi
sulla mobilità sanitaria e ho ancora molte cose da sistemare)...
Saluti e a presto.
Mario De Ghetto (alias Micio)        :-)
P.S. ... e qui il Micio ha svelato il nome...

Ho guardato quei file .rtf...
Secondo me non ci si può fare nulla, sono troppo
articolati perché sono fatti per fare una semplice
stampa... Bisognerà trovare un'alternativa...
Micio

Dall'esempio che hai postato, mi viene quest'idea:
definisci una tabella "Lavoro" in un db Access, con un unico campo
"Descrizione" di tipo testo, lungo 255 caratteri (lunghezza massima
consentita da Access per un campo testo).
Importi il file txt in tale tabella.
Modifichi la struttura della tabella aggiungendo un campo di tipo
Contatore che chiamerai ID_Patologia, ed un campo Numerico, Intero
lungo, che chiamerai Codice.
A questo punto, con il codice seguente, assegni ad ogni record della
tabella Lavoro con un numero di trattini superiore ad 1, il codice
della patologia corrispondente:
sub assegna()
dim rs as recordset, cd as long
  ' Apre la tabella "Lavoro"
  set rs = currentdb().openrecordset("Lavoro")
 
  ' Si posiziona all'inizio della tabella
  rs.movefirst
 
  ' Scorre la tabella
  do while not rs.eof
    if left$(rs![Descrizione],1) <> "-" then
        ' Se il record individua una patologia (no trattino iniziale),
salva l'identificativo del record
        cd = rs![ID_Patologia]
    else
        ' Se il record individua un dettaglio, gli assegna il codice
della patologia "principale"
        rs.edit
        rs![Codice] = cd   
        rs.update
     endif 
  loop
  rs.close
  set rs = nothing
end sub
Dopo aver eseguito questo codice, il campo Codice della tabella
Lavoro, conterrà per tutti i record la cui descrizione inizia con "-",
il valore del campo ID_Patologia della patologia corrispondente. 
Ora copia la tabella Lavoro (struttura e dati) in una nuova tabella
che chiamerai "Patologie".
Da tale tabella elimina tutti i record che hanno Codice > 0, e quindi
elimina il campo Codice dalla struttura.
Ora crea altre quattro tabelle (o più, a secondo del livelllo di
dettaglio delle specifiche delle patologie, identificato dal numero di
trattini): 
"Dettaglio1" 
"Dettaglio2" 
"Dettaglio3" 
"Dettaglio4" 
Tutte e quattro con i seguenti campi:
CD_Patologia (Intero Lungo)
Descrizione (Testo))
Ora crei una query di accodamento che legge la tabella Lavoro,
seleziona solo i record tali che left$(campo,4) = "----" e li accoda
nella tabella Dettaglio4, assegnando al campo CD_Patologia (tabella
Dettaglio4) il valore del campo Codice (tabella Lavoro).
Fai la stessa cosa selezionando i record tali che left$(campo,3) =
"---" AND left$(campo,4) <> "----", accodandoli alla tabella
Dettaglio3.
Fai la stessa cosa selezionando i record tali che left$(campo,2) =
"--" AND left$(campo,3) <> "---", accodandoli alla tabella Dettaglio2.
Fai la stessa cosa selezionando i record tali che left$(campo,1) = "-"
AND left$(campo,2) <> "--", accodandoli alla tabella Dettaglio1.
A questo punto, dovresti poter costruire i query necessari per
associare ad ogni patologia "principale" le varie specifiche
dettaglio, collegando la tabella Patologie con Dettagliox, associando
i record tramite i campi ID_Patologia e CD_Patologia.
Se hai dubbi, oppure ho commesso qualche errore, riposta.
Grazie a chiunque risponderà
Vincenzo Turturro
----------------------------------
Niuna impresa, per minima che sia, 
può avere cominciamento e fine
senza queste tre cose:
e cioè senza sapere,
senza potere,
senza con amore volere
(Anonimo fiorentino, XIV sec.)
------------------------------

Anche io sono un medico e il responsabile informatico dell'azienda in cui
lavoro.
Dal 1994 usiamo un bel programma di accettazione ricovero e cartella clinica
da me realizzato. Siamo già alla versione 8. Il programma gestisce
ovviamente le SDO.
La tabella in questione è in uso da molti anni.
Onde evitare di fare un lavoro già fatto, mi permetto di proporla a chi ne
avesse bisogno.
Ovviamente ho molto altro materiale. Se  serve...fatemelo sapere.
Cordiali saluti, Carlo
--
Posted from 
ro...@www.paola.antares.it
 [195.216.145.2]
via Mailgate.ORG Server - 
http://www.mailgate.org

Eccellente... potrebbe essere addirittura il caso di postarla nel SITO, la 
tabella dei codici ICD-9. Ed in ogni caso mi faresti cosa graditissima ad 
inviarmela per e-mail. Sono anch'io un medico "informatizzato" e sto lavorando 
ad un db di cartella clinica e visite ambulatoriali per la neurologia. 
A presto, spero. 
Roberto
In article <000c01bf7ddf$81757200$8527fea9@it>, 
carl...@brutium.it
 says...


 ha scritto nel messaggio
news:89edli$mk0$2...@news.mclink.it...
