Des Données Pour Vos Projets

Nous fournissons des outils pour faciliter l'accès et le traitement des données de santé.

API FHIR

Notre entrepôt de santé est accessible via une API intégrée en FHIR qui permet à des réutilisateurs de requêter des données de santé structurées et en production.

Cette API convient parfaitement aux applications mobiles, tableaux de bord et autres outils de monitoring, qui peuvent ainsi accéder à des données riches en temps réel sans avoir à s'interfacer avec les différents logiciels médicaux.

API ENDPOINT
/Encounter/f5t6LRkHkN3oaK4o3
JSON RESPONSE
{
  "resourceType": "Encounter",
  "id": "emerg",
  "text": {
    "status": "generated",
    "div": "<div xmlns="http://www.w3.org/1999/xhtml">Emergency visit that escalated into inpatient patient @example</div>"
  },
  "status": "in-progress",
  "statusHistory": [
    {
      "status": "arrived",
      "period": {
        "start": "2017-02-01T07:15:00+10:00",
        "end": "2017-02-01T07:35:00+10:00"
      }
    },
    {
      "status": "triaged",
      "period": {
        "start": "2017-02-01T07:35:00+10:00",
        "end": "2017-02-01T08:45:00+10:00"
      }
    },
    {
      "status": "in-progress",
      "period": {
        "start": "2017-02-01T08:45:00+10:00",
        "end": "2017-02-01T12:15:00+10:00"
      }
    },
    {
      "status": "onleave",
      "period": {
        "start": "2017-02-01T12:15:00+10:00",
        "end": "2017-02-01T12:45:00+10:00"
      }
    },
    {
      "status": "in-progress",
      "period": {
        "start": "2017-02-01T12:45:00+10:00"
      }
    }
  ],
  "class": {
    "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
    "code": "IMP",
    "display": "inpatient encounter"
  },
  "classHistory": [
    {
      "class": {
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
        "code": "EMER",
        "display": "emergency"
      },
      "period": {
        "start": "2017-02-01T07:15:00+10:00",
        "end": "2017-02-01T09:27:00+10:00"
      }
    },
    {
      "class": {
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
        "code": "IMP",
        "display": "inpatient encounter"
      },
      "period": {
        "start": "2017-02-01T09:27:00+10:00"
      }
    }
  ],
  "subject": {
    "reference": "Patient/example"
  },
  "period": {
    "start": "2017-02-01T07:15:00+10:00"
  },
  "hospitalization": {
    "admitSource": {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/admit-source",
          "code": "emd",
          "display": "From accident/emergency department"
        }
      ]
    }
  },
  "location": [
    {
      "location": {
        "display": "Emergency Waiting Room"
      },
      "status": "active",
      "period": {
        "start": "2017-02-01T07:15:00+10:00",
        "end": "2017-02-01T08:45:00+10:00"
      }
    },
    {
      "location": {
        "display": "Emergency"
      },
      "status": "active",
      "period": {
        "start": "2017-02-01T08:45:00+10:00",
        "end": "2017-02-01T09:27:00+10:00"
      }
    },
    {
      "location": {
        "display": "Ward 1, Room 42, Bed 1"
      },
      "status": "active",
      "period": {
        "start": "2017-02-01T09:27:00+10:00",
        "end": "2017-02-01T12:15:00+10:00"
      }
    },
    {
      "location": {
        "display": "Ward 1, Room 42, Bed 1"
      },
      "status": "reserved",
      "period": {
        "start": "2017-02-01T12:15:00+10:00",
        "end": "2017-02-01T12:45:00+10:00"
      }
    },
    {
      "location": {
        "display": "Ward 1, Room 42, Bed 1"
      },
      "status": "active",
      "period": {
        "start": "2017-02-01T12:45:00+10:00"
      }
    }
  ]
}

L'intelligence artificielle avec FHIR

Arkhn déploie des clusters Spark dont les couches de persistance sont basées sur FHIR. Cela facilite le travail des projets de recherche en leur permettant de traiter des données de santé structurées à large échelle pour entraîner leurs modèles d'apprentissage.

Cela réduit considérablement le temps passé par les équipes à nettoyer les données et à déployer des architectures scalables à l'hôpital, et leur permet de se focaliser sur la conception des modèles.

PYTHON
# Load data using FHIR syntax
filteredEncounters = sparkContext.sql("SELECT subject, serviceProvider, priority FROM encounter WHERE status='in-progress'")

# Perform distributed computation on this data

Apprentissage fédéré

Entraîner un modèle sur plusieurs établissements permet d'aggréger plus de données et d'améliorer significativement sa précision. Pour cela, Arkhn fournit une architecture intégrée afin d'entraîner des modèles sur l'ensemble de son réseau d'entrepôts de données. Les équipes peuvent déployer leurs modèles PyTorch et TensorFlow de façon transparente sur toutes ces bases de données et peuvent également utiliser des outils additionnels pour améliorer la confidentialité de leurs modèles.

Cette approche d'apprentissage décentralisée appelée Federated Learning permet aux établissements de garder la main sur leurs informations, ce qui est un pré-requis essentiel lorsqu'on traite des données de santé. Vous pouvez en apprendre plus sur l'apprentissage fédéré sur notre page dédiée, pour comprendre par exemple comment il améliore la confidentialité des données.

PYTHON
model.train()

for data, target in federated_train_loader: # This is a distributed dataset
   model.send(data.location) # Send the model to the right location
   optimizer.zero_grad()
   output = model(data) # Operations are done remotely under the hood
   loss = F.nll_loss(output, target)
   loss.backward()
   optimizer.step()
   model.get() # Get the model back