Skip to content

A component that converts known health & lifestyle data (ex. Google Fit, Health Kit) to FHIR format

License

Notifications You must be signed in to change notification settings

fhirfli/fhir-converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fhir-converter

A javascript FHIR (www.hl7.org/fhir/) converter that transforms data from known (and custom) formats into FHIR data.

Currently it supports a mapping from Fitbit's fat, sleep, weight and heart rate logs to FHIR FLI (https://simplifier.net/FhirFli/~resources).

Usage

Node

var fhir = require('fhir-converter');

// Creating a converter from Fitbit to FHIR
var converter = new fhir('fitbit');

// Your resource to convert
var sleepLog = {
    "sleep": [
        {
            "dateOfSleep": "2017-04-02",
            "duration": <value in milliseconds>,
            "efficiency": <value>,
            "isMainSleep": <true|false>,
            "levels": {
                "summary": {
                    "deep": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "light": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "rem": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "wake": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    }
                },
                "data": [
                    {
                        "datetime": "2017-04-01T23:58:30.000",
                        "level": "wake",
                        "seconds": <value>
                    },
                    {
                        "datetime": "2017-04-02T00:16:30.000",
                        "level": "rem",
                        "seconds": <value>
                    }
                ],
                "shortData": [
                    {
                        "datetime": "2017-04-02T05:58:30.000",
                        "level": "wake",
                        "seconds": <value>
                    }
                ]
            },
            "logId": <value>,
            "minutesAfterWakeup": <value>,
            "minutesAsleep": <value>,
            "minutesAwake": <value>,
            "minutesToFallAsleep": <value>, // this is generally 0 for autosleep created sleep logs
            "startTime": "2017-04-01T23:58:30.000",
            "timeInBed": <value in minutes>,
            "type": "stages"
        }
    ],
    "summary": {
        "totalMinutesAsleep": <value>,
        "totalSleepRecords": 1,
        "totalTimeInBed": <value in minutes>
    }
};

// Run the converter on the resource
result = converter.convert(sleepLog);

// The result is a FHIR bundle containing sleep observations
console.log(result);

About

A component that converts known health & lifestyle data (ex. Google Fit, Health Kit) to FHIR format

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published