This page is part of the FHIR Specification (v5.0.0-snapshot3: R5 Snapshot #3, to support Connectathon 32). 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 FamilyMemberHistory.participant.actor 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] | 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 |
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 Flag.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, RelatedPerson | | 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 Patient.generalPractitioner PaymentNotice.provider PaymentNotice.payee PaymentReconciliation.enterer PaymentReconciliation.requestor PaymentReconciliation.allocation.submitter PaymentReconciliation.allocation.payee ResearchStudy.associatedParty.party SupplyDelivery.supplier SupplyDelivery.receiver 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 VisionPrescription.prescriber |