Profiling a FHIR Careplan for Immunizations: part 2

I’ve been trying to figure out a good way of showing a profiled resource. In the previous post, we had a paragraph on each element we wanted to change, but that isn’t the easiest to understand. I do know that the core team is looking at ways of doing this – and I think it’s going to be a focus of the next connectathon, but in the mean time here’s an option to consider – a simple table.

It’s not complete – for example it’s doesn’t (yet) show ValueSet bindings or types of Resource in Resource references, but it’s a start…

The key to the table:

  • Path is the path to the element or extension
  • Source is whether it comes from the core resource unaltered (core), has been altered by the profile (prof) or is an extension (ext).
  • Multiplicity, datatype and description are obvious.

Still not completely happy with the display as yet (and it only just fits in the space on this blog) – will continue working on it. The actual profile can be found here, (it’s the Blaze  server that Richard (one of my Orion Health colleagues) wrote – the validation is truly brutal – if Blaze accepts it, then I know it’s good!). Again a work in progress, and I’ll update as we go.

Oh – by the way – if you do view the profile, be aware that at the moment the SSL certificate is self signed, and some clients aren’t happy with that. We are getting a certificate from a recognized CA, but the wheels grind slowly…

Path Source Mult DataType Description
CarePlan core 1..1 Resource Healthcare plan for patient
-> profileDescription ext 0..1 string Describes the Protocol
-> profileUri ext 0..1 string The URI that points to the description of the profile
CarePlan.identifier core 0..* Identifier External Ids for this plan
CarePlan.patient prof 1..1 Resource Reference Who care plan is for
-> dob ext 0..1 date Date of Birth
CarePlan.status core 1..1 code planned | active | completed
CarePlan.period core 0..1 Period Time period plan covers
CarePlan.modified prof 1..1 dateTime When last updated
CarePlan.concern prof 0..0 Resource Reference Health issues this plan addresses
CarePlan.participant core 0..1 Who’s involved in plan?
CarePlan.participant.role core 0..1 Codeable Concept Type of involvement
CarePlan.participant.member core 1..1 Resource Reference Who is involved
CarePlan.goal core 0..1 Desired outcome of plan
-> disease ext 0..1 string Allows a goal to specify the disease it is protecting against
CarePlan.goal.description core 1..1 string What’s the desired outcome?
CarePlan.goal.status prof 0..0 code in progress | achieved | sustaining | cancelled
CarePlan.goal.notes core 0..1 string Comments about the goal
CarePlan.goal.concern prof 0..0 Resource Reference Health issues this goal addresses
CarePlan.activity core 0..1 Action to occur as part of plan
-> immunization ext 0..1 Resource Reference If a completed activity, then references the immunization record
CarePlan.activity.goal core 0..* idref Goals this activity relates to
CarePlan.activity.status core 0..1 code not started | scheduled | in progress | on hold | completed | cancelled
CarePlan.activity.prohibited core 1..1 boolean Do NOT do
CarePlan.activity.actionResulting prof 0..0 Resource Reference Appointments, orders, etc.
CarePlan.activity.notes core 0..1 string Comments about the activity
CarePlan.activity.detail prof 0..0 Resource Reference Activity details defined in specific resource
CarePlan.activity.simple core 0..1 Activity details summarised here
CarePlan.activity.simple.category core 1..1 code diet | drug | encounter | observation | procedure | supply | other
CarePlan.activity.simple.code prof 1..1 Codeable Concept Detail type of activity
-> numberOfDoses ext 0..1 integer Total number of doses for this vaccine
-> doseSequence ext 0..1 integer Sequence number of this vaccine in the series
CarePlan.activity.simple.timing[x] core 0..1 Schedule When activity is to occur
CarePlan.activity.simple.location prof 0..0 Resource Reference Where it should happen
CarePlan.activity.simple.performer core 0..* Resource Reference Who’s responsible?
CarePlan.activity.simple.product prof 0..0 Resource Reference What’s administered/supplied
CarePlan.activity.simple.dailyAmount prof 0..0 Quantity How much consumed/day?
CarePlan.activity.simple.quantity prof 0..0 Quantity How much is administered/supplied/consumed
CarePlan.activity.simple.details core 0..1 string Extra info on activity occurrence
CarePlan.notes core 0..1 string Comments about the plan

About David Hay
I'm an independent contractor working with a number of Organizations in the health IT space. I'm an HL7 Fellow, Chair Emeritus of HL7 New Zealand and a co-chair of the FHIR Management Group. I have a keen interest in health IT, especially health interoperability with HL7 and the FHIR standard. I'm the author of a FHIR training and design tool - clinFHIR - which is sponsored by InterSystems Ltd.

Leave a Reply

%d bloggers like this: