- issue fixed in
omop_cdm_read()
that ID columns being read in as double not integer as needed for later joins omop_graph()
working on raw relations table e.g.omop_concept_relationship() |> head(50) |> collect() |> omop_graph(nodecolourvar="relationship_id", nodetxtsize=3)
- add helper functions
omopfreq*()
for counting frequency of values indomain
conceptclass
relationship
orvocabulary
- split out
omop_graph_calc()
for separate calculation of nodes & edges, either a) to enable other data to be joined on (e.g. num records) for visualisation or b) so nodes & edges can be passed to an alternative renderer (as yet unknown) - split out
omop_graph_vis()
to enable other data to be joined on (e.g. num records) for visualisation omop_graph()
gets separate argsnodesizevar
andnodesize
so size can be set by a variable column and/or a sizing param- add
omop_drug_lookup_create()
to create a lookup table from drugs inRxNorm
orRxNorm Extension
toATC
drug classes at all levels - update omop vocabs & default location for pre-processed ones moved to Github
To make use of omop_relations()
easier and more intuitive
omop_relations_recursive()
argnum_recurse
changed tonsteps
omop_relations_recursive()
renamed toomop_relations()
which in turn renamed toomop_relations1step()
omop_relations()
now optionally adds columnstep
for plot colouring, replacingrecurse_level
omop_graph()
gets argscaption
captionsize
captionjust
captioncolour
- repository moved from
andysouth
toSAFEHR-data
- issue fixed in
omop_relations
&omop_graph()
with colouring plots byrecurse_level
omop_grap()
getsnodesize
arg (NOT functioning yet)omop_grap()
getscanvas
arg to set plot size, one of "A4","A4l","A3","A3l","A2","A2l","A1","A1l","A0","A0l","slide","slidehalf"
-
omop_graph()
gets argspalettedirection
nodetxtnudgex
nodetxtnudgey
titlejust
backcolour
-
omop_relations_recursive()
gets argadd_recurse_column
to add a column withrecurse_level
that can be used to colour
- bugfix in
omop_cdm_combine()
, defend against 'non-numeric argument to binary operator'
omop_cdm_combine()
outputs msg of uniquefied fields
omop_cdm_combine()
refactored to make all IDs unique that it didn't beforeomop_relations()
getsnames2avoid
argomop_graph()
gets argsnodealpha
edgealpha
edgewidth
omop_cdm_combine()
getsmake_care_site_id_unique
&add_care_site_name_to_person_id_tables
arg
omop_cdm_combine()
getsmake_person_id_unique
arg
omop_graph()
gets argsnodetxtangle
legendshow
- read in omop cdm instance with
omop_cdm_read()
&omop_cdm_table_read()
- combine cdm instances with
omop_cdm_combine()
- add to
omop_codes()
exact & fixed args, e.g. easier to search for loinc codes
omop_join_name()
protects against concept_id columns that are not integer
- started vignette on hierarchy, access with
vignette("hierarchy-for-blood-counts")
omop_relations()
add argitself
whether to include relations to concept itself, default=FALSEomop_names()
add an argfixed
(default=FALSE) that when true matches string as-isomop_domain()
return domain_id s for concept_id somop_id()
now accepts multiple ids and can specify columns to return + a bit fasteromop_concept_fields()
omop_concept_ancestor_fields()
omop_concept_relationship_fields()
to get column names of omop tables, short name equivalentsocfields()
ocafields()
ocrfields()
omop_join_name()
made much faster by not using copy=true in join- BREAKING CHANGE
omop_join_name()
&omop_join_name_all()
refactor and simplify column args omop_join_name()
arg columns="all" to join all concept table columns
- fix bug in omop_join_names_all() - Error in class(df) == "list"
omop_names()
added argumentexact=
TRUE for exact string search, "start" for exact start, "end" for exact endomop_check_names()
to check that concept names and ids match in a passed table- fix bug in
omop_join_name_all()
to cope with "domain_concept_id_1" from FACT_RELATIONSHIP omop_join_name_all()
now copes with a list of multiple tables- update readme about vocabulary download options
- graph pkgs igraph,tidygraph,ggraph moved from imports to suggests
num_recurse
loop start at 1 rather than 0 inomop_relations_multiple()
&omop_relations_recursive()
omop_vocabs_preprocess()
read in omop vocab csvs, preprocess to parquet save in package cacheomop_vocab_table_save()
renamed fromomop_download()
omop_graph()
auto file namingomop_relations()
addr_ids
arg to filter byrelationship_id
e.g.c('Is a','Subsumes')
omop_relations_recursive()
added to recursively extract relations of a single concept
omop_graph()
working for visualising omop hierarchy withggraph
domain
,vocabulary
,concept_code
&concept_class
optional args added toomop_join_name()
&omop_join_name_all()
to be able to also join these columnsnamefull
optional arg added toomop_join_name()
to cope with e.g.concept_id_2
inomop_join_name_all()
omop_relations()
andomop_concept_relationship()
for getting more info about immediate neighbour relationships- bugfix,
omop_ancestors()
&omop_decsendants()
were not filtering domin, separation etc., whenconcept_id
not specified - option for NULL
c_id
toomop_descendants()
andomop_ancestors()
, returns all concepts within other filters
- optional
itself
argument (default FALSE) toomop_descendants()
andomop_ancestors()
- optional
separation
argument (default NULL) toomop_descendants()
andomop_ancestors()
filters onmin_levels_of_separation
e.g. c(1,2)
omop_join_name_all()
- shortname copies of functions for interactive use ojoin() ojoinall()
- generalised omop_download() to get other omop tables
- omop_descendants() function to query omop hierarchy
- omop_ancestors()
- shortname function copies of above. odesc() and oance()
- added optional messages argument to query functions
- renamed package to omopcept
- renamed package functions to make clearer, most start omop_*()
- omop_id() to search ids
- supershort name copies of functions for interactive use oid() onames() ocodes()
- concepts moved from data to parquet, enabling arrow queries without reading in all data
- omop_download() added
NEWS.md
to track changes to the package.
- first version