{
  "resourceType": "StructureDefinition",
  "id": "fiphr-sd-nutrition",
  "meta": {
    "versionId": "4",
    "lastUpdated": "2021-02-22T10:03:29.014+00:00"
  },
  "url": "http://phr.kanta.fi/StructureDefinition/fiphr-sd-nutrition",
  "version": "0.1.0",
  "name": "FIPHRSDNutrition",
  "title": "Finnish PHR Nutrition profile",
  "status": "draft",
  "experimental": false,
  "date": "2021-02-22T10:03:27.4845343+00:00",
  "publisher": "Kela",
  "description": "Finnish PHR base profile for nutrition Observation resource",
  "purpose": "Finnish PHR abstract base profile for Observation used in Nutrition measurements made about a patient. Base profile defines profiled elements used in all nutrition observation resources.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": true,
  "type": "Observation",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
  "derivation": "constraint",
  "snapshot": {},
  "differential": {
    "element": [
      {
        "id": "Observation",
        "path": "Observation",
        "short": "Finnish PHR base profile for nutrition Observation resource",
        "definition": "Finnish PHR abstract base profile for Observation used in nutrition measurements made about a patient. Base profile defines profiled elements used in all nutrition observation resources.",
        "comment": "."
      },
      {
        "id": "Observation.meta",
        "path": "Observation.meta",
        "min": 1
      },
      {
        "id": "Observation.meta.profile",
        "path": "Observation.meta.profile",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "definition": "FinnishPHR: fiphrProfile SHALL be used. Other profiles MAY be used.\r\nA list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](structuredefinition-definitions.html#StructureDefinition.url).",
        "min": 1
      },
      {
        "id": "Observation.meta.profile:fiphrProfile",
        "path": "Observation.meta.profile",
        "sliceName": "fiphrProfile",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.language",
        "path": "Observation.language",
        "min": 1,
        "binding": {
          "strength": "required"
        }
      },
      {
        "id": "Observation.text",
        "path": "Observation.text",
        "min": 1
      },
      {
        "id": "Observation.extension",
        "path": "Observation.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Observation.extension:creatingApplication",
        "path": "Observation.extension",
        "sliceName": "creatingApplication",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication"
            ]
          }
        ]
      },
      {
        "id": "Observation.identifier",
        "path": "Observation.identifier",
        "definition": "A unique identifier assigned to this observation.\r\nFinnish PHR: At least one of the identifiers SHALL be globally unique (e.g. an uuid as the value and 'urn:ietf:rfc:3986' as the system).",
        "min": 1
      },
      {
        "id": "Observation.identifier.system",
        "path": "Observation.identifier.system",
        "min": 1,
        "example": [
          {
            "label": "General",
            "valueUri": "urn:ietf:rfc:3986"
          }
        ]
      },
      {
        "id": "Observation.identifier.value",
        "path": "Observation.identifier.value",
        "definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system. \r\nFinnish PHR: At least one of the identifiers SHALL be truly globally unique (e.g. an uuid as the value and 'urn:ietf:rfc:3986' as the system).",
        "min": 1
      },
      {
        "id": "Observation.identifier.assigner",
        "path": "Observation.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Observation.basedOn",
        "path": "Observation.basedOn",
        "max": "0"
      },
      {
        "id": "Observation.partOf",
        "path": "Observation.partOf",
        "max": "0"
      },
      {
        "id": "Observation.status",
        "path": "Observation.status",
        "short": "Finnish PHR: Status final",
        "definition": "Finnish PHR: The status of the result value.",
        "comment": "Finnish PHR: Only status 'final' shall be used in FinnishPHR.",
        "requirements": "Finnish PHR: Need to track the status of individual results. Erronous observation may not be stored in FinnishPHR.",
        "fixedCode": "final"
      },
      {
        "id": "Observation.category",
        "path": "Observation.category",
        "definition": "FinnishPHR: fiphrCategory SHALL be used. Other categories MAY be used.\r\nA code that classifies the general type of observation being made.",
        "comment": "FinnishPHR: Only value nutrition valid in FinnishPHR (defined by the value set). More fine-grained filtering can be performed using the Observation.code.",
        "requirements": "Finnish PHR: All resources are related to nutrition.",
        "min": 1,
        "max": "1",
        "binding": {
          "strength": "extensible",
          "valueSet": "http://phr.kanta.fi/ValueSet/fiphr-vs-observationcategory"
        }
      },
      {
        "id": "Observation.category.coding",
        "path": "Observation.category.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            },
            {
              "type": "value",
              "path": "code"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.category.coding:fiphrCategory",
        "path": "Observation.category.coding",
        "sliceName": "fiphrCategory",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.category.coding:fiphrCategory.system",
        "path": "Observation.category.coding.system",
        "short": "Finnish PHR: Codes for high level observation categories.",
        "min": 1,
        "fixedUri": "http://phr.kanta.fi/CodeSystem/fiphr-cs-observationcategory"
      },
      {
        "id": "Observation.category.coding:fiphrCategory.code",
        "path": "Observation.category.coding.code",
        "min": 1,
        "fixedCode": "nutrition"
      },
      {
        "id": "Observation.code",
        "path": "Observation.code",
        "definition": "FinnishPHR: fiphrCode SHALL be used. Other codes MAY be used.\r\nDescribes what was observed. Sometimes this is called the observation \"name\".",
        "comment": "Describes type of observation.\r\nFinnish PHR: The valueset binding strength in the base profile is set to 'example', because some of the derived profiles use another valueset. In all profiles derived from the base profile, the valueset binding strength SHALL be set to 'required'.",
        "binding": {
          "strength": "extensible",
          "valueSet": "http://phr.kanta.fi/ValueSet/fiphr-vs-nutrition"
        }
      },
      {
        "id": "Observation.code.coding",
        "path": "Observation.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            },
            {
              "type": "value",
              "path": "code"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.code.coding:fiphrCode",
        "path": "Observation.code.coding",
        "sliceName": "fiphrCode",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.code.coding:fiphrCode.system",
        "path": "Observation.code.coding.system",
        "min": 1,
        "fixedUri": "http://loinc.org"
      },
      {
        "id": "Observation.code.coding:fiphrCode.code",
        "path": "Observation.code.coding.code",
        "min": 1
      },
      {
        "id": "Observation.code.coding:fiphrCode.display",
        "path": "Observation.code.coding.display",
        "min": 1
      },
      {
        "id": "Observation.subject",
        "path": "Observation.subject",
        "definition": "Finnish PHR: The patient described by the observation and into whose record the observation is placed.",
        "comment": "Finnish PHR: Who this observation is about. Usually the same person as the application user, but if the user is storing observations on behalf of someone else, the subject is the person whose measurements or other observations are entered.",
        "requirements": "Finnish PHR: Observations have always known the Patient",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://phr.kanta.fi/StructureDefinition/fiphr-sd-patient"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Observation.subject.reference",
        "path": "Observation.subject.reference",
        "min": 1
      },
      {
        "id": "Observation.subject.identifier.assigner",
        "path": "Observation.subject.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Observation.focus",
        "path": "Observation.focus",
        "max": "0"
      },
      {
        "id": "Observation.encounter",
        "path": "Observation.encounter",
        "max": "0"
      },
      {
        "id": "Observation.effective[x]",
        "path": "Observation.effective[x]",
        "min": 1,
        "type": [
          {
            "code": "dateTime"
          },
          {
            "code": "Period"
          }
        ]
      },
      {
        "id": "Observation.issued",
        "path": "Observation.issued",
        "short": "Finnish PHR: The date and time this observation is stored",
        "definition": "Finnish PHR: The date and time this observation is stored",
        "min": 1
      },
      {
        "id": "Observation.performer",
        "path": "Observation.performer",
        "short": "Finnish PHR: Application user who is responsible for the observation",
        "definition": "FinnishPHR: Application user who was responsible for asserting the observed value as \"true\".",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://phr.kanta.fi/StructureDefinition/fiphr-sd-patient"
            ]
          }
        ]
      },
      {
        "id": "Observation.performer.reference",
        "path": "Observation.performer.reference",
        "min": 1
      },
      {
        "id": "Observation.performer.identifier.assigner",
        "path": "Observation.performer.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Observation.dataAbsentReason",
        "path": "Observation.dataAbsentReason",
        "max": "0"
      },
      {
        "id": "Observation.interpretation",
        "path": "Observation.interpretation",
        "definition": "FinnishPHR: fiphrInterpretation SHALL be used. Other interpretations MAY be used. The assessment made based on the result of the observation. Intended as a simple compact code placed adjacent to the result value. Otherwise known as abnormal flag.",
        "binding": {
          "strength": "extensible",
          "description": "Finnish PHR: Codes identifying interpretations of observations."
        }
      },
      {
        "id": "Observation.interpretation.coding",
        "path": "Observation.interpretation.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.interpretation.coding:fiphrInterpretation",
        "path": "Observation.interpretation.coding",
        "sliceName": "fiphrInterpretation",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.interpretation.coding:fiphrInterpretation.system",
        "path": "Observation.interpretation.coding.system",
        "min": 1,
        "fixedUri": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"
      },
      {
        "id": "Observation.interpretation.coding:fiphrInterpretation.code",
        "path": "Observation.interpretation.coding.code",
        "min": 1
      },
      {
        "id": "Observation.interpretation.coding:fiphrInterpretation.display",
        "path": "Observation.interpretation.coding.display",
        "min": 1
      },
      {
        "id": "Observation.note.author[x]",
        "path": "Observation.note.author[x]",
        "max": "0"
      },
      {
        "id": "Observation.bodySite",
        "path": "Observation.bodySite",
        "max": "0"
      },
      {
        "id": "Observation.method",
        "path": "Observation.method",
        "max": "0"
      },
      {
        "id": "Observation.specimen",
        "path": "Observation.specimen",
        "max": "0"
      },
      {
        "id": "Observation.device",
        "path": "Observation.device",
        "max": "0"
      },
      {
        "id": "Observation.referenceRange",
        "path": "Observation.referenceRange",
        "max": "0"
      },
      {
        "id": "Observation.hasMember",
        "path": "Observation.hasMember",
        "max": "0"
      },
      {
        "id": "Observation.derivedFrom",
        "path": "Observation.derivedFrom",
        "max": "0"
      },
      {
        "id": "Observation.component",
        "path": "Observation.component",
        "max": "0"
      }
    ]
  }
}