description: A Capability Statement with slicing defined package_name: hl7.fhir.us.registry-protocols.r4b derivation: constraint name: CapabilityStatementWithSlices abstract: true type: CapabilityStatement elements: rest: index: 0 elements: resource: index: 1 slicing: rules: open description: Slice based on the rest.resource.type pattern discriminator: - {path: type, type: value} min: null slices: MedicationStatementSlice: match: {type: MedicationStatement} schema: array: true index: 42 elements: type: pattern: {type: Code, value: MedicationStatement} index: 43 MedicationAdministrationSlice: match: {type: MedicationAdministration} schema: array: true index: 36 elements: type: pattern: {type: Code, value: MedicationAdministration} index: 37 AllergyIntoleranceSlice: match: {type: AllergyIntolerance} schema: array: true index: 24 elements: type: pattern: {type: Code, value: AllergyIntolerance} index: 25 ObservationSlice: match: {type: Observation} schema: array: true index: 44 elements: type: pattern: {type: Code, value: Observation} index: 45 LibrarySlice: match: {type: Library} schema: array: true index: 14 elements: type: pattern: {type: Code, value: Library} index: 15 OrganizationSlice: match: {type: Organization} schema: index: 4 elements: type: pattern: {type: Code, value: Organization} index: 5 MedicationRequestSlice: match: {type: MedicationRequest} schema: array: true index: 40 elements: type: pattern: {type: Code, value: MedicationRequest} index: 41 ConceptMapSlice: match: {type: ConceptMap} schema: array: true index: 16 elements: type: pattern: {type: Code, value: ConceptMap} index: 17 FamilyMemberHistorySlice: match: {type: FamilyMemberHistory} schema: array: true index: 34 elements: type: pattern: {type: Code, value: FamilyMemberHistory} index: 35 MeasureReportSlice: match: {type: MeasureReport} schema: index: 8 elements: type: pattern: {type: Code, value: MeasureReport} index: 9 StructureDefinitionSlice: match: {type: StructureDefinition} schema: array: true index: 52 elements: type: pattern: {type: Code, value: StructureDefinition} index: 53 ValueSetSlice: match: {type: ValueSet} schema: array: true index: 18 elements: type: pattern: {type: Code, value: ValueSet} index: 19 ServiceRequestSlice: match: {type: ServiceRequest} schema: array: true index: 48 elements: type: pattern: {type: Code, value: ServiceRequest} index: 49 ConditionSlice: match: {type: Condition} schema: array: true index: 26 elements: type: pattern: {type: Code, value: Condition} index: 27 QuestionnaireResponseSlice: match: {type: QuestionnaireResponse} schema: index: 12 elements: type: pattern: {type: Code, value: QuestionnaireResponse} index: 13 EncounterSlice: match: {type: Encounter} schema: array: true index: 32 elements: type: pattern: {type: Code, value: Encounter} index: 33 MedicationDispenseSlice: match: {type: MedicationDispense} schema: array: true index: 38 elements: type: pattern: {type: Code, value: MedicationDispense} index: 39 DiagnosticReportSlice: match: {type: DiagnosticReport} schema: array: true index: 30 elements: type: pattern: {type: Code, value: DiagnosticReport} index: 31 MeasureSlice: match: {type: Measure} schema: index: 6 elements: type: pattern: {type: Code, value: Measure} index: 7 StructureMapSlice: match: {type: StructureMap} schema: array: true index: 54 elements: type: pattern: {type: Code, value: StructureMap} index: 55 LocationSlice: match: {type: Location} schema: index: 2 elements: type: pattern: {type: Code, value: Location} index: 3 ParametersSlice: match: {type: Parameters} schema: array: true index: 50 elements: type: pattern: {type: Code, value: Parameters} index: 51 CodeSystemSlice: match: {type: CodeSystem} schema: array: true index: 20 elements: type: pattern: {type: Code, value: CodeSystem} index: 21 DocumentReferenceSlice: match: {type: DocumentReference} schema: array: true index: 28 elements: type: pattern: {type: Code, value: DocumentReference} index: 29 PatientSlice: match: {type: Patient} schema: array: true index: 22 elements: type: pattern: {type: Code, value: Patient} index: 23 ProcedureSlice: match: {type: Procedure} schema: array: true index: 46 elements: type: pattern: {type: Code, value: Procedure} index: 47 QuestionnaireSlice: match: {type: Questionnaire} schema: index: 10 elements: type: pattern: {type: Code, value: Questionnaire} index: 11 slicing: rules: open description: Slice based on the rest.mode pattern discriminator: - {path: mode, type: value} min: null slices: clientSlice: match: {mode: client} schema: index: 56 elements: mode: pattern: {type: Code, value: client} index: 57 serverSlice: match: {mode: server} schema: index: 58 elements: mode: pattern: {type: Code, value: server} index: 59 package_version: 1.0.0 class: profile kind: resource url: http://hl7.org/fhir/us/registry-protocols/StructureDefinition/CapabilityStatementWithSlices base: http://hl7.org/fhir/StructureDefinition/CapabilityStatement version: 1.0.0