Import
ODMXMLTools.importxml
ODMXMLTools.importxml
— Functionimportxml(file::AbstractString)
Import odm.xml file.
Make node
ODMXMLTools.mekenode!
ODMXMLTools.mekenode!
— Functionmekenode!(root::AbstractODMNode, nname::Symbol, attrs::Dict = Dict(); content = nothing, namespace = Symbol(""), checkname = false, checkni = false)
Make ODM node in root.
ODMXMLTools.makeclinicaldata!
ODMXMLTools.makeclinicaldata!
— Functionmakeclinicaldata!(odm::ODMRoot, soid::String, moid::String)
Make ClinicalData in ODM.
Build metadata
ODMXMLTools.buildmetadata
ODMXMLTools.buildmetadata
— Functionbuildmetadata(odm::ODMRoot, soid::AbstractString, moid::AbstractString)
Build MetaData from MetaDataVersion by StudyOID (soid
) and MetaDataVersionOID (moid
).
Clinical data table
ODMXMLTools.clinicaldatatable
ODMXMLTools.clinicaldatatable
— Functionclinicaldatatable(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" - defaultNULL
values;idlnames
- only this types of data will be collected, for example: ItemData, ItemDataInteger, ets (ifnothing
` - all will be collected).drop
- drop columns.
clinicaldatatable(odm::ODMRoot, soid::AbstractString, moid::AbstractString; itemgroup = nothing)
Return ClinicalData table in long formal.
soid
- StudyOID;moid
- MetaDataVersionOID.
clinicaldatatable(odm::ODMRoot, inds::AbstractVector{Int}; kwargs...)
Return ClinicalData table in long formal.
inds
- indexes of clinicaldatalist table.
clinicaldatatable(odm::ODMRoot, range::UnitRange{Int64}; kwargs...)
Return ClinicalData table in long formal.
inds
- indexes of clinicaldatalist table.
clinicaldatatable(odm::ODMRoot; kwargs...)
Return ClinicalData table in long formal.
clinicaldatatable(odm::ODMRoot, soid::AbstractString; kwargs...)
Return ClinicalData table in long formal.
Other tables
ODMXMLTools.subjectdatatable
ODMXMLTools.subjectdatatable
— Functionsubjectdatatable(cld::AbstractODMNode; optional = false, attrs::Union{AbstractVector, Nothing} = nothing)
Subject information table.
subjectdatatable(odm::ODMRoot; optional = false, attrs::Union{AbstractVector, Nothing} = nothing)
ODMXMLTools.codelisttable
ODMXMLTools.codelisttable
— Functioncodelisttable(cd::AbstractODMNode; lang = nothing)
Return CodeList table (DataFrame).
ODMXMLTools.itemcodelisttable
ODMXMLTools.itemcodelisttable
— Functionitemcodelisttable(cd::AbstractODMNode; lang = nothing) where T <: AbstractODMNode
Same as codelisttable
, but return ItemDef (DataFrame).
Listing
ODMXMLTools.metadatalist
ODMXMLTools.metadatalist
— Functionmetadatalist(odm::ODMRoot)
Returm table of MetaDataVersion elements.
ODMXMLTools.studylist
ODMXMLTools.studylist
— Functionstudylist(odm::ODMRoot; categ = false)
Returm table of Study elements.
ODMXMLTools.clinicaldatalist
ODMXMLTools.clinicaldatalist
— Functionclinicaldatalist(odm::ODMRoot)
Returm table of ClinicalData elements.
ODMXMLTools.eventlist
ODMXMLTools.eventlist
— Functioneventlist(md::AbstractODMNode; optional = false, attrs = nothing, categ = false)
Return StudyEventDef table (DataFrame).
Keywords:
optional
(true/false) - get optional attributes;attrs
- get selected attributes;categ
- returnOID
as categorical;
ODMXMLTools.formlist
ODMXMLTools.formlist
— Functionformlist(el::Vector{T}; attrs = nothing, categ = false) where T <: AbstractODMNode
Return FormDef table (DataFrame).
Keywords:
attrs
- get selected attributes;categ
- returnOID
as categorical;
formlist(md::AbstractODMNode)
Return FormDef table (DataFrame).
ODMXMLTools.itemgrouplist
ODMXMLTools.itemgrouplist
— Functionitemgrouplist(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
- returnOID
as categorical;
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.
ODMXMLTools.itemlist
ODMXMLTools.itemlist
— Functionitemlist(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
- returnOID
as categorical;datatype
- select only this type of items (See DataType);
itemlist(md::AbstractODMNode; kwargs...)
Return ItemDef table (DataFrame).
ODMXMLTools.itemformlist
ODMXMLTools.itemformlist
— Functionitemsformlist(md, oid; optional = false)
Return ItemDef table (DataFrame) for concrete form (FormDef) by oid
.
keywords see (itemlist)[@ref].
Find node
ODMXMLTools.findelement
ODMXMLTools.findelement
— Functionfindelement(el::AbstractVector{AbstractODMNode}, nname::Symbol, oid::AbstractString)
Find first element by node name nname
and oid
.
findelement(n::AbstractODMNode, nname::Symbol, oid::AbstractString)
Find first element by node name nname
and oid
.
findelement(n::AbstractODMNode, nname::Symbol)
Find first element by node name nname
.
ODMXMLTools.findelements
ODMXMLTools.findelements
— Functionfindelements(n::AbstractODMNode, nname::Symbol)
Find all elements by node name nname
.
findelements(n::AbstractODMNode, nnames::Vector{Symbol})
Find all elements by node name nnames
(list).
ODMXMLTools.findstudy
ODMXMLTools.findstudy
— Functionfindstudy(odm::ODMRoot, oid::AbstractString)
Find Study element by OID (oid
), nothing
` if not found.
ODMXMLTools.findstudymetadata
ODMXMLTools.findstudymetadata
— Functionfindstudymetadata(odm::ODMRoot, soid::AbstractString, moid::AbstractString)
Find MeteDataVersion by StudyOID (soid
) and MetaDataVersionOID (moid
).
ODMXMLTools.findclinicaldata
ODMXMLTools.findclinicaldata
— Functionfindclinicaldata(odm::ODMRoot, soid::AbstractString, moid::AbstractString)
Find ClinicalData by StudyOID (soid
) and MetaDataVersionOID (moid
).
Returns single element or nothing
.
findclinicaldata(odm::ODMRoot, soid::AbstractString)
Find ClinicalData by StudyOID (soid
).
Returns vector or empty vetctor if no elements found.
findclinicaldata(odm::ODMRoot)
Find all ClinicalData.
Returns vector or empty vetctor if no elements found.
Content
ODMXMLTools.protocolcontent
ODMXMLTools.protocolcontent
— Functionfunction protocolcontent(md; optional = false, attrs = nothing, categ = false)
ODMXMLTools.eventcontent
ODMXMLTools.eventcontent
— Functioneventcontent(md; kwargs...)
Return FormRef table (DataFrame) for concrete form (StudyEventDef).
if optional
== true
- return all optional attributes.
eventcontent(md, oid; kwargs...)
Return FormRef table (DataFrame) for concrete form (StudyEventDef) by oid
.
if optional
== true
- return all optional attributes.
ODMXMLTools.formcontent
ODMXMLTools.formcontent
— Functionformcontent(md; optional = false, attrs::Union{AbstractVector, Nothing} = nothing)
Return ItemGroupRef table (DataFrame) for concrete form (FormDef).
if optional
== true
- return all optional attributes.
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.
ODMXMLTools.itemgroupcontent
ODMXMLTools.itemgroupcontent
— Functionitemgroupcontent(md; kwargs...)
Return ItemRef table (DataFrame) for concrete group (ItemGroupDef).
itemgroupcontent(md, oid; kwargs...)
Return ItemRef table (DataFrame) for concrete group (ItemGroupDef) by oid
.
Description and Question
ODMXMLTools.itemdescription
ODMXMLTools.itemdescription
— Functionitemdescription(md::AbstractODMNode; lang = ["en"])
ItemDef descriptions.
ODMXMLTools.itemquestion
ODMXMLTools.itemquestion
— Functionitemquestion(md::AbstractODMNode; lang = ["en"])
ItemDef questions.
ODMXMLTools.nodedesq
ODMXMLTools.nodedesq
— Functionnodedesq(md::AbstractODMNode, tnode::Symbol, nname::Symbol; lang = ["en"])
Get desctriptions or questions for node tnode
.
nname
can be only :Description
or :Question
.
Decode
ODMXMLTools.codelistitemdecode
ODMXMLTools.codelistitemdecode
— Functioncodelistitemdecode(cli; lang = nothing, nolangerr = true, nolangval = "")
Return TranslatedText content for Decode node.
Delete
ODMXMLTools.deletestudy!
ODMXMLTools.deletestudy!
— Functiondeletestudy!(odm::ODMRoot, soid::AbstractString)
Delete Study by StudyOID (soid
).
ODMXMLTools.deleteclinicaldata!
ODMXMLTools.deleteclinicaldata!
— Functiondeletestudy!(odm::ODMRoot, soid::AbstractString)
Delete ClinicalData by StudyOID (soid
).
Information
ODMXMLTools.studyinfo
ODMXMLTools.studyinfo
— Functionstudyinfo(odm::ODMRoot, oid::AbstractString; io = stdout)
Study information.
studyinfo(odm::ODMRoot; io = stdout)
Study information.
studyinfo(st::AbstractODMNode; io = stdout)
Study information.
Validation
ODMXMLTools.validateodm
ODMXMLTools.validateodm
— Functionvalidateodm(odm::AbstractODMNode)
Basic structure validation.
Not full implemented.
ODMXMLTools.checkdatavalues
ODMXMLTools.checkdatavalues
— Functioncheckdatavalues(odm::ODMRoot)
Check all data values in all ClinicalData sections.
Not full implemented.
SPSS
ODMXMLTools.spssformvariable_labels
ODMXMLTools.spss_form_variable_labels
— Functionspss_form_variable_labels(mdb, form; variable = :OID, labels = :Name, source = :attr, lang = nothing)
SPSS command to set variable labels:
VARIABLE LABELS 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.
spss_form_variable_labels(mdb, form, `pairs`; kwargs...)
SPSS command to set variable labels.
Append pair vector pairs
at the end.
ODMXMLTools.spssformvalue_labels
ODMXMLTools.spss_form_value_labels
— Functionspss_form_value_labels(mdb, form; variable = :OID)
SPSS command to set value labels.
variable
- varable names attribute, OID
by default.
ODMXMLTools.spsseventsvalue_labels
ODMXMLTools.spss_events_value_labels
— Functionspss_events_value_labels(mdb; variable = "StudyEventOID", value::Symbol = :OID, label::Symbol = :Name)
Labels for event values.
Utilities
Not exported
ODMXMLTools.attribute
ODMXMLTools.attribute
— Functionattribute(n::AbstractODMNode, attr::Symbol, str::Bool = false)
Return attribute value. If str
is true
- always return String
.
ODMXMLTools.content
ODMXMLTools.content
— Functioncontent(n::AbstractODMNode)
Return node content.
ODMXMLTools.hasattribute
ODMXMLTools.hasattribute
— Functionhasattribute(n::AbstractODMNode, attr::Symbol)
Return true
if node have attribute attr
.
ODMXMLTools.name
ODMXMLTools.name
— Functionname(n::ODMNode)
Return name of ODM node.
ODMXMLTools.sortelements!
ODMXMLTools.sortelements!
— Functionsortelements!(node::AbstractODMNode, rec::Bool = true)
Try to sort node elements as in Specification for the Operational Data Model (ODM).
rec
- recursive.
ODMXMLTools.writenode
ODMXMLTools.writenode
— Functionwritenode(io::IO, node::AbstractODMNode)
Write XML node into IO.
Other:
ODMXMLTools.oclformdetailslist
ODMXMLTools.oclformdetailslist
— Functionoclformdetailslist(md::AbstractODMNode)
Openclinica form information (md
- MetaDataVersion element).
ODMXMLTools.countelements
ODMXMLTools.countelements
— Functioncountelements(n::AbstractODMNode, nname::Symbol)
Count elements by node name nname
.
ODMXMLTools.findelementbyattr
ODMXMLTools.findelementbyattr
— Functionfindelementbyattr(el::AbstractVector{<:AbstractODMNode}, nname::Symbol, attr::Symbol, value::AbstractString)
Find first element by node name nname
with attribute attr
equal value
.
ODMXMLTools.buildelementsdata
ODMXMLTools.buildelementsdata
— Functionbuildelementsdata(stmd::AbstractODMNode)
Build elements data.
Base
Base.findall
Base.findall
— FunctionBase.findall(n::AbstractODMNode, nname::Symbol)
Find all elements indexes by node name nname
.
Base.findfirst
Base.findfirst
— Functionfindfirst(n::AbstractODMNode, nname::Symbol, oid::AbstractString)
Find first index of element.