Help modelling Procedure based on Swedish National Clinical Models

I am trying to model some of the elements of Procedure (in the National Clinical Models) in OpenEHR.
Which element in openEHR-HER-ACTION.procedure.v1 can be equal to the following element:

  • Purpose 0…* CD_CV : Code from SNOMED-CT << 363675004 Intents (nature of procedure values) (qualifier value). Code to indicate the purpose of the activity. Used in cases where it does not appear from the class’ other attributes and there is a special need to document the purpose. Examples of purposes that may need to be documented are, for example, preventive intent, diagnostic intent, curative intent, palliative intent, or combinations thereof.
    I am wondering if one of the following in openEHR-HER-ACTION.procedure.v1 can describe the “Purpose”:
  • Indication
  • Procedure type
  • Reason.
    Link to the Swedish National Models. Åtgärd - Nationella informationsmängder - Nationell informationsstruktur

Hi Maryam! None of the elements currently in ACTION.procedure are intended to cover ‘Intent’ as you describe. However, this element is present in INSTRUCTION.service_request. I think it’s reasonable to expect to be able to document this both in a request and related to the carrying out of the procedure, which is the purpose of the ACTION archetype. I suggest you submit a change request for ACTION.procedure to add this element, in alignment with INSTRUCTION.service_request.

1 Like

@siljelb Hi! Thank you for your response. Do you think it is possible to use the element “Intent” in INSTRUCTION.service_request as an equal element to “Purpose” because I have created a Template?

It’s difficult to respond to that question without knowing the context and content of your template. Would you be able to post some more info?

I’ve look at the ACTION, and I think I might use ‘Indication’ for ‘Purpose’., especially as it is a multiple occurence node and can be cloned in the template

I would probably clone it in the template , renaming one node as Purpose, to which you can add the list of Swedish high-level purpose codes, leaving the original Indcation element for more granular clinical indications.


Indication [0…]: ‘suspected appendicitis’
Purpose [0…
] : ‘curative intent’, ‘diagnostic intent’

There is still an argument for carrying it in the INSTRUCTION too (if you need the INSTRUCTION)

1 Like

@siljelb Kroppslängd - Nationella informationsmängder - Nationell informationsstruktur
This is the link to the model (Body length) that I am trying to map in OpenEHR. The thing is every model has two main parts including the Observation Informationsmodell - Hälso- och sjukvård - Nationell informationsstruktur - Nationell informationsstruktur and Procedure Åtgärd - Nationella informationsmängder - Nationell informationsstruktur, that is why I have created a Template for that. But the challenge is to find the qual element to “Syfte (Purpose)” in the Procedure model and “Status” in the Observation Model.

So the Template has been created by using ACTION.procedure.v1 and Observation.height.v2.

@ian.mcnicoll Hi! I was thinking the same that “Indication” can be used for “Purpose”.

I think your choice of ACTION.procedure.v1 and Observation.height.v2 is correct, and I agree with @ian.mcnicoll that ‘Indication’ can be repurposed for intent or purpose here.

Regarding ‘status’ in the observation, I think this is a difference between the ways openEHR and NI models these things. In openEHR, the presence of an OBSERVATION indicates that the observation has been performed, while the process status of the observation procedure is carried in the ACTION pathway steps.

So the inställd, avbruten, pågående, inte utförd, utförd and planerad from the NI model would in the openEHR model be represented by the care flow steps Procedure cancelled, Procedure suspended, Procedure commenced, Procedure aborted(?), Procedure performed and Procedure planned in ACTION.procedure.


@siljelb That is true.

1 Like

Also we would handle a future target for an Observation using a Goal archetype not as a flag on on an Observation. If this seems awkward, it is!!

The philosophy underpinning the SKL models is quite different from the way that openEHR (or indeed FHIR) looks at the world, since the SKL mixes up process states with data recording.

The NL and UK alignment is much easier because their models are much more aligned with openEHR and FHIR.

This is very familiar territory


I belive a lot of the thinking in the Swedish NI modeling philosophy stems from the old HL7 RIM modeling philosophy (e.g. a few base classes and status flags/modifiers that changes a lot of the meaning of the class and some of it’s properties). Many of us have (during many years) tried to say that this is a confusing way to model and hard to use.

A positive thing in recent years is an interest in mapping the NI models to openEHR and FHIR wich makes at least the mapped results practically useful and more understandable. This thread represents such nice mapping work, thanks @MaryamRazavi, @siljelb and @ian.mcnicoll !