FHIR Implementation Guide for the Norwegian Municipal Sector
0.3.0 -
FHIR Implementation Guide for the Norwegian Municipal Sector - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Two independent examples: the general municipal journey below and the KPR functional assessment journey. Both use fictional people and data.
This page shows the reusable municipal example instances as a connected example set. It follows the same example instances that are listed in the artifact pages, but presents them in clinical and workflow order so readers can see how the resources relate to one another.
The examples are non-normative. They illustrate one possible municipal follow-up chain after discharge and should be read together with Modelling and profiling and Use cases.
The example describes Kari Hansen after discharge from hospital. The municipality receives a decision/supporting document, creates two service requests, establishes a municipal episode and follow-up plan, and records contacts and supporting information over time.
The diagram below is a presentation flow, not a complete reference diagram. It tells the story in the example set with concrete example resources in each step. Click a resource box to open the generated FHIR example page.
How to read the diagram: the order is pedagogical, not a requirement for exact creation time. Kari and the supporting document provide context. The service requests describe what the municipality should follow up. EpisodeOfCare is a higher-level shared episode context; CarePlan, Appointment and completed Encounter contacts belong to that context over time. CarePlan makes plan, goals, activities and outcomes concrete. Appointment shows a planned contact before it has happened, while completed contacts, meetings and stays are documented as Encounter. If a completed contact documents that it fulfilled a specific appointment, use Encounter.appointment.
This section establishes the patient and municipal actors used throughout the example. The person, organization, locations and roles use no-basis profiles in meta.profile where no-basis profiles exist.
| Example | Profile reference | Role in the examples |
|---|---|---|
| ExamplePatient | no-basis-Patient | Patient receiving municipal follow-up. |
| ExampleOrganization | no-basis-Organization | Responsible municipal unit. |
| ExamplePractitioner | no-basis-Practitioner | Coordinator or municipal service practitioner. |
| ExamplePractitionerRole | no-basis-PractitionerRole | Role that links practitioner and organization. |
| ExampleRelatedPerson | no-basis-RelatedPerson | Next of kin used in the phone contact example. |
The decision or supporting document is not modelled as the request itself. It is represented as a DocumentReference. The practical assignment is represented with municipal ServiceRequest examples.
| Example | Profile reference | What it shows |
|---|---|---|
| ExampleDocumentReference | no-basis-DocumentReference | Decision document or other supporting document for follow-up. |
| ExampleServiceRequest | no-kommune-ServiceRequest | Request for home nursing and ADL assistance after discharge. |
| ExampleRehabilitationServiceRequest | no-kommune-ServiceRequest | Additional rehabilitation request in the same episode. |
The episode gives shared context over time. The care plan describes goals, plan period, involved team, supporting information and planned activities.
| Example | Profile reference | Key links |
|---|---|---|
| ExampleEpisodeOfCare | no-kommune-EpisodeOfCare | References the service requests through referralRequest, and links to patient and responsible organization. |
| ExampleCarePlan | no-kommune-CarePlan | References the service requests, appointment, encounters, observation, goal and supporting document. |
| ExampleCareTeam | FHIR CareTeam | Shows a multidisciplinary municipal team. |
| ExampleGoal | FHIR Goal | Goal used by the follow-up plan. |
Completed contacts are represented as Encounter, while planned contact is represented as Appointment until the contact has happened. In this example set, the completed contacts point to the relevant request and the same municipal episode. If a completed contact documents that it fulfilled a specific appointment, Encounter.appointment can point to Appointment.
| Example | Profile reference | What it shows |
|---|---|---|
| ExampleShortTermStay | no-kommune-Encounter | Short-term municipal stay after discharge. |
| ExampleEncounter | no-kommune-Encounter | First home visit after discharge. |
| ExampleAppointment | no-basis-Appointment | Planned follow-up visit linked to ExampleServiceRequest through basedOn. |
| ExampleEncounterFollowup | no-kommune-Encounter | Digital follow-up contact. |
| ExampleEncounterPhone | no-kommune-Encounter | Phone contact with patient and next of kin. |
| ExampleEncounterEvaluation | no-kommune-Encounter | Multidisciplinary evaluation meeting. |
Supporting resources can be used where they add useful context. They are not all municipal profiles in this version.
| Example | Profile reference | How it is used |
|---|---|---|
| ExampleObservation | FHIR Observation | Structured assessment supporting follow-up. |
| ExampleHealthConcern | FHIR Condition | Health concern used as reason/context. |
| ExampleLocation | no-basis-Location | Municipal service base. |
| ExampleHomeLocation | no-basis-Location | Patient home as contact location. |
| ExampleShortTermLocation | no-basis-Location | Short-term ward location. |
| Step | Examples |
|---|---|
| Patient and actors | ExamplePatient, ExampleOrganization, ExamplePractitioner, ExamplePractitionerRole, ExampleRelatedPerson |
| Other practitioners and roles | ExamplePhysiotherapist, ExamplePhysiotherapistRole, ExampleOccupationalTherapist, ExampleOccupationalTherapistRole |
| Decision and requests | ExampleDocumentReference, ExampleServiceRequest, ExampleRehabilitationServiceRequest |
| Episode, plan and team | ExampleEpisodeOfCare, ExampleCarePlan, ExampleCareTeam, ExampleGoal |
| Contacts and planned contact | ExampleShortTermStay, ExampleEncounter, ExampleAppointment, ExampleEncounterFollowup, ExampleEncounterPhone, ExampleEncounterEvaluation |
| Supporting data and places | ExampleObservation, ExampleHealthConcern, ExampleLocation, ExampleHomeLocation, ExampleShortTermLocation |
Kari has a functional assessment at home on 17 August 2026. The municipality requests home nursing, and function is reassessed on 31 August. This fictional journey uses code systems from KPR KTT, previously referred to as KPR IPLOS, and shows the four municipal profiles together with the standard Observation and Goal resources.
Code choices belong to this story. They illustrate the use of code systems, not which service or score another person should receive. The same fictional participants appear in the January journey, but the events below are a separate example.
| Step | Resource and link |
|---|---|
| Assessment on 17 August | The assessment visit is an Encounter. Results are separate Observation resources referencing the visit through encounter. The visit references the August episode. |
| Request | Home nursing is coded here as “Helsetjenester i hjemmet” (home health services), code 15 in the service type code system. reasonReference points to the hygiene assessment that justifies the request; supportingInfo points to the other relevant assessments. |
| Goal and plan | Kari's goal and the follow-up plan. The plan references the assessments through supportingInfo and the request through activity.reference. |
| Follow-up on 31 August | Another home visit references the request through basedOn. The new hygiene assessment has its own identity and time. |
| Review | The plan is shown after follow-up. activity.outcomeReference references the visit and reassessment. The goal references the same assessment through Goal.outcomeReference. The initial assessment is retained. |
The episode type is text and covers both assessment and follow-up. Housework, the interrupted assessment and history illustrate other situations but are not included as grounds for home nursing. Practical assistance would need to be considered as a separate service. A score change alone does not determine service provision.
The domains below come from Functional domain (9111). Results use Functional value (9165), with separate scales for vision (9166) and hearing (9167). Numbers in parentheses identify code systems. The specific codes and full code system identifiers are available in the JSON view of each example.
| Date | Assessed domain | Recorded result in the story |
|---|---|---|
| 17 August 2026 | Personal hygiene | Score 3 on the general scale. Needs help with parts of personal care. |
| 17 August 2026 | Moving indoors | Score 2 on the general scale. Uses a walking frame without personal assistance. |
| 17 August 2026 | Vision | Score 2 on the vision scale. Uses glasses and good lighting; can orient herself visually. |
| 17 August 2026 | Hearing | Score 3 on the hearing scale. Has difficulty with conversations even with a hearing aid. |
| 17 August 2026 | Ordinary housework | Score 3 on the general scale. A new assessment, not a recoding of the historical record. |
| 17 August 2026 | Preparing food | Not assessed. The assessment was interrupted; no score is recorded. |
| 15 December 2025 | Ordinary housework, historical | Former score 9, “Ikke relevant” (not relevant), retained with its original date. This code is not valid for new assessments from 2026. |
| 31 August 2026 | Personal hygiene, reassessed | Score 2 on the general scale. The assessment from 17 August remains available. |
This covers six of the 20 functional domains. Scores illustrate FHIR data; clinical scoring follows FHI's guidance and the code system descriptions.
The example uses one Observation per domain and time. For personal hygiene, code contains code 7 from Functional domain, while valueCodeableConcept contains the recorded score from Functional value. The domain code and result code therefore serve different purposes.
| Information | Element in the example |
|---|---|
| Identity and patient | identifier identifies the assessment across systems; subject references the patient. Resource.id is the local FHIR identity. |
| Assessment and result | code identifies the domain and valueCodeableConcept the score, both with code system identifiers. Vision and hearing use their own scales. |
| Time and responsibility | effectiveDateTime is the assessment time, issued is when this version became available, and performer identifies the responsible practitioner/organization. |
| Contact | encounter references the assessment visit when known. An assessment retains its original date when shared again later. |
A reassessment receives a new identity; a correction to the same assessment retains its business identity and is tracked in history, with an appropriate status such as corrected. An old score is not automatically recoded to a new scale or an absent result.
The interrupted assessment has status = cancelled and dataAbsentReason = not-performed, without value[x]. It means the assessment did not take place, not that function is problem-free. See FHIR's rules for absent results.
If an assessment form is shared as QuestionnaireResponse, questionnaire identifies the form and version. Observation.derivedFrom is relevant when the assessment is actually derived from the form; the relationship between questions and results then needs documentation.
The 14 resources demonstrate FHIR interoperability, not KPR KTT reporting. See Norwegian Context for code system choices and the API guidance for access to assessments.