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

Resource Profile: KLGateway140ServiceRequest

Official URL: http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-servicerequest Version: 1.0.0
Active as of 2023-09-28 Computable Name: KLGateway140ServiceRequest

Referal used to represent information about the training-referal (GGOP) from a hospital to a Danish municipalities

Scope and usage

This model is used to represent when a municipality recieves a request for rehabilitation according to §140 in the health act (DK: §140 træning ifølge sundhedsloven).

The ServiceRequest, should have the sending organisation as the requester i.e the hospital that sends the request (GGOP), and intent should always be “plan”. The status attribute should be used according to the FHIR-guidance. The requester is mandatory for §140. The citizen is referred in ServiceRequest.subject.

ServiceRequest.authoredOn holds the date form when the GGOP was recieved in the municipality, if this is available. Else, the time that the GGOP was send from the hosptal may be used.

extension[dischargeDate] holds the date from when the patient was discharged from the hospital. If nothing else is available, the attribute ‘Aktuel_kontakt_slutdato’ from MedCom’s GGOP can be used. However, it should always be possible for the municipalities to correct the date if the discharge date is changed.

The date, where the patient is offered to recieve his/her first encounter is reported in occurrencePeriod.start . This is the official beginning of the delivery of the service, even if the encounter is eventually cancelled.

category is used to state what type of GGOP has been send to the municipality i.e. ‘almen’, ‘specialiseret’, ‘rehabilitering’. If the GGOP is of type ‘almen’, an additional code may be added to distinguish between ‘basal’ and ‘avanceret’. Note that the latter may change over time, and is allowed to be corrected.

It may happen that the hospital sends a new GGOP when the treatment changes from ‘specialiseret’ to ‘almen’, even though this is not the recommended practice. In this case, just use this GGOP in a new instance of ServiceRequest, and associate with CarePlans, Iterventions etc as needed. If the hospital does not send a new GGOP (recommended pratics), just change the type from ‘specialiseret’ to ‘almen’ in an update to the already reported ServiceRequest, and associate the CarePlans, Iterventions etc’.

ServiceRequest.status and ServiceRequest.intent are mandatory. ServiceRequest.intent always have the value ‘plan’. ServiceRequest.status uses the required FHIR ValueSet as appropriate. Use ‘on-hold’ to signify a GGOP that the municipality does not act on, or does not act on yet. Use in combination with extension[statusReason] to explain why the GGOP is not acted on.

It may happen that a new GGOP is recieved, while another one is already active for the citizen. If you want to keep track on which activities are related to each GGOP, choose the appropriate use case:

  • If the new GGOP calls for the same interventions (with just minor modifications). Then the new GGOP replaces the old one. This is documented by reporting both the old and the new ServiceRequest. The new serviceRequest referes the old one using the attribute serviceRequest.replaces. The old ServiceRequest sets ServiceRequest.status to ‘revoked’ Example: A citizen has gotten a hip replacement, has been dicharges from the hospital and has started rehabilitation. Then the citizen falls and gets re-admitted to the hospital. At discharge, a new ServiceRequest is send, but because the damage was small, the municipality intervention preceeds as planned.
  • It could also happen that the new GGOP means that the citizen interventions should be modified. E.g. the therapist start over with the examination (terapeutfaglig undersøgelse) and/or plan another intervention. In this case, revoke the old ServiceRequest, and use the new one as a reference in all interventions and encounters. Example: If the patient is admitted for a longer time, so that the intervention changes i.e. a new examination is made and the citizen starts over in group based training.
  • In the last case, both GGOPS are relevant at the same time, and each calls for different interventions. In this case, both ServiceRequests remains active, and each have different interventions and encounters associated with it. Example: A citizen has gotten a hip replacement, has been dicharges from the hospital and has started rehabilitation. The citizen is then examined for shoulder and neck pain in the hospital, and a new GGOP is send to the municipality, to also help with neck/shoulder interventions.

SeviceRequest.reasonReference is only used, if a code or codes were recieved in a MedCom message as a referal diagnosis (i GGOP). The reasonReference describes this through a reference to FocusCondition, which again uses SKS diagnosis codes to describe the problem/diagnosis, that led the hospital to request §140 rehabilitation.

ServiceRequest.code.coding is used to state, what kind of interventions the requester wants for the citizen. The value is always ‘Træning’.

Conversions between Danish information model and FHIR-profile

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
anledningAnsvarlig Den som har ansvar for henvendelsen/henvisningen ServiceRequest.requester
anledningsstatus Klasse der udtrykker status for henvendelsen ServiceRequest.status
anledningsHensigt Klasse der udtrykker hensigten med henvendelsen ServiceRequest.intent
anledningsIndsats Klasse der udtrykker, hvilken type kommunal indsats/ydelse der anmodes om. ServiceRequest.code.coding
anledningsSubjekt Den borger som henvisningen/henvendelsen vedrører ServiceRequest.subject
anledningstid Det tidspunkt hvor henvisning/henvendelsen er forfattet af den ansvarlige ServiceRequest.authoredOn
anledningsbegrundelse Den borgertilstand, der ligger til grund for henvendelsen/henvisningen. SeviceRequest.reasonReference
anledningErstatter Den tidligere anledning som denne erstatter SeviceRequest.replaces
anledningTypeAfGGOP Type af GGOP SeviceRequest.category
anledningUdskrivningsdato borgers udskrivningsdato fra hospitalet SeviceRequest.extension:dischargeDate
anledningÅrsagManglendeAktivitet Begrundelse for status, der bruges, når der ikke er aktivitet indenfor 7 dages garantien SeviceRequest.extension:statusReason
anledningTilbudtFørsteKontakt Den dato, hvor borger er tilbudt første kontakt. Datoen regnes for igangsættelsesdato selv om kontakten måtte blive aflyst SeviceRequest.occurrencePeriod.start

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
gateway-140-service-request-1: one of the order detail codes, should always be almen, specialiseret eller rehabilitering
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... dischargeDate 0..1date[DK] anledningUdskrivningsdato
URL: http://fhir.kl.dk/rehab/StructureDefinition/PreconditionDate
... statusReason 0..1CodeableConcept[DK] anledningÅrsagManglendeAktivitet
URL: http://hl7.org/fhir/StructureDefinition/request-statusReason
Binding: (unbound) (example): Codes identifying the reason for the current state of an event.

.... value[x]
..... coding 0..*CodingCode defined by a terminology system
Binding: ServiceRequestStatusReasons (required)
... identifier 0..0
... instantiatesCanonical 0..0
... instantiatesUri 0..0
... basedOn 0..0
... replaces 0..1Reference(KLGateway140ServiceRequest) {b}[DK] anledningErstatter
... requisition 0..0
... status 1..1code[DK] anledningsStatus
... intent 1..1code[DK] anledningsHensigt
Required Pattern: plan
... category 1..2CodeableConcept[DK] anledningTypeAfGGOP
.... coding 0..*CodingCode defined by a terminology system
Binding: ServiceRequestTypes (required)
... priority 0..0
... doNotPerform 0..0
... code
.... coding 0..*Coding[DK] anledningsIndsats
Binding: ServiceTypes (required)
... orderDetail 0..0
... quantity[x] 0..0
... subject 1..1Reference(KLGateway140Citizen) {b}[DK] anledningsSubjekt
... encounter 0..0
... Slices for occurrence[x] 0..1dateTime, Period, TimingWhen service should occur
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime 0..0
.... occurrence[x]:occurrenceTiming 0..0
.... occurrence[x]:occurrencePeriod 0..1PeriodWhen service should occur
..... start 0..1dateTime[DK] anledningTilbudtFørsteKontakt
..... end 0..0
... asNeeded[x] 0..0
... authoredOn 1..1dateTime[DK] anledningstid
... requester 1..1Reference(KLGateway140Organization) {b}[DK] anledningAnsvarlig
... performerType 0..0
... performer 0..0
... locationCode 0..0
... locationReference 0..0
... reasonCode 0..0
... reasonReference 0..*Reference(KLGateway140FocusCondition) {b}[DK] anledningsbegrundelse
... insurance 0..0
... supportingInfo 0..0
... specimen 0..0
... bodySite 0..0
... note 0..0
... patientInstruction 0..0
... relevantHistory 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
ServiceRequest.extension:statusReason.value[x].codingrequiredServiceRequestStatusReasons140
ServiceRequest.category.codingrequiredServiceRequestTypes140
ServiceRequest.code.codingrequiredServiceTypes140

Constraints

IdGradePath(s)DetailsRequirements
gateway-140-service-request-1errorServiceRequestone of the order detail codes, should always be almen, specialiseret eller rehabilitering
: category.select(coding.code = 'ffd81f78-352e-4589-a195-5350dd1df2a4' or coding.code = '0c8e2bfc-1350-45d1-90da-c07e2645d073' or coding.code = '83c89857-8fb8-4163-97b1-eb1a56345c29').anyTrue()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
gateway-140-service-request-1: one of the order detail codes, should always be almen, specialiseret eller rehabilitering
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... dischargeDate 0..1date[DK] anledningUdskrivningsdato
URL: http://fhir.kl.dk/rehab/StructureDefinition/PreconditionDate
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/request-statusReason"
.... value[x] 1..1CodeableConceptValue of extension
Binding: (unbound) (example): Codes identifying the reason for the current state of an event.

..... coding Σ0..*CodingCode defined by a terminology system
Binding: ServiceRequestStatusReasons (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... replaces Σ0..1Reference(KLGateway140ServiceRequest) {b}[DK] anledningErstatter
... status ?!Σ1..1code[DK] anledningsStatus
Binding: RequestStatus (required): The status of a service order.

... intent ?!Σ1..1code[DK] anledningsHensigt
Binding: RequestIntent (required): The kind of service request.


Required Pattern: plan
... category Σ1..2CodeableConcept[DK] anledningTypeAfGGOP
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... coding Σ0..*CodingCode defined by a terminology system
Binding: ServiceRequestTypes (required)
... subject Σ1..1Reference(KLGateway140Citizen) {b}[DK] anledningsSubjekt
... Slices for occurrence[x] Σ0..1When service should occur
Slice: Unordered, Closed by type:$this
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
.... occurrence[x]:occurrencePeriod Σ0..1PeriodWhen service should occur
..... start ΣC0..1dateTime[DK] anledningTilbudtFørsteKontakt
... authoredOn Σ1..1dateTime[DK] anledningstid
... requester Σ1..1Reference(KLGateway140Organization) {b}[DK] anledningAnsvarlig
... reasonReference Σ0..*Reference(KLGateway140FocusCondition) {b}[DK] anledningsbegrundelse

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.extension:statusReason.value[x]example
ServiceRequest.extension:statusReason.value[x].codingrequiredServiceRequestStatusReasons140
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredPattern: plan
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.category.codingrequiredServiceRequestTypes140

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
gateway-140-service-request-1errorServiceRequestone of the order detail codes, should always be almen, specialiseret eller rehabilitering
: category.select(coding.code = 'ffd81f78-352e-4589-a195-5350dd1df2a4' or coding.code = '0c8e2bfc-1350-45d1-90da-c07e2645d073' or coding.code = '83c89857-8fb8-4163-97b1-eb1a56345c29').anyTrue()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
gateway-140-service-request-1: one of the order detail codes, should always be almen, specialiseret eller rehabilitering
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... dischargeDate 0..1date[DK] anledningUdskrivningsdato
URL: http://fhir.kl.dk/rehab/StructureDefinition/PreconditionDate
... statusReason 0..1CodeableConcept[DK] anledningÅrsagManglendeAktivitet
URL: http://hl7.org/fhir/StructureDefinition/request-statusReason
Binding: (unbound) (example): Codes identifying the reason for the current state of an event.


.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/request-statusReason"
.... value[x] 1..1CodeableConceptValue of extension
Binding: (unbound) (example): Codes identifying the reason for the current state of an event.

..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
Binding: ServiceRequestStatusReasons (required)
..... text Σ0..1stringPlain text representation of the concept
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... replaces Σ0..1Reference(KLGateway140ServiceRequest) {b}[DK] anledningErstatter
... status ?!Σ1..1code[DK] anledningsStatus
Binding: RequestStatus (required): The status of a service order.

... intent ?!Σ1..1code[DK] anledningsHensigt
Binding: RequestIntent (required): The kind of service request.


Required Pattern: plan
... category Σ1..2CodeableConcept[DK] anledningTypeAfGGOP
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
Binding: ServiceRequestTypes (required)
.... text Σ0..1stringPlain text representation of the concept
... code Σ0..1CodeableConceptWhat is being requested/ordered
Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred and a valueset using LOINC Order codes is available here.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*Coding[DK] anledningsIndsats
Binding: ServiceTypes (required)
.... text Σ0..1stringPlain text representation of the concept
... subject Σ1..1Reference(KLGateway140Citizen) {b}[DK] anledningsSubjekt
... Slices for occurrence[x] Σ0..1When service should occur
Slice: Unordered, Closed by type:$this
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
.... occurrence[x]:occurrencePeriod Σ0..1PeriodWhen service should occur
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... start ΣC0..1dateTime[DK] anledningTilbudtFørsteKontakt
... authoredOn Σ1..1dateTime[DK] anledningstid
... requester Σ1..1Reference(KLGateway140Organization) {b}[DK] anledningAnsvarlig
... reasonReference Σ0..*Reference(KLGateway140FocusCondition) {b}[DK] anledningsbegrundelse

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ServiceRequest.extension:statusReason.value[x]example
ServiceRequest.extension:statusReason.value[x].codingrequiredServiceRequestStatusReasons140
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredPattern: plan
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.category.codingrequiredServiceRequestTypes140
ServiceRequest.codeexampleProcedureCodes(SNOMEDCT)
ServiceRequest.code.codingrequiredServiceTypes140

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
gateway-140-service-request-1errorServiceRequestone of the order detail codes, should always be almen, specialiseret eller rehabilitering
: category.select(coding.code = 'ffd81f78-352e-4589-a195-5350dd1df2a4' or coding.code = '0c8e2bfc-1350-45d1-90da-c07e2645d073' or coding.code = '83c89857-8fb8-4163-97b1-eb1a56345c29').anyTrue()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

Differential View

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
gateway-140-service-request-1: one of the order detail codes, should always be almen, specialiseret eller rehabilitering
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... dischargeDate 0..1date[DK] anledningUdskrivningsdato
URL: http://fhir.kl.dk/rehab/StructureDefinition/PreconditionDate
... statusReason 0..1CodeableConcept[DK] anledningÅrsagManglendeAktivitet
URL: http://hl7.org/fhir/StructureDefinition/request-statusReason
Binding: (unbound) (example): Codes identifying the reason for the current state of an event.

.... value[x]
..... coding 0..*CodingCode defined by a terminology system
Binding: ServiceRequestStatusReasons (required)
... identifier 0..0
... instantiatesCanonical 0..0
... instantiatesUri 0..0
... basedOn 0..0
... replaces 0..1Reference(KLGateway140ServiceRequest) {b}[DK] anledningErstatter
... requisition 0..0
... status 1..1code[DK] anledningsStatus
... intent 1..1code[DK] anledningsHensigt
Required Pattern: plan
... category 1..2CodeableConcept[DK] anledningTypeAfGGOP
.... coding 0..*CodingCode defined by a terminology system
Binding: ServiceRequestTypes (required)
... priority 0..0
... doNotPerform 0..0
... code
.... coding 0..*Coding[DK] anledningsIndsats
Binding: ServiceTypes (required)
... orderDetail 0..0
... quantity[x] 0..0
... subject 1..1Reference(KLGateway140Citizen) {b}[DK] anledningsSubjekt
... encounter 0..0
... Slices for occurrence[x] 0..1dateTime, Period, TimingWhen service should occur
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime 0..0
.... occurrence[x]:occurrenceTiming 0..0
.... occurrence[x]:occurrencePeriod 0..1PeriodWhen service should occur
..... start 0..1dateTime[DK] anledningTilbudtFørsteKontakt
..... end 0..0
... asNeeded[x] 0..0
... authoredOn 1..1dateTime[DK] anledningstid
... requester 1..1Reference(KLGateway140Organization) {b}[DK] anledningAnsvarlig
... performerType 0..0
... performer 0..0
... locationCode 0..0
... locationReference 0..0
... reasonCode 0..0
... reasonReference 0..*Reference(KLGateway140FocusCondition) {b}[DK] anledningsbegrundelse
... insurance 0..0
... supportingInfo 0..0
... specimen 0..0
... bodySite 0..0
... note 0..0
... patientInstruction 0..0
... relevantHistory 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
ServiceRequest.extension:statusReason.value[x].codingrequiredServiceRequestStatusReasons140
ServiceRequest.category.codingrequiredServiceRequestTypes140
ServiceRequest.code.codingrequiredServiceTypes140

Constraints

IdGradePath(s)DetailsRequirements
gateway-140-service-request-1errorServiceRequestone of the order detail codes, should always be almen, specialiseret eller rehabilitering
: category.select(coding.code = 'ffd81f78-352e-4589-a195-5350dd1df2a4' or coding.code = '0c8e2bfc-1350-45d1-90da-c07e2645d073' or coding.code = '83c89857-8fb8-4163-97b1-eb1a56345c29').anyTrue()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
gateway-140-service-request-1: one of the order detail codes, should always be almen, specialiseret eller rehabilitering
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... dischargeDate 0..1date[DK] anledningUdskrivningsdato
URL: http://fhir.kl.dk/rehab/StructureDefinition/PreconditionDate
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/request-statusReason"
.... value[x] 1..1CodeableConceptValue of extension
Binding: (unbound) (example): Codes identifying the reason for the current state of an event.

..... coding Σ0..*CodingCode defined by a terminology system
Binding: ServiceRequestStatusReasons (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... replaces Σ0..1Reference(KLGateway140ServiceRequest) {b}[DK] anledningErstatter
... status ?!Σ1..1code[DK] anledningsStatus
Binding: RequestStatus (required): The status of a service order.

... intent ?!Σ1..1code[DK] anledningsHensigt
Binding: RequestIntent (required): The kind of service request.


Required Pattern: plan
... category Σ1..2CodeableConcept[DK] anledningTypeAfGGOP
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... coding Σ0..*CodingCode defined by a terminology system
Binding: ServiceRequestTypes (required)
... subject Σ1..1Reference(KLGateway140Citizen) {b}[DK] anledningsSubjekt
... Slices for occurrence[x] Σ0..1When service should occur
Slice: Unordered, Closed by type:$this
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
.... occurrence[x]:occurrencePeriod Σ0..1PeriodWhen service should occur
..... start ΣC0..1dateTime[DK] anledningTilbudtFørsteKontakt
... authoredOn Σ1..1dateTime[DK] anledningstid
... requester Σ1..1Reference(KLGateway140Organization) {b}[DK] anledningAnsvarlig
... reasonReference Σ0..*Reference(KLGateway140FocusCondition) {b}[DK] anledningsbegrundelse

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.extension:statusReason.value[x]example
ServiceRequest.extension:statusReason.value[x].codingrequiredServiceRequestStatusReasons140
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredPattern: plan
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.category.codingrequiredServiceRequestTypes140

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
gateway-140-service-request-1errorServiceRequestone of the order detail codes, should always be almen, specialiseret eller rehabilitering
: category.select(coding.code = 'ffd81f78-352e-4589-a195-5350dd1df2a4' or coding.code = '0c8e2bfc-1350-45d1-90da-c07e2645d073' or coding.code = '83c89857-8fb8-4163-97b1-eb1a56345c29').anyTrue()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
gateway-140-service-request-1: one of the order detail codes, should always be almen, specialiseret eller rehabilitering
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... dischargeDate 0..1date[DK] anledningUdskrivningsdato
URL: http://fhir.kl.dk/rehab/StructureDefinition/PreconditionDate
... statusReason 0..1CodeableConcept[DK] anledningÅrsagManglendeAktivitet
URL: http://hl7.org/fhir/StructureDefinition/request-statusReason
Binding: (unbound) (example): Codes identifying the reason for the current state of an event.


.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/request-statusReason"
.... value[x] 1..1CodeableConceptValue of extension
Binding: (unbound) (example): Codes identifying the reason for the current state of an event.

..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
Binding: ServiceRequestStatusReasons (required)
..... text Σ0..1stringPlain text representation of the concept
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... replaces Σ0..1Reference(KLGateway140ServiceRequest) {b}[DK] anledningErstatter
... status ?!Σ1..1code[DK] anledningsStatus
Binding: RequestStatus (required): The status of a service order.

... intent ?!Σ1..1code[DK] anledningsHensigt
Binding: RequestIntent (required): The kind of service request.


Required Pattern: plan
... category Σ1..2CodeableConcept[DK] anledningTypeAfGGOP
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
Binding: ServiceRequestTypes (required)
.... text Σ0..1stringPlain text representation of the concept
... code Σ0..1CodeableConceptWhat is being requested/ordered
Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred and a valueset using LOINC Order codes is available here.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*Coding[DK] anledningsIndsats
Binding: ServiceTypes (required)
.... text Σ0..1stringPlain text representation of the concept
... subject Σ1..1Reference(KLGateway140Citizen) {b}[DK] anledningsSubjekt
... Slices for occurrence[x] Σ0..1When service should occur
Slice: Unordered, Closed by type:$this
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
.... occurrence[x]:occurrencePeriod Σ0..1PeriodWhen service should occur
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... start ΣC0..1dateTime[DK] anledningTilbudtFørsteKontakt
... authoredOn Σ1..1dateTime[DK] anledningstid
... requester Σ1..1Reference(KLGateway140Organization) {b}[DK] anledningAnsvarlig
... reasonReference Σ0..*Reference(KLGateway140FocusCondition) {b}[DK] anledningsbegrundelse

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ServiceRequest.extension:statusReason.value[x]example
ServiceRequest.extension:statusReason.value[x].codingrequiredServiceRequestStatusReasons140
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredPattern: plan
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.category.codingrequiredServiceRequestTypes140
ServiceRequest.codeexampleProcedureCodes(SNOMEDCT)
ServiceRequest.code.codingrequiredServiceTypes140

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
gateway-140-service-request-1errorServiceRequestone of the order detail codes, should always be almen, specialiseret eller rehabilitering
: category.select(coding.code = 'ffd81f78-352e-4589-a195-5350dd1df2a4' or coding.code = '0c8e2bfc-1350-45d1-90da-c07e2645d073' or coding.code = '83c89857-8fb8-4163-97b1-eb1a56345c29').anyTrue()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

 

Other representations of profile: CSV, Excel, Schematron