Fuenfgeld / DMA2024TeamC

MIT License
2 stars 0 forks source link

Bitte um Korrekturen in Datenbank.ipynb bzgl. observations, procedures, medications, immunizations #13

Closed HaSzyBS closed 7 months ago

HaSzyBS commented 7 months ago

Aus Observations brauchen wir DATE:

cur.execute('''INSERT INTO facts_table ( cancer_type, patient_ID, observation_code, observations_VALUE, DATE) SELECT Table_Names, PATIENT, CODE, VALUE, DATE FROM observations ;''') Achtung: CODE ist nur gleich "QALY","DALY" oder "QoLS", es kann m.E. nicht als Foreign Key benutzt werden.

Procedures mit dem gleichen CODE haben unterschiedlichen Kosten. Deswegen würden ich nicht CODE als Foreign Key benutzen:

cur.execute('''INSERT INTO facts_table (cancer_type, patient_ID, encounter_ID, procedures_BASE_COST ) SELECT Table_Names, PATIENT, ENCOUNTER, BASE_COST FROM procedures ;''')

In Medications steht CODE für ein bestimmtes Medikament. Es gibt aber Fälle, wo mehrere Einheiten verabreicht werden, so dass TOTALCOST unterschiedlich fällt. Ich würde CODE nicht als FK benutzen:

cur.execute('''INSERT INTO facts_table (cancer_type, patient_ID, encounter_ID, medications_TOTALCOST ) SELECT Table_Names, PATIENT, ENCOUNTER, TOTALCOST FROM medications ;''')

Aus Immunizations brauchen wir BASE_COST. BASE_COST scheint immer den gleichen Betrag zu haben, unabhängig vom CODE. Deshalb glaube ich, dass CODE hier auch nicht notwendig ist:

cur.execute('''INSERT INTO facts_table (cancer_type, patient_ID, encounter_ID, immunization_BASE_COST) SELECT Table_Names, PATIENT, ENCOUNTER, BASE_COST FROM immunizations ;''')

HaSzyBS commented 7 months ago

In create_statements_db.sql

Bei create table medications, fehlt: FOREIGN KEY (Encounter) REFERENCES encounters (Id)

moanesga commented 7 months ago

Erledigt