Limiting Physicians to defined patients within a FHIR structure - hl7-fhir

Hospitals and clinic usually have a regional organizational structure and physicians are assigned to one of these levels --such as Region> to Market> to Clinics> and 1 or more patient data assigned to the clinic.
What is the most appropriate way to define this organizational structure with FHIR to ensure only physicians in their defined clinics can see their assigned patient data?

Related

Appropriate usage of FHIR MedicationRequest paired with MedicationStatement basedOn

I've seen the relationship between a MedicationRequest and MedicationStatement used in different ways at different healthcare entities - specifically linking the two with MedicationStatement.basedOn - and I'm curious if there is a best practice or recommendation for a couple clinical workflows. The FHIR documentation could be interpreted in multiple ways.
Consider the two following basic workflows:
A primary care clinic prescribes a non-acute medication (i.e. lisinopril), and creates a MedicationRequest, which gets ePrescribed to a pharmacy. This prescription could be repeatedly refilled and remain active for the patient's life, or could be stopped if the patient no longer needs later in time. This prescription will span multiple encounters (events) for the treatment plan for this patient.
A patient arrives for an inpatient stay at a hospital. That patient notes they take lisinopril during their intake, and the hospital stores this as a MedicationStatement. That patient's primary care physician (who prescribed the lisinopril) and the hospital are hooked up to the same HIE, and the hospital sees the MedicationRequest for that patient when ingesting data.
For scenario 2 (more straightforward), I could see the hospital setting a reference on their MedicationStatement.basedOn to the ingested MedicationRequest. This aligns with the following from the MedicationStatement documentation:
This is a record of a medication being taken by a patient or that a medication has been given to a patient, where the record is the result of a report from the patient or another clinician, or derived from supporting information (for example, Claim, Observation or MedicationRequest). A medication statement is not a part of the prescribe->dispense->administer sequence but is a report that such a sequence (or at least a part of it) did take place, resulting in a belief that the patient has received a particular medication.
This resource is distinct from MedicationRequest, MedicationDispense and MedicationAdministration. Each of those resources refers to specific events - an individual order, an individual provisioning of medication or an individual dosing. MedicationStatement is a broader assertion covering a wider timespan and is independent of specific events. The existence of resource instances of any of the preceding three types may be used to infer a medication statement. However, medication statements can also be captured on the basis of other information, including an assertion by the patient or a care-giver, the results of a lab test, etc.
For scenario 1 however, I have seen two possible ways to use these resources based on the above. Depending on how the above is interpreted, both could be argued as appropriate usage:
When the clinic prescribes lisinopril, a MedicationRequest is created. If treatment is stopped, that resource's status is updated. MedicationStatement resources are reserved for when their patients self-report a medication, or from ingesting data from a HIE.
When the clinic prescribes lisinopril, both a MedicationRequest and MedicationStatement is created. The MedicationRequest only refers to that specific encounter of prescribing the medication, and the MedicationStatement is used throughout the overall treatment of the patient, spanning multiple encounters or events. If the treatment no longer requires lisinopril, the MedicationStatement status is updated.
From a purely technical perspective, both are using the resources correctly (MedicationStatement is basedOn the MedicationRequest). However from a FHIR usage and clinical data perspective, which usage is correct?
MedicationStatement.basedOn has been dropped in R5 and shouldn't really be there in R4. It would mean "This MedicationStatement was created under the authorization of order XYZ", and that almost never makes sense. If you're going to link a statement to an order, use the 'derivedFrom' element.
Both scenarios are fine. MedicationStatement can be used just for self-reported meds, but it's also fine to have an instance for each active medication therapy. It sort of depends on how the system likes to represent information.

Microservices architecture domain context

We have two microservices a person service and a resource service.
The person services stores the general person details, name, address contact information etc.
The resource service would store details about the person if they have a role of Teacher, eg. what subjects they can teach, along with their name.
When creating a person you could create them as a teacher and therefore the person service will store the main person details and the resource service will store the teacher information. We're thinking this should be a Saga then as we'd be storing information about the person in two different services? Would this be correct?
Secondly, if that is correct, when the saga completes what message or messages should go on the message bus to say Person has been created and they have teacher details too?
Should there be one message that says PersonCreated with all the details of the person and the teacher? Or two messages one of PersonCreated with those details and another TeacherCreated which is the resources view of the Teacher?

Use FHIR to model the provider / insurance model

I'm looking to understand the finance interactions a bit. If I have a doctor who takes 2 or 3 insurance plans, what are the FHIR objects I need to use to model that?
My current guess is that one needs
An Organization to represent an insurance company with type = ins
Another Organization to represent the healthcare provider with type prov
Somehow attach and InsurancePlan to the network.
The Finance Overview does not cover this use case.

What is the difference between certain fields of entities in the Common Data Model (CDM) for sales?

While studying the CDM models for sales and mapping my data to different fields, I was confused about what is the difference between some fields like totalDiscountAmount and discountAmount in Order entity and between ownerId and owningUser. Can someone please clarify?
You can find all these details in documentation.
discountamount: Type the discount amount for the order if the customer is eligible for special savings.
totaldiscountamount: Shows the total discount amount, based on the discount price and rate entered on the order.
ownerid is of principal type, which can hold the value of either team or systemuser internally in owningteam or owninguser respectively - useful in security concepts across the CDS product. Read more

HL7 FHIR implementation of animal owners

We are working on implementing the FHIR API in a veterinary health care system. One question that has come up is which resource type we should be using for the owner of the animal (patient). In the context of the animal it is easy to see that the owner information can go into the contact of the Patient resource.
However, an animal owner is quite often referenced outside the context of an individual patient. So that leads me to RelatedPerson. The description of the RelatedPerson resource gives an example of "The owner or trainer of a horse", so it seems it might fit. However, one big issue with this is that a RelatedPerson can only be linked to a single patient. The relationship between animals and owners in the veterinary domain is many to many. So an owner often has more than one animal.
This issue led me to the Person resource. This at least gives a way to have multiple Patient's (animals) belonging to one Person (owner).
In either case we'll have to add a "percentOwnership" attribute as an extension to the resource since an animal can potentially have multiple owners.
If this is the way we should do it (using the Person resource), my next question is how would one search using the API for all Patient's linked from a given Person? If we used the RelatedPerson (which is probably not workable due to the limitation mentioned above), it seems like this search would use the relatedPerson compartment to search. However, there doesn't seem to be a person compartment in the spec.
Summary:
What resource to use for the owner of an animal?
How to search for all animals belonging to a particular owner?
If you just want contact information, then Patient.contact is fine. If you're interested in the owner as a potential actor (information recipient, informer, performer, etc.) then RelatedPerson will be necessary. However, RelatedPerson is specific to a particular Patient's record (i.e. you'll have a distinct RelatedPerson instance for each animal). To link all of the RelatedPerson instances together and say "this is the same person", you'd use Person. To query, you'd query on Person where link matched one of the desired RelatedPerson records. Then you'd need to do an include of Person.link and RelatedPerson.patient to bring back all of the animals

Resources