CardinalKit Mobile Health Data FHIR Implementation Guide
1.0.0 - release

CardinalKit Mobile Health Data FHIR Implementation Guide - Local Development build (v1.0.0). See the Directory of published versions

Examples

Examples are given below of commonly used data types in CardinalKit applications, represented in both OMH and FHIR.

  • Heart Rate
  • Step Count

Heart Rate

This is a heart rate data point generated by CardinalKit, queried from HealthKit and serialized into JSON in accordance with the OMH heart-rate:2.0 schema.

OMH Heart Rate Data Point

{
    "header": {
        "id": "082A9300-F351-4660-9F05-754F675FA3DF",
        "creation_date_time": "2022-01-25T01:57:01.000-08:00",
        "acquisition_provenance": {
        "source_name": "HealthKit",
        "modality": "sensed"
        },
        "schema_id": {
            "namespace": "omh",
            "name": "heart-rate",
            "version": "2.0"
        },
        "user_id": "GXdCOUJHuIUPUYiViVlNqZp9rjb1"
    },
    "body": {
        "heart_rate": {
            "value": 67,
            "units": "beats/min"
        } 
        "effective_time_frame": {
            "date_time": "2022-01-25T01:57:01.000-08:00"
        }
    }
}

This OMH data point will map to the following FHIR Observation, following the mapping template shown on the Mapping page.

FHIR Observation Heart Rate Data Point

{
    "resourceType": "Observation",
    "id": "heart-rate-example",
    "meta": {
        "profile" : ["http://cardinalkit.org/fhir/StructureDefinition/ck_mhealth_observation_profile"],
        "source": "cardinalKitApp"
    }
    "identifier  : [
    "system" : "http://cardinalkit.org/fhir/ids",
    "value" : "802481CF-FD6A-4073-8D41-438D1695624D",
    }],
    "status": "final",
    "category": [
        {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/observation-category",
                    "code": "vital-signs",
                    "display": "Vital Signs"
                }
            ]
        }
    ],
    "code": {
        "coding": [
            {
                "system": "http://loinc.org",
                "code": "8867-4",
                "display": "Heart rate"
            },
            {
                // this coding can be optionally included if it useful to track the original HealthKit type
                "system": "com.apple.health", 
                "code": "HKQuantityTypeIdentifierHeartRate",
                "display": "Heart rate"
            }
        ],
    },
    "subject": {
        "identifier" : {
            "system" : "http://cardinalkit.org/fhir/patient_ids // The namespace for the identifier value",
            "value" : "GXdCOUJHuIUPUYiViVlNqZp9rjb1",
        },
    },
    "effectiveDateTime": "2022-01-25T01:57:01.000-08:00",
    "issued": "2022-01-25T01:57:01.000-08:00",
    "valueQuantity": {
        "value": 67,
        "unit": "beats/min",
        "system": "http://unitsofmeasure.org",
    }
    "device": {
        "extension": [{
            "url": "http://cardinalkit.org/fhir/StructureDefinition/omh_fhir_observation_device_modality",
            "valueCode": "sensed"
        }],
        "display": "HealthKit"
    }
}

Step Count

This is a step count data point generated by CardinalKit, queried from HealthKit and serialized into JSON in accordance with the OMH step-count:3.0 schema.

OMH Heart Rate Data Point

{
    "header": {
        "id": "082A9300-F351-4660-9F05-754F675FA3DF",
        "creation_date_time": "2022-01-25T01:57:01.000-08:00",
        "acquisition_provenance": {
        "source_name": "HealthKit",
        "modality": "sensed"
        },
        "schema_id": {
            "namespace": "omh",
            "name": "step-count",
            "version": "3.0"
        },
        "user_id": "GXdCOUJHuIUPUYiViVlNqZp9rjb1"
    },
    "body": {
        "step_count": {
            "value": 1000,
            "units": "steps"
        } 
        "effective_time_frame": {
            "time_interval": {
                "start_date_time": "2022-01-25T01:57:01.000-08:00",
                "end_date_time": "2022-01-25T02:57:01.000-08:00"
            }
        }
    }
}

This OMH data point will map to the following FHIR Observation, following the mapping template shown on the Mapping page.

FHIR Observation Step Count Data Point

{
    "resourceType": "Observation",
    "id": "step-count-example",
    "meta": {
        "profile" : ["http://cardinalkit.org/fhir/StructureDefinition/ck_mhealth_observation_profile"],
        "source": "cardinalKitApp"
    }
    "identifier  : [
    "system" : "http://cardinalkit.org/fhir/ids",
    "value" : "602381AF-GD6A-4073-8D11-438D1495624D",
    }],
    "status": "final",
    "category": [
        {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/observation-category",
                    "code": "activity",
                    "display": "Activity"
                }
            ]
        }
    ],
    "code": {
        "coding": [
            {
                "system": "http://loinc.org",
                "code": "55423-8",
                "display": "Number of steps in unspecified time Pedometer"
            }
        ],
    },
    "subject": {
        "identifier" : {
            "system" : "http://cardinalkit.org/fhir/patient_ids // The namespace for the identifier value",
            "value" : "GXdCOUJHuIUPUYiViVlNqZp9rjb1",
        },
    },
    "effectivePeriod": {
        "start": "2022-01-25T01:57:01.000-08:00",
        "end": "2022-01-25T02:57:01.000-08:00"
    }
    "issued": "2022-01-25T01:57:01.000-08:00",
    "valueQuantity": {
        "value": 1000,
        "unit": "steps",
        "system": "http://unitsofmeasure.org",
    }
    "device": {
        "extension": [{
            "url": "http://cardinalkit.org/fhir/StructureDefinition/omh_fhir_observation_device_modality",
            "valueCode": "sensed"
        }],
        "display": "HealthKit"
    }
}