Извлечение медицинской информации с помощью Python

Я медсестра и знаю python, но я не эксперт, просто использовал его для обработки последовательностей ДНК
У нас есть больничные записи, написанные на человеческих языках, и я должен вставить эти данные в базу данных или файл csv, но они содержат более 5000 строк, и это может быть очень сложно. Все данные записаны в согласованном формате, позвольте мне показать вам пример

11/11/2010 - 09:00am : He got nausea, vomiting and died 4 hours later

Я должен получить следующие данные

Sex: Male
Symptoms: Nausea
    Vomiting
Death: True
Death Time: 11/11/2010 - 01:00pm

Другой пример

11/11/2010 - 09:00am : She got heart burn, vomiting of blood and died 1 hours later in the operation room

И я получаю

Sex: Female
Symptoms: Heart burn
    Vomiting of blood
Death: True
Death Time: 11/11/2010 - 10:00am

, что порядок не согласуется, когда я говорю в .. ..... так что in - ключевое слово, а весь текст после него - это место, пока я не найду другое ключевое слово
Вначале Он или Она определяет пол, получил ........ все, что следует далее, это группа симптомов, которые я должен разделить в соответствии с разделителем, который может быть запятой, дефисом или чем-то еще, но он соответствует одной и той же строке
умер ..... часов спустя также должно быть указано, сколько часов, иногда пациент все еще жив и выписан .... и т. д.
То есть у нас есть много соглашений, и я думаю, что если я смогу токенизировать текст ключевыми словами и шаблонами, я смогу выполнить свою работу. Так что, пожалуйста, если вы знаете полезную функцию / модули / учебник / инструмент для этого, желательно на python (если не на python, то подойдет графический инструмент)

Немного информации:

there are a lot of rules to express various medical data but here are few examples
- Start with the same date/time format followed by a space followd by a colon followed by a space followed by He/She followed space followed by rules separated by and
- Rules:
    * got <symptoms>,<symptoms>,....
    * investigations were done <investigation>,<investigation>,<investigation>,......
    * received <drug or procedure>,<drug or procedure>,.....
    * discharged <digit> (hour|hours) later
    * kept under observation
    * died <digit> (hour|hours) later
    * died <digit> (hour|hours) later in <place>
other rules do exist but they follow the same idea
13
задан Fred Foo 25 October 2010 в 15:13
поделиться