We are Lypy

For more than 7 years Lypy has worked with providers operating within UK health, social care and life sciences to deliver fully supported end to end digital solutions to power our healthcare system.

Project Edgbaston

Healthcare APIs packaged as simple to use libraries.

For years our partners have used Project Edgbaston as a rational runtime API while they stay focused on building products.

Seamless working

Not only in the languages you are used to but also between different APIs (for example EMIS IM1) and profiles/archetypes (FHIR UK Core/openEHR).

Removal of connectivity barriers

Partners can access APIs wherever they are hosted from core/large hospitals to private clinics. This is done in line with NHS England CSP controls, agreed private peers and public cloud direct connections.

Agnostic in every aspect

The platform slots into any setup. From native amd64, riscv64 or aarch64 builds to AWS, Azure and GCP serverless environments.

Performance above all

The ability to process 100 events/ms, respecting data dependency (a unique feature relative to all other middleware), from a cold start puts an end to wasteful CPU cycles and over provisioned infrastructure.

Rust


use async_std::prelude::*;
use edgbaston::prelude::*;
use emis::interop::PatientApi;
use fhir::r5;

mod ehr {
    openehr_adl_en!(
        "openEHR-EHR-EVALUATION.advance_intervention_decisions.v1.adl"
    );
}

#[async_std::main]
async fn main() -> edgbaston::prelude::Result<()> {
    // EMIS
    let patient_api = PatientApi::new();
    let medical_record = patient_api.medical_record.get(PatientApi {
        patient_id: "0123456789".to_string().into(),
        ..Default::default()
    }).await?

    // FHIR
    let patient: r5::Patient = medical_record.registration.try_into()?;

    // openEHR
    let mut aid: ehr::AdvanceInterventionDecisions =
	Default::default();
    aid.subject_of_care = patient.try_into()?;
    aid.overall_comment = "narrative about intervention decision".to_string().into();

    Ok()
}
	

Node


import SystmOne from 'tpp';
async function main() {
  const systmone = new SystmOne();
  const result = await systmone.messages.get({
    patientId: "71df200000000000",
    range: [{
      startDate: Date.now() - 7,
      endDate: Date.now(),
    }],
  });
  console.log(result.messages[0]?.text);
}
main();
	

HTTP


PATCH /IM1/A28579/FHIR/R4/Patient/9450275556 HTTP/2
accept: application/fhir+json
Content-Type: application/json-patch+json
Content-Length: 238

{
  "patches": [
    {
      "op":"add",
      "path":"/events/-",
      "value":  {
        "code": {"coding":[{"code":"2041000000102","system":"http://snomed.info/sct"}]},
        "note": [{"text":"A letter about something was sent to consultant"}]
      }
    }]
}
	

Real-time ray-traced rendering


Navigate and annotate smoothly in an intuitive and true to source viewer. Medical imaging reimagined for modern technology through streaming the volumetric source data to the GPU without pre-processing.

Lypy Limited 2024.