Search in sources :

Example 1 with LoincId

use of org.monarchinitiative.loinc2hpocore.loinc.LoincId in project loinc2hpo by monarch-initiative.

the class Loinc2HpoAnnotationParser method loincToHpoAnnotationMap.

public Map<LoincId, LoincAnnotation> loincToHpoAnnotationMap() {
    Map<LoincId, List<Loinc2HpoAnnotation>> result = entries.stream().collect(Collectors.groupingBy(Loinc2HpoAnnotation::getLoincId, Collectors.mapping(Function.identity(), Collectors.toList())));
    Map<LoincId, LoincAnnotation> outcomesMap = new TreeMap<>();
    for (var e : result.entrySet()) {
        LoincId loincId = e.getKey();
        List<Loinc2HpoAnnotation> outcomes = e.getValue();
        LoincAnnotation lannot = Loinc2HpoAnnotation.outcomes2LoincAnnotation(outcomes);
        outcomesMap.put(loincId, lannot);
    }
    return outcomesMap;
}
Also used : LoincId(org.monarchinitiative.loinc2hpocore.loinc.LoincId)

Example 2 with LoincId

use of org.monarchinitiative.loinc2hpocore.loinc.LoincId in project loinc2hpo by monarch-initiative.

the class Dstu3ObservationTest method testGlucoseNormal.

@Test
void testGlucoseNormal() throws IOException {
    String jsonPath = "json/glucoseNormal.fhir";
    Observation glucoseAbnormal = importDstu3Observation(jsonPath);
    Uberobservation uberobservation = new ObservationDtu3(glucoseAbnormal);
    LoincId expectedLoincId = new LoincId("15074-8");
    Optional<LoincId> opt = uberobservation.getLoincId();
    assertTrue(opt.isPresent());
    assertEquals(expectedLoincId, opt.get());
    Optional<Outcome> opt2 = uberobservation.getOutcome();
    assertTrue(opt2.isPresent());
    assertEquals(Outcome.NORMAL(), opt2.get());
    assertNotEquals(Outcome.LOW(), opt2.get());
    assertNotEquals(Outcome.HIGH(), opt2.get());
}
Also used : ObservationDtu3(org.monarchinitiative.loinc2hpofhir.fhir2hpo.ObservationDtu3) Outcome(org.monarchinitiative.loinc2hpocore.codesystems.Outcome) Observation(org.hl7.fhir.dstu3.model.Observation) TestBase.importDstu3Observation(fhir.TestBase.importDstu3Observation) LoincId(org.monarchinitiative.loinc2hpocore.loinc.LoincId) Uberobservation(org.monarchinitiative.loinc2hpofhir.fhir2hpo.Uberobservation) Test(org.junit.jupiter.api.Test)

Example 3 with LoincId

use of org.monarchinitiative.loinc2hpocore.loinc.LoincId in project loinc2hpo by monarch-initiative.

the class Dstu3ObservationTest method testGlucoseHigh.

@Test
void testGlucoseHigh() throws IOException {
    String jsonPath = "json/glucoseHigh.fhir";
    Observation glucoseHigh = importDstu3Observation(jsonPath);
    Uberobservation uberobservation = new ObservationDtu3(glucoseHigh);
    LoincId expectedLoincId = new LoincId("15074-8");
    Optional<LoincId> opt = uberobservation.getLoincId();
    assertTrue(opt.isPresent());
    assertEquals(expectedLoincId, opt.get());
    Optional<Outcome> opt2 = uberobservation.getOutcome();
    assertTrue(opt2.isPresent());
    assertEquals(Outcome.HIGH(), opt2.get());
    assertNotEquals(Outcome.LOW(), opt2.get());
    assertNotEquals(Outcome.NORMAL(), opt2.get());
}
Also used : ObservationDtu3(org.monarchinitiative.loinc2hpofhir.fhir2hpo.ObservationDtu3) Outcome(org.monarchinitiative.loinc2hpocore.codesystems.Outcome) Observation(org.hl7.fhir.dstu3.model.Observation) TestBase.importDstu3Observation(fhir.TestBase.importDstu3Observation) LoincId(org.monarchinitiative.loinc2hpocore.loinc.LoincId) Uberobservation(org.monarchinitiative.loinc2hpofhir.fhir2hpo.Uberobservation) Test(org.junit.jupiter.api.Test)

Example 4 with LoincId

use of org.monarchinitiative.loinc2hpocore.loinc.LoincId in project loinc2hpo by monarch-initiative.

the class ObservationWithValueRangeTest method highHbWithReferenceRange.

/**
 * This observation does not have an Interpretation, but we can infer the value to be high
 * based on the reference range.
 */
@Test
public void highHbWithReferenceRange() {
    Observation observation = highHemoglobinWithValueRangeObservation();
    Uberobservation uberobservation = new ObservationDtu3(observation);
    LoincId erysInBlood = new LoincId("789-8");
    Optional<LoincId> opt = uberobservation.getLoincId();
    assertTrue(opt.isPresent());
    assertEquals(erysInBlood, opt.get());
    Optional<Outcome> outcomeOpt = uberobservation.getOutcome();
    assertTrue(outcomeOpt.isPresent());
    assertEquals(Outcome.HIGH(), outcomeOpt.get());
}
Also used : ObservationDtu3(org.monarchinitiative.loinc2hpofhir.fhir2hpo.ObservationDtu3) Outcome(org.monarchinitiative.loinc2hpocore.codesystems.Outcome) Observation(org.hl7.fhir.dstu3.model.Observation) LoincId(org.monarchinitiative.loinc2hpocore.loinc.LoincId) Uberobservation(org.monarchinitiative.loinc2hpofhir.fhir2hpo.Uberobservation) Test(org.junit.jupiter.api.Test)

Example 5 with LoincId

use of org.monarchinitiative.loinc2hpocore.loinc.LoincId in project loinc2hpo by monarch-initiative.

the class ObservationWithInterpretationTest method testLowHemoglobinWithoutInterpretation.

/**
 * Low erythrocytes with L interpretation.
 */
@Test
public void testLowHemoglobinWithoutInterpretation() {
    Observation lowHb = lowHemoglobinObservation();
    Uberobservation uberobservation = new ObservationDtu3(lowHb);
    LoincId erysInBlood = new LoincId("789-8");
    Optional<LoincId> opt = uberobservation.getLoincId();
    assertTrue(opt.isPresent());
    assertEquals(erysInBlood, opt.get());
    Optional<Outcome> outcomeOpt = uberobservation.getOutcome();
    assertTrue(outcomeOpt.isPresent());
    assertEquals(Outcome.LOW(), outcomeOpt.get());
}
Also used : ObservationDtu3(org.monarchinitiative.loinc2hpofhir.fhir2hpo.ObservationDtu3) Outcome(org.monarchinitiative.loinc2hpocore.codesystems.Outcome) Observation(org.hl7.fhir.dstu3.model.Observation) LoincId(org.monarchinitiative.loinc2hpocore.loinc.LoincId) Uberobservation(org.monarchinitiative.loinc2hpofhir.fhir2hpo.Uberobservation) Test(org.junit.jupiter.api.Test)

Aggregations

LoincId (org.monarchinitiative.loinc2hpocore.loinc.LoincId)9 Outcome (org.monarchinitiative.loinc2hpocore.codesystems.Outcome)7 Observation (org.hl7.fhir.dstu3.model.Observation)6 Test (org.junit.jupiter.api.Test)6 ObservationDtu3 (org.monarchinitiative.loinc2hpofhir.fhir2hpo.ObservationDtu3)6 Uberobservation (org.monarchinitiative.loinc2hpofhir.fhir2hpo.Uberobservation)6 TestBase.importDstu3Observation (fhir.TestBase.importDstu3Observation)3 File (java.io.File)1 Loinc2HpoAnnotation (org.monarchinitiative.loinc2hpocore.annotation.Loinc2HpoAnnotation)1 LoincAnnotation (org.monarchinitiative.loinc2hpocore.annotation.LoincAnnotation)1 Loinc2HpoAnnotationParser (org.monarchinitiative.loinc2hpocore.io.Loinc2HpoAnnotationParser)1 Ontology (org.monarchinitiative.phenol.ontology.data.Ontology)1 TermId (org.monarchinitiative.phenol.ontology.data.TermId)1