HL7 Norge
FHIR Implementation Guide for the Norwegian Municipal Sector
Shared starting point for understanding and consistent use of FHIR in municipal health and care services.
Norwegian

FHIR Implementation Guide for the Norwegian Municipal Sector
0.3.0 - Norway flag

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

Examples

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.

Example Sections

Overview

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.

The Kari example from request to planned and completed follow-up Diagram showing ServiceRequest as request, EpisodeOfCare as shared frame, CarePlan as plan, Appointment as planned contact and Encounter as completed follow-up. 1. Kari and basis Kari is the patient. A decisionor supporting document explainswhy the municipality follows up. Patient Document 2. What should be followed up? The requests describe the work:home nursing, ADL assistance andrehabilitation assessment. ServiceRequesthome nursing ServiceRequestrehabilitation 3. EpisodeOfCare: shared municipal frame The plan, appointments and completed contacts belong to the same follow-up over time. ExampleEpisodeOfCare CarePlan The plan makes goals,interventions and furtherfollow-up concrete. ExampleCarePlan Appointment Planned contactbefore it hashappened. Appointment Encounter Contact, meetingor stay that hashappened. Encounter How the relationship works EpisodeOfCare is the frame for follow-up over time.CarePlan describes what should be followed up and how.Appointment is planned contact. Encounter is completed contact.If the contact fulfills an appointment, Encounter.appointment can point back. Completed contacts/stays in the same EpisodeOfCare ShortTermStayshort-term stay Encounterhome visit EncounterFollowupdigital contact EncounterPhonephone contact EncounterEvaluationevaluation meeting Supporting data such as HealthConcern, Observation, CareTeam and Goal can support the request and plan.
Story flow for municipal FHIR examples A simplified clickable overview showing how the Kari example connects patient and supporting documentation, service requests, shared episode context, care plan, planned appointment and completed contacts. 1. Kari and basis Kari (87) is identified.The municipality hassupporting documentationfor follow-up. ExamplePatientKari Hansen DocumentReferencedecision / supportingdocument 2. Municipal requests What the municipalityshould do is modelledas requests. ServiceRequesthome nursing andADL assistance ServiceRequestrehabilitationassessment 3. Shared episode context The episode is the framethat requests, plan andcontacts belong toover time. EpisodeOfCaremunicipal follow-upepisode 4. Plan in the episode The plan makes goals,interventions, appointmentsand follow-up concrete. CarePlanADL, practical supportand rehabilitation Goalpractical follow-up goal 5. Planned contact Before the visit hashappened, it is aplanned appointment. Appointmentplanned home visit22 January 6. Completed follow-up When a contact, meetingor stay has happened,it is documented asEncounter. All Encounter examplesbelow point to the sameepisode. Completed Encounter examples in the same municipal EpisodeOfCare ShortTermStayshort-term stayafter discharge Encounterfirst home visitafter discharge EncounterFollowupdigital follow-up EncounterPhonephone with patientand next of kin EncounterEvaluationmultidisciplinaryevaluation Supporting context used by requests and plan HealthConcernhip fracture as reason Observationstructured assessment CareTeammunicipal team no-kommune profile no-basis profile standard FHIR resource

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.

Patient, Organization And Roles

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.

Decision And Municipal Service Requests

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.

Episode And Follow-Up Plan

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 And Stay

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 Information

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.

Resource List for the January Journey

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

KPR KTT example: assessment, plan and reassessment

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.

Assessments in the example

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.

How the assessments are represented in FHIR

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.