2.1.1 - Release

This page is part of the KLGatewayPrevention (v2.1.1: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: KLGateway119ServiceRequest

Official URL: http://fhir.kl.dk/prevention/StructureDefinition/klgateway-119-servicerequest Version: 2.1.1
Active as of 2024-06-24 Computable Name: KLGateway119ServiceRequest

Referal or request for prevention/health promotion to a Danish municipalities

Scope and usage

This model is used to represent when a municipality recieves a referal or request for prevention/health promotion according to §119 in the health act.

The ServiceRequest, may have the sending organisation as the requester i.e the hospital or general practitioner that sends the request/referal. The requester is only required if the organisation or person that requests the service does so using a MedCom message, and the SOR-code can be drawn automatically from there. Requests recieved via phone e.g. from GP’s, citizens or next-of-kin should be reported without requester.

Intent should always be “plan”. The status attribute should be used according to the FHIR-guidance. The citizen is referred in ServiceRequest.subject.

ServiceRequest.authoredOn holds the time, where the request was recieved in the municipality, if this is available. Else, the time that the request was send from the hosptal may be used. The date may be repported with or without time of day.

ServiceRequest.status and ServiceRequest.intent are mandatory. ServiceRequest.intent always have the value ‘plan’. ServiceRequest.status uses the required FHIR ValueSet as appropriate.

It may happen that a new request is recieved, while another one is already active for the citizen. In this case, choose the appropriate use case:

  • If the new request calls for the same interventions (with just minor modifications). Then the new request 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’.
  • It could also happen that the new request means that the citizen interventions should be modified. E.g. the therapist start over with the clarification (afklarende samtale) 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.
  • In the last case, both requests 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.

SeviceRequest.reasonReference is only used if a code or codes were recieved in a MedCom message as a diagnosis. The reasonReference describes this through a reference to FocusCondition, which again uses SKS or ICPC2 diagnosis codes to describe the problem/diagnosis, that led the hospital or General practitioner to request §119 prevention/health promotion.

ServiceRequest.code.coding is used to state, what kind of interventions the requester wants for the citizen. The value is always ‘Sundhedsfremme og forebyggelse’.

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

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 ServiceRequest
... identifier 0..0
... instantiatesCanonical 0..0
... instantiatesUri 0..0
... basedOn 0..0
... replaces 0..1 Reference(KLGateway119ServiceRequest) {b} [DK] anledningErstatter
... requisition 0..0
... status 1..1 code [DK] anledningsStatus
... intent 1..1 code [DK] anledningsHensigt
Required Pattern: plan
... category 0..0
... priority 0..0
... doNotPerform 0..0
... code
.... coding 0..* Coding [DK] anledningsIndsats
Binding: ServiceTypes (required)
... orderDetail 0..0
... quantity[x] 0..0
... subject 1..1 Reference(KLGateway119Citizen) {b} [DK] anledningsSubjekt
... encounter 0..0
... occurrence[x] 0..0
... asNeeded[x] 0..0
... authoredOn 1..1 dateTime [DK] anledningstid
... requester 0..1 Reference(KLGateway119Organization) {b} [DK] anledningAnsvarlig
... performerType 0..0
... performer 0..0
... locationCode 0..0
... locationReference 0..0
... reasonCode 0..0
... reasonReference 0..* Reference(KLGateway119FocusCondition) {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)

PathConformanceValueSetURI
ServiceRequest.code.codingrequiredServiceTypes119
http://fhir.kl.dk/prevention/ValueSet/ServiceTypes119
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
prr-1: orderDetail SHALL only be present if code is present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... replaces Σ 0..1 Reference(KLGateway119ServiceRequest) {b} [DK] anledningErstatter
... intent ?!Σ 1..1 code [DK] anledningsHensigt
Binding: RequestIntent (required): The kind of service request.


Required Pattern: plan
... subject Σ 1..1 Reference(KLGateway119Citizen) {b} [DK] anledningsSubjekt
... authoredOn Σ 1..1 dateTime [DK] anledningstid
... requester Σ 0..1 Reference(KLGateway119Organization) {b} [DK] anledningAnsvarlig
... reasonReference Σ 0..* Reference(KLGateway119FocusCondition) {b} [DK] anledningsbegrundelse

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredPattern: plan
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard

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()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
prr-1: orderDetail SHALL only be present if code is present
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... replaces Σ 0..1 Reference(KLGateway119ServiceRequest) {b} [DK] anledningErstatter
... status ?!Σ 1..1 code [DK] anledningsStatus
Binding: RequestStatus (required): The status of a service order.

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


Required Pattern: plan
... code Σ 0..1 CodeableConcept What 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)[http://build.fhir.org/terminologies.html#preferred] and a valueset using LOINC Order codes is available here.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding [DK] anledningsIndsats
Binding: ServiceTypes (required)
.... text Σ 0..1 string Plain text representation of the concept
... subject Σ 1..1 Reference(KLGateway119Citizen) {b} [DK] anledningsSubjekt
... authoredOn Σ 1..1 dateTime [DK] anledningstid
... requester Σ 0..1 Reference(KLGateway119Organization) {b} [DK] anledningAnsvarlig
... reasonReference Σ 0..* Reference(KLGateway119FocusCondition) {b} [DK] anledningsbegrundelse

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredPattern: plan
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.codeexampleProcedureCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-code
from the FHIR Standard
ServiceRequest.code.codingrequiredServiceTypes119
http://fhir.kl.dk/prevention/ValueSet/ServiceTypes119
from this IG

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()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

This structure is derived from ServiceRequest

Differential View

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest ServiceRequest
... identifier 0..0
... instantiatesCanonical 0..0
... instantiatesUri 0..0
... basedOn 0..0
... replaces 0..1 Reference(KLGateway119ServiceRequest) {b} [DK] anledningErstatter
... requisition 0..0
... status 1..1 code [DK] anledningsStatus
... intent 1..1 code [DK] anledningsHensigt
Required Pattern: plan
... category 0..0
... priority 0..0
... doNotPerform 0..0
... code
.... coding 0..* Coding [DK] anledningsIndsats
Binding: ServiceTypes (required)
... orderDetail 0..0
... quantity[x] 0..0
... subject 1..1 Reference(KLGateway119Citizen) {b} [DK] anledningsSubjekt
... encounter 0..0
... occurrence[x] 0..0
... asNeeded[x] 0..0
... authoredOn 1..1 dateTime [DK] anledningstid
... requester 0..1 Reference(KLGateway119Organization) {b} [DK] anledningAnsvarlig
... performerType 0..0
... performer 0..0
... locationCode 0..0
... locationReference 0..0
... reasonCode 0..0
... reasonReference 0..* Reference(KLGateway119FocusCondition) {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)

PathConformanceValueSetURI
ServiceRequest.code.codingrequiredServiceTypes119
http://fhir.kl.dk/prevention/ValueSet/ServiceTypes119
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
prr-1: orderDetail SHALL only be present if code is present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... replaces Σ 0..1 Reference(KLGateway119ServiceRequest) {b} [DK] anledningErstatter
... intent ?!Σ 1..1 code [DK] anledningsHensigt
Binding: RequestIntent (required): The kind of service request.


Required Pattern: plan
... subject Σ 1..1 Reference(KLGateway119Citizen) {b} [DK] anledningsSubjekt
... authoredOn Σ 1..1 dateTime [DK] anledningstid
... requester Σ 0..1 Reference(KLGateway119Organization) {b} [DK] anledningAnsvarlig
... reasonReference Σ 0..* Reference(KLGateway119FocusCondition) {b} [DK] anledningsbegrundelse

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredPattern: plan
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard

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()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
prr-1: orderDetail SHALL only be present if code is present
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... replaces Σ 0..1 Reference(KLGateway119ServiceRequest) {b} [DK] anledningErstatter
... status ?!Σ 1..1 code [DK] anledningsStatus
Binding: RequestStatus (required): The status of a service order.

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


Required Pattern: plan
... code Σ 0..1 CodeableConcept What 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)[http://build.fhir.org/terminologies.html#preferred] and a valueset using LOINC Order codes is available here.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding [DK] anledningsIndsats
Binding: ServiceTypes (required)
.... text Σ 0..1 string Plain text representation of the concept
... subject Σ 1..1 Reference(KLGateway119Citizen) {b} [DK] anledningsSubjekt
... authoredOn Σ 1..1 dateTime [DK] anledningstid
... requester Σ 0..1 Reference(KLGateway119Organization) {b} [DK] anledningAnsvarlig
... reasonReference Σ 0..* Reference(KLGateway119FocusCondition) {b} [DK] anledningsbegrundelse

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredPattern: plan
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.codeexampleProcedureCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-code
from the FHIR Standard
ServiceRequest.code.codingrequiredServiceTypes119
http://fhir.kl.dk/prevention/ValueSet/ServiceTypes119
from this IG

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()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

This structure is derived from ServiceRequest

 

Other representations of profile: CSV, Excel, Schematron