mirror of
https://github.com/pcvolkmer/onkostar-plugin-dnpm.git
synced 2025-07-01 17:02:53 +00:00
feat: add SQL query examples
This commit is contained in:
193
sql/sql-queries.md
Normal file
193
sql/sql-queries.md
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
# SQL-Queries für DNPM-Formulare
|
||||||
|
|
||||||
|
## Abfrage von weiteren Informationen zu Merkmalskatalogeinträgen (Propcat)
|
||||||
|
|
||||||
|
Angenommen eine Abfrage liefert für dk_molekulargenetik.entnahmemethode den Wert B und
|
||||||
|
die zugehörige Version in dk_molekulargenetik.entnahmemethode_propcat_version ist 1171:
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT code, shortdesc, description FROM property_catalogue_version_entry
|
||||||
|
WHERE code = 'B'
|
||||||
|
AND property_version_id = 1171
|
||||||
|
```
|
||||||
|
|
||||||
|
Diese Abfrage liefert B, Biopsie, Biopsie.
|
||||||
|
|
||||||
|
## Stammdaten zum Patienten anhand SAP-ID für den Personenstamm z.B. 4.
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT * FROM patient
|
||||||
|
WHERE patient.patienten_id = '?' AND patient.personenstamm = 4;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Diagnosedaten zur Erkrankung
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_diagnose.* FROM dk_diagnose
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_diagnose.id)
|
||||||
|
JOIN erkrankung_prozedur ON (erkrankung_prozedur.prozedur_id = prozedur.id)
|
||||||
|
JOIN erkrankung ON (erkrankung.id = erkrankung_prozedur.erkrankung_id)
|
||||||
|
JOIN patient ON (patient.id = prozedur.patient_id)
|
||||||
|
WHERE patient.patienten_id = '?' AND erkrankung.tumoridentifikator = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Formular DNPM Klinik/Anamnese inkl. Unterformulare
|
||||||
|
|
||||||
|
Formular DNPM Klinik/Anamnese anhand Patienten-(SAP)-ID und Onkostar-Tumor-ID:
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_kpa.* FROM dk_dnpm_kpa
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_kpa.id)
|
||||||
|
JOIN erkrankung_prozedur ON (erkrankung_prozedur.prozedur_id = prozedur.id)
|
||||||
|
JOIN erkrankung ON (erkrankung.id = erkrankung_prozedur.erkrankung_id)
|
||||||
|
JOIN patient ON (patient.id = prozedur.patient_id)
|
||||||
|
WHERE patient.patienten_id = '?' AND erkrankung.tumoridentifikator = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Unterformular Histologie(en)
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_uf_histologie.* FROM dk_dnpm_uf_histologie
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_uf_histologie.id)
|
||||||
|
WHERE prozedur.hauptprozedur_id = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Unterformular ECOG Performance Status Verlauf
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_uf_tumorausbreitung.* FROM dk_dnpm_uf_tumorausbreitung
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorausbreitung.id)
|
||||||
|
WHERE prozedur.hauptprozedur_id = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Unterformular Tumorerkrankung bei Verwandten
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_uf_verwandte.* FROM dk_dnpm_uf_verwandte
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_uf_verwandte.id)
|
||||||
|
WHERE prozedur.hauptprozedur_id = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Unterformular Molekularpathologische Vorbefunde
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_vorbefunde.* FROM dk_dnpm_vorbefunde
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_vorbefunde.id)
|
||||||
|
WHERE prozedur.hauptprozedur_id = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Unterformular Therapielinien
|
||||||
|
|
||||||
|
Achtung: Hier enthält der Tabellenname nicht den Bestandteil 'uf' für Unterformular.
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_therapielinie.* FROM dk_dnpm_therapielinie
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_therapielinie.id)
|
||||||
|
WHERE prozedur.hauptprozedur_id = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
Im Feld wirkstoffcodes sind die Wirkstoffe als JSON-Array in folgender Form gespeichert, da
|
||||||
|
Onkostar keine Liste in Unterformularen verarbeiten kann:
|
||||||
|
|
||||||
|
| Name | Bedeutung |
|
||||||
|
|-----------|-----------------------------------------|
|
||||||
|
| system | Das verwendete System. ATC oder "other" |
|
||||||
|
| code | Der verwendete Wirkstoffcode |
|
||||||
|
| substance | Der Name des Wirkstoffs |
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
|
||||||
|
```
|
||||||
|
[
|
||||||
|
{"system":"other","code":"Gemcitabin","substance":"Gemcitabin (dFdC)"},
|
||||||
|
{"system":"other","code":"Cisplatin ","substance":"Cisplatin (CDDP)"}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Formular DNPM Therapieplan inkl. Unterformulare
|
||||||
|
|
||||||
|
Formular DNPM Klinik/Anamnese anhand Patienten-(SAP)-ID und Onkostar-Tumor-ID:
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_therapieplan.* FROM dk_dnpm_therapieplan
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_therapieplan.id)
|
||||||
|
JOIN erkrankung_prozedur ON (erkrankung_prozedur.prozedur_id = prozedur.id)
|
||||||
|
JOIN erkrankung ON (erkrankung.id = erkrankung_prozedur.erkrankung_id)
|
||||||
|
JOIN patient ON (patient.id = prozedur.patient_id)
|
||||||
|
WHERE patient.patienten_id = '?' AND erkrankung.tumoridentifikator = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternativ mit Verweis auf DNPM Klinik/Anamnese
|
||||||
|
|
||||||
|
```
|
||||||
|
...
|
||||||
|
WHERE dk_dnpm_therapieplan.ref_dnpm_klinikanamnese = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
### Unterformular Reevaluation
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_uf_reevaluation .* FROM dk_dnpm_uf_reevaluation
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_uf_reevaluation .id)
|
||||||
|
WHERE prozedur.hauptprozedur_id = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
Achtung! Gegebenenfalls ist vor dem erneuten Bearbeiten des Formulars der Inhalt eines
|
||||||
|
einzelnen Reevaluationsauftrags direkt im Hauptformular gespeichert. In dem Fall sind keine
|
||||||
|
Unterformulare zur Reevaluation gespeichert.
|
||||||
|
|
||||||
|
### Unterformular Rebiopsie
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_uf_rebiopsie.* FROM dk_dnpm_uf_rebiopsie
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_uf_rebiopsie.id)
|
||||||
|
WHERE prozedur.hauptprozedur_id = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
### Unterformular Einzelempfehlung
|
||||||
|
|
||||||
|
```
|
||||||
|
SELECT dk_dnpm_uf_einzelempfehlung.* FROM dk_dnpm_uf_einzelempfehlung
|
||||||
|
JOIN prozedur ON (prozedur.id = dk_dnpm_uf_einzelempfehlung.id)
|
||||||
|
WHERE prozedur.hauptprozedur_id = ?;
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Wirkstoffe
|
||||||
|
|
||||||
|
Im Feld wirkstoffe_json sind die Wirkstoffe als JSON-Array in folgender Form gespeichert, da
|
||||||
|
Onkostar keine Liste in Unterformularen verarbeiten kann:
|
||||||
|
|
||||||
|
| Name | Bedeutung |
|
||||||
|
|--------|--------------------------------------------------|
|
||||||
|
| system | Das verwendete System. "ATC" oder "UNREGISTERED" |
|
||||||
|
| code | Der verwendete Wirkstoffcode |
|
||||||
|
| name | Der Name des Wirkstoffs |
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
|
||||||
|
```
|
||||||
|
[
|
||||||
|
{"code":"","name":"PARP-Inhibierung","system":"UNREGISTERED"}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Studien
|
||||||
|
|
||||||
|
Im Feld studien_alle_json sind die Wirkstoffe als JSON-Array in folgender Form gespeichert,
|
||||||
|
da Onkostar keine Liste in Unterformularen verarbeiten kann:
|
||||||
|
|
||||||
|
| Name | Bedeutung |
|
||||||
|
|-------------------------|-----------------------------|
|
||||||
|
| studie | Name der Studie |
|
||||||
|
| system | System der Studie(n-ID) |
|
||||||
|
| id (und alt auch "nct") | Die Studien-ID |
|
||||||
|
| ort | Ort der Studiendurchführung |
|
||||||
|
| internextern | intern (i) oder extern (e) |
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
|
||||||
|
```
|
||||||
|
[
|
||||||
|
{"studie":"TestInhibitor","system":"NCT","id":"NCT12345678","nct":"NCT12345678","ort":"Teststadt","internextern":"e"}
|
||||||
|
]
|
||||||
|
```
|
Reference in New Issue
Block a user