Skip to content

Latest commit

 

History

History
98 lines (85 loc) · 3.52 KB

README.md

File metadata and controls

98 lines (85 loc) · 3.52 KB

Einthoven

Einthoven transforms your Apple Watch ECG records to FHIR observations and transmits them to a FHIR server.

Motivation

This application was build to enable patients to share their ECG records with healthcare institutions in an interoperable fashion using the FHIR standard. Einthoven is the successor of FhirEcg, which was build when Apple's HealthKit API for ECG records was not available yet.

Features

  • Conversion of ECG records to FHIR
  • Voltages
  • Transmission to server
  • Set custom Patient reference
  • Memory of which records have been sent already

How to use?

Simply open the app, enter a server address and a reference and hit the button.

Roadmap

  • Change persisting the anchor conditional of successful transmission (200 OK)
  • Add check whether server field is filled out
  • Add "Patient/" in front of the main screen's patient reference entry field
  • Improve how to use section in Readme (Add screenshots or better, a gif)
  • Add selector of http or https in front of the main screen's server field
  • Add check whether connection to the internet is available
  • Add tests

Example Observation

This is an exemplary ECG observation which will be generated by Einthoven and sent to the FHIR server. The data field has been cut off to improve readability.

{
    "category": [
        {
            "coding": [
                {
                    "code": "procedure",
                    "display": "Procedure",
                    "system": "https://www.hl7.org/fhir/procedure.html"
                }
            ]
        }
    ],
    "subject": {
        "reference": "Patient/Reference"
    },
    "resourceType": "Observation",
    "component": [
        {
            "code": {
                "coding": [
                    {
                        "code": "131329",
                        "system": "urn:oid:2.16.840.1.113883.6.24",
                        "display": "MDC_ECG_ELEC_POTL_I"
                    },
                    {
                        "display": "microvolt",
                        "code": "uV",
                        "system": "http://unitsofmeasure.org"
                    }
                ]
            },
            "valueSampledData": {
                "period": 1.953125,
                "dimensions": 1,
                "data": "-6.831687927246094e-05 -7.809173583984375e-05 -8.695221710205078e-05 -9.480361938476562e-05 -0.00010160958862304687 -0.00010735530853271484 -0.00011195083618164062 -0.00011532859802246093 -0.000117450439453125 -0.00011829056549072266 -0.00011796908569335937 -0.00011664691162109374 -0.00011433008575439452 -0.00011099697875976562 -0.00010684049987792969 -0.00010208132171630858 -9.701762390136718e-05 -9.20167999267578e-05 -8.698655700683593e-05 -8.164894866943359e-05 -7.603127288818358e-05",
                "origin": {
                    "value": 0
                }
            }
        }
    ],
    "code": {
        "coding": [
            {
                "display": "MDC_ECG_ELEC_POTL",
                "code": "131328",
                "system": "urn:oid:2.16.840.1.113883.6.24"
            }
        ]
    },
    "status": "final"
}

Contribute

Feel free to submit PRs or fork your own version.

Tech/framework used

Built with