description: \nEdsBasicDeliveryStatus is used to define the basic delivery status reporting for EDS from an EDS Client to the EDS Server.\n\nA basic EdsBasicDeliveryStatus is based on the AuditEvent profile for and is submitted when a EHMI Core Messaging transaction \nfrom one station in the messageflow to another station happens successfully.\n\nEdsBasicDeliveryStatus is only used when a Patient entity is not required, for instance for delivery status reporting of Acknowledgements. \nThe EdsBasicDeliveryStatus does not have a Patient subject or is otherwise associated with a Patient. \nWhen the message transaction is Patient specific then EdsPatientDeliveryStatus is used.\n\nWhen successfully submitted from an EDS Client to the EDS Server then the recorded EdsBasicDeliveryStatus has conformed to the profile otherwise it would \nnot have a successful outcome and the EDS Client will receive an OperationOutcome indicating the failure.\n package_name: dk.ehmi.eds derivation: constraint name: EdsBasicDeliveryStatus type: AuditEvent elements: outcomeDesc: {index: 23} type: mustSupport: true index: 1 elements: system: pattern: {type: Uri, value: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-types'} index: 2 code: pattern: {type: Code, value: ehmiMessaging} index: 3 display: pattern: {type: String, value: EHMI messaging event} index: 4 outcome: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-outcome-valueset'} mustSupport: true index: 22 source: elements: observer: type: Reference refers: ['http://hl7.org/fhir/StructureDefinition/Device'] index: 54 elements: type: pattern: {type: Uri, value: ehmiDevice} index: 55 identifier: {mustSupport: true, index: 56} type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-source-type-valueset'} mustSupport: true index: 57 elements: system: pattern: {type: Uri, value: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-source-type'} index: 58 required: [type] agent: array: true min: 2 max: 4 index: 25 extensions: GLNId: {url: 'http://medcomehmi.dk/ig/eds/StructureDefinition/eds-otherId', min: 0, type: Extension, mustSupport: true, index: 27} elements: extension: index: 26 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: null slices: GLNId: match: {url: null} schema: {type: Extension, mustSupport: true, url: 'http://medcomehmi.dk/ig/eds/StructureDefinition/eds-otherId', index: 27} min: 0 slicing: rules: open discriminator: - {path: type, type: value} min: 2 max: 4 slices: ehmiSender: match: type: coding: - {code: ehmiSender, system: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-participationroletype'} schema: _required: true index: 28 extensions: GLNId: {url: 'http://medcomehmi.dk/ig/eds/StructureDefinition/eds-otherId', min: 0, type: Extension, mustSupport: true, index: 30} GLNId/gln: url: null array: true index: 31 elements: value[x]: elements: type: short: GLN pattern: type: CodeableConcept value: coding: - {code: GLN, system: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-agent-who-identifier-types'} index: 32 value: {short: equals SBDH/Sender/Identifier, mustSupport: true, index: 33} elements: extension: index: 29 slicing: rules: open ordered: false discriminator: - {path: url, type: value} - {path: value.ofType(Identifier).type, type: value} min: null slices: GLNId: match: url: null value: ofType(Identifier): {type: null} schema: {type: Extension, mustSupport: true, url: 'http://medcomehmi.dk/ig/eds/StructureDefinition/eds-otherId', index: 30} min: 0 GLNId/gln: match: url: null value: ofType(Identifier): {type: null} schema: array: true index: 31 elements: value[x]: elements: type: short: GLN pattern: type: CodeableConcept value: coding: - {code: GLN, system: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-agent-who-identifier-types'} index: 32 value: {short: equals SBDH/Sender/Identifier, mustSupport: true, index: 33} type: short: $EhmiDeliveryStatusParticipationRoleType#ehmiSender mustSupport: true pattern: type: CodeableConcept value: coding: - {code: ehmiSender, system: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-participationroletype'} index: 34 elements: coding: elements: system: pattern: {type: Uri, value: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-participationroletype'} index: 35 code: pattern: {type: Code, value: ehmiSender} index: 36 display: pattern: {type: String, value: Sender} index: 37 who: type: Reference mustSupport: true refers: ['http://hl7.org/fhir/StructureDefinition/Organization'] index: 38 elements: identifier: {short: 'equals SBDH/BusinessScope/Scope[Type=Sender]/InstanceIdentifier', mustSupport: true, index: 39} required: [identifier] name: {mustSupport: true, index: 40} required: [who, type] ehmiReceiver: match: type: coding: - {code: ehmiReceiver, system: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-participationroletype'} schema: _required: true index: 41 extensions: GLNId: {url: 'http://medcomehmi.dk/ig/eds/StructureDefinition/eds-otherId', min: 0, type: Extension, mustSupport: true, index: 43} GLNId/gln: url: null array: true index: 44 elements: value[x]: elements: type: short: GLN pattern: type: CodeableConcept value: coding: - {code: GLN, system: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-agent-who-identifier-types'} index: 45 value: {short: equals SBDH/Receiver/Identifier, mustSupport: true, index: 46} elements: extension: index: 42 slicing: rules: open ordered: false discriminator: - {path: url, type: value} - {path: value.ofType(Identifier).type, type: value} min: null slices: GLNId: match: url: null value: ofType(Identifier): {type: null} schema: {type: Extension, mustSupport: true, url: 'http://medcomehmi.dk/ig/eds/StructureDefinition/eds-otherId', index: 43} min: 0 GLNId/gln: match: url: null value: ofType(Identifier): {type: null} schema: array: true index: 44 elements: value[x]: elements: type: short: GLN pattern: type: CodeableConcept value: coding: - {code: GLN, system: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-agent-who-identifier-types'} index: 45 value: {short: equals SBDH/Receiver/Identifier, mustSupport: true, index: 46} type: mustSupport: true pattern: type: CodeableConcept value: coding: - {code: ehmiReceiver, system: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-participationroletype'} index: 47 elements: coding: elements: system: pattern: {type: Uri, value: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-participationroletype'} index: 48 code: pattern: {type: Code, value: ehmiReceiver} index: 49 display: pattern: {type: String, value: Receiver} index: 50 who: type: Reference mustSupport: true refers: ['http://hl7.org/fhir/StructureDefinition/Organization'] index: 51 elements: identifier: {mustSupport: true, index: 52} required: [identifier] name: {mustSupport: true, index: 53} required: [who, name, type] id: {mustSupport: true, index: 0} purposeOfEvent: {index: 24} action: pattern: {type: Code, value: C} index: 20 period: {index: 21} entity: array: true min: 2 index: 59 elements: type: elements: system: pattern: {type: Uri, value: 'http://medcomehmi.dk/ig/terminology/CodeSystem/ehmi-delivery-status-entity-type'} index: 60 code: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-type-valueset'} index: 61 slicing: rules: open discriminator: - {path: type.code, type: value} min: 2 slices: ehmiMessage: match: type: {code: ehmiMessage} schema: _required: true index: 62 elements: what: elements: identifier: {mustSupport: true, index: 63} required: [identifier] type: elements: system: {mustSupport: true, index: 64} code: pattern: {type: Code, value: ehmiMessage} mustSupport: true index: 65 display: mustSupport: true pattern: {type: String, value: Message} index: 66 required: [display, system, code] detail: short: something short array: true min: 2 max: 3 index: 67 elements: type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-detail-type-valueset'} index: 68 slicing: rules: open discriminator: - {path: type, type: value} min: 2 max: 3 slices: ehmiMessageType: match: {type: ehmiMessageType} schema: _required: true index: 69 elements: type: pattern: {type: String, value: ehmiMessageType} index: 70 value: choices: [] index: 72 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: short: equals 'SBDH/DocumentIdentification/Standard/[value]' e.g. homecareobservation-message choices: [valueString] _required: true index: 74 min: 1 max: 1 valueString: type: string short: equals 'SBDH/DocumentIdentification/Standard/[value]' e.g. homecareobservation-message choiceOf: value index: 75 slicing: slices: valueString: match: {} schema: {type: string, short: 'equals ''SBDH/DocumentIdentification/Standard/[value]'' e.g. homecareobservation-message', choiceOf: value, _required: true, index: 75} min: 1 max: 1 required: [valueString] ehmiMessageVersion: match: {type: ehmiMessageVersion} schema: _required: true index: 76 elements: type: pattern: {type: String, value: ehmiMessageVersion} index: 77 value: choices: [] index: 79 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: short: equals 'SBDH/DocumentIdentification/TypeVersion/[value]' e.g. 1.0 choices: [valueString] _required: true index: 81 min: 1 max: 1 valueString: type: string short: equals 'SBDH/DocumentIdentification/TypeVersion/[value]' e.g. 1.0 choiceOf: value index: 82 slicing: slices: valueString: match: {} schema: {type: string, short: 'equals ''SBDH/DocumentIdentification/TypeVersion/[value]'' e.g. 1.0', choiceOf: value, _required: true, index: 82} min: 1 max: 1 required: [valueString] ehmiStatisticalInfo: match: {type: ehmiStatisticalInfo} schema: index: 83 elements: type: pattern: {type: String, value: ehmiStatisticalInfo} index: 84 value: choices: [] index: 86 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: short: equals 'MCM:' + SBDH/DocumentIdentification/Standard/[value]+'|'+SBDH/DocumentIdentification/TypeVersion/[value]+#[Postfix values] choices: [valueString] _required: true index: 88 min: 1 max: 1 valueString: type: string short: equals 'MCM:' + SBDH/DocumentIdentification/Standard/[value]+'|'+SBDH/DocumentIdentification/TypeVersion/[value]+#[Postfix values] choiceOf: value index: 89 slicing: slices: valueString: match: {} schema: {type: string, short: 'equals ''MCM:'' + SBDH/DocumentIdentification/Standard/[value]+''|''+SBDH/DocumentIdentification/TypeVersion/[value]+#[Postfix values]', choiceOf: value, _required: true, index: 89} min: 1 max: 1 required: [valueString] ehmiMessageEnvelope: match: type: {code: ehmiMessageEnvelope} schema: index: 90 elements: what: elements: identifier: {mustSupport: true, index: 91} required: [identifier] type: elements: system: {mustSupport: true, index: 92} code: pattern: {type: Code, value: ehmiMessageEnvelope} mustSupport: true index: 93 display: mustSupport: true pattern: {type: String, value: Message Envelope} index: 94 required: [display, system, code] detail: short: something short index: 95 slicing: rules: open discriminator: - {path: type, type: value} min: null max: 1 slices: ehmiMessageEnvelopeType: match: {type: null} schema: index: 96 elements: type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-detail-type-valueset'} index: 97 elements: value: pattern: {type: String, value: ehmiMessageEnvelopeType} index: 98 value: choices: [] index: 100 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: short: equals 'SBDH/DocumentIdentification/Type/[value]' e.g. Bundle choices: [valueString] _required: true index: 102 min: 1 max: 1 valueString: type: string short: equals 'SBDH/DocumentIdentification/Type/[value]' e.g. Bundle choiceOf: value index: 103 slicing: slices: valueString: match: {} schema: {type: string, short: 'equals ''SBDH/DocumentIdentification/Type/[value]'' e.g. Bundle', choiceOf: value, _required: true, index: 103} min: 1 max: 1 required: [valueString] ehmiTransportEnvelope: match: type: {code: ehmiTransportEnvelope} schema: index: 104 elements: what: elements: identifier: {mustSupport: true, index: 105} required: [identifier] type: elements: system: {mustSupport: true, index: 106} code: pattern: {type: Code, value: ehmiTransportEnvelope} mustSupport: true index: 107 display: mustSupport: true pattern: {type: String, value: Transport Envelope} index: 108 required: [display, system, code] detail: short: something short array: true max: 2 index: 109 slicing: rules: open discriminator: - {path: type, type: value} min: null max: 2 slices: ehmiTransportEnvelopeType: match: {type: ehmiTransportEnvelopeType} schema: index: 110 elements: type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-detail-type-valueset'} pattern: {type: String, value: ehmiTransportEnvelopeType} index: 111 value: choices: [] index: 113 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: short: = 'SBDH' choices: [valueString] _required: true index: 115 min: 1 max: 1 valueString: type: string short: = 'SBDH' choiceOf: value index: 116 slicing: slices: valueString: match: {} schema: {type: string, short: = 'SBDH', choiceOf: value, _required: true, index: 116} min: 1 max: 1 required: [valueString] ehmiTransportEnvelopeVersion: match: {type: ehmiTransportEnvelopeVersion} schema: index: 117 elements: type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-detail-type-valueset'} pattern: {type: String, value: ehmiTransportEnvelopeVersion} index: 118 value: choices: [] index: 120 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: short: equals SBDH/HeaderVersion/[value] e.g. 1.2 choices: [valueString] _required: true index: 122 min: 1 max: 1 valueString: type: string short: equals SBDH/HeaderVersion/[value] e.g. 1.2 choiceOf: value index: 123 slicing: slices: valueString: match: {} schema: {type: string, short: 'equals SBDH/HeaderVersion/[value] e.g. 1.2', choiceOf: value, _required: true, index: 123} min: 1 max: 1 required: [valueString] ehmiOrigMessage: match: type: {code: ehmiOrigMessage} schema: index: 124 elements: what: elements: identifier: {mustSupport: true, index: 125} required: [identifier] type: elements: system: {mustSupport: true, index: 126} code: pattern: {type: Code, value: ehmiOrigMessage} mustSupport: true index: 127 display: mustSupport: true pattern: {type: String, value: Original Message} index: 128 required: [display, system, code] detail: short: something short array: true min: 2 max: 2 index: 129 slicing: rules: open discriminator: - {path: type, type: value} min: 2 max: 2 slices: ehmiMessageType: match: {type: ehmiMessageType} schema: _required: true index: 130 elements: type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-detail-type-valueset'} pattern: {type: String, value: ehmiMessageType} index: 131 value: choices: [] index: 133 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: choices: [valueString] _required: true index: 135 min: 1 max: 1 valueString: type: string choiceOf: value index: 136 slicing: slices: valueString: match: {} schema: {type: string, choiceOf: value, _required: true, index: 136} min: 1 max: 1 required: [valueString] ehmiMessageVersion: match: {type: ehmiMessageVersion} schema: _required: true index: 137 elements: type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-detail-type-valueset'} pattern: {type: String, value: ehmiMessageVersion} index: 138 value: choices: [] index: 140 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: choices: [valueString] _required: true index: 142 min: 1 max: 1 valueString: type: string choiceOf: value index: 143 slicing: slices: valueString: match: {} schema: {type: string, choiceOf: value, _required: true, index: 143} min: 1 max: 1 required: [valueString] ehmiOrigTransportEnvelope: match: type: {code: ehmiOrigTransportEnvelope} schema: index: 144 elements: what: elements: identifier: {mustSupport: true, index: 145} required: [identifier] type: elements: system: {mustSupport: true, index: 146} code: pattern: {type: Code, value: ehmiOrigTransportEnvelope} mustSupport: true index: 147 display: mustSupport: true pattern: {type: String, value: Original Transport Envelope} index: 148 required: [display, system, code] detail: short: something short array: true max: 2 index: 149 slicing: rules: open discriminator: - {path: type, type: value} min: null max: 2 slices: ehmiTransportEnvelopeType: match: {type: ehmiTransportEnvelopeType} schema: index: 150 elements: type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-detail-type-valueset'} pattern: {type: String, value: ehmiTransportEnvelopeType} index: 151 value: choices: [] index: 153 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: choices: [valueString] _required: true index: 155 min: 1 max: 1 valueString: type: string choiceOf: value index: 156 slicing: slices: valueString: match: {} schema: {type: string, choiceOf: value, _required: true, index: 156} min: 1 max: 1 required: [valueString] ehmiTransportEnvelopeVersion: match: {type: ehmiTransportEnvelopeVersion} schema: index: 157 elements: type: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-entity-detail-type-valueset'} pattern: {type: String, value: ehmiTransportEnvelopeVersion} index: 158 value: choices: [] index: 160 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueString: match: {} schema: choices: [valueString] _required: true index: 162 min: 1 max: 1 valueString: type: string choiceOf: value index: 163 slicing: slices: valueString: match: {} schema: {type: string, choiceOf: value, _required: true, index: 163} min: 1 max: 1 required: [valueString] subtype: mustSupport: true index: 5 elements: system: pattern: {type: Uri, value: 'http://hl7.org/fhir/ValueSet/audit-event-sub-type'} index: 6 code: binding: {strength: required, valueSet: 'http://medcomehmi.dk/ig/terminology/ValueSet/ehmi-delivery-status-sub-types-valueset'} index: 7 slicing: rules: open discriminator: - {path: code, type: value} min: 1 max: 1 slices: msg-created-and-sent: match: {code: msg-created-and-sent} schema: mustSupport: true index: 8 elements: system: {index: 9} code: pattern: {type: Code, value: msg-created-and-sent} index: 10 required: [system, code] msg-sent: match: {code: msg-sent} schema: mustSupport: true index: 11 elements: system: {index: 12} code: pattern: {type: Code, value: msg-sent} index: 13 required: [system, code] msg-received: match: {code: msg-received} schema: mustSupport: true index: 14 elements: system: {index: 15} code: pattern: {type: Code, value: msg-received} index: 16 required: [system, code] msg-received-and-finalized: match: {code: msg-received-and-finalized} schema: mustSupport: true index: 17 elements: system: {index: 18} code: pattern: {type: Code, value: msg-received-and-finalized} index: 19 required: [system, code] package_version: 1.0.1-draft class: profile kind: resource url: http://medcomehmi.dk/ig/eds/StructureDefinition/EdsBasicDeliveryStatus base: http://hl7.org/fhir/StructureDefinition/AuditEvent version: 1.0.1-draft required: [subtype, id, action, outcome]