This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). 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, BiologicallyDerivedProduct, DeviceDefinition, Ingredient, Location, ManufacturedItemDefinition, MedicinalProductDefinition, NutritionProduct, ObservationDefinition, Organization, PackagedProductDefinition, PlanDefinition, Practitioner, ResearchStudy, SubstanceDefinition | | RegulatedAuthorization.subject |
BiologicallyDerivedProduct, Device, Group, Location, Medication, NutritionProduct, Organization, Patient, Practitioner, Procedure, Substance | | DetectedIssue.subject GenomicStudy.subject GenomicStudy.analysis.subject MolecularSequence.subject Observation.subject |
BiologicallyDerivedProduct, Device, Group, Location, Medication, Organization, Patient, Practitioner, Procedure, Substance | | DiagnosticReport.subject |
BiologicallyDerivedProduct, Device, Group, Location, Patient, Substance | | Specimen.subject |
BiologicallyDerivedProduct, Device, Group, Medication, Patient, Specimen, Substance | | ResearchSubject.subject |
CareTeam, Device, DeviceDefinition, Endpoint, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant + [Endpoint, DeviceDefinition] | ActivityDefinition.participant.typeReference PlanDefinition.actor.option.typeReference PlanDefinition.action.participant.typeReference RequestOrchestration.action.participant.typeReference |
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, Endpoint, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant + [Endpoint] - [Group, Location] | Communication.sender |
CareTeam, Device, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant | MeasureReport.subject |
CareTeam, Device, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, Specimen | Participant + [Specimen] | Group.member.entity |
CareTeam, Device, Group, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Organization] | Appointment.participant.actor |
CareTeam, Device, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [HealthcareService, Location] | Consent.provision.actor.reference Permission.rule.activity.actor |
CareTeam, Device, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Organization] | Schedule.actor |
CareTeam, Device, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Location] | CarePlan.activity.plannedActivityDetail.performer ChargeItem.performer.actor DeviceRequest.performer ImagingSelection.performer.actor ImagingStudy.series.performer.actor Procedure.performer.actor ServiceRequest.performer Task.owner Transport.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] | AllergyIntolerance.participant.actor AuditEvent.agent.who AuditEvent.source.observer Basic.author CarePlan.custodian CarePlan.contributor Condition.participant.actor DeviceDispense.performer.actor DocumentReference.author List.source MedicationDispense.performer.actor NutritionIntake.performer.actor Provenance.agent.who SupplyRequest.requester |
CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, ResearchSubject | | AdverseEvent.participant.actor |
CareTeam, DeviceDefinition, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | | MedicationRequest.performer |
CareTeam, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Device, HealthcareService, Location] | Procedure.focus |
CareTeam, Group, Organization, Practitioner | | Requirements.statement.source |
CareTeam, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Device, Location] | Consent.grantor Consent.grantee Permission.asserter Subscription.managingEntity |
CareTeam, Organization, Patient, Practitioner, PractitionerRole | | Provenance.agent.onBehalfOf |
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 |
CareTeam, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantLiving + [CareTeam, PractitionerRole] | Goal.source |
Device, Endpoint, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | | CommunicationRequest.informationProvider |
Device, Group, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Organization, CareTeam] | AppointmentResponse.actor |
Device, Group, HealthcareService, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Organization, CareTeam, Location] | Encounter.participant.actor |
Device, Group, Location, Medication, Organization, Patient, Practitioner, Procedure, Specimen, Substance | | ImagingSelection.subject |
Device, Group, Location, Organization, Patient, Practitioner | ParticipantContactable + [Group, Device] - [RelatedPerson] | List.subject Procedure.subject |
Device, Group, Location, Patient | | DeviceRequest.subject ServiceRequest.subject |
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, Organization, Person | | EvidenceReport.section.author |
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, Organization, Patient, Practitioner, PractitionerRole | | ArtifactAssessment.content.author Flag.author |
Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [Device, PractitionerRole] - [Location] ParticipantLiving + [Organization, Device, PractitionerRole] | Signature.who Signature.onBehalfOf ChargeItem.enterer CommunicationRequest.requester Composition.author Composition.section.author DocumentManifest.author Invoice.participant.actor MedicationRequest.requester QuestionnaireResponse.author QuestionnaireResponse.source ServiceRequest.requester Task.requester Transport.requester |
Device, Organization, Practitioner, PractitionerRole | | DeviceRequest.requester GenomicStudy.analysis.performer.actor |
Device, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantLiving + [Device, PractitionerRole] | DetectedIssue.author MedicationAdministration.performer.actor RiskAssessment.performer |
Device, Patient, Practitioner, RelatedPerson | ParticipantContactable + [Device] - [Organization, Location] ParticipantLiving + [Device] | InventoryReport.reporter |
Device, Practitioner, PractitionerRole | | RequestOrchestration.author |
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 Transport.restriction.recipient |
Group, Organization, Practitioner, PractitionerRole | | MeasureReport.reporter |
Group, Patient | ParticipantLiving + [Group] - [Practitioner, RelatedPerson] | Appointment.subject CarePlan.subject CareTeam.subject ChargeItem.subject ClinicalImpression.subject Communication.subject CommunicationRequest.subject Condition.subject Encounter.subject GuidanceResponse.subject Invoice.subject MedicationAdministration.subject MedicationDispense.subject MedicationRequest.subject MedicationUsage.subject NutritionIntake.subject NutritionOrder.subject RequestOrchestration.subject RiskAssessment.subject |
Group, Patient, Practitioner | ParticipantLiving + [Group] - [RelatedPerson] | Consent.subject |
Group, Patient, Practitioner, RelatedPerson, ResearchSubject | ParticipantLiving + [Group, ResearchSubject] | AdverseEvent.subject |
HealthcareService, Organization | | SupplyRequest.supplier |
HealthcareService, Organization, Patient, Practitioner | ParticipantContactable + [HealthcareService] - [RelatedPerson, Location] ParticipantLiving + [Organization, HealthcareService] - [RelatedPerson] | Consent.manager Consent.controller |
Location, Organization | ParticipantContactable - [Practitioner, Patient, RelatedPerson] | Claim.facility CoverageEligibilityRequest.item.facility Encounter.admission.origin Encounter.admission.destination ExplanationOfBenefit.facility SupplyRequest.deliverFrom |
Location, Organization, Patient | ParticipantContactable - [Practitioner, RelatedPerson] | SupplyRequest.deliverTo |
Location, Organization, ResearchStudy | | ResearchStudy.site |
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, Person, RelatedPerson | ParticipantContactable + [Person] - [Practitioner, Location] ParticipantLiving + [Organization, Person] - [Practitioner] | PaymentReconciliation.paymentIssuer |
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] | Annotation.author[x] Claim.payee.party Composition.attester.party Contract.term.asset.valuedItem.responsible Contract.term.asset.valuedItem.recipient Contract.signer.party DeviceUsage.informationSource DocumentManifest.recipient DocumentReference.attester.party ExplanationOfBenefit.payee.party Immunization.performer.actor MedicationRequest.informationSource MedicationUsage.informationSource |
Organization, Patient, RelatedPerson | ParticipantContactable - [Practitioner, Location] ParticipantLiving + [Organization] - [Practitioner] | Account.guarantor.party Coverage.paymentBy.party Coverage.policyHolder Invoice.recipient |
Organization, Practitioner | ParticipantContactable - [Patient, RelatedPerson, Location] ParticipantLiving + [Organization] - [Patient, RelatedPerson] | Citation.citedArtifact.contributorship.entry.contributor |
Organization, Practitioner, PractitionerRole | | Claim.provider Claim.careTeam.provider ClaimResponse.requestor ClaimResponse.addItem.provider Consent.verification.verifiedBy Contract.contentDefinition.publisher CoverageEligibilityRequest.provider CoverageEligibilityResponse.requestor EnrollmentRequest.provider EnrollmentResponse.requestProvider ExplanationOfBenefit.provider ExplanationOfBenefit.careTeam.provider ExplanationOfBenefit.addItem.provider Linkage.author MedicationDispense.substitution.responsibleParty MessageHeader.destination.receiver MessageHeader.sender MessageHeader.responsible ObservationDefinition.publisher Patient.generalPractitioner PaymentNotice.provider PaymentNotice.payee PaymentReconciliation.enterer PaymentReconciliation.requestor PaymentReconciliation.allocation.submitter PaymentReconciliation.allocation.payee ResearchStudy.associatedParty.party SpecimenDefinition.publisher SupplyDelivery.supplier 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 | | Citation.citedArtifact.contributorship.entry.affiliation 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] | Claim.enterer ExplanationOfBenefit.enterer Procedure.recorder Specimen.collection.collector |
Patient, Practitioner, PractitionerRole, RelatedPerson, ResearchSubject | ParticipantLiving + [PractitionerRole, ResearchSubject] | AdverseEvent.recorder AdverseEvent.suspectEntity.causality.author |
Patient, Practitioner, RelatedPerson | ParticipantLiving | Device.operation.operator |
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 ClinicalImpression.performer CoverageEligibilityRequest.enterer CoverageEligibilityRequest.item.provider CoverageEligibilityResponse.insurance.item.provider DetectedIssue.mitigation.author EpisodeOfCare.careManager GenomicStudy.referrer GenomicStudy.interpreter ImagingStudy.referrer ImagingStudy.interpreter MedicationRequest.recorder MessageHeader.enterer MessageHeader.author NutritionOrder.orderer SupplyDelivery.receiver VisionPrescription.prescriber |