# Slicing a Sliced Extension Profile - Slicing sliced extension v0.1.1-current

* [**Table of Contents**](toc.md)
* [**Artifacts Summary**](artifacts.md)
* **Slicing a Sliced Extension Profile**

## Resource Profile: Slicing a Sliced Extension Profile 

| | |
| :--- | :--- |
| *Official URL*:http://johnmoehrke.github.io/SlicingSlicedExtension/StructureDefinition/ThirdSliceProfile | *Version*:0.1.1-current |
| Draft as of 2026-07-09 | *Computable Name*:ThirdSliceProfile |

 
Profile showing problems with slicing a sliced extension 
* adds an extension **otherId** on .agent 
* a slice on the **otherId** extension for **npi** and **prn**
* adds an extension on the **prn** slice for **otherIdName**
 
* a slice on .agent for for **user**
* a slice on .agent for **userorg**
 

**Usages:**

* Examples for this Profile: [AuditEvent/ex-WithNpiPrn](AuditEvent-ex-WithNpiPrn.md), [AuditEvent/ex-WithNpiPrnName](AuditEvent-ex-WithNpiPrnName.md) and [AuditEvent/ex-WithoutUsingThirdSlice](AuditEvent-ex-WithoutUsingThirdSlice.md)

You can also check for [usages in the FHIR IG Statistics](https://packages2.fhir.org/xig/resource/johnmoehrke.slicingslicedextension|current/StructureDefinition/StructureDefinition-ThirdSliceProfile.json)

### Formal Views of Profile Content

 [Description of Profiles, Differentials, Snapshots and how the different presentations work](http://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#structure-definitions). 

 

Other representations of profile: [CSV](StructureDefinition-ThirdSliceProfile.csv), [Excel](StructureDefinition-ThirdSliceProfile.xlsx), [Schematron](StructureDefinition-ThirdSliceProfile.sch) 



## Resource Content

```json
{
  "resourceType" : "StructureDefinition",
  "id" : "ThirdSliceProfile",
  "url" : "http://johnmoehrke.github.io/SlicingSlicedExtension/StructureDefinition/ThirdSliceProfile",
  "version" : "0.1.1-current",
  "name" : "ThirdSliceProfile",
  "title" : "Slicing a Sliced Extension Profile",
  "status" : "draft",
  "date" : "2026-07-09T19:54:07+00:00",
  "publisher" : "John Moehrke (himself)",
  "contact" : [{
    "name" : "John Moehrke (himself)",
    "telecom" : [{
      "system" : "url",
      "value" : "http://healthcaresecprivacy.blogspot.com"
    },
    {
      "system" : "email",
      "value" : "JohnMoehrke@gmail.com"
    }]
  }],
  "description" : "Profile showing problems with slicing a sliced extension\n\n- adds an extension *otherId* on .agent\n  - a slice on the *otherId* extension for *npi* and *prn*\n  - adds an extension on the *prn* slice for *otherIdName*\n- a slice on .agent for for *user*\n- a slice on .agent for *userorg*",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
      "code" : "001"
    }]
  }],
  "fhirVersion" : "4.0.1",
  "mapping" : [{
    "identity" : "workflow",
    "uri" : "http://hl7.org/fhir/workflow",
    "name" : "Workflow Pattern"
  },
  {
    "identity" : "rim",
    "uri" : "http://hl7.org/v3",
    "name" : "RIM Mapping"
  },
  {
    "identity" : "dicom",
    "uri" : "http://nema.org/dicom",
    "name" : "DICOM Tag Mapping"
  },
  {
    "identity" : "w5",
    "uri" : "http://hl7.org/fhir/fivews",
    "name" : "FiveWs Pattern Mapping"
  },
  {
    "identity" : "w3c.prov",
    "uri" : "http://www.w3.org/ns/prov",
    "name" : "W3C PROV"
  },
  {
    "identity" : "fhirprovenance",
    "uri" : "http://hl7.org/fhir/provenance",
    "name" : "FHIR Provenance Mapping"
  }],
  "kind" : "resource",
  "abstract" : false,
  "type" : "AuditEvent",
  "baseDefinition" : "http://hl7.org/fhir/StructureDefinition/AuditEvent",
  "derivation" : "constraint",
  "differential" : {
    "element" : [{
      "id" : "AuditEvent",
      "path" : "AuditEvent"
    },
    {
      "id" : "AuditEvent.agent",
      "path" : "AuditEvent.agent",
      "slicing" : {
        "discriminator" : [{
          "type" : "pattern",
          "path" : "type"
        }],
        "rules" : "open"
      }
    },
    {
      "id" : "AuditEvent.agent.extension",
      "path" : "AuditEvent.agent.extension",
      "slicing" : {
        "discriminator" : [{
          "type" : "value",
          "path" : "url"
        }],
        "ordered" : false,
        "rules" : "open"
      }
    },
    {
      "id" : "AuditEvent.agent.extension:otherId",
      "path" : "AuditEvent.agent.extension",
      "sliceName" : "otherId",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://johnmoehrke.github.io/SlicingSlicedExtension/StructureDefinition/OtherId"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "AuditEvent.agent:user",
      "path" : "AuditEvent.agent",
      "sliceName" : "user",
      "min" : 1,
      "max" : "*"
    },
    {
      "id" : "AuditEvent.agent:user.extension",
      "path" : "AuditEvent.agent.extension",
      "slicing" : {
        "discriminator" : [{
          "type" : "value",
          "path" : "url"
        },
        {
          "type" : "value",
          "path" : "value.ofType(Identifier).type"
        }],
        "ordered" : false,
        "rules" : "open"
      }
    },
    {
      "id" : "AuditEvent.agent:user.extension:otherId",
      "path" : "AuditEvent.agent.extension",
      "sliceName" : "otherId",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://johnmoehrke.github.io/SlicingSlicedExtension/StructureDefinition/OtherId"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "AuditEvent.agent:user.extension:otherId/npi",
      "path" : "AuditEvent.agent.extension",
      "sliceName" : "otherId/npi",
      "min" : 0,
      "max" : "1"
    },
    {
      "id" : "AuditEvent.agent:user.extension:otherId/npi.value[x].type",
      "path" : "AuditEvent.agent.extension.value[x].type",
      "patternCodeableConcept" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
          "code" : "NPI"
        }]
      }
    },
    {
      "id" : "AuditEvent.agent:user.extension:otherId/prn",
      "path" : "AuditEvent.agent.extension",
      "sliceName" : "otherId/prn",
      "min" : 0,
      "max" : "1"
    },
    {
      "id" : "AuditEvent.agent:user.extension:otherId/prn.value[x].type",
      "path" : "AuditEvent.agent.extension.value[x].type",
      "patternCodeableConcept" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
          "code" : "PRN"
        }]
      }
    },
    {
      "id" : "AuditEvent.agent:user.extension:otherId/prn.value[x].extension:otherIdName",
      "path" : "AuditEvent.agent.extension.value[x].extension",
      "sliceName" : "otherIdName",
      "short" : "name for this id",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://johnmoehrke.github.io/SlicingSlicedExtension/StructureDefinition/OtherIdName"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "AuditEvent.agent:user.type",
      "path" : "AuditEvent.agent.type",
      "min" : 1,
      "patternCodeableConcept" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
          "code" : "IRCP"
        }]
      }
    },
    {
      "id" : "AuditEvent.agent:user.who",
      "path" : "AuditEvent.agent.who",
      "min" : 1
    },
    {
      "id" : "AuditEvent.agent:user.media",
      "path" : "AuditEvent.agent.media",
      "max" : "0"
    },
    {
      "id" : "AuditEvent.agent:user.purposeOfUse",
      "path" : "AuditEvent.agent.purposeOfUse",
      "mustSupport" : true
    }]
  }
}

```
