Exemple #1
0
def test_with_disjoint_value_sets_from_directory(spark_session):

    spark_session.sql("CREATE DATABASE IF NOT EXISTS disjoint_value_sets_db")

    create_value_sets(spark_session) \
        .with_value_sets_from_directory("tests/resources/valuesets") \
        .write_to_database("disjoint_value_sets_db")

    reloaded = get_value_sets(spark_session, "disjoint_value_sets_db") \
        .with_disjoint_value_sets_from_directory("tests/resources/valuesets", "disjoint_value_sets_db")

    assert reloaded.get_values("urn:cerner:bunsen:valueset:married_maritalstatus", "0.0.1") \
        .count() == 1
Exemple #2
0
def test_with_value_sets_from_directory(spark_session):

    value_sets = create_value_sets(spark_session) \
        .with_value_sets_from_directory("tests/resources/valuesets")

    assert value_sets.get_values("urn:cerner:bunsen:valueset:married_maritalstatus", "0.0.1") \
        .count() == 1
Exemple #3
0
def test_isa_custom(spark_session, bundles):
    observations = extract_entry(spark_session, bundles, 'observation')
    observations.registerTempTable('observations')

    blood_pressure = {'blood_pressure': [('http://loinc.org', '8462-4')]}

    spark_session.sql('create database custom_ontologies')
    create_value_sets(spark_session).write_to_database('custom_ontologies')
    create_hierarchies(spark_session).write_to_database('custom_ontologies')

    push_valuesets(spark_session, blood_pressure, database='custom_ontologies')

    results = spark_session.sql("SELECT subject.reference, " +
                                "effectiveDateTime, " +
                                "valueQuantity.value " + "FROM observations " +
                                "WHERE in_valueset(code, 'blood_pressure')")

    assert get_current_valuesets(spark_session) == blood_pressure
    assert results.count() == 14
Exemple #4
0
def test_isa_snomed(spark_session):

    spark_session.sql('create database isa_snomed_ontologies')

    with_relationships(
        spark_session,
        create_hierarchies(spark_session),
        'tests/resources/SNOMED_RELATIONSHIP_SAMPLE.TXT',
        '20160901') \
      .write_to_database('isa_snomed_ontologies')

    create_value_sets(spark_session).write_to_database('isa_snomed_ontologies')

    push_valuesets(spark_session, {'diabetes': isa_snomed('73211009')},
                   database='isa_snomed_ontologies')

    expected = {
        'diabetes': [('http://snomed.info/sct', '73211009'),
                     ('http://snomed.info/sct', '44054006')]
    }

    assert get_current_valuesets(spark_session) == expected
Exemple #5
0
def test_isa_loinc(spark_session):

    spark_session.sql('create database isa_loinc_ontologies')

    with_loinc_hierarchy(
        spark_session,
        create_hierarchies(spark_session),
        'tests/resources/LOINC_HIERARCHY_SAMPLE.CSV',
        '2.56') \
      .write_to_database('isa_loinc_ontologies')

    create_value_sets(spark_session).write_to_database('isa_loinc_ontologies')

    push_valuesets(spark_session, {'leukocytes': isa_loinc('LP14738-6')},
                   database='isa_loinc_ontologies')

    expected = {
        'leukocytes': [('http://loinc.org', '5821-4'),
                       ('http://loinc.org', 'LP14738-6'),
                       ('http://loinc.org', 'LP14419-3')]
    }
    assert get_current_valuesets(spark_session) == expected
Exemple #6
0
def test_add_valueset(spark_session):

    value_sets = create_value_sets(spark_session)

    values = [('urn:cerner:system1', 'urn:code:a'),
              ('urn:cerner:system1', 'urn:code:b'),
              ('urn:cerner:system2', 'urn:code:1')]

    appended = value_sets.with_new_value_set(
        url='urn:cerner:test:valuesets:testvalueset',
        version='0.1',
        values=values)

    assert appended.get_value_sets().count() == 1
    assert appended.get_values().count() == 3
Exemple #7
0
def test_get_value_set_as_xml(spark_session):

    value_sets = create_value_sets(spark_session)

    values = [('urn:cerner:system1', 'urn:code:a'),
              ('urn:cerner:system1', 'urn:code:b'),
              ('urn:cerner:system2', 'urn:code:1')]

    appended = value_sets.with_new_value_set(
        url='urn:cerner:test:valuesets:testvalueset',
        version='0.1',
        values=values)
    # this test fails because version is null on line 778 of ValueSets.java
    xml_str = appended.get_value_set_as_xml(
        'urn:cerner:test:valuesets:testvalueset', '0.1')

    root = ET.fromstring(xml_str)
    assert root.tag == '{http://hl7.org/fhir}ValueSet'