Methods - ndobb/clinical-trials-seq2seq-annotation GitHub Wiki

.acute()

.acute() indicates that a given cond() has been suffered a relatively short time.

Arguments -

  • No arguments.

Example -

'INC'

'-  patient with acute() respiratory failure , not intubated'

'-  patient with acute() cond("respiratory failure") , neg() proc("intubated")'

intersect(
    cond("respiratory failure")
        .acute(),
    neg(
        proc("intubated")
    )
)

.caused_by()

.caused_by() indicates that the function is caused by another function.

Arguments -

  • A function which is the cause.

Example -

'EXC'

'-  Patients with a prior documented infection with mycormycetes'

'-  Patients with a eq(temporal_per(PAST)) documented cond("infection") with org("mycormycetes")'

cond("infection")
    .caused_by(
        org("mycormycetes")
    )
    .temporality(
        eq(temporal_per(PAST))
    )

.change()

.change() represents that a function may change or is unstable.

Arguments -

  • A function which is changing or unstable.

Example -

'EXC'

'-  4.  uncontrolled hypertension ( diastolic BP > 110 mmHg )'

'-  4. change() cond("hypertension") ( vital("diastolic BP") eq(op(GT), val("110"), unit("mmHg")) )'

cond("hypertension")
    .change()
    .equiv(
        vital("diastolic BP")
            .num_filter(
                eq(op(GT), val("110"), unit("mmHg"))
            )
        )

.chronic()

.chronic() indicates that a given cond() has been suffered for a longer span of time.

Arguments -

  • No arguments.

Example -

'INC'

'-  Patients suffering from chronic pain due to tennis elbow for at least 3 months'

'-  Patients suffering from chronic() obs("pain") due to cond("tennis elbow") for 
    eq(op(GTEQ), val("3"), temporal_unit(MONTH))'

obs("pain")
    .chronic()
    .caused_by(
        cond("tennis elbow")
    )
    .duration(
        eq(op(GTEQ), val("3"), temporal_unit(MONTH))
    )   

.duration()

.duration() represents a temporal filter describing a duration of time.

Arguments -

  • An eq(), and(), or or().

Example -

'INC'

'-  Patients suffering from chronic pain due to tennis elbow for at least 3 months'

'-  Patients suffering from chronic() obs("pain") due to cond("tennis elbow") 
    for eq(op(GTEQ), val("3"), temporal_unit(MONTH))'

obs("pain")
    .chronic()
    .caused_by(
        cond("tennis elbow")
    )
    .duration(
        eq(op(GTEQ), val("3"), temporal_unit(MONTH))
    )

.equiv()

.equiv() represents an abbreviation, example, or criterion which should be equivalent.

Arguments -

  • One or more functions.

Example -

'INC'

'-  Prepubertal children 2 to < 12 years old ( i . e . , before 12 th birthday )'

'-  Prepubertal child() eq(val("2"), op(BETWEEN), op(LT), val("12"), temporal_unit(YEAR)) 
    age() ( i . e . , before eq(op(LT), val("12")) th age() )'

intersect(
    child(), 
    age()
        .num_filter(
            eq(val("2"), op(BETWEEN), op(LT), val("12"), temporal_unit(YEAR))
        )
        .equiv(
            age()
                .eq(op(LT), val("12"))
        )
)

.except()

.except() represents an exception to a criterion.

Arguments -

  • One or more functions.

Example -

'EXC'

'-  greater than mild substance use disorder on drugs other than alcohol , nicotine , and marijuana'

'-  eq(op(GT), severity(MILD)) cond("substance use disorder") on drug() except() drug("alcohol") , 
    drug("nicotine") , and drug("marijuana")'

cond("substance use disorder")
    .severity(
        eq(op(GT), val(MILD))
    )
    .using(
        drug()
            .except(
                drug("alcohol"), 
                drug("nicotine"), 
                drug("marijuana")
            )
    )

.for()

.for() indicates that a drug(), enc(), proc() is use used or done as treatment for something else.

Arguments -

  • A function (nearly always a cond()) to be treated.

Example -

'EXC'

'6.  hospitalized for AF in the past three months .'

'6.  enc(INPATIENT) for cond("AF") in the 
     eq(temporal_per(PAST), val("three"), temporal_unit(MONTH)) .'

enc(INPATIENT)
    .for(
        cond("AF")
    )
    .temporality(
        eq(temporal_per(PAST), val("three"), temporal_unit(MONTH))
    )

.found_by()

.found_by() indicates that a cond() or obs() was found by the use of one or more proc()s.

Arguments -

  • One or more proc()s.

Example -

'INC'

'-  Likely suffer from moderate to severe OSA based on history and physical'

'-  possible() suffer from eq(severity(MILD), op(BETWEEN), severity(SEVERE)) cond("OSA") 
    based on eq(temporal_per(PAST)) and proc("physical")'

cond("OSA")
    .possible()
    .found_by(
        proc("physical")
    )
    .severity(
        eq(severity(MILD), op(BETWEEN), severity(SEVERE))
    )
    .temporality(
        eq(temporal_per(PAST))
    )

.loc()

.loc() represents a location.

Arguments -

  • A quoted string, e.g., loc("Vermont"), or
  • A hosp(), res(), clinic(), or unit()

Example -

'EXC'

'4.  patients transferred from other acute care hospitals ;'

'4.  patients enc(TRANSFER) from other loc(hosp("acute care hospitals")) ;'

enc(TRANSFER)
    .loc(hosp("acute care hospitals"))

.min_count()

.min_count() represents the minimum number of times an event must occur.

Arguments -

  • An eq(), and(), or or().

Example -

'INC'

'1.  At least two relatives willing to participate in the screening programme .'

'1.  eq(op(GTEQ), val("two")) family_member() willing to participate participate 
     in the screening programme .'

family_member()
    .min_count(
        eq(op(GTEQ), val("two"))
    )

.mod()

.mod() represents modification or specification to an entity.

Arguments -

  • A quoted string, e.g., mod("lung")

Example -

'INC'

'-  No cardiometabolic or inflammatory illness'

'-  neg() mod("cardiometabolic") or mod("inflammatory") cond()'

neg(
    cond()
        .mod("cardiometabolic") 
        .mod("inflammatory")
)

.num_filter()

.num_filter() represents a numeric filter (if a quantitative function, like a lab() or vital()), or alternatively a stage or grade of disease.

Arguments -

  • An eq(), and(), or or().

Example -

'EXC'

'-  Chronic kidney disease with a Glomerular Filtration Rate < 50 ml / min'

'-  chronic() cond("kidney disease") with a lab("Glomerular Filtration Rate") 
    eq(op(LT), val("50"), unit("ml"), per(MINUTE))'

intersect(
    cond("kidney disease")
        .chronic(), 
    lab("Glomerular Filtration Rate")
        .num_filter(
            eq(op(LT), val("50"), unit("ml"), per(MINUTE))
        )
)

.pol()

.pol() is an abbreviation for "polarity", and represents a range of states such as normal, high, low, positive, and negative.

Arguments -

  • An all-caps enum-like value of one of the following:
    • LOW
    • NORMAL
    • HIGH
    • POSITIVE
    • NEGATIVE

Example -

'INC'

'-  Helicobacter pylori negative'

'-  org("Helicobacter pylori") pol(NEGATIVE)'

org("Helicobacter pylori")
    .pol(NEGATIVE)

.possible()

.possible() indicates that a condition (or other function) may be unproven or unknown.

Arguments -

  • No arguments.

Example -

'INC'

'-  Female patients who have symptoms consistent with endometriosis such as pelvic pain , 
    dysmenorrhea , deep dyspareunia , and infertility'

'-  female() patients who have possible() consistent with cond("endometriosis") such as 
    mod("pelvic") obs("pain") , cond("dysmenorrhea") , cond("deep dyspareunia") , and cond("infertility")'

intersect(
    female(), 
    cond("endometriosis")
        .possible()
        .equiv(
            obs("pain")
                .mod("pelvic"),
            cond("dysmenorrhea"),
            cond("deep dyspareunia"),
            cond("infertility")
        )
)

.prov()

.prov() represents a provider or specialty.

Arguments -

  • A quoted string, e.g., prov("pediatrician")

Example -

'INC'

'-  Referred to a psychological therapies service'

'-  enc(REFERRAL) to a prov("psychological therapies service")'

enc(REFERRAL)
    .prov("psychological therapies service")

.temporality()

.temporality() represents a filter of time or dates.

Arguments -

  • An eq(), and(), or or().

Example -

'INC'

'-  Have not participated in any systematic exercise program for at least six months 
    prior to the start of this project .'

'-  Have neg() participated in any mod("systematic") proc("exercise program") for 
    eq(op(GTEQ), val("six"), temporal_unit(MONTH)) prior to the start of this project .'

 neg(
    proc("exercise program")
        .mod("systematic")
        .temporality(
            eq(op(GTEQ), val("six"), temporal_unit(MONTH))
        )
    )

.type()

.type() represents the type or source of a diagnosis or condition.

Arguments -

  • An all-caps enum-like value of one of the following:
    • ADMITTING
    • DISCHARGE
    • PROBLEM_LIST

Example -

'EXC'

'-  Hypertensive urgency or emergency as an admission diagnosis'

'-  cond("Hypertensive") mod("urgency") or mod("emergency") as an type(ADMITTING) diagnosis'

cond("Hypertensive")
    .mod("urgency")
    .mod("emergency")
    .type(ADMITTING)

.severity()

.severity() represents the severity of a condition.

Arguments -

  • An all-caps enum-like value of one of the following:
    • MILD
    • MODERATE
    • SEVERE

Example -

'EXC'

'-  Severe orbital or ophthalmic injury'

'-  severity(SEVERE) mod("orbital") or mod("ophthalmic") obs("injury")'

obs("injury")
    .severity(SEVERE)
    .mod("orbital")
    .mod("ophthalmic")

.stable()

.stable() indicates that a condition (or other function) is stable and not fluctuating, etc.

Arguments -

  • No arguments.

Example -

'INC'

'-  Weight stable ( ± 5 kg ) for at least 6 months'

'-  measurement("Weight") stable() ( eq(op(PLUS_MINUS), val("5"), unit("kg")) ) 
    for eq(op(GTEQ), val("6"), temporal_unit(MONTH))'

measurement("Weight")
    .stable()
    .num_filter(
        eq(op(PLUS_MINUS), val("5"), unit("kg"))
    )
    .duration(
        eq(op(GTEQ), val("6"), temporal_unit(MONTH))
    )