1.0.0 - Release
This page is part of the KLGatewayRehab (v1.0.0: Release) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-delivery-report | Version: 1.0.0 | |||
Active as of 2023-09-28 | Computable Name: KLGateway140DeliveryReport |
Delivery report to deliver data for each citizen.
This model is used to represent the reporting of rehabilitation deliverd by the municipalities according to §140 in the health act.
The report is a FHIR Bundle that allows different ressources to be grouped and handled as a unit. The ressources that are grouped in this bundle is one, and only one klgateway-140-citizen, together with the content that have changed since the last reporting. The content can be of all the types that are present as profiles in this implementation guide.
The citizen is included in the report in Bundle.entry[citizen]. The entry should include a Bundle.entry.link, which have two fixed values. The citizen resssource should be included in the bundle, together with its url.
The content is included in the report in Bundle.entry[content]. Each entry includes a Bundle.entry.link, with two fixed values. Each entry also includes a ressource and its url.
Nedenstående tabel oversætter mellem de attributter der er defineret i den fælleskommunale informationsmodel (FKI), definerer kort den enkelte attribut på dansk og specificere hvilke af FHIR-profilens atributter der skal bruges til specifikation af indholdet
FKI-attribut | Definition | FHIR |
---|---|---|
indberetningsrapportBorger | Indberetningsrapportens borger | Bundle.entry[citizen] |
indberetningsrappprtIndhold | Hver af indberetningsrapportens indholds-ressourcer | entry[content] |
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Bundle
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources gateway-140-report-1: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile gateway-140-report-2: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile |
identifier | 0..0 | |||
type | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Required Pattern: collection | |
timestamp | 1..1 | instant | When the bundle was assembled | |
total | 0..0 | |||
link | 0..0 | |||
Slices for entry | 1..* | BackboneElement | [DK] indberetningsrapportIndhold Slice: Unordered, Open by profile:resource | |
entry:All Slices | Content/Rules for all slices | |||
link | 0..0 | |||
resource | 1..1 | Citizen and content constrained to known profiles | ||
resource | Condition | |||
resource | CarePlan | |||
resource | Encounter(KLGateway140Encounter) | |||
resource | Organization(KLGateway140Organization) | |||
resource | Patient(KLGateway140Citizen) | |||
resource | ServiceRequest(KLGateway140ServiceRequest) | |||
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
entry:citizen | 1..1 | BackboneElement | [DK] indberetningsrapportBorger | |
resource | 0..1 | KLGateway140Citizen | Information about an individual or animal receiving health care services | |
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
signature | 0..0 | |||
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
gateway-140-report-1 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as Condition).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-condition') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-focus-condition')) | |
gateway-140-report-2 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as CarePlan).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-care-plan') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-planned-intervention')) |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources gateway-140-report-1: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile gateway-140-report-2: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
type | Σ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: collection |
timestamp | Σ | 1..1 | instant | When the bundle was assembled |
Slices for entry | ΣC | 1..* | BackboneElement | [DK] indberetningsrapportIndhold Slice: Unordered, Open by profile:resource This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type |
entry:All Slices | Content/Rules for all slices | |||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
resource | Σ | 1..1 | Citizen and content constrained to known profiles | |
resource | Condition | |||
resource | CarePlan | |||
resource | Encounter(KLGateway140Encounter) | |||
resource | Organization(KLGateway140Organization) | |||
resource | Patient(KLGateway140Citizen) | |||
resource | ServiceRequest(KLGateway140ServiceRequest) | |||
entry:citizen | ΣC | 1..1 | BackboneElement | [DK] indberetningsrapportBorger This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
resource | C | 0..1 | KLGateway140Citizen | Information about an individual or animal receiving health care services |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Bundle.type | required | Pattern: collection |
Bundle.entry.request.method | required | HTTPVerb |
Bundle.entry:citizen.request.method | required | HTTPVerb |
Id | Grade | Path(s) | Details | Requirements |
bdl-1 | error | Bundle | total only when a search or history : total.empty() or (type = 'searchset') or (type = 'history') | |
bdl-2 | error | Bundle | entry.search only when a search : entry.search.empty() or (type = 'searchset') | |
bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited : entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history')) | |
bdl-4 | error | Bundle | entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited : entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history')) | |
bdl-5 | error | Bundle.entry, Bundle.entry:citizen | must be a resource unless there's a request or response : resource.exists() or request.exists() or response.exists() | |
bdl-7 | error | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) : (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct() | |
bdl-8 | error | Bundle.entry, Bundle.entry:citizen | fullUrl cannot be a version specific reference : fullUrl.contains('/_history/').not() | |
bdl-9 | error | Bundle | A document must have an identifier with a system and a value : type = 'document' implies (identifier.system.exists() and identifier.value.exists()) | |
bdl-10 | error | Bundle | A document must have a date : type = 'document' implies (timestamp.hasValue()) | |
bdl-11 | error | Bundle | A document must have a Composition as the first resource : type = 'document' implies entry.first().resource.is(Composition) | |
bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource : type = 'message' implies entry.first().resource.is(MessageHeader) | |
dom-2 | error | Bundle.entry:citizen.resource | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Bundle.entry:citizen.resource | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Bundle.entry:citizen.resource | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Bundle.entry:citizen.resource | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Bundle.entry:citizen.resource | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
gateway-140-report-1 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as Condition).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-condition') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-focus-condition')) | |
gateway-140-report-2 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as CarePlan).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-care-plan') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-planned-intervention')) | |
marital-status-unknown-usage | warning | Bundle.entry:citizen.resource | Status in maritalStatus is unknown in a danish context. Consider mapping the value to UNK : maritalStatus.coding.where(code = 'P' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() or maritalStatus.coding.where(code = 'A' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources gateway-140-report-1: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile gateway-140-report-2: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
type | Σ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: collection | ||||
timestamp | Σ | 1..1 | instant | When the bundle was assembled | ||||
Slices for entry | ΣC | 1..* | BackboneElement | [DK] indberetningsrapportIndhold Slice: Unordered, Open by profile:resource This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type | ||||
entry:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
fullUrl | Σ | 0..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
resource | Σ | 1..1 | Citizen and content constrained to known profiles | |||||
resource | Condition | |||||||
resource | CarePlan | |||||||
resource | Encounter(KLGateway140Encounter) | |||||||
resource | Organization(KLGateway140Organization) | |||||||
resource | Patient(KLGateway140Citizen) | |||||||
resource | ServiceRequest(KLGateway140ServiceRequest) | |||||||
entry:citizen | ΣC | 1..1 | BackboneElement | [DK] indberetningsrapportBorger This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
link | Σ | 0..* | See link (Bundle) | Links related to this entry | ||||
fullUrl | Σ | 0..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
resource | C | 0..1 | KLGateway140Citizen | Information about an individual or animal receiving health care services | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Bundle.language | preferred | CommonLanguages
| ||||
Bundle.type | required | Pattern: collection | ||||
Bundle.entry.search.mode | required | SearchEntryMode | ||||
Bundle.entry.request.method | required | HTTPVerb | ||||
Bundle.entry:citizen.search.mode | required | SearchEntryMode | ||||
Bundle.entry:citizen.request.method | required | HTTPVerb |
Id | Grade | Path(s) | Details | Requirements |
bdl-1 | error | Bundle | total only when a search or history : total.empty() or (type = 'searchset') or (type = 'history') | |
bdl-2 | error | Bundle | entry.search only when a search : entry.search.empty() or (type = 'searchset') | |
bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited : entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history')) | |
bdl-4 | error | Bundle | entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited : entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history')) | |
bdl-5 | error | Bundle.entry, Bundle.entry:citizen | must be a resource unless there's a request or response : resource.exists() or request.exists() or response.exists() | |
bdl-7 | error | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) : (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct() | |
bdl-8 | error | Bundle.entry, Bundle.entry:citizen | fullUrl cannot be a version specific reference : fullUrl.contains('/_history/').not() | |
bdl-9 | error | Bundle | A document must have an identifier with a system and a value : type = 'document' implies (identifier.system.exists() and identifier.value.exists()) | |
bdl-10 | error | Bundle | A document must have a date : type = 'document' implies (timestamp.hasValue()) | |
bdl-11 | error | Bundle | A document must have a Composition as the first resource : type = 'document' implies entry.first().resource.is(Composition) | |
bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource : type = 'message' implies entry.first().resource.is(MessageHeader) | |
dom-2 | error | Bundle.entry:citizen.resource | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Bundle.entry:citizen.resource | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Bundle.entry:citizen.resource | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Bundle.entry:citizen.resource | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Bundle.entry:citizen.resource | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
gateway-140-report-1 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as Condition).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-condition') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-focus-condition')) | |
gateway-140-report-2 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as CarePlan).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-care-plan') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-planned-intervention')) | |
marital-status-unknown-usage | warning | Bundle.entry:citizen.resource | Status in maritalStatus is unknown in a danish context. Consider mapping the value to UNK : maritalStatus.coding.where(code = 'P' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() or maritalStatus.coding.where(code = 'A' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() |
This structure is derived from Bundle
Summary
Mandatory: 4 elements
Prohibited: 11 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Bundle
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources gateway-140-report-1: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile gateway-140-report-2: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile |
identifier | 0..0 | |||
type | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Required Pattern: collection | |
timestamp | 1..1 | instant | When the bundle was assembled | |
total | 0..0 | |||
link | 0..0 | |||
Slices for entry | 1..* | BackboneElement | [DK] indberetningsrapportIndhold Slice: Unordered, Open by profile:resource | |
entry:All Slices | Content/Rules for all slices | |||
link | 0..0 | |||
resource | 1..1 | Citizen and content constrained to known profiles | ||
resource | Condition | |||
resource | CarePlan | |||
resource | Encounter(KLGateway140Encounter) | |||
resource | Organization(KLGateway140Organization) | |||
resource | Patient(KLGateway140Citizen) | |||
resource | ServiceRequest(KLGateway140ServiceRequest) | |||
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
entry:citizen | 1..1 | BackboneElement | [DK] indberetningsrapportBorger | |
resource | 0..1 | KLGateway140Citizen | Information about an individual or animal receiving health care services | |
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
signature | 0..0 | |||
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
gateway-140-report-1 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as Condition).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-condition') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-focus-condition')) | |
gateway-140-report-2 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as CarePlan).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-care-plan') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-planned-intervention')) |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources gateway-140-report-1: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile gateway-140-report-2: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
type | Σ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: collection |
timestamp | Σ | 1..1 | instant | When the bundle was assembled |
Slices for entry | ΣC | 1..* | BackboneElement | [DK] indberetningsrapportIndhold Slice: Unordered, Open by profile:resource This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type |
entry:All Slices | Content/Rules for all slices | |||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
resource | Σ | 1..1 | Citizen and content constrained to known profiles | |
resource | Condition | |||
resource | CarePlan | |||
resource | Encounter(KLGateway140Encounter) | |||
resource | Organization(KLGateway140Organization) | |||
resource | Patient(KLGateway140Citizen) | |||
resource | ServiceRequest(KLGateway140ServiceRequest) | |||
entry:citizen | ΣC | 1..1 | BackboneElement | [DK] indberetningsrapportBorger This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
resource | C | 0..1 | KLGateway140Citizen | Information about an individual or animal receiving health care services |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Bundle.type | required | Pattern: collection |
Bundle.entry.request.method | required | HTTPVerb |
Bundle.entry:citizen.request.method | required | HTTPVerb |
Id | Grade | Path(s) | Details | Requirements |
bdl-1 | error | Bundle | total only when a search or history : total.empty() or (type = 'searchset') or (type = 'history') | |
bdl-2 | error | Bundle | entry.search only when a search : entry.search.empty() or (type = 'searchset') | |
bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited : entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history')) | |
bdl-4 | error | Bundle | entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited : entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history')) | |
bdl-5 | error | Bundle.entry, Bundle.entry:citizen | must be a resource unless there's a request or response : resource.exists() or request.exists() or response.exists() | |
bdl-7 | error | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) : (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct() | |
bdl-8 | error | Bundle.entry, Bundle.entry:citizen | fullUrl cannot be a version specific reference : fullUrl.contains('/_history/').not() | |
bdl-9 | error | Bundle | A document must have an identifier with a system and a value : type = 'document' implies (identifier.system.exists() and identifier.value.exists()) | |
bdl-10 | error | Bundle | A document must have a date : type = 'document' implies (timestamp.hasValue()) | |
bdl-11 | error | Bundle | A document must have a Composition as the first resource : type = 'document' implies entry.first().resource.is(Composition) | |
bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource : type = 'message' implies entry.first().resource.is(MessageHeader) | |
dom-2 | error | Bundle.entry:citizen.resource | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Bundle.entry:citizen.resource | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Bundle.entry:citizen.resource | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Bundle.entry:citizen.resource | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Bundle.entry:citizen.resource | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
gateway-140-report-1 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as Condition).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-condition') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-focus-condition')) | |
gateway-140-report-2 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as CarePlan).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-care-plan') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-planned-intervention')) | |
marital-status-unknown-usage | warning | Bundle.entry:citizen.resource | Status in maritalStatus is unknown in a danish context. Consider mapping the value to UNK : maritalStatus.coding.where(code = 'P' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() or maritalStatus.coding.where(code = 'A' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources gateway-140-report-1: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile gateway-140-report-2: All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
type | Σ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: collection | ||||
timestamp | Σ | 1..1 | instant | When the bundle was assembled | ||||
Slices for entry | ΣC | 1..* | BackboneElement | [DK] indberetningsrapportIndhold Slice: Unordered, Open by profile:resource This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type | ||||
entry:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
fullUrl | Σ | 0..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
resource | Σ | 1..1 | Citizen and content constrained to known profiles | |||||
resource | Condition | |||||||
resource | CarePlan | |||||||
resource | Encounter(KLGateway140Encounter) | |||||||
resource | Organization(KLGateway140Organization) | |||||||
resource | Patient(KLGateway140Citizen) | |||||||
resource | ServiceRequest(KLGateway140ServiceRequest) | |||||||
entry:citizen | ΣC | 1..1 | BackboneElement | [DK] indberetningsrapportBorger This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
link | Σ | 0..* | See link (Bundle) | Links related to this entry | ||||
fullUrl | Σ | 0..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
resource | C | 0..1 | KLGateway140Citizen | Information about an individual or animal receiving health care services | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Bundle.language | preferred | CommonLanguages
| ||||
Bundle.type | required | Pattern: collection | ||||
Bundle.entry.search.mode | required | SearchEntryMode | ||||
Bundle.entry.request.method | required | HTTPVerb | ||||
Bundle.entry:citizen.search.mode | required | SearchEntryMode | ||||
Bundle.entry:citizen.request.method | required | HTTPVerb |
Id | Grade | Path(s) | Details | Requirements |
bdl-1 | error | Bundle | total only when a search or history : total.empty() or (type = 'searchset') or (type = 'history') | |
bdl-2 | error | Bundle | entry.search only when a search : entry.search.empty() or (type = 'searchset') | |
bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited : entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history')) | |
bdl-4 | error | Bundle | entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited : entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history')) | |
bdl-5 | error | Bundle.entry, Bundle.entry:citizen | must be a resource unless there's a request or response : resource.exists() or request.exists() or response.exists() | |
bdl-7 | error | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) : (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct() | |
bdl-8 | error | Bundle.entry, Bundle.entry:citizen | fullUrl cannot be a version specific reference : fullUrl.contains('/_history/').not() | |
bdl-9 | error | Bundle | A document must have an identifier with a system and a value : type = 'document' implies (identifier.system.exists() and identifier.value.exists()) | |
bdl-10 | error | Bundle | A document must have a date : type = 'document' implies (timestamp.hasValue()) | |
bdl-11 | error | Bundle | A document must have a Composition as the first resource : type = 'document' implies entry.first().resource.is(Composition) | |
bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource : type = 'message' implies entry.first().resource.is(MessageHeader) | |
dom-2 | error | Bundle.entry:citizen.resource | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Bundle.entry:citizen.resource | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Bundle.entry:citizen.resource | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Bundle.entry:citizen.resource | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Bundle.entry:citizen.resource | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
gateway-140-report-1 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as Condition).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-condition') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-focus-condition')) | |
gateway-140-report-2 | error | Bundle | All condition resources shall conform to either klgateway-140-condition profile, or klgateway-119--focus-condition profile : entry.select(resource as CarePlan).all( $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-care-plan') or $this.conformsTo('http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-planned-intervention')) | |
marital-status-unknown-usage | warning | Bundle.entry:citizen.resource | Status in maritalStatus is unknown in a danish context. Consider mapping the value to UNK : maritalStatus.coding.where(code = 'P' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() or maritalStatus.coding.where(code = 'A' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() |
This structure is derived from Bundle
Summary
Mandatory: 4 elements
Prohibited: 11 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron