Skip to content

Commit

Permalink
Merge pull request #178 from IHE/oe_entryuuid_uniqueid
Browse files Browse the repository at this point in the history
adding uniqueId and entryUUID Identifier as datatypes
  • Loading branch information
JohnMoehrke committed Oct 5, 2022
2 parents 0f3792c + c07db85 commit 6da828b
Show file tree
Hide file tree
Showing 15 changed files with 100 additions and 59 deletions.
1 change: 1 addition & 0 deletions input/examples/Bundle-FindDocumentReferences.json
Expand Up @@ -48,6 +48,7 @@
}
],
"masterIdentifier": {
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:1.3.6.1.4.1.12559.11.13.2.1.2951"
},
"identifier": [
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/documentReference.fsh
Expand Up @@ -17,14 +17,14 @@ Description: "A profile on the DocumentReference resource for MHD with minima
- ebRIM implementation at [3:4.2.3.2 Document Entry](https://profiles.ihe.net/ITI/TF/Volume3/ch-4.2.html#4.2.3.2).
- with use-cases and constraints found in [3:4.3 Additional Document Sharing Requirements](https://profiles.ihe.net/ITI/TF/Volume3/ch-4.3.html#4.3)"
* modifierExtension 0..0
* masterIdentifier only UniqueIdIdentifier
* masterIdentifier 1..1
* identifier 0..* MS
* identifier ^slicing.discriminator.type = #value
* identifier ^slicing.discriminator.path = "use"
* identifier ^slicing.rules = #open
* identifier contains entryUUID 0..*
* identifier[entryUUID] ^short = "entryUUID"
* identifier[entryUUID].use = #official
* identifier[entryUUID] only EntryUUIDIdentifier
* status 1..1
* status from DocumentReferenceStats (required)
* docStatus 0..0
Expand Down
18 changes: 9 additions & 9 deletions input/fsh/ex-Folder.fsh
Expand Up @@ -5,10 +5,10 @@ Description: "Folder in List resource conforming only to Minimal metadata"
Usage: #example
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[entryUUID].system = "urn:ietf:rfc:3986"
* identifier[entryUUID].value = "urn:oid:1.2.129.6.58.92.88337.6"
* identifier[entryUUID].value = "urn:uuid:5e2d58a3-2286-4a0e-8637-86f51be2d184"
* identifier[entryUUID].use = #official
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23476"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46391"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand All @@ -24,10 +24,10 @@ Usage: #example
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* subject = Reference(Patient/ex-patient)
* identifier[entryUUID].system = "urn:ietf:rfc:3986"
* identifier[entryUUID].value = "urn:oid:1.2.129.6.58.92.88337.6"
* identifier[entryUUID].value = "urn:uuid:0a468477-5dd1-4a81-bddf-8d5ee9b0cac3"
* identifier[entryUUID].use = #official
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23476"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46341"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down Expand Up @@ -65,10 +65,10 @@ Description: "Folder in List resource conforming only to Minimal metadata"
Usage: #inline
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[entryUUID].system = "urn:ietf:rfc:3986"
* identifier[entryUUID].value = "urn:oid:1.2.129.6.58.92.88337.6"
* identifier[entryUUID].value = "urn:uuid:29bef0e7-bb06-46b8-8241-ca2a5f8f7f2c"
* identifier[entryUUID].use = #official
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23476"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46342"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/ex-ProvideBundles1.fsh
Expand Up @@ -88,8 +88,8 @@ Usage: #inline
* text.status = #extensions
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470-1"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46343"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/ex-ProvideBundles2.fsh
Expand Up @@ -83,8 +83,8 @@ Usage: #inline
* text.status = #extensions
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470-1"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46344"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/ex-ProvideBundles3.fsh
Expand Up @@ -77,8 +77,8 @@ Usage: #inline
* text.status = #extensions
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470-1"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46346"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down Expand Up @@ -171,8 +171,8 @@ Usage: #inline
* text.status = #extensions
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470-1"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46347"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/ex-ProvideBundles4.fsh
Expand Up @@ -93,8 +93,8 @@ Usage: #inline
* text.status = #extensions
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470-1"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46348"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/ex-ProvideBundles5.fsh
Expand Up @@ -108,8 +108,8 @@ Usage: #inline
* text.status = #extensions
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470-1"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46349"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down Expand Up @@ -198,8 +198,8 @@ Usage: #inline
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">Folder with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* subject = Reference(Patient/ex-patient)
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23475"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46350"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/ex-ProvideBundles6.fsh
Expand Up @@ -67,8 +67,8 @@ Usage: #inline
* text.status = #extensions
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470-1"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46351"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/ex-ProvideBundles7.fsh
Expand Up @@ -54,8 +54,8 @@ Usage: #inline
* text.status = #extensions
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470-1"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46352"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down Expand Up @@ -121,8 +121,8 @@ Usage: #inline
* text.div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">Folder with Patient</div>"
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* subject = Reference(Patient/ex-patient)
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23475"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46353"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
30 changes: 15 additions & 15 deletions input/fsh/ex-SubmissionSet.fsh
Expand Up @@ -5,10 +5,10 @@ Description: "Example of a minimal submissionSet in List resource."
Usage: #example
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* identifier[entryUUID].system = "urn:ietf:rfc:3986"
* identifier[entryUUID].value = "urn:oid:1.2.129.6.58.92.88337.4"
* identifier[entryUUID].value = "urn:uuid:40b3366f-7e4b-4d02-bbac-901aaa8d7183"
* identifier[entryUUID].use = #official
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46354"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand All @@ -26,10 +26,10 @@ Usage: #example
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* subject = Reference(Patient/ex-patient)
* identifier[entryUUID].system = "urn:ietf:rfc:3986"
* identifier[entryUUID].value = "urn:oid:1.2.129.6.58.92.88337.4"
* identifier[entryUUID].value = "urn:uuid:340d303b-b889-4d44-b766-27f14c212236"
* identifier[entryUUID].use = #official
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46355"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand All @@ -49,10 +49,10 @@ Usage: #example
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* subject = Reference(Patient/ex-patient)
* identifier[entryUUID].system = "urn:ietf:rfc:3986"
* identifier[entryUUID].value = "urn:oid:1.2.129.6.58.92.88337.4"
* identifier[entryUUID].value = "urn:uuid:1d136ed2-d27b-4353-8ccf-49581ab4ae66"
* identifier[entryUUID].use = #official
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46356"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand All @@ -73,10 +73,10 @@ Usage: #example
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* subject = Reference(Patient/ex-patient)
* identifier[entryUUID].system = "urn:ietf:rfc:3986"
* identifier[entryUUID].value = "urn:oid:1.2.129.6.58.92.88337.4"
* identifier[entryUUID].value = "urn:uuid:479f69ae-4bb1-4cdb-97bd-80e2c9b85d01"
* identifier[entryUUID].use = #official
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46357"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand All @@ -98,10 +98,10 @@ Usage: #example
* meta.security = http://terminology.hl7.org/CodeSystem/v3-ActReason#HTEST
* subject = Reference(Patient/ex-patient)
* identifier[entryUUID].system = "urn:ietf:rfc:3986"
* identifier[entryUUID].value = "urn:oid:1.2.129.6.58.92.88337.4"
* identifier[entryUUID].value = "urn:uuid:2158bc9d-3d34-4503-9253-1e0383f828ff"
* identifier[entryUUID].use = #official
* identifier[uniqueId].system = "http://example.org/documents"
* identifier[uniqueId].value = "23425234-23470"
* identifier[uniqueId].system = "urn:ietf:rfc:3986"
* identifier[uniqueId].value = "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46358"
* identifier[uniqueId].use = #usual
* status = #current
* mode = #working
Expand Down
9 changes: 7 additions & 2 deletions input/fsh/folder.fsh
Expand Up @@ -10,8 +10,13 @@ Description: "A profile on the List resource for MHD use as a Folder with min
- ebRIM implementation at [3:4.2.3.4 Folder Attributes](https://profiles.ihe.net/ITI/TF/Volume3/ch-4.2.html#4.2.3.4).
- with use-cases and constraints found in [3:4.3 Additional Document Sharing Requirements](https://profiles.ihe.net/ITI/TF/Volume3/ch-4.3.html#4.3)"
* extension[designationType] 0..* MS
* identifier 0..*
* identifier ^short = "would hold Folder.entryUUID and Folder.uniqueId"
* identifier ^slicing.discriminator.type = #value
* identifier ^slicing.discriminator.path = "use"
* identifier ^slicing.rules = #open
* identifier contains uniqueId 0..1
* identifier[uniqueId] only UniqueIdIdentifier
* identifier contains entryUUID 0..*
* identifier[entryUUID] only EntryUUIDIdentifier
//* status
* mode = #working
* title 0..1
Expand Down
39 changes: 39 additions & 0 deletions input/fsh/identifier.fsh
@@ -0,0 +1,39 @@
Profile: UniqueIdIdentifier
Parent: Identifier
Id: IHE.MHD.UniqueIdIdentifier
Title: "uniqueId Identifier"
Description: "uniqueId Identifier

- see [Appendix Z](https://profiles.ihe.net/ITI/TF/Volume2/ch-Z.html#z.9.1-identifier-type)"
* system 1..
* use = #usual
* value 1..

Profile: SubmissionSetUniqueIdIdentifier
Parent: UniqueIdIdentifier
Id: IHE.MHD.SubmissionSetUniqueIdIdentifier
Title: "uniqueId Identifier for SubmissionSet"
Description: "uniqueId Identifier holding a OID"
* system = "urn:ietf:rfc:3986" (exactly)
* value obeys mhd-startswithoid

Invariant: mhd-startswithoid
Description: "value must start with urn:oid:"
Severity: #error
Expression: "value.startsWith('urn:oid:')"

Profile: EntryUUIDIdentifier
Parent: Identifier
Id: IHE.MHD.EntryUUID.Identifier
Title: "entryUUID Identifier"
Description: "entryUUID Identifier holding a UUID"
* system 1..
* system = "urn:ietf:rfc:3986" (exactly)
* value 1..
* value obeys mhd-startswithuuid
* use = #official

Invariant: mhd-startswithuuid
Description: "value must start with urn:uuid:"
Severity: #error
Expression: "value.startsWith('urn:uuid:')"
9 changes: 0 additions & 9 deletions input/fsh/mhdList.fsh
Expand Up @@ -8,15 +8,6 @@ Description: "A profile on the List resource for MHD. Used with both Folder a
* modifierExtension 0..0
// code is used ONLY to switch between folder and submissionSet
* identifier 0..*
* identifier ^slicing.discriminator.type = #value
* identifier ^slicing.discriminator.path = "use"
* identifier ^slicing.rules = #open
* identifier contains uniqueId 0..1
* identifier[uniqueId] ^short = "uniqueId"
* identifier[uniqueId].use = #usual
* identifier contains entryUUID 0..*
* identifier[entryUUID] ^short = "entryUUID"
* identifier[entryUUID].use = #official
* code 1..1
* code from MHDlistTypesVS (required)

Expand Down
9 changes: 7 additions & 2 deletions input/fsh/submissionSet.fsh
Expand Up @@ -16,8 +16,13 @@ Description: "A profile on the List resource for MHD SubmissionSet.
* extension[designationType] 0..1 MS
* extension contains SourceId named sourceId 1..1
* extension contains IntendedRecipient named intendedRecipient 0..*
* identifier 0..*
* identifier ^short = "would hold SubmissionSet.entryUUID and SubmissionSet.uniqueId"
* identifier ^slicing.discriminator.type = #value
* identifier ^slicing.discriminator.path = "use"
* identifier ^slicing.rules = #open
* identifier contains uniqueId 0..1
* identifier[uniqueId] only SubmissionSetUniqueIdIdentifier
* identifier contains entryUUID 0..*
* identifier[entryUUID] only EntryUUIDIdentifier
* status = #current
* mode = #working
* title 0..1
Expand Down

0 comments on commit 6da828b

Please sign in to comment.