{
  "resourceType": "StructureDefinition",
  "id": "observation-eventTiming",
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "oo"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/observation-eventTiming",
  "name": "eventTiming",
  "title": "Event Timing",
  "status": "draft",
  "date": "2015-03-02",
  "publisher": "Health Level Seven, Inc. - FHIR WG",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "HL7"
        }
      ]
    }
  ],
  "description": "Regular life events the observation is tied to. This is useful for recording imprecise or \"fuzzy\" times when the observation occurred.  For example, a blood glucose measurement \"after breakfast\".  It is interpreted as relative to the `effectiveTime` element or the `issued` element if `effectiveTime` is absent.  For example the blood glucose measurement could be reported that same day (\"today after breakfast\") or some other day (\"yesterday after breakfast\").",
  "fhirVersion": "3.0.1",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "complex-type",
  "abstract": false,
  "contextType": "resource",
  "context": [
    "Observation"
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension",
        "path": "Extension",
        "short": "Approximate time of observation",
        "definition": "Regular life events the observation is tied to. This is useful for recording imprecise or \"fuzzy\" times when the observation occurred.  For example, a blood glucose measurement \"after breakfast\".  It is interpreted as relative to the `effectiveTime` element or the `issued` element if `effectiveTime` is absent.  For example the blood glucose measurement could be reported that same day (\"today after breakfast\") or some other day (\"yesterday after breakfast\").",
        "min": 0,
        "max": "*",
        "mapping": [
          {
            "identity": "rim",
            "map": "effectiveTime"
          }
        ]
      },
      {
        "id": "Extension.extension:code",
        "path": "Extension.extension",
        "sliceName": "code",
        "short": "Life events",
        "definition": "Real world event that coincides with the effective time of the observation.",
        "comment": "For text only time  the `.text` element can be used.  (e.g. \"right before I walked the dog\").",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension"
          }
        ]
      },
      {
        "id": "Extension.extension:code.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:code.url",
        "path": "Extension.extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "code"
      },
      {
        "id": "Extension.extension:code.valueCodeableConcept",
        "path": "Extension.extension.valueCodeableConcept",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "EventCode"
            }
          ],
          "strength": "extensible",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/v3-TimingEvent"
          }
        }
      },
      {
        "id": "Extension.extension:offset",
        "path": "Extension.extension",
        "sliceName": "offset",
        "short": "How close to event",
        "definition": "The duration of time before or after the event in `code`.  If the observation occurred *before* the event, a negative decimal is used.  (for example 30 minutes before = -30 m)  If the observation occurred *after* the event a positive decimal is used.(for example 2 hrs after = 2 h).",
        "comment": "Avoid nonsensical combinations of code and offset such as an offset = 30 minutes before  and a code = after dinner.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension"
          }
        ]
      },
      {
        "id": "Extension.extension:offset.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:offset.url",
        "path": "Extension.extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "offset"
      },
      {
        "id": "Extension.extension:offset.valueQuantity",
        "path": "Extension.extension.valueQuantity",
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "OffsetUnit"
            }
          ],
          "strength": "required",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/units-of-time"
          }
        }
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "http://hl7.org/fhir/StructureDefinition/observation-eventTiming"
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "min": 0,
        "max": "0"
      }
    ]
  }
}