This page is part of the FHIR Specification (v4.2.0: R5 Preview #1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
These patterns provide general guidelines around the design of the resources
that follow them. The resources that follow these patterns indicate how they
follow the pattern by mapping elements in the resource to the pattern. In
general, resources may:
These patterns are intended to provide abstractions for the resources that follow them,
for use by implementers. The resources that follow these patterns indicate how they
follow the pattern by mapping elements in the resource to the pattern. These patterns are
followed more closely, and resources may:
Patterns are a work in progress. This analysis helps identify candidate patterns:
Resources | Pattern (or candidates) | Locations |
ActivityDefinition, DeviceDefinition, HealthcareService, Location, MedicationKnowledge, ObservationDefinition, Organization, PlanDefinition, Practitioner, PractitionerRole, SpecimenDefinition, Substance | | CatalogEntry.referencedItem |
CareTeam, Device, Endpoint, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant + [Endpoint] | Communication.recipient |
CareTeam, Device, Endpoint, Group, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant + [Endpoint] - [Location] | CommunicationRequest.recipient |
CareTeam, Device, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [HealthcareService, Location] | Consent.provision.actor.reference |
CareTeam, Device, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Location] | CarePlan.activity.detail.performer DeviceRequest.performer ImagingStudy.series.performer.actor MedicationRequest.performer Procedure.performer.actor ServiceRequest.performer Task.owner |
CareTeam, Device, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, Substance | Participant + [Substance] - [Group, HealthcareService] | Contract.term.action.performer |
CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, HealthcareService, Location] | AdverseEvent.participant.actor CarePlan.author CarePlan.contributor ChargeItem.performer.actor DocumentReference.author |
CareTeam, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Device, Location] | Consent.performer |
CareTeam, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [CareTeam, PractitionerRole] - [Location] ParticipantLiving + [Organization, CareTeam, PractitionerRole] | CareTeam.participant.member Observation.performer |
CareTeam, Organization, Practitioner, PractitionerRole | | DiagnosticReport.performer DiagnosticReport.resultsInterpreter |
Device, Endpoint, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | | Communication.sender CommunicationRequest.informationProvider |
Device, Group, Location, Organization, Patient, Practitioner, PractitionerRole, Specimen | | DocumentReference.subject |
Device, Group, Location, Patient | | DeviceRequest.subject DiagnosticReport.subject List.subject Observation.subject ServiceRequest.subject |
Device, Group, Location, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Organization, CareTeam, HealthcareService] | MeasureReport.subject |
Device, Group, Location, Patient, Substance | | Specimen.subject |
Device, Group, Medication, Patient, Practitioner, PractitionerRole, Substance | | Group.member.entity |
Device, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [CareTeam, HealthcareService, Location] | Contract.term.offer.party.reference Contract.term.action.subject.reference Contract.term.action.requester |
Device, Group, Patient | | ImagingStudy.subject |
Device, Group, Patient, Practitioner | ParticipantLiving + [Group, Device] - [RelatedPerson] | DocumentManifest.subject |
Device, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole | Participant - [Group, CareTeam, RelatedPerson] | Account.subject |
Device, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Organization, CareTeam] | Appointment.participant.actor AppointmentResponse.actor Schedule.actor |
Device, Organization, Patient, Practitioner, PractitionerRole | | Flag.author |
Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [Device, PractitionerRole] - [Location] ParticipantLiving + [Organization, Device, PractitionerRole] | Signature.who Signature.onBehalfOf AuditEvent.agent.who AuditEvent.source.observer ChargeItem.enterer CommunicationRequest.requester Composition.author Composition.section.author DocumentManifest.author Invoice.participant.actor MedicationDispense.performer.actor MedicationRequest.requester Provenance.agent.who Provenance.agent.onBehalfOf QuestionnaireResponse.author ServiceRequest.requester SupplyRequest.requester Task.requester |
Device, Organization, Practitioner, PractitionerRole | | DeviceRequest.requester |
Device, Patient, Practitioner, PractitionerRole | ParticipantLiving + [Device, PractitionerRole] - [RelatedPerson] | List.source |
Device, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantLiving + [Device, PractitionerRole] | Condition.asserter MedicationAdministration.performer.actor RequestGroup.action.participant |
Device, Practitioner, PractitionerRole | | DetectedIssue.author RequestGroup.author RiskAssessment.performer |
Group, Location, Medication, Organization, Patient, PlanDefinition, Practitioner, PractitionerRole, Procedure | | Flag.subject |
Group, Organization, Patient | | Goal.subject |
Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [Group, PractitionerRole] - [Location] ParticipantLiving + [Group, Organization, PractitionerRole] | Task.restriction.recipient |
Group, Patient | ParticipantLiving + [Group] - [Practitioner, RelatedPerson] | CarePlan.subject CareTeam.subject ChargeItem.subject ClinicalImpression.subject Communication.subject CommunicationRequest.subject Condition.subject DeviceUseStatement.subject Encounter.subject GuidanceResponse.subject Invoice.subject MedicationAdministration.subject MedicationDispense.subject MedicationRequest.subject MedicationUsage.subject NutritionIntake.subject Procedure.subject RequestGroup.subject RiskAssessment.subject |
Group, Patient, Practitioner, RelatedPerson | ParticipantContactable + [Group] - [Organization, Location] ParticipantLiving + [Group] | AdverseEvent.subject |
HealthcareService, Organization | | SupplyRequest.supplier |
Location, Organization | ParticipantContactable - [Practitioner, Patient, RelatedPerson] | CoverageEligibilityRequest.item.facility Encounter.hospitalization.origin Encounter.hospitalization.destination SupplyRequest.deliverFrom |
Location, Organization, Patient | ParticipantContactable - [Practitioner, RelatedPerson] | SupplyRequest.deliverTo |
Location, Organization, Practitioner, PractitionerRole | ParticipantContactable + [PractitionerRole] - [Patient, RelatedPerson] | MeasureReport.reporter |
Location, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [PractitionerRole] - [Organization] ParticipantLiving + [PractitionerRole, Location] | MedicationDispense.receiver |
Organization, Patient | ParticipantContactable - [Practitioner, RelatedPerson, Location] ParticipantLiving + [Organization] - [Practitioner, RelatedPerson] | BiologicallyDerivedProduct.collection.source |
Organization, Patient, Practitioner, PractitionerRole | ParticipantContactable + [PractitionerRole] - [RelatedPerson, Location] ParticipantLiving + [Organization, PractitionerRole] - [RelatedPerson] | Contract.author |
Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [PractitionerRole] - [Location] ParticipantLiving + [Organization, PractitionerRole] | Basic.author Claim.payee.party Composition.attester.party Contract.term.asset.valuedItem.responsible Contract.term.asset.valuedItem.recipient Contract.signer.party DocumentManifest.recipient ExplanationOfBenefit.payee.party MedicationRequest.informationSource MedicationUsage.informationSource NutritionIntake.informationSource |
Organization, Patient, Practitioner, RelatedPerson | ParticipantContactable - [Location] ParticipantLiving + [Organization] | Annotation.author[x] |
Organization, Patient, RelatedPerson | ParticipantContactable - [Practitioner, Location] ParticipantLiving + [Organization] - [Practitioner] | Account.guarantor.party Coverage.policyHolder Coverage.payor Invoice.recipient |
Organization, Practitioner, PractitionerRole | | Claim.provider Claim.careTeam.provider ClaimResponse.requestor ClaimResponse.addItem.provider Consent.verification.verifiedBy Contract.contentDefinition.publisher CoverageEligibilityRequest.provider CoverageEligibilityResponse.requestor DocumentReference.authenticator EnrollmentRequest.provider EnrollmentResponse.requestProvider ExplanationOfBenefit.provider ExplanationOfBenefit.careTeam.provider ExplanationOfBenefit.addItem.provider Immunization.performer.actor Linkage.author MedicationDispense.substitution.responsibleParty MessageHeader.destination.receiver MessageHeader.sender MessageHeader.responsible ObservationDefinition.publisher Patient.generalPractitioner PaymentNotice.provider PaymentNotice.payee PaymentReconciliation.requestor PaymentReconciliation.detail.submitter PaymentReconciliation.detail.payee SpecimenDefinition.publisher SupplyDelivery.supplier Topic.publisher VerificationResult.primarySource.who VerificationResult.attestation.who VerificationResult.attestation.onBehalfOf |
Organization, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [PractitionerRole] - [Patient, Location] ParticipantLiving + [Organization, PractitionerRole] - [Patient] | Group.managingEntity |
Organization, PractitionerRole | | MedicinalProductDefinition.contact.contact |
Patient, Person, Practitioner, RelatedPerson | ParticipantContactable + [Person] - [Organization, Location] ParticipantLiving + [Person] | Person.link.target |
Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [PractitionerRole] - [Organization, Location] ParticipantLiving + [PractitionerRole] | AdverseEvent.recorder AdverseEvent.suspectEntity.causality.author AllergyIntolerance.recorder AllergyIntolerance.asserter Condition.recorder DeviceUseStatement.source Goal.expressedBy Procedure.recorder QuestionnaireResponse.source |
Patient, RelatedPerson | ParticipantContactable - [Practitioner, Organization, Location] ParticipantLiving - [Practitioner] | Consent.verification.verifiedWith Coverage.subscriber Patient.link.other |
Practitioner, PractitionerRole | ParticipantLiving + [PractitionerRole] - [Patient, RelatedPerson] | BiologicallyDerivedProduct.collection.collector Claim.enterer ClinicalImpression.performer CoverageEligibilityRequest.enterer CoverageEligibilityRequest.item.provider CoverageEligibilityResponse.insurance.item.provider DetectedIssue.mitigation.author EpisodeOfCare.careManager ExplanationOfBenefit.enterer ImagingStudy.referrer ImagingStudy.interpreter MedicationRequest.recorder MessageHeader.enterer MessageHeader.author NutritionOrder.orderer ResearchStudy.principalInvestigator Specimen.collection.collector SupplyDelivery.receiver VisionPrescription.prescriber |
Practitioner, PractitionerRole, RelatedPerson | ParticipantLiving + [PractitionerRole] - [Patient] | Encounter.participant.individual |