FibriCheck Developer Documentation
  • 👋FibriCheck Developer Documentation
  • 👩‍💻Developer Guide
  • 🔗App-to-app integration
  • Web Portal Integration
  • Cloud SDK
    • ▶️Introduction
  • 🔒Authentication
  • 👤Users & Registration
  • 📱Profile
  • 📄Prescriptions
  • 🫀Measurements
  • 📊Reports
  • 🪝Webhooks
  • 🔧Changelog
  • Camera SDK
    • ▶️Introduction
  • ⚡Events
  • ⚙️Properties
  • 🔧Changelog
  • Legal & Regulatory
    • Partner Portal Requirements
    • Instructions for Use
    • Terms of Use
  • External Links
    • GitHub
Powered by GitBook
On this page
  • Profile Schema
  • Update Profile
  • SDK
  • REST API
  • Update the profile of the authenticated user
  • Get information about the authenticated user
  • Get information about the authenticated user

Profile

When a user is registered, a profile is created automatically. The user's profile contains personal information about the user and the device. For accurate measurements, it's important to keep this profile up-to-date.

App Development Best Practice

Make sure to regularly update the profile information, preferably after every login and when the user navigates to the main home screen of your application.

Profile Schema

The JSON snippet below shows the structure of a user profile.

{
  "country": "BE",
  "region": "string",
  "address_line1": "string",
  "address_line2": "string",
  "city": "string",
  "postal_code": "string",
  "weight": 0,
  "length": 0,
  "birthday": {},
  "gender": 1,
  "comorbidities": [
    "HEART_FAILURE"
  ],
  "physician": "string",
  "smoker": true,
  "activity": "NOT_ACTIVE",
  "fibricheck_info": {
    "app": {
      "version": "string"
    },
    "device": {
      "os": "string",
      "model": "string",
      "type": "android",
      "manufacturer": "string"
    }
  },
  "impediments": [
    "TREMOR"
  ],
  "custom_fields": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  }
}

Update Profile

SDK

import 'package:flutter_fibricheck_sdk/flutter_fibricheck_sdk.dart';
import 'package:device_info_plus/device_info_plus.dart';

var deviceInfo = DeviceInfoPlugin();
    AndroidDeviceInfo androidInfo;
    IosDeviceInfo iosInfo;

    String? os;
    String? model;
    String? manufacturer;

    if (Platform.isAndroid) {
      androidInfo = await deviceInfo.androidInfo;
      os = androidInfo.version.release;
      model = androidInfo.model;
      manufacturer = androidInfo.manufacturer;
    } else if (Platform.isIOS) {
      iosInfo = await deviceInfo.iosInfo;
      os = iosInfo.systemVersion;
      model = iosInfo.localizedModel;
      manufacturer = 'Apple';
    }

await _sdk.updateProfile(
        ProfileData(
            addressLine1: "",
            addressLine2: "",
            weight: int,
            length: int,
            smoker: bool,
            activity: ProfileActivity...,
            fibricheckInfo: FibricheckInfo(
              app: App(version: "1.0.0"),
              device: Device(
                manufacturer: manufacturer,
                type: Platform.isAndroid ? DeviceType.android : DeviceType.ios,
                model: model,
                os: iosInfo.systemVersion,
              ),
            )));
import DeviceInfo from 'react-native-device-info';

const appVersion = DeviceInfo.getVersion();
const isAndroid = Platform.OS === 'android';

const deviceOSVersion = DeviceInfo.getSystemVersion();
const deviceModel = isAndroid
  ? DeviceInfo.getModel()
  : DeviceInfo.getDeviceId();
deviceSystemName = isAndroid ? 'android' : 'ios';
deviceManufacturer = await DeviceInfo.getManufacturer();

const profileData = {
  birthday: '06/07/1990';
  gender: Gender.Male;
  fibricheck_info:
   app: {
      version: appVersion,
    },
    device: {
      os: deviceOSVersion,
      model: deviceModel,
      type: deviceSystemName,
      manufacturer: deviceManufacturer,
    }
  }
};

await sdk.updateProfile(profileData);

REST API

If you want to update the profile using the REST API, you need to know the userId of the user that is currently logged in. The userId is available in response of the /tokens endpoint after a successful authentication attempt.

Update the profile of the authenticated user

PUT https://api.fibricheck.com/profiles/v1?id={userId}

Query Parameters

Name
Type
Description

userId

String

The user for which you want to update the profile information.

{
    "records_affected": 1
}

Get information about the authenticated user

For some API functionality, you need to have more information about the authenticated user. For example, to generate a periodic report you'll want to know the language in which to generate the report.

If you're using the SDK, the information will be fetched internally. If you are using the REST API endpoints, you can use the /me call to get the necessary information.

Get information about the authenticated user

GET https://api.fibricheck.com/users/v1/me

{
    "id": "5811c7a046e0fb000530a465",
    "first_name": "John",
    "last_name": "Doe",
    "language": "EN",
    "time_zone": "Europe/Brussels",
    "email": "testing2@fibricheck.com",
    "phone_number": "1337606",
    "activation": true,
    "patient_enlistments": [
        {
            "group_id": "5cb9706059080100098d34ab",
            "expiry_timestamp": 1652622905035,
            "expired": true,
            "creation_timestamp": 1556286905035
        },
        {
            "group_id": "6258156365220500073f0c7d",
            "expiry_timestamp": 1677767836482,
            "expired": false,
            "creation_timestamp": 1676558236482
        }
    ],
    "staff_enlistments": [
        {
            "roles": [],
            "creation_timestamp": 1629206655891,
            "update_timestamp": 1677079784835,
            "group_id": "5919759152faff000545b18c"
        }
    ],
    "last_failed_timestamp": 1676983781866,
    "failed_count": 0,
    "creation_timestamp": 1477560224809,
    "update_timestamp": 1677079784835,
    "profile_image": "98fde5bc6faae6d4f92d89d24f1fcf941cd10633"
}
PreviousUsers & RegistrationNextPrescriptions

Last updated 1 year ago

In the body of the API call you can provide all the profile fields, or a subset from the in JSON format. If you provide a subset, the updated values will be merged into the existing profile.

📱
profile schema