certedb_getmmb: MMB-gegevens ophalen van MySQL-/MariaDB-database

Description Usage Arguments Details See Also Examples

View source: R/database.R

Description

Gegevens van Certe Medische Microbiologie uit de Certe-database downloaden. De benodigde tabellen worden als LEFT JOIN automatisch toegevoegd op basis van de input bij where en select. Nadien kan met qry de query bekeken worden, die als eigenschap bij het object opgeslagen wordt.

certedb_getmmb haalt orders en resultaten op, met uitslagen.
certedb_getmmb_tat haalt van deze orders de doorlooptijden op (TAT = Turn Around Time).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
certedb_getmmb(dates = NULL, where = NULL, select_preset = "mmb",
  preset = "mmb", select = NULL, add_cols = NULL, limit = 1e+07,
  con = NULL, dbname = "certemmb", info = TRUE,
  first_isolates = FALSE, eucast_rules = "all", MIC = FALSE,
  zipcodes = FALSE, ziplength = 3, tat_hours = FALSE,
  only_real_patients = TRUE, only_conducted_tests = TRUE,
  only_show_query = FALSE,
  review_where = as.logical(min(c(getOption("review_where", TRUE), info,
  interactive()))), ...)

certedb_getmmb_tat(dates = NULL, where = NULL, add_cols = NULL,
  limit = 1e+07, con = NULL, dbname = "certemmb", info = TRUE,
  only_real_patients = TRUE, only_conducted_tests = TRUE,
  only_show_query = FALSE, ...)

Arguments

dates

Standaard is dit hele jaar. Geldige opties zijn: leeg (selecteert dit hele jaar) of een vector met 2 datums (bestaande uit oudste en nieuwste datum) of een enkele datum (einddatum wordt laatste dag van dat jaar).

where

Standaard is leeg. Syntax om toe te voegen aan de WHERE-clausule.

R-syntax wordt omgezet naar SQL-syntax, zie Examples. Deze syntax wordt geëvalueerd, dus gebruik van variabelen is ook mogelijk, zoals certedb_getmmb(where = where(o.jaar == mijnjaar)).

NB. Wanneer tabelvelden in meerdere brontabellen voorkomen, moet de tabelreferentie opgegeven worden. Zie Details voor de tabelreferenties en Examples voor voorbeelden.

select_preset, preset

Standaard is "mmb" of "tat" bij doorlooptijden. Variabelen om te selecteren volgens de voorgedefinieerde lijst met variabelen, zie preset.list. Kan ook een vector met meerdere presets zijn. Voor het selecteren van de eerste preset uit de huidige map (bestandsnaam moet beginnen met "preset"), gebruik select_preset = preset.thisfolder().

select

Standaard is leeg. Variabelen om handmatig te selecteren. Deze kunnen het best geselecteerd worden met db en dit overschrijft select_preset.

add_cols

Standaard is leeg. Variabelen in een vector of list om extra te selecteren. Deze kunnen het best geselecteerd worden met db. Gebruik add_cols = c("naam" = db$t.kolom) voor "t.kolom AS naam".

limit

Standaard is 10.000.000. Het aantal rijen dat maximaal opgehaald moet worden.

con

Standaard is leeg, waarmee de verbinding gemaakt wordt op basis van de omgevingsvariabelen van de huidige gebruiker: "DB_HOST", "DB_PORT", "DB_USERNAME" en "DB_PASSWORD".

dbname

Standaard is "certemmb". Naam van de database die geselecteerd moet worden. Wordt genegeerd als con al een bestaande verbinding is.

info

Standaard is TRUE. Printen van voortgang en het uiteindelijke aantal rijen en kolommen dat gedownload is.

first_isolates

Standaard is FALSE. Bepaling van eerste isolaten toevoegen.

eucast_rules

Standaard is "all". EUCAST expert rules toepassen, zie eucast_rules.

MIC

Standaard is FALSE. Toevoegen van MIC's aan alle RSI-kolommen van de de standaard query (i.e. zonder dat select gebruikt wordt).

zipcodes

Standaard is FALSE. Toevoegen van postcodes van de patiënt, als p.postcode. Met name voor gebruik met get_map en plot2.map.

ziplength

Standaard is 3. De gewenste lengte van de postcode.

tat_hours

Standaard is TRUE. Turn-around-times toevoegen in uren (alleen voor doorlooptijden).

only_real_patients

Standaard is TRUE. Hiermee worden alleen daadwerkelijke patiënten gedownload (geen rondzendingen en testorders). Dit voegt automatisch AND u.is_echte_patient = TRUE toe aan de WHERE.

only_conducted_tests

Standaard is TRUE. Hiermee worden alleen verrichte testen gedownload (geen testen die niet verricht zijn). Dit voegt automatisch AND u.is_verricht = TRUE toe aan de WHERE.

only_show_query

Standaard is FALSE. Draait de query niet, maar toont hem alleen.

review_where

Standaard is FALSE als info = FALSE of de sessie in niet-interactief (RMarkdown). Bij een interactieve sessie (d.w.z. niet in RMarkdown) wordt de WHERE weergegeven die de gebruiker moet accorderen. Dit kan standaard op FALSE gezet worden met getOption("review_where").

...

Overige parameters die doorgegeven worden aan certedb_query, zoals auto_transform en timezone.

Details

Voor gebruik van where staan hieronder de tabelreferenties. Deze zijn ook beschikbaar via de list db:

Locatie wordt dus op drie manieren gekoppeld; als l_instelling (op o.instelling, zoals huisarts), als l_ontvangst (op o.recsitenb, zoals Assen) en als l_uitvoer (op u.uitvafd, zoals Moleculair).

See Also

certedb_query voor het direct gebruik van query's.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
################
# MMB-gegevens #
################
mmb.2017_Q1 <- certedb_getmmb(dates = c("2017-01-01", "2017-03-31")

mmb.2018 <- certedb_getmmb(2018)


# GEBRUIK VAN PRESETS:

# zoeken naar preset_mmb.sql in de map Sys.getenv("R_REFMAP")
data <- certedb_getmmb(2018,
                       select_preset = "mmb")

# zoeken naar preset_VOLUMES.sql in de map Sys.getenv("R_REFMAP")
data <- certedb_getmmb(2018,
                       select_preset = "VOLUMES")

# zoeken naar eerste preset_*.sql in huidige map
data <- certedb_getmmb(2018,
                       select_preset = preset.thisfolder())


# GEBRUIK VAN WHERE:
# Het object `db` is een lijst met alle tabelvelden.

# Typ de WHERE in gewone SQL-taal:
data <- certedb_getmmb(2018,
                       where = "o.instelling = 'MZ'")

data <- certedb_getmmb(dates = c(2015, 2018),
                       where = "a.zorglijn = 'Eerste lijn'")


# Of in R-syntax; dit wordt vertaald naar SQL-syntax, dus dit werkt hetzelfde:
data <- certedb_getmmb(2018,
                       where = db$a.postcode %in% c("1234AA", "1234BB"))
data <- certedb_getmmb(2018,
                       where = a.postcode %in% c("1234AA", "1234BB"))
data <- certedb_getmmb(2018,
                       where = "a.postcode IN ('1234AA', '1234BB')")
                       
# Specifieke microorganismen:
data <- certedb_getmmb(2018, where(db$b.bacteriecode == mo_certe("T. vaginalis")))

# Wanneer de WHERE gevat wordt in de functie `where`:
data <- certedb_getmmb(2018,
                       where = where(db$a.postcode %in% c("1234AA", "1234BB")))
data <- certedb_getmmb(2018,
                       where(db$a.postcode %in% c("1234AA", "1234BB")))


# Reguliere expressie:
data <- certedb_getmmb(2018,
                       where = db$a.postcode %like% "1234")
data <- certedb_getmmb(2018,
                       where(db$a.postcode %like% "1234"))
data <- certedb_getmmb(2018,
                       where = "a.postcode REGEXP '1234'")

# Logische negatie:
data <- certedb_getmmb(2018,
                       where(!db$a.postcode %like% "1234"))
data <- certedb_getmmb(2018,
                       where = "a.postcode NOT REGEXP '1234'")

# Variabelen uit de Global Environment:
postcodelijst <- c("1234AA", "1234BB")
data <- certedb_getmmb(2018,
                       where(db$a.postcode %in% postcodelijst))
data <- certedb_getmmb(2018,
                       where = "a.postcode IN ('1234AA','1234BB')")

# Getallenbereik:
data <- certedb_getmmb(where = where(db$o.jaar %in% c(2012:2015)
                                     & db$o.kwartaal %in% 1:3))
data <- certedb_getmmb(where = "o.jaar IN (2012, 2013, 2014, 2015)
                               AND o.kwartaal IN (1, 2, 3)")
# (deze laatste overschrijft `dates`)

##################
# Doorlooptijden #
##################
# voorbeelden voor GeneXpert-testen:
data <- certedb_getmmb_tat(2018,
                           where(db$t.testcode %like% "^PX"))

data <- certedb_getmmb_tat(2018,
                           where(db$t.apparaat == "GeneXpert"))

data <- certedb_getmmb_tat(2018,
                           where(db$t.testcode == "PXNORO"))

msberends/certedata documentation built on Nov. 26, 2019, 5:19 a.m.