Comprehensive technological enhancements across multiple streams for an ontology provider

Innowise voerde een veelzijdige software voor medisch onderzoek upgrade for an ontology provider, incorporating AI-driven search, custom data dashboards, and ontology integration.

Uitdaging

De belangrijkste uitdagingen waarmee onze klant werd geconfronteerd, hadden betrekking op drie hoofdgebieden: een front-end ontwikkelen voor hun AI-gebaseerd zoeksysteem, het automatiseren van kaartdatavisualisatie within medical research software, and integrating their ontologies into an existing system:

  • De front-end van een AI-zoeksysteem ontwikkelen: De belangrijkste uitdaging voor de klant was het verbeteren van de front-end van hun op ontologie gebaseerde zoeksysteem, op maat gemaakt voor web- en mobiele platforms. Dit systeem was een integraal onderdeel van het beheer van een uitgebreide collectie wetenschappelijke artikelen. De upgrade vereiste zoekmogelijkheden, het bekijken van bronnen en het annoteren van wetenschappelijke concepten en termen in verschillende documentformaten. De beperkingen van het vorige systeem, met name het ontbreken van zoekfilters en annotatiefunctionaliteiten, belemmerden de volledige benutting van hun wetenschappelijke database.
  • Gegevensvisualisatie automatiseren voor wetenschappelijk onderzoek:< The client faced a challenge in automating data visualization for their scientific data analysis. The required system needed to support data scientists in identifying, preparing, and validating data, as well as in creating informative dashboards. This was crucial for classifying and linking medical entities, identifying molecular targets for new pharmaceuticals, and facilitating research on diseases.
  • Ontology system integration: Integrating the client’s ontologies into an existing system presented a unique challenge. The company’s legacy system heavily depended on manual processes for document handling and data entry. Our task was to modernize this system by automating document analysis and database uploads, developing a new interface, and establishing a back-end systeem. Dit systeem moest twee verschillende gebruikersrollen ondersteunen: personen die verantwoordelijk waren voor het uploaden en bewerken van documenten en beheerders die deze invoer moesten beoordelen en bevestigen.

Oplossing

Het team van Innowise richtte zich op drie belangrijke aspecten van het project:

Het zoeksysteem verbeteren in software voor medisch onderzoek

Ons team richtte zich op het ontwikkelen en verbeteren van een gespecialiseerd AI-zoeksysteem - een belangrijk subsysteem binnen een groter raamwerk, ontworpen voor web- en mobiele interfaces. Deze taak omvatte meerdere technische en functionele verbeteringen:

  • Geavanceerd zoeken naar documenten: We stelden het systeem in staat om diepgaande zoekopdrachten uit te voeren in verschillende documentformaten uit een enorme documentenopslagplaats. Met het systeem konden gebruikers documenten vinden, interne en externe bronnen bekijken en belangrijke wetenschappelijke concepten en annotaties in deze documenten identificeren.
  • Annotatie en categorisatie: Een belangrijke functie was de mogelijkheid voor gebruikers om specifieke woorden of tickets binnen documenten te selecteren en deze toe te wijzen aan relevante domeinen voor annotatie. We hebben op GPT gebaseerde AI-functies geïntegreerd om gebruikers te begeleiden bij het correct annoteren en categoriseren van elke term of entiteit.
  • Indienings- en beoordelingsproces: Na het maken van bewerkingen of het toevoegen van nieuwe informatie aan een document, faciliteerde het systeem een beoordelingsproces. Gebruikers konden deze wijzigingen indienen, die vervolgens naar een beheerder werden gestuurd voor het toekennen van de status en goedkeuring van de nieuwe annotaties, opmerkingen of categorisaties.
  • Zoek- en analysefuncties: Gebruikers kunnen nu documenten selecteren uit een grote database en deze toevoegen aan een verzamelmand. Vervolgens kunnen ze deze documenten opvragen met de zoekbalk in de Analyzer, specifieke vragen stellen of samenvattingen en analyses opvragen op basis van GPT-technologie.
  • Ontwikkeling van filters op maat: Onze ontwikkelaar heeft geavanceerde filters gemaakt voor het zoeken naar documenten, afgestemd op verschillende soorten bronnen.
  • Uitdagingen voor documentviewers: Een van de complexe taken was het ontwikkelen van een documentviewer die gemarkeerde annotaties op PDF-documenten kon weergeven. Dit vereiste ingewikkelde back-end coördinatie om annotaties correct te overlappen.
  • Revisie van legacycode en architectuur: We pakten de uitdagingen aan die legacy code en een gebrek aan architecturale structuur met zich meebrachten en zorgden ervoor dat het systeem werd gebouwd op een solide, moderne technologische fundering.
  • Integratie van meerdere GPT-versies: Ons team breidde het systeem uit met meerdere versies van GPT (3.5, 4, Davinci), waardoor een veelzijdigere documentanalyse mogelijk werd.
  • LLM integratie: Innowise richtte zich op aangepaste LLM-ontwikkeling waarmee gebruikers zoekopdrachten in natuurlijke taal kunnen invoeren. Zodra de zoekopdrachten zijn omgezet in back-end verzoeken, kunnen ze naar de server worden gestuurd.

Data science dashboard automatisering

Onze team gegevenswetenschappen richtte zich op het automatiseren van datavisualisatie door middel van dashboards, een cruciaal onderdeel voor het onderzoek van de klant naar moleculaire doelwitten voor nieuwe farmaceutische behandelingen. De voornaamste ziekten die werden bestudeerd waren obesitas en spierziekten.

  • Dashboard maken: Het doel van het team was om dashboards te maken voor het visualiseren van farmaceutische gegevens. Hiervoor moesten grote datasets, een enorm aantal geannoteerde medische artikelen met unieke ID en metadata, verwerkt worden tot omvangrijke GBQ-tabellen. 

  • Data visualization: Met behulp van Looker Studio, hebben we deze grote gegevenstabellen omgezet in kleinere, beter hanteerbare formaten voor het maken van dashboards. Deze visualisatiestap was nodig voor experts om gegevens beter te kunnen beoordelen en filteren.

  • Dashboardautomatisering: Na goedkeuring door medische experts automatiseerden we het maken van het dashboard met behulp van datatechnieken. Dit hield in dat we repositories met SQL-scripts gebruikten om de benodigde informatie op te halen. Deze scripts werden op gezette tijden uitgevoerd, zodat de dashboards up-to-date bleven met de laatste onderzoeksresultaten.

  • Continue updates en integratie: Onze oplossing maakte de continue integratie van nieuwe relevante publicaties in de dashboards mogelijk. Dit dynamische updateproces werd gefaciliteerd door Google Cloud Functions. Hierdoor bleven de dashboards bijgewerkt met de meest recente gegevens.

  • Beheer van zoekopdrachten: We behandelden query's via grote tabellen en haalden er specifieke informatie uit op basis van zoekopdrachten. Het team visualiseerde deze statistieken vervolgens in de dashboards en identificeerde eventuele problemen in de zoekopdrachten.

Ontology integration in research

Our project focused on integrating our client’s ontologies into an established lab management software. This task involved several key steps to modernize and automate their outdated system:

  • Systeemanalyse en onderzoek: We begonnen met een grondige analyse en onderzoek van het legacysysteem van de klant. Deze Software voor laboratoriumbeheer, voornamelijk gebruikt voor het opslaan van rapporten en onderzoeksresultaten, was gebaseerd op oudere Java versies en JSP-technologieën.
  • Ontwikkelen van nieuwe interface en back-end: Onze aanpak omvatte de ontwikkeling van een nieuwe interface en een back-endsysteem om het proces van documentanalyse en databasebijwerking, dat voorheen handmatig werd uitgevoerd, te automatiseren.
  • Gebruikerstypes en -functionaliteiten: We hebben het systeem zo ontworpen dat het geschikt is voor twee verschillende soorten gebruikers:
  • Document uploader: Onderzoekers die documenten toevoegen aan het systeem. Nadat een document is geannoteerd, verschijnt het op een speciale pagina waar de uploader de resultaten kan bekijken, wijzigingen kan aanbrengen en de indiening in de database kan bevestigen.
  • Beheerder: Verantwoordelijk voor het beoordelen en bevestigen van documenttoevoegingen. Deze functie omvat een uitgebreide beoordeling van documenten, met de mogelijkheid om wijzigingen aan te brengen, goed te keuren of door te voeren voordat ze definitief in de database worden ingevoerd.
  • Back-end ontwikkeling en revisie van legacy code: Onze ontwikkelaar nam de taak op zich om de bestaande legacycode te reviseren. Dit omvatte het schrijven van JSP-pagina's volgens de specificaties van de klant en het ontwikkelen van back-end functionaliteiten (aanvragen, antwoorden, gegevensverwerking en database-invoer).
  • Admin-interface ontwikkeling: We ontwikkelden ook een beheergedeelte van het systeem waar de beheerder (meestal het hoofd van de onderzoeksafdeling) een melding ontvangt met een link naar de interface die informatie uit de database weergeeft.
  • Integratie van ontologie-API: De kern van onze oplossing was het integreren van de Ontology API in de labmanagementsoftware van de klant. Deze API diende als punt voor het verzenden van documentgerelateerde query's en het ontvangen van antwoorden, die vervolgens werden verwerkt en weergegeven via de frontend voordat ze naar de database van de klant werden gestuurd.
  • Omgaan met documenten en gegevens: In this system, documents uploaded to the ontological system were processed, and the resulting data was saved in the company’s research database. This allowed for automatic analysis of documents and retrieval of important information.
  • Full-stack ontwikkeling: Onze ontwikkelaar werkte als een full-stack engineer, hield zich bezig met zowel front-end als back-end aspecten en zorgde voor een naadloze integratie van alle systeemcomponenten.

Technologieën

Programmeertalen

JavaScript, TypeScript, Java
React, react-pdf, Redux, Redux-thunk, React-redux, Primereact, SASS, Lodash, Axios, FileSaver, GPT-Tokenizer
Spring laars, Java met Lucene-bibliotheken, Stardog
Python (Pandas, Numpy, Plotly, Matplotlib), GCP (Google Big Query, Google Cloud Storage, Cloud Run), Looker, Data Studio, Apache Solr, aangepaste tools voor gegevensverwerking en visualisatie.

Proces

Onze aanpak van het ontwikkelingsproces was methodisch en volgde de Agile-principes, wat zorgde voor flexibiliteit en voortdurende verbetering.

In het begin deden we grondig onderzoek om de behoeften en bestaande systemen van de klant te begrijpen en leverden we een gedetailleerd 'Vision and Scope'-document op. Op basis van de eerste bevindingen gingen we verder met het ontwerpen en ontwikkelen van de benodigde functies voor elke stroom. Ons team hield regelmatig sprint meetings om te bevestigen dat ons werk overeenkwam met de verwachtingen van de klant. Alle functies werden geïmplementeerd en onderworpen aan strenge tests op prestaties en nauwkeurigheid, waarbij de klant voortdurend feedback gaf.

Voor effectieve communicatie en het bijhouden van projecten maakten we gebruik van Microsoft-tools en Monday.com, wat zorgde voor een transparant proces en realtime updates.

Vereist team

1

Project Manager

3

React Ontwikkelaars

3

Java-ontwikkelaars

1

Ontwikkelaar ML/Python

2

Data Ingenieurs

Resultaten

In onze samenwerking met de klant, die zich uitstrekt over drie hoofdstromen, hebben we aanzienlijke vooruitgang geboekt in hun wetenschappelijke onderzoekscapaciteiten. Hier is een momentopname van de feitelijke resultaten:

  • Gestroomlijnde zoekacties: De inspanningen van ons team om het zoeksysteem te verfijnen hebben geleid tot een verdubbeling van de zoeksnelheid, wat onderzoekers ten goede komt in hun zoektocht naar snelle toegang tot wetenschappelijke gegevens.
  • Precisie in annotaties: De introductie van het geautomatiseerde annotatiesysteem resulteerde in een grotere annotatienauwkeurigheid, een kritieke factor voor diepgaande wetenschappelijke studies.
  • Efficiëntere gegevensverwerking: Door datavisualisatieprocessen te automatiseren, hebben we de tijd die onderzoekers besteedden aan handmatige gegevensverwerking effectief gehalveerd, waardoor ze meer tijd overhielden voor kernonderzoeksactiviteiten.
  • Verbeterde snelheid van gegevensverwerking: De verwerkings- en visualisatiesnelheden van gegevens werden verdrievoudigd, wat een sprong voorwaarts betekende in de verwerking van complexe datasets.
  • Geoptimaliseerde gebruikerservaring: De gemoderniseerde gebruikersinterface van onze systemen heeft geleid tot een opmerkelijke stijging van de gebruikerstevredenheid, waardoor de betrokkenheid binnen de wetenschappelijke gemeenschap is toegenomen.
  • Vrijgekomen onderzoekstijd: Het automatiseren van routinetaken heeft geleid tot een reductie van 60% in handmatige gegevensverwerking, waardoor de onderzoekers meer tijd overhielden voor handmatig werk.

    Contacteer ons

    Boek een gesprek of vul het onderstaande formulier in en we nemen contact met je op zodra we je aanvraag hebben verwerkt.

    Stuur ons een spraakbericht
    Documenten bijvoegen
    Bestand uploaden

    Je kunt 1 bestand van maximaal 2 MB bijvoegen. Geldige bestandsformaten: pdf, jpg, jpeg, png.

    Door op Verzenden te klikken, stemt u ermee in dat Innowise uw persoonsgegevens verwerkt volgens onze Privacybeleid om u van relevante informatie te voorzien. Door je telefoonnummer op te geven, ga je ermee akkoord dat we contact met je opnemen via telefoongesprekken, sms en messaging-apps. Bellen, berichten en datatarieven kunnen van toepassing zijn.

    U kunt ons ook uw verzoek sturen
    naar contact@innowise.com
    Wat gebeurt er nu?
    1

    Zodra we je aanvraag hebben ontvangen en verwerkt, nemen we contact met je op om de details van je projectbehoeften en tekenen we een NDA om vertrouwelijkheid te garanderen.

    2

    Na het bestuderen van uw wensen, behoeften en verwachtingen zal ons team een projectvoorstel opstellen met de omvang van het werk, de teamgrootte, de tijd en de geschatte kosten voorstel met de omvang van het werk, de grootte van het team, de tijd en de geschatte kosten.

    3

    We zullen een afspraak met je maken om het aanbod te bespreken en de details vast te leggen.

    4

    Tot slot tekenen we een contract en gaan we meteen aan de slag met je project.

    pijl