PHR (Personal Health Records) are a modern innovation designed for interoperability. FHIR is the existing protocol that is leveraged for creating and managing health records.

Ultimately, everything in FHIR is represented as a `resource`. There are a total of 157 resource types, and each of them has a baseline that can be extended by providers to stitch together their own customization over the standard protocol.

Each resource has attributes, and each attribute can be of different datatypes. Each resource has the following base information:

{
  // always defined
  "resourceType" : "X",

  // immutable, only absent for initial creation
  "id" : "12",

  "meta" : {

    // changes each time any resource contents change
    "versionId" : "12",

    // changes each time any resource contents change
    // (except for the last 3 elements in meta - profile, security and tag)
    "lastUpdated" : "2014-08-18T15:43:30Z",

    // An assertion that the content conforms to a profile.
    // Can be changed as profiles and value sets change or the system
    // rechecks conformance
    "profile" : ["http://example-consortium.org/fhir/profile/patient"],

    // Security labels applied to this resource. These tags connect resources
    // in specific ways to the overall security policy and infrastructure.
    // Security tags can be updated when the resource changes, or whenever
    // the security sub-system chooses to
    "security" : [{
      "system" : "http://terminology.hl7.org/CodeSystem/v3-ActCode",
      "code" : "EMP"
    }],

    // Tags applied to this resource. Tags are used to relate resources to
    // process and workflow. Applications are not required to consider the
    // tags when interpreting the meaning of a resource
    "tag" : [{
      "system" : "http://example.com/codes/workflow",
      "code" : "needs-review"
    }]
  },

  // indicates that there is a custom agreement about how the resources are
  // used that must be understood in order to safely process the resource.
  // Use of this is discouraged because it restricts sharing, but sometimes necessary
  "implicitRules" : "http://example-consortium.org/fhir/ehr-plugins",

  // The base language of the resource. The resource is allowed to have
  // content from other languages; this is just the base, but should be
  // the main language of the resource
  "language" : "X"
}