Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding uniqueId and entryUUID Identifier as datatypes #178

Merged
merged 3 commits into from Oct 5, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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
31 changes: 31 additions & 0 deletions input/fsh/identifier.fsh
@@ -0,0 +1,31 @@
Profile: UniqueIdIdentifier
Parent: Identifier
Id: IHE.MHD.UniqueIdIdentifier
Title: "uniqueId Identifier"
Description: "uniqueId Identifier holding a OID"
* system 1..
* system = "urn:ietf:rfc:3986" (exactly)
* use = #usual
* value 1..
* 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 UniqueIdIdentifier
* identifier contains entryUUID 0..*
* identifier[entryUUID] only EntryUUIDIdentifier
* status = #current
* mode = #working
* title 0..1
Expand Down