0.2.3 - ci-build

HealthDataReceipt - Local Development build (v0.2.3). See the Directory of published versions

Implementation

This page lays out ways that organizations can deliver health data to an individual’s designee. Each implementation provides at minimum ways to communicate:

  1. The fhir Patient id of the target individual
  2. The source organization
  3. The data payload

Currently, there is are two options, through FHIR Messaging and FHIR RESTful protocols. Other options are planned and may augment or replace these options as this IG evolves.

Via FHIR Messaging

Organizations may combine a batch of data collected on a patient into a single collection to be provided to the patient’s health manager as a FHIR Message.

Organizations must collect

  • a FHIR base server URL
  • the individual’s patient resource id on that FHIR server

To implement via FHIR Messaging, collecting organization SHALL send all data collected in a timely manner to the $process-message operation within the individual’s designated destination endpoint. The MessageHeader of the provided bundle SHALL include

  • the patient data receipt event uri (urn:mitre:healthmanager:pdr)
  • the patient resource id of the individual who is the focus of the message
  • the source organization identification in the source subfields

The rest of the instances in the bundle SHALL conform to the Standard Patient Health Record IG, communicating at minimum the specific FHIR profile(s) that each resource conforms to in meta.profile.

Via FHIR RESTful updates

Organizations may write data to the health manager using the create (type level) and update (instance) level interactions in the FHIR RESTful protocols either individually or as part of a transaction (system) interaction.

Organizations must collect

  • a FHIR base server URL

To implement via FHIR RESTful protocols, collecting organization SHALL write all data collected in a timely manner via resource-level updates, type-level creates, or system-level transactions that contains a set of resource-level updates and type-level creates. Each interaction SHALL include

  • the source organization in meta.source
  • the specific profile used to represent the data in meta.profile