{
  "resourceType": "StructureDefinition",
  "id": "vkp-MessageHeader-v090",
  "meta": {
    "lastUpdated": "2018-03-08T12:19:09.633+00:00"
  },
  "url": "http://ehelse.no/fhir/StructureDefinition/vkp-MessageHeader-v090",
  "version": "0.9.0",
  "name": "VkpMessageHeader",
  "status": "draft",
  "date": "2020-01-20",
  "description": "Profile of the MessageHeader resource. Used in the Norwegian Personal Connected Health project to document events from devices  at the patients home. The vkp-MessageHead is also used for transmitting information from the VKP to the response center system. vkp-Messages can contain Resources like:\r\n\r\n- vkp-MedicationDispense - to document MedicationDispense events\r\n- vkp-Location - to document changes of the Patients geoposition\r\n- vkp-Flag - to document events that need attention\r\n- Composition - additional information about handling of a reported event documented by the person handling that event\r\n- vkp-CarePlan - to document what is called \"tjeneste\", \"tiltaksplan\" and \"arbeidsplan\"\r\n- vkp-digital-Encounter - to document a digital (virtual) encounter",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "MessageHeader",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/MessageHeader",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "MessageHeader",
        "path": "MessageHeader",
        "definition": "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."
      },
      {
        "id": "MessageHeader.event[x]",
        "path": "MessageHeader.event[x]",
        "definition": "Code that identifies the event this message represents.\r\n\r\nVKP-norway uses the vkp-message-event ValueSet Containing the vkp-message-event CodeSystem:\r\n\r\nhttp://ehelse.no/fhir/CodeSystem/vkp-message-event-v090\r\n\r\nExample: \r\n~~~\r\n\"event\":{\r\n   \"system\":\"http://ehelse.no/fhir/CodeSystem/vkp-message-event-v090\",\r\n   \"code\":\"MedicationDispense\"\r\n}\r\n~~~",
        "type": [
          {
            "code": "Coding"
          }
        ],
        "binding": {
          "strength": "preferred",
          "valueSet": "http://ehelse.no/fhir/ValueSet/vkp-message-event-v090"
        }
      },
      {
        "id": "MessageHeader.event[x].system",
        "path": "MessageHeader.event[x].system",
        "definition": "VKP-norway uses: http://ehelse.no/fhir/CodeSystem/vkp-message-event-v090\r\n\r\nThe identification of the code system that defines the meaning of the symbol in the code.",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.event[x].version",
        "path": "MessageHeader.event[x].version",
        "definition": "Not used in VKP-norway\r\n\r\n\r\nThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.event[x].code",
        "path": "MessageHeader.event[x].code",
        "definition": "VKP Norway uses coded values for the event type.\r\n\r\nA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.event[x].display",
        "path": "MessageHeader.event[x].display",
        "definition": "VKP-norway don't use this element\r\n\r\nA representation of the meaning of the code in the system, following the rules of the system.",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.event[x].userSelected",
        "path": "MessageHeader.event[x].userSelected",
        "definition": "VKP-norway don't use this element\r\nIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.destination",
        "path": "MessageHeader.destination",
        "definition": "VKP-norway don't use this element in the current version. Use receiver instead.\r\n\r\nThe destination application which the message is intended for.",
        "comment": "VKP-norway don't use this element in the current version. Use receiver instead this supersedes the origintal FHIR STU documentation.\r\n\r\nFrom FHIR STU 3 documentation: \r\nThere SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system.",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.sender",
        "path": "MessageHeader.sender",
        "definition": "VKP-norway identifies the sender of the message by a norwegian HER-id.\r\n\r\nvkp-norway uses the norwegian HER-id to route messages within the Norwegian healthcare network. The sender is identified by the Norwegian HER-id and not by a reference to another resource. Systems communicating with vkp has to support this mode of message routing and addressing.\r\n\r\nExample: \r\n~~~\r\n\"sender\":{\r\n   \"identifier\":{\r\n      \"system\":\"urn:oid:2.16.578.1.12.4.1.2\",\r\n      \"value\":\"102287\"\r\n   },\r\n   \"display\":\"Sykepleietjeneste, pleie- og omsorg\"\r\n}\r\n~~~",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/Organization",
              "http://hl7.no/fhir/StructureDefinition/no-basis-Organization",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MessageHeader.sender.reference",
        "path": "MessageHeader.sender.reference",
        "definition": "vkp Norway don't use this element to identify the reciever.\r\n\r\nA reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources."
      },
      {
        "id": "MessageHeader.sender.identifier",
        "path": "MessageHeader.sender.identifier",
        "definition": "vkp-norway uses the norwegian HER-id to route messages within the norwegian healthcare network. The sender is identified by the Norwegian HER-id and not by a reference to another resource. systems communicating with the norwegian vkp has to support this mode of message routing and adressing.",
        "comment": "vkp-norway uses the norwegian HER-id to route messages within the norwegian healthcare network. The receiver is identified by the Norwegian HER-id and not by a reference to another resource. systems communicating with the norwegian vkp have to support this mode of message routing and adressing.\r\n\r\nWhen an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.sender.identifier.system",
        "path": "MessageHeader.sender.identifier.system",
        "short": "The official name of the HERid namespace",
        "definition": "The official name of the HERid namespace, identified by its oid value",
        "fixedUri": "urn:oid:2.16.578.1.12.4.1.2",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.sender.identifier.value",
        "path": "MessageHeader.sender.identifier.value",
        "short": "The HERid",
        "definition": "The HERid value identifying the sender\r\nThe portion of the identifier typically relevant to the user and which is unique within the context of the system.",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.sender.display",
        "path": "MessageHeader.sender.display",
        "short": "Display name of the organization service (tjeneste) sending the message",
        "definition": "Display name of the organization service (tjeneste) sending the message. MUST be taken from the NHN Address Register. The identifier and display name MUST be taken from the same service entity in AR.",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.enterer",
        "path": "MessageHeader.enterer",
        "definition": "VKP norway don't use this element.\r\n\r\nThe person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.author",
        "path": "MessageHeader.author",
        "definition": "VKP norway don't use this element.\r\n\r\nThe logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.source",
        "path": "MessageHeader.source",
        "definition": "VKP norway uses the source to identify the endpoint of the source application and contact information for support.",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.source.contact",
        "path": "MessageHeader.source.contact",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "description": "VKP project in Norway uses the contact information, either Phone number or URL for contacting support regarding technical issues regarding message communication with the source system.",
          "rules": "closed"
        },
        "comment": "VKP project in Norway uses the contact information, either Phone number or URL for contacting support regarding technical issues regarding message communication with the source system."
      },
      {
        "id": "MessageHeader.source.contact:phone",
        "path": "MessageHeader.source.contact",
        "sliceName": "phone",
        "short": "Phone number human contact for problems",
        "definition": "Phone numberto use to resolve issues with message communications."
      },
      {
        "id": "MessageHeader.source.contact:phone.system",
        "path": "MessageHeader.source.contact.system",
        "fixedCode": "phone"
      },
      {
        "id": "MessageHeader.source.contact:videoStreamUrl",
        "path": "MessageHeader.source.contact",
        "sliceName": "videoStreamUrl",
        "short": "Video Stream human contact for problems",
        "definition": "URL endpoint for video call to use to resolve issues with message communications."
      },
      {
        "id": "MessageHeader.source.contact:videoStreamUrl.system",
        "path": "MessageHeader.source.contact.system",
        "fixedCode": "url"
      },
      {
        "id": "MessageHeader.source.endpoint",
        "path": "MessageHeader.source.endpoint",
        "definition": "Identifies the routing target to send acknowledgements to.\r\n\r\nIn VKP Norway this element identifies the endpoint to reach the actual source application of the message. This logical identifier MUST be identical to the information found in the Address register for the HER-id in the sender.identifier element. The value should be an actual endpoint acknowledgments can be sent to. \r\n\r\nExample: \r\n~~~\r\n\"source\":{\r\n   \"endpoint\":\"https://vkp.azure-devices.net/devices/135164\"\r\n}\r\n~~~",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.responsible",
        "path": "MessageHeader.responsible",
        "definition": "VKP Norway do not use this information\r\n\r\nThe person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.reason",
        "path": "MessageHeader.reason",
        "definition": "VKP Norway do not use this information\r\n\r\nCoded indication of the cause for the event - indicates  a reason for the occurrence of the event that is a focus of this message.",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.response",
        "path": "MessageHeader.response",
        "definition": "Information about the message that this message is a response to.  Only present if this message is a response.\r\nThe actual response (error description) is a separate OperationOutcome resource in the Bundle, referenced in detail.reference \r\n\r\n~~~\r\n\"response\" : {\r\n     \"identifier\" : \"93d56570-ebb9-4cdb-b49d-d1bcbf06a296\",\r\n     \"code\" : \"ok\",\r\n     \"details\" : {\r\n      \"reference\" : \"urn:uuid:116bb667-5506-4c2a-8ea7-7b40c170d539\"\r\n     }\r\n}\r\n~~~",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.focus",
        "path": "MessageHeader.focus",
        "definition": "The actual data of the message - a reference to the root/focus class of the event.\r\n\r\nVKP uses literal references to the actual data elements contained in the Bundle.\r\n\r\nExample:\r\n~~~\r\n\"focus\": [\r\n   {\r\n      \"reference\":\"urn:uuid:ef91399e-8993-11e7-bb31-be2e44b06b34\",\r\n      \"display\":\"MedicationDispense\"\r\n   }\r\n]\r\n~~~",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.focus.reference",
        "path": "MessageHeader.focus.reference",
        "definition": "VKP norway uses literal references to the actual data elements contained in the Bundle.\r\n\r\nExample:\r\n~~~json\r\n\"focus\": [\r\n   {\r\n      \"reference\":\"urn:uuid:ef91399e-8993-11e7-bb31-be2e44b06b34\",\r\n      \"display\":\"MedicationDispense\"\r\n   }\r\n]\r\n~~~",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.focus.identifier",
        "path": "MessageHeader.focus.identifier",
        "definition": "Not used by VKP\r\n\r\nAn identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
        "mustSupport": false
      },
      {
        "id": "MessageHeader.focus.display",
        "path": "MessageHeader.focus.display",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.receiver",
        "path": "MessageHeader.receiver",
        "definition": "VKP-norway identifies the receiving service of the message by a norwegian HER-id.\r\n\r\nvkp-norway uses the Norwegian HER-id to route messages within the Norwegian healthcare network. The receiver is identified by the Norwegian HER-id and not by a reference to another resource. Systems communicating with vkp has to support this mode of message routing and addressing.\r\n\r\nExample: \r\n~~~\r\n\"receiver\":{\r\n   \"identifier\":{\r\n      \"system\":\"urn:oid:2.16.578.1.12.4.1.2\",\r\n      \"value\":\"102287\"\r\n   },\r\n   \"display\":\"Sykepleietjeneste, pleie- og omsorg\"\r\n}\r\n~~~",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/Organization",
              "http://hl7.no/fhir/StructureDefinition/no-basis-Organization",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MessageHeader.receiver.reference",
        "path": "MessageHeader.receiver.reference",
        "definition": "vkp Norway don't use this element to identify the reciever.\r\n\r\nA reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources."
      },
      {
        "id": "MessageHeader.receiver.identifier",
        "path": "MessageHeader.receiver.identifier",
        "definition": "vkp-norway uses the norwegian HER-id to route messages within the norwegian healthcare network. The receiver is identified by the Norwegian HER-id and not by a reference to another resource. systems communicating with the norwegian vkp have to support this mode of message routing and adressing.\r\n\r\nAn identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.receiver.identifier.system",
        "path": "MessageHeader.receiver.identifier.system",
        "short": "The official name of the HERid namespace",
        "definition": "The official name of the HERid namespace, identified by its oid value",
        "fixedUri": "urn:oid:2.16.578.1.12.4.1.2",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.receiver.identifier.value",
        "path": "MessageHeader.receiver.identifier.value",
        "definition": "The HERid value identifying the receiver\r\nThe portion of the identifier typically relevant to the user and which is unique within the context of the system.",
        "mustSupport": true
      },
      {
        "id": "MessageHeader.receiver.display",
        "path": "MessageHeader.receiver.display",
        "definition": "Display name of the organization service (tjeneste) receiving the message. MUST be taken from the NHN Address Register. The identifier and display name MUST be taken from the same service entity in AR.",
        "mustSupport": true
      }
    ]
  }
}