Import

ODMXMLTools.importxml

Make node

ODMXMLTools.mekenode!

ODMXMLTools.mekenode!Function
mekenode!(root::AbstractODMNode, nname::Symbol, attrs::Dict = Dict(); content = nothing, namespace = Symbol(""), checkname = false, checkni = false)

Make ODM node in root.

source

ODMXMLTools.makeclinicaldata!

Build metadata

ODMXMLTools.buildmetadata

ODMXMLTools.buildmetadataFunction
buildmetadata(odm::ODMRoot, soid::AbstractString, moid::AbstractString)

Build MetaData from MetaDataVersion by StudyOID (soid) and MetaDataVersionOID (moid).

source

Clinical data table

ODMXMLTools.clinicaldatatable

ODMXMLTools.clinicaldatatableFunction
clinicaldatatable(cd::AbstractODMNode;
    itemgroup = nothing,
    form = nothing,
    event = nothing,
    item::Union{Nothing, AbstractString, <: AbstractVector{<:AbstractString}} = nothing,
    categ = false, 
    addstudyid = false,
    addstudyidcol = false,
    idlnames = nothing,
    null = "NULL",
    drop = [:StudyEventRepeatKey, :FormRepeatKey])

Return clinical data table in long formal. cd should be ClinicalData.

  • itemgroup - only this ItemGroupOID;
  • form - only this FormOID;
  • item - only this ItemOID;
  • categ - make collumns categorical;
  • addstudyid - add StudyOID as prefix to SubjectKey: "StudyOID_SubjectKey";
  • addstudyidcol - add StudyOID as collumn to dataframe;
  • null = "NULL" - default NULL values;
  • idlnames - only this types of data will be collected, for example: ItemData, ItemDataInteger, ets (if nothing` - all will be collected).
  • drop - drop columns.
source
clinicaldatatable(odm::ODMRoot, soid::AbstractString, moid::AbstractString; itemgroup = nothing)

Return ClinicalData table in long formal.

  • soid - StudyOID;
  • moid - MetaDataVersionOID.
source
clinicaldatatable(odm::ODMRoot, inds::AbstractVector{Int}; kwargs...)

Return ClinicalData table in long formal.

  • inds - indexes of clinicaldatalist table.
source
clinicaldatatable(odm::ODMRoot, range::UnitRange{Int64}; kwargs...)

Return ClinicalData table in long formal.

  • inds - indexes of clinicaldatalist table.
source
clinicaldatatable(odm::ODMRoot; kwargs...)

Return ClinicalData table in long formal.

source
clinicaldatatable(odm::ODMRoot, soid::AbstractString; kwargs...)

Return ClinicalData table in long formal.

source

Other tables

ODMXMLTools.subjectdatatable

ODMXMLTools.subjectdatatableFunction
subjectdatatable(cld::AbstractODMNode; optional = false, attrs::Union{AbstractVector, Nothing} = nothing)

Subject information table.

source
subjectdatatable(odm::ODMRoot; optional = false, attrs::Union{AbstractVector, Nothing} = nothing)
source

ODMXMLTools.codelisttable

ODMXMLTools.itemcodelisttable

Listing

ODMXMLTools.metadatalist

ODMXMLTools.studylist

ODMXMLTools.clinicaldatalist

ODMXMLTools.eventlist

ODMXMLTools.eventlistFunction
eventlist(md::AbstractODMNode; optional = false, attrs = nothing, categ = false)

Return StudyEventDef table (DataFrame).

Keywords:

  • optional (true/false) - get optional attributes;
  • attrs - get selected attributes;
  • categ - return OID as categorical;
source

ODMXMLTools.formlist

ODMXMLTools.formlistFunction
formlist(el::Vector{T}; attrs = nothing,  categ = false) where T <: AbstractODMNode

Return FormDef table (DataFrame).

Keywords:

  • attrs - get selected attributes;
  • categ - return OID as categorical;
source
formlist(md::AbstractODMNode)

Return FormDef table (DataFrame).

source

ODMXMLTools.itemgrouplist

ODMXMLTools.itemgrouplistFunction
itemgrouplist(el::Vector{T}; optional = false, attrs = nothing, categ = false) where T <: AbstractODMNode

Return ItemGroupDef table (DataFrame).

Keywords:

  • optional (true/false) - get optional attributes;
  • attrs - get selected attributes;
  • categ - return OID as categorical;
source
itemgrouplist(md::AbstractODMNode; optional = false, attrs::Union{AbstractVector, Nothing} = nothing)

Return ItemGroupDef table (DataFrame).

If optional == true - return all optional attributes.

attrs - get selected attributes.

source

ODMXMLTools.itemlist

ODMXMLTools.itemlistFunction
itemlist(el::Vector{T}; optional = false, attrs = nothing, categ = false, datatype = nothing) where T <: AbstractODMNode

Return ItemDef table (DataFrame).

Keywords:

  • if optional == true - return all optional attributes;
  • attrs - get selected attributes;
  • categ - return OID as categorical;
  • datatype - select only this type of items (See DataType);
source
itemlist(md::AbstractODMNode; kwargs...)

Return ItemDef table (DataFrame).

source

ODMXMLTools.itemformlist

ODMXMLTools.itemformlistFunction
itemsformlist(md, oid; optional = false)

Return ItemDef table (DataFrame) for concrete form (FormDef) by oid.

keywords see (itemlist)[@ref].

source

Find node

ODMXMLTools.findelement

ODMXMLTools.findelementFunction
findelement(el::AbstractVector{AbstractODMNode}, nname::Symbol, oid::AbstractString)

Find first element by node name nname and oid.

source
findelement(n::AbstractODMNode, nname::Symbol, oid::AbstractString)

Find first element by node name nname and oid.

source
findelement(n::AbstractODMNode, nname::Symbol)

Find first element by node name nname.

source

ODMXMLTools.findelements

ODMXMLTools.findelementsFunction
findelements(n::AbstractODMNode, nname::Symbol)

Find all elements by node name nname.

source
findelements(n::AbstractODMNode, nnames::Vector{Symbol})

Find all elements by node name nnames (list).

source

ODMXMLTools.findstudy

ODMXMLTools.findstudyFunction
findstudy(odm::ODMRoot, oid::AbstractString)

Find Study element by OID (oid), nothing` if not found.

source

ODMXMLTools.findstudymetadata

ODMXMLTools.findstudymetadataFunction
findstudymetadata(odm::ODMRoot, soid::AbstractString, moid::AbstractString)

Find MeteDataVersion by StudyOID (soid) and MetaDataVersionOID (moid).

source

ODMXMLTools.findclinicaldata

ODMXMLTools.findclinicaldataFunction
findclinicaldata(odm::ODMRoot, soid::AbstractString, moid::AbstractString)

Find ClinicalData by StudyOID (soid) and MetaDataVersionOID (moid).

Returns single element or nothing.

source
findclinicaldata(odm::ODMRoot, soid::AbstractString)

Find ClinicalData by StudyOID (soid).

Returns vector or empty vetctor if no elements found.

source
findclinicaldata(odm::ODMRoot)

Find all ClinicalData.

Returns vector or empty vetctor if no elements found.

source

Content

ODMXMLTools.protocolcontent

ODMXMLTools.eventcontent

ODMXMLTools.eventcontentFunction
eventcontent(md; kwargs...)

Return FormRef table (DataFrame) for concrete form (StudyEventDef).

if optional == true - return all optional attributes.

source
eventcontent(md, oid; kwargs...)

Return FormRef table (DataFrame) for concrete form (StudyEventDef) by oid.

if optional == true - return all optional attributes.

source

ODMXMLTools.formcontent

ODMXMLTools.formcontentFunction
formcontent(md; optional = false, attrs::Union{AbstractVector, Nothing} = nothing)

Return ItemGroupRef table (DataFrame) for concrete form (FormDef).

if optional == true - return all optional attributes.

source
formcontent(md, oid; optional = false, attrs::Union{AbstractVector, Nothing} = nothing)

Return ItemGroupRef table (DataFrame) for concrete form (FormDef) by oid.

if optional == true - return all optional attributes.

source

ODMXMLTools.itemgroupcontent

ODMXMLTools.itemgroupcontentFunction
itemgroupcontent(md; kwargs...)

Return ItemRef table (DataFrame) for concrete group (ItemGroupDef).

source
itemgroupcontent(md, oid; kwargs...)

Return ItemRef table (DataFrame) for concrete group (ItemGroupDef) by oid.

source

Description and Question

ODMXMLTools.itemdescription

ODMXMLTools.itemquestion

ODMXMLTools.nodedesq

ODMXMLTools.nodedesqFunction
nodedesq(md::AbstractODMNode, tnode::Symbol, nname::Symbol; lang = ["en"])

Get desctriptions or questions for node tnode.

nname can be only :Description or :Question.

source

Delete

ODMXMLTools.deletestudy!

ODMXMLTools.deleteclinicaldata!

Information

ODMXMLTools.studyinfo

ODMXMLTools.studyinfoFunction
studyinfo(odm::ODMRoot, oid::AbstractString;  io = stdout)

Study information.

source
studyinfo(odm::ODMRoot;  io = stdout)

Study information.

source
studyinfo(st::AbstractODMNode;  io = stdout)

Study information.

source

Validation

ODMXMLTools.validateodm

ODMXMLTools.checkdatavalues

SPSS

ODMXMLTools.spssformvariable_labels

ODMXMLTools.spss_form_variable_labelsFunction
spss_form_variable_labels(mdb, form; variable = :OID, labels = :Name, source = :attr, lang = nothing)

SPSS command to set variable labels.

variable - varable names attribute, OID by default.

labels - labels names attribute, Name by default.

If source == :Question - try to get description from TranslatedText of Question element, if there is no Question element - get from attribute labels.

If source == :Description - try to get description from TranslatedText of Description element.

source
spss_form_variable_labels(mdb, form, `pairs`; kwargs...)

SPSS command to set variable labels.

Append pair vector pairs at the end.

source

ODMXMLTools.spssformvalue_labels

ODMXMLTools.spsseventsvalue_labels

Utilities

Not exported

ODMXMLTools.attribute

ODMXMLTools.attributeFunction
attribute(n::AbstractODMNode, attr::Symbol, str::Bool = false)

Return attribute value. If str is true - always return String.

source

ODMXMLTools.content

ODMXMLTools.hasattribute

ODMXMLTools.name

ODMXMLTools.sortelements!

ODMXMLTools.sortelements!Function
sortelements!(node::AbstractODMNode, rec::Bool = true)

Try to sort node elements as in Specification for the Operational Data Model (ODM).

rec - recursive.

source

ODMXMLTools.writenode