Transaction Helathcare FHIR


I have mapping some healtchcare fields with FHIR.
My health model its based in every patient has some episodes and every episode has some “transaction”. One transaction is a number that identifie any event related to patient.

What would the correct field in FHIR to informate any transaction?


In FHIR, we break the notion of “any event that happens during an episode” into many different resources - there can be various ProcedureRequests, Conditions, Observations, Procedures, Encounters, AllergyIntolerance instances and potentially other things created. Each of those will have a unique id on the server that creates them. So you could map that to the resource id (if it matches the format) or to the resource identifier if not. If you need all of your transaction ids to be found in a single resource, I’d look at Provenance - a new Provenance instance is created every time a resource is created or changed. Provenance doesn’t have an identifier element, but you could add an extension.

Thanks Lloyd.

I have reviewed all resource in FHIR, and I see that exist one Logical Model Event:

I think that this resource is perfect to express the transaction concept, but i have a new doubt about this.

Any transaction have many observations, and I think that the best form to mapping this transaction should be in the Observation resource, any idea?


Event is a logical model. It’s used as a pattern for other resources, but it isn’t a resource itself. You can’t send just an “Event” inside an instance - you must send one of the other resources that is mapped to Event (Observation, Procedure, MedicationAdministration, etc.

Can you enumerate some of the types of events you might have?

This are any examples:

Transaction: 14578 Description: Physical exploration pediatrics
Transaction: 14579 Description: General exploration pediatrics

Are those billing classifications?

No, are transactions that contain some observation, and each transaction its asociate with one type of transaction.

What’s the purpose of grouping the Observations?

Because the data on my datawarhouse is structured on this form.

Well, in order to know how to map it, we need to understand the purpose underlying the organization of the data. Is there documentation or anyone who can explain what the purpose of the hierarchical structure is?

In my datawarhouse, all observations ara structured as follows:

One patient have some observations, the observations are grouped with transaction. One transaction is a grouping acording to same concept (observation), or formulary that done the practiotioner in one date. The transaction is a autonumeric. Each transaction have assigned an agrupation.


patient: 1
transaction group: Diet
transaction: 1
date transaction: 13/07/2017
observation 1: breakfast
observation 2: dinner

Any idea what i can do to solve this situation?


I’m still not clear what the purpose of the transaction group is. Data in your persistence layer can have all sorts of stuff in it that doesn’t necessarily need to be surfaced to the outside world. What would downstream users do with the transaction information if it was present? What business process does it drive/enable?

The purpose of the transaction and transaction group is that the users can find quickly the observation.

For example I have some observations about the nutrition of patients. In my hospital all this observations is agruped with same transaction group: Dietitian Questionnarie. And every time that one patient do this questionnaire, is a different transaction.

Another example is a transaction group named: Vital Signs that containe some observations:

Systolic Arterial Tension
Heart rate
Tension Arterial Mitja
Auxiliary Temperature
Diastolic Arterial Tension
Saturated hemoglobin

Each time that the partiotioner mesaure any observation of this group represent a transaction.

That sounds like it’s serving the same purpose as Observation.category. Have you looked at that?

In the case of Vital-signs yes…the problem is that i have a lot of category that tey’re not in the category observation.

The othe rproblem is in what elemnt assign the code of transaction, because every transaction is unique.

If I will can put in category observation any type of category, the first problem is resolve.I can do this ?

For the second problem, code of transaction, I can put this code with extension of identifier in each observation ? (_identifier…)

Both Observation and Procedure have category - and can accept whatever category codes you wish. If you’re wanting to categorize more than that, you could have problems. I guess one possibility would be to use List to create groups of items - but I’m not sure you’ll find a lot of other systems that will really understand what you’re trying to do with them or take advantage of that organization.

I can put the transaction code into IDENTIFIER element into Observation resource?

What you refer with ‘List to create groups of items’ ?

Identifier is a unique identifier for that particular instance. So you shouldn’t have the same transaction code on more than one record - ever. Look at the List resource - it’s a way of grouping other resources.