Provide Document Bundle (IHE ITI-65)
1 Background
Current implementation is based on IHE MHD v4.2.2 (trial implementation of IHE MHD) which is based in FHIR R4. This is an initial implementation of API-service providing registering of already existing document by registering new record in common document-registry, and evt. storing binary in NHN's document-repository.
This service is a RESTful implementation of IHE ITI-41 message "Provide and Register Document Set-b" (https://profiles.ihe.net/ITI/TF/Volume2/ITI-41.html)
1.1 Usage areas
This service might be used when publisher (e.g. EHR) wants to upload existing medical document (XML, PDF, FHIR-document, CDA-document, PNG-picture etc.) to national repository. EHR creates FHIR Bundle on its side and posts this information to national endpoint.
Based on classification of uploaded metadata, document(s) will be instantly available for other health personnel and/or citizen in respective channels for target group.
1.2. Service availability
This service is currently available just in Norsk helsenett's TEST-environment and can be tested as proof-of-concept. Production environment will be established based on demand.
2 API-scope
There is a prerequisity that client MUST use "nhn:phr/mhd/create-documents-with-reference" scope to be able to interact with ITI-65 service. This scope can be added to existing HelseID client configuration by accessing HelseID Selvbetjenning (TEST-environment: https://selvbetjening.test.nhn.no)
3 Endpoint
POST https://api.pjd.test.nhn.no/R4/fhir/Bundle
4 Messages
Messages are based on usage of profile for comprehensive metadata (https://profiles.ihe.net/ITI/MHD/StructureDefinition/IHE.MHD.Comprehensive.ProvideBundle") as defined by IHE (Integrating the Healthcare Enterprise) and adjusted according document "Implementation Guide for Norwegian usage of XDS, XCA and XUA" (link to document) when it comes to the usage of agreed valuesets in norwegian document-exchange.
As there is a XDS-infrastructure involved in our backend services, we only support "XDS-on-FHIR" at the moment, which means that all involved resources must be contained in incoming request.
Our implementation currently supports just registering of new documents in our XDS-repository. Other types of transactions such as replacing or deprecating of existing documents will be implemented in the future.
4.1 Message request
Request message implements FHIR R4 Bundle with an option for usage of contained resources such as FHIR R4 Patient, Practitioner, PractitionerRole and Organization resources. NHN's implementation is not using any other FHIR-extensions then those specified in Comprehensive-Bundle profile.
4.1.1 Explaining Bundle-resources
Bundle resource should as minimum contain one List-resource (reflecting "XDS SubmissionSet") and one DocumentReference-resource (reflecting "XDS DocumentEntry"). If there should be a binary-content present in upload, there should be entry for Binary-resouce as well.
* → element support implemented in exisiting version
- → not implemented/tested yet
*/- | Resource element | FHIR-resource | Cardinality | Description |
---|---|---|---|---|
* | Bundle | Bundle | [1..1] | FHIR-resource for transmission |
* | meta | |||
* | profile | [1..*] | used profile for Bundle (comprehensive) | |
* | type | [1..1] | Indicates the purpose of this bundle - how it is intended to be used. Value MUST be "transaction" |
|
* | timestamp | [0..1] | The date/time that the bundle was assembled | |
* | entry | [1..*] | Generic approach for any Bundle.entry | |
* | fullUrl | [0..1] | The Absolute URL for the resource | |
* | resource | [1..1] | A list is a curated collection of resources | |
* | request | [1..1] | Additional information about how this entry should be processed as part of a transaction or batch | |
* | method | [1..1] | In a transaction or batch, this is the HTTP action to be executed for this entry | |
* | url | [1..1] | The URL for this entry, relative to the root | |
* | entry (SubmissionSet) | List | [1..1] | SubmissionSet defines who submitted it, why they submitted it, when they submitted, what is in it, and where it is destine |
* | entry (DocumentRefs) | DocumentReference | [0..*] | Any new DocumentReference that are part of the SubmissionSet |
- | entry (UpdateDocumentRefs) | DocumentReference | [0..*] | Any updated DocumentReference that are part of the SubmissionSet if a new new DocumentReference replaces this DocumentReference |
* | entry (Documents) | Binary | [0..*] | Documents referenced by the DocumentReference resources |
- | entry (FhirDocuments) | Binary | [0..*] | FHIR-FhirDocuments referenced by the DocumentReference resources |
- | entry (Folders) | List | [0..*] | Any Folders being created or updated |
- | entry (Patient) | Patient | [0..*] | Patient |
4.1.1.1 List resource as Submission Set
Each registation of documents has an common envelope (FHIR R4 List) with metadata about who and what is being registered (submission). This submission metadata MUST be provided upon registering when using "ITI-65 IHE Provide Document Budle".
* → element support implemented in exisiting version
- → not implemented/tested yet
*/- | Resource element | XDS Name | Cardinality | Description |
---|---|---|---|---|
* | List | [1..1] | FHIR resource in context of XDS SubmissionSet | |
* | meta | |||
* | profile | SubmissionSet.limitedMetadata | [1..*] | used profile for submission set (comprehensive) |
* | extension (designationType) | SubmissionSet.contentType | [1..1] | Expresses contentType of submissionSet or the codeList of a Folder Expected value: code from urn:oid:2.16.578.1.12.4.1.1.9602 |
* | extension (sourceId) | SubmissionSet.sourceId | [1..1] | OID of submitting organization |
- | extension (intendedRecipient) | SubmissionSet.intendedRecipient | [1..1] | holds the identity of the organization or person the SubmissionSet is intended |
* | identifier (official) | SubmissionSet.entryUUID | [1..1] | EntryUUID - an identifier - identifies some entity uniquely and unambiguously |
* | identifier (usual) | SubmissionSet.uniqueId | [1..1] | uniqueId OID - an identifier |
* | status | SubmissionSet.availabilityStatus | [1..1] | Approval or deprecation Expected value: "current" |
* | mode | [1..1] | How this list was prepared Expected value: "working" |
|
* | title | SubmissionSet.title | [0..1] | Text string for title of this submission |
* | code | [1..1] | This code defines the purpose of the list - why it was created Expected value: "submissionset" as identifier for List-type |
|
* | subject | SubmissionSet.patientId | [1..1] | patient identifier for submission |
* | date | SubmissionSet.submissionTime | [1..1] | The date that the list was prepared |
* | source | SubmissionSet.author | [0..1] | Who submitted submission (person) |
- | extension (authorOrg) | SubmissionSet.author | [0..1] | When the author of the SubmissionSet is an Organization, this extension shall be used |
* | note | SubmissionSet.comments | [0..1] | comments to submissionset |
* | entry | |||
* | item (DocumentReference) | [1..*] | List of document references in this submission | |
* | item (List) | [0..*] | List of 'Folder List' in this submission |
TODO: Can HER-id presented in OID-form be used as SourceId? e.g.: urn:oid:2.16.578.1.12.4.1.2.112374 for Norsk helsenett [TEST]
MANDATORY requirements for registering List-resource:
- Resource-id MUST be present for referencing accross the Bundle (List.id)
- MUST use correct profile (List.Meta.Profile = "https://profiles.ihe.net/ITI/MHD/StructureDefinition/IHE.MHD.Comprehensive.SubmissionSet")
- If submission-author is defined and referenced (List.source.reference) there SHELL be contained object for this author in bundle entry [might differ from document author]
- There are 2 mandatory extensions:
- IHE Designation type (https://profiles.ihe.net/ITI/MHD/StructureDefinition/ihe-designationType): Classification of contentType of SubmissionList
- IHE SourceId (https://profiles.ihe.net/ITI/MHD/StructureDefinition/ihe-sourceId): Publisher organization identity as OID
- Identifiers MUST be registered as advised in IHE MHD SubmissionSet specification
4.1.1.2 List resource as Folder
[not supported yet]
4.1.1.3 DocumentReference resouce
Each binary-resource uploaded in "provide document bundle" SHALL has its own reference metadata description (FHIR R4 DocumentReference). DocumentReference can describe internal resource (Binary) or contain link to external storage (no Binary-resouce in Bundle entry).
* → element support implemented in exisiting version
- → not implemented/tested yet
*/- | Resource element | XDS Name | Cardinality | Description |
---|---|---|---|---|
* | DocumentReference | [0..*] | FHIR-resource in context of XDS DocumentEntry | |
* | meta | [0..1] | ||
* | profile | DocumentEntry.limitedMetadata | [0..*] | used profile for submission set (comprehensive) |
* | masterIdentifier | DocumentEntry.uniqueId | [1..1] | uniqueId OID |
* | identifier (usual) | DocumentEntry.entryUUID | [1..1] | EntryUUID |
* | status | DocumentEntry.availabilityStatus | [1..1] | The status of this document reference Values: [current | superseded | entered-in-error] |
* | type | DocumentEntry.typeCode | [1..1] | Specifies the particular kind of document referenced Expected value: code from urn:oid:2.16.578.1.12.4.1.1.9602, Level 2 |
* | category | DocumentEntry.classCode | [1..1] | A categorization for the type of document referenced Expected value: code from urn:oid:2.16.578.1.12.4.1.1.9602, Level 1 |
* | subject | DocumentEntry.patientId | [1..1] | patient identifier for document reference |
* | author | DocumentEntry.author | [0..*] | Identifies who is responsible for adding the information to the document |
* | authenticator | DocumentEntry.legalAuthenticator | [0..1] | Which person or organization authenticates that this document is valid |
- | custodian | not mapped | Identifies the organization or group who is responsible for ongoing maintenance of and access to the document | |
- | relatesTo | DocumentEntry Associations | [0..*] | Placeholder for relationships that this document has with other document references that already exist |
- | code | DocumentEntry Associations.type | [0..1] | The type of relationship that this document has with another document Values: [replaces | transforms | signs | appends] |
- | target | DocumentEntry Associations.reference | [1..1] | The target document of this relationship |
* | description | DocumentEntry.coments | [0..1] | Optional description for document reference |
* | securityLabel | DocumentEntry.confidentialityCode | [1..*] | List of confidentiality settings of related document |
* | content | [1..1] | Placehoder for referenced attachment | |
* | attachment | [1..1] | Placeholder for attachment's description | |
* | contentType | DocumentEntry.mimeType | [1..1] | Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data |
* | language | DocumentEntry.language | [1..1] | The human language of the content of referenced document |
* | url | DocumentEntry.repositoryUniqueId DocumentEntry.URI |
[1..1] | A location where the data can be accessed - reference to document binary in repository or any other location where data ca be found |
* | size | DocumentEntry.size | [0..1] | Size of referenced document before base64-encoding, on-the-fly created documents = 0 bytes |
* | hash | DocumentEntry.hash | [0..1] | The calculated hash of the data using SHA-1 |
* | title | DocumentEntry.title | [0..1] | Name of related document |
* | creation | DocumentEntry.creationTime | [1..1] | Date when referenced document was first created |
* | format | DocumentEntry.formatCode | [1..1] | An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType. |
* | context | [1..1] | Placeholder for clinical context of referenced document in which document was prepared | |
- | encounter | DocumentEntry.referenceIdList | [0..*] | Describes the clinical encounter or type of care that the document content is associated with |
* | event | DocumentEntry.eventCodeList | [0..*] | list of codes representing main clinical acts, connected to context of referenced document while being documented |
* | period | [0..1] | Placeholder for period of document context | |
* | start | DocumentEntry.serviceStartTime | [0..1] | Start time for context of referenced document (e.g. patient visit at GP) |
* | end | DocumentEntry.serviceStopTime | [0..1] | End time for context of referenced document |
* | facilityType | DocumentEntry.healthcareFacilityType | [1..1] | The kind of facility where the patient was seen Expected value: code from urn:oid:2.16.578.1.12.4.1.1.9602 |
* | practiceSetting | DocumentEntry.practiceSettingCode | [1..1] | This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty Expected value: code from one of following: - urn:oid:2.16.578.1.12.4.1.1.7750 - urn:oid:2.16.578.1.12.4.1.1.8254 - urn:oid:2.16.578.1.12.4.1.1.8451 - urn:oid:2.16.578.1.12.4.1.1.8653 - urn:oid:2.16.578.1.12.4.1.1.8655 - urn:oid:2.16.578.1.12.4.1.1.8662 - urn:oid:2.16.578.1.12.4.1.1.8663 - urn:oid:2.16.578.1.12.4.1.1.8664 - urn:oid:2.16.578.1.12.4.1.1.8666 - urn:oid:2.16.578.1.12.4.1.1.8668 same as specified in trust framework |
* | sourcePatientInfo | [1..1] | Placeholder for patient context as known when document was published | |
* | reference | DocumentEntry.sourcePatientInfo | [0..1] | Patients credentials such as name, birthday etc |
* | identifier | DocumentEntry.sourcePatientId | [0..1] | Patients identifier |
- | related | DocumentEntry.referenceIdList | [0..*] | Related identifiers or resources associated with the DocumentReferences |
MANDATORY requirements for registering DocumentReference-resource:
- Resource-id MUST be present for referencing accross the Bundle (DocumentReference.resource.id)
- MUST use correct profile (DocumentReference.Meta.Profile = "https://profiles.ihe.net/ITI/MHD/StructureDefinition/IHE.MHD.Comprehensive.DocumentReference")
- Patient-resource MUST be contained
- All document authors SHALL be contained and referenced in DocumentReference
- Identifiers MUST be registered as advised in IHE MHD DocumentReference specification
- There SHALL be provided status of registered document (e.g. "Current")
- Document classification SHALL be registered as advised in IHE MHD DocumentReference specification
- Each reference SHALL have at least 1 securityLabel
4.1.1.4 Binary resouce
Each binary-resource uploaded in "provide document bundle" SHALL be delivered in its own resource (FHIR R4 Binary).
MANDATORY requirements for registering Binary-resource:
- Resource-id MUST be present for referencing accross the Bundle (Binary.resource.id)
- There SHALL be registered contentType for binary (e.g. "image/png")
- Binary content SHALL be registered as base64-content.
4.1.2 Contained resources in Bundle entry-request
Following specification is reflecting cointaining resources in respective Bundle entry
4.1.2.1 Patient resource
FHIR R4 Patient is not expecting usage of any particular profile, based on usage of standard generic FHIR-profile for a patient.
Current implementation is not supporting any norwegian extensions, such as (norwegian) "middle name" in Patient.Name, FHIR R4 HumanName (http://hl7.no/fhir/StructureDefinition/no-basis-middlename). This extension will be omitted.
Recommendations defined in no-basis-Patient profile (ref. https://simplifier.net/hl7norwayno-basis/nobasispatient) SHALL be respected (usage of identifiers)
MANDATORY requirements for usage of contained Patient-resource:
- There SHALL be unique ID for referencing within the bundle entry (Patient.id)
- MUST use norwegian identifier (types: FNR, D-number, FHN)
- There SHALL be registered 1 and only identifier pr Patient-resource (Patient.identifier)
- There SHALL be only 1 HumanName in Patient.Name registered, representing actual patient's name in current monent
- Middle name is registered in Patient.Name.Given after patient's first name [given name order matters in Norway]
- There is SHALL be at least 1 FamilyName and at least 1 Given registered in Patient.Name-element
- Any other resource elements are just optional and will discarted after processing
4.1.2.2 Pratitioner resource
FHIR R4 Practitioner is not expecting any particular profile, based on usage of standard generic FHIR-profile for practitioner.
Current implementation is not supporting any norwegian extensions, such as (norwegian) "middle name" in Pratitioner.Name, FHIR R4 HumanName (http://hl7.no/fhir/StructureDefinition/no-basis-middlename).
Recommendation defined in no-basis-Practitioner (ref. https://simplifier.net/hl7norwayno-basis/nobasispractitioner) SHALL be respected (usage of identifiers and registering of qualification). This extension will be omitted.
MANDATORY requirements for usage of contained Practitioner-resource:
- There SHALL be unique ID for referencing within the bundle entry (Practitioner.id)
- There SHALL be only 1 HumanName in Practitioner.Name registered, representing actual practitioners's name in current monent
- Middle name is registered in Practitioner.Name.Given after patient's first name [given name order matters in Norway]
- There SHALL be always at least 1 FamilyName and 1 Given registered in Practitioner.Name-element
- Any other resource elements are just optional and will be discarted after processing
4.1.2.3 PractitionerRole resource
FHIR R4 PractitionerRole is not expecting any particular profile, based on usage of standard generic profile.
Recommendations defined in no-basis-PractitionerRole profile (ref. https://simplifier.net/hl7norwayno-basis/nobasispractitionerrole) SHALL be respected.
MANDATORY requirements for usage of contained PractitionerRole-resource:
- There SHALL be unique ID for referencing within the bundle entry (PractitionerRole.id)
- Each practitioner SHALL have a separate PractitionerRole-resource assigned
- Both references (organization and practitioner) SHALL be registered
- Practitioner's role SHALL be registered as minimum 1 instanse of PractitionerRole.Code.Coding [support for structured registration of this information is not in place yet]
- Practitioner's specialty will be expected as minimum 1 instanse of PractitionerRole.Specialty [not supported yet]
- Practitioner's telecom will be expected as minimum 1 instanse of PractitionerRole.Telecom [not supported yet]
- Any other resource elements are just optional and will discarted after processing
4.1.2.4 Organization resource
FHIR R4 Organization is not expecting any particular profile, based on generic standard profile. Solution is not supporting any norwegian extensions, such as norwegian address-extensions in FHIR R4 Address.
Recommendations defined in no-basis-Organization profile (ref. https://simplifier.net/hl7norwayno-basis/nobasisorganization) SHALL be respected (usage of identifiers)
MANDATORY requirements for usage of contained Organization-resource:
- There SHALL be unique ID for referencing within the bundle entry (Organization.id)
- Identifiers which identify organization are expected as norwegian identifiers [not implemented yet]
- There SHALL be minimum 1 and only 1 name registered in Organization.Name
Organization.Name [1..1]
- Any other resource elements are just optional and will be discarted after processing
4.1.3 Expressing practitioner's organization assignment
In XDS there is used following information model
<Practitioner>
<Name>...</Name>
<Role>...</Role>
<Organization>...</Organization>
<Specialty>...</Specialty>
<Telecom>...</Telecom>
</Practitioner>
IHE MHD-profile is slightly vague on this topic which can lead to several implementations.
In our service there following expectation:
If there is an relation between Practitioner and Organization there SHALL be an PratitionerRole resource connecting those to resources.
PractitionerRole.Pratitioner = reference(Practitioner|no-basis-Practitioner)
PractitionerRole.Organization = reference(Organization|no-basis-Organization)
If there is ONLY 1 Practitioner and Organization contained in DocumentRefs or List, PractitionerRole might be omitted. Otherwise, resource is not going to be processed as it is impossible to connect practitioner and organization correctly
NB!: Elements, such as "Specialty" and "Telecom" er not supported yet and information provided will not be processed/registered
4.2 Message response
Currently, there is an operation outcome only providing HTTP Status and some simplified feedback
HTTP Status | Description |
---|---|
HTTP-201 Created | Bundle was successfully created |
HTTP-400 Bad Request | Something was not registered properly |
HTTP-401 Unauthorized | There is something wrong with JWT-token |
HTTP-500 Internal server error | Something technical went really wrong here [token exchange, internal XDS communication etc.] |
5 Validation of existing messages
Norsk helsenett used IHE Gazelle Validation tool under development of our services and messages has been validated by using following tool: https://gazelle.ihe.net/evs/home.seam
6 Examples
6.1 Bundle Request Example
{
"resourceType" : "Bundle",
"id" : "95b6dcdc-b738-4029-a94d-8da44af8cdf3",
"meta" : {
"profile" : [ "https://profiles.ihe.net/ITI/MHD/StructureDefinition/IHE.MHD.Comprehensive.ProvideBundle" ],
"security" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"code" : "HTEST"
} ]
},
"type" : "transaction",
"timestamp" : "2024-09-02T16:28:31.871+02:00",
"entry" : [ {
"fullUrl" : "urn:uuid:4605182e-a9df-47bc-b5e5-0ae33a465bfe",
"resource" : {
"resourceType" : "List",
"id" : "4605182e-a9df-47bc-b5e5-0ae33a465bfe",
"meta" : {
"profile" : [ "https://profiles.ihe.net/ITI/MHD/StructureDefinition/IHE.MHD.Comprehensive.SubmissionSet" ]
},
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet Narrative</div>"
},
"contained" : [ {
"resourceType" : "Practitioner",
"id" : "c94656a0-df62-4234-b23a-0c07c54ac660",
"name" : [ {
"family" : "GREVLING",
"given" : [ "KVART" ]
} ]
} ],
"extension" : [ {
"url" : "https://profiles.ihe.net/ITI/MHD/StructureDefinition/ihe-designationType",
"valueCodeableConcept" : {
"coding" : [ {
"system" : "urn:oid:2.16.578.1.12.4.1.1.9602",
"code" : "A03-2"
} ]
}
}, {
"url" : "https://profiles.ihe.net/ITI/MHD/StructureDefinition/ihe-sourceId",
"valueIdentifier" : {
"value" : "urn:oid:1.2.840.4711.815.1"
}
} ],
"identifier" : [ {
"use" : "usual",
"system" : "urn:ietf:rfc:3986",
"value" : "urn:oid:4605182e-a9df-47bc-b5e5-0ae33a465bfe"
}, {
"use" : "official",
"system" : "urn:ietf:rfc:3986",
"value" : "urn:uuid:44ca7463-8b05-45cf-8d08-ea8e429c3773"
} ],
"status" : "current",
"mode" : "working",
"title" : "SubmissionSet-17855599120-9/2/2024 4:28:23 PM",
"code" : {
"coding" : [ {
"system" : "https://profiles.ihe.net/ITI/MHD/CodeSystem/MHDlistTypes",
"code" : "submissionset"
} ]
},
"subject" : {
"reference" : "Patient/5340ef78-dc25-4d92-8d4f-44ccd99469c2"
},
"date" : "2024-09-02T16:28:26Z",
"source" : {
"reference" : "#c94656a0-df62-4234-b23a-0c07c54ac660"
},
"entry" : [ {
"item" : {
"reference" : "urn:uuid:44ca7463-8b05-45cf-8d08-ea8e429c3773"
}
} ]
},
"request" : {
"method" : "POST",
"url" : "List/4605182e-a9df-47bc-b5e5-0ae33a465bfe"
}
}, {
"fullUrl" : "urn:uuid:44ca7463-8b05-45cf-8d08-ea8e429c3773",
"resource" : {
"resourceType" : "DocumentReference",
"id" : "44ca7463-8b05-45cf-8d08-ea8e429c3773",
"meta" : {
"profile" : [ "https://profiles.ihe.net/ITI/MHD/StructureDefinition/IHE.MHD.Comprehensive.DocumentReference" ],
"security" : [ {
"system" : "2.16.840.1.113883.5.25",
"code" : "N"
} ]
},
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">Narrative for DocumentRefs</div>"
},
"contained" : [ {
"resourceType" : "Patient",
"id" : "5340ef78-dc25-4d92-8d4f-44ccd99469c2",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">SubmissionSet with Patient</div>"
},
"identifier" : [ {
"system" : "urn:oid:2.16.578.1.12.4.1.4.1",
"value" : "17855599120"
} ],
"name" : [ {
"family" : "KLOKKE",
"given" : [ "USNOBBET" ]
} ],
"gender" : "male",
"birthDate" : "1955-05-17"
}, {
"resourceType" : "Practitioner",
"id" : "c612e85b-f82e-47ee-8abe-def8db59f38d",
"name" : [ {
"family" : "Test",
"given" : [ "Darius" ]
} ]
}, {
"resourceType" : "PractitionerRole",
"id" : "63257ddd-c81f-48d1-a440-ed06a6179ff7",
"practitioner" : {
"reference" : "Practitioner/c612e85b-f82e-47ee-8abe-def8db59f38d"
},
"organization" : {
"reference" : "Organization/17181d6f-579b-4dd3-a522-13c964123ead"
},
"code" : [ {
"coding" : [ {
"display" : "Sykepleier"
} ]
} ]
}, {
"resourceType" : "Organization",
"id" : "17181d6f-579b-4dd3-a522-13c964123ead",
"name" : "St. Olavs klinikk"
}, {
"resourceType" : "Practitioner",
"id" : "be0fddfd-b66b-4403-a793-f8a581419423",
"name" : [ {
"family" : "Duck",
"given" : [ "Donald", "Reginald" ]
} ]
}, {
"resourceType" : "PractitionerRole",
"id" : "250c9286-8cc4-4fd9-87bc-2accf90527e3",
"practitioner" : {
"reference" : "Practitioner/be0fddfd-b66b-4403-a793-f8a581419423"
},
"organization" : {
"reference" : "Organization/653b3b87-204e-44fb-b6ea-f26ea1a625bd"
},
"code" : [ {
"coding" : [ {
"display" : "Lege"
} ]
} ]
}, {
"resourceType" : "Organization",
"id" : "653b3b87-204e-44fb-b6ea-f26ea1a625bd",
"name" : "St. Olavs klinikk"
}, {
"resourceType" : "Practitioner",
"id" : "610e464c-24f5-4afe-9dbf-03457129c4ea",
"name" : [ {
"family" : "Streng",
"given" : [ "Dag" ]
} ]
} ],
"masterIdentifier" : {
"use" : "usual",
"system" : "urn:ietf:rfc:3986",
"value" : "urn:uuid:44ca7463-8b05-45cf-8d08-ea8e429c3773"
},
"status" : "current",
"type" : {
"coding" : [ {
"system" : "urn:oid:2.16.578.1.12.4.1.1.9602",
"code" : "A03-2"
} ]
},
"category" : [ {
"coding" : [ {
"system" : "urn:oid:2.16.578.1.12.4.1.1.9602",
"code" : "A00-1"
} ]
} ],
"subject" : {
"reference" : "Patient/5340ef78-dc25-4d92-8d4f-44ccd99469c2"
},
"date" : "2024-02-07T14:35:41.775+01:00",
"author" : [ {
"reference" : "#c612e85b-f82e-47ee-8abe-def8db59f38d",
"type" : "Practitioner"
}, {
"reference" : "#63257ddd-c81f-48d1-a440-ed06a6179ff7",
"type" : "PractitionerRole"
}, {
"reference" : "#17181d6f-579b-4dd3-a522-13c964123ead",
"type" : "Organization"
}, {
"reference" : "#be0fddfd-b66b-4403-a793-f8a581419423",
"type" : "Practitioner"
}, {
"reference" : "#250c9286-8cc4-4fd9-87bc-2accf90527e3",
"type" : "PractitionerRole"
}, {
"reference" : "#653b3b87-204e-44fb-b6ea-f26ea1a625bd",
"type" : "Organization"
} ],
"authenticator" : {
"reference" : "#610e464c-24f5-4afe-9dbf-03457129c4ea"
},
"description" : "This has multiple actors here",
"securityLabel" : [ {
"coding" : [ {
"system" : "urn:oid:2.16.840.1.113883.5.25",
"code" : "N"
} ]
} ],
"content" : [ {
"attachment" : {
"contentType" : "image/png",
"language" : "nb-NO",
"url" : "urn:uuid:b124f78c-783b-446d-a9e5-a9b761e012f3",
"size" : 1025836,
"hash" : "DEhBSl5R+KhoDs4Rhm842F/vdft7cRH8YwzwGJQwqd0=",
"title" : "Screenshot 2024-02-07 153542.png",
"creation" : "2024-02-07T14:35:41Z"
},
"format" : {
"system" : "http://ihe.net/fhir/ihe.formatcode.fhir/CodeSystem/formatcode",
"code" : "urn:ihe:iti:xds:2017:mimeTypeSufficient"
}
} ],
"context" : {
"period" : {
"start" : "2024-08-03T16:26:32Z",
"end" : "2024-08-08T16:26:32Z"
},
"facilityType" : {
"coding" : [ {
"system" : "urn:oid:2.16.578.1.12.4.1.1.1303",
"code" : "86.211"
} ]
},
"practiceSetting" : {
"coding" : [ {
"system" : "urn:oid:2.16.578.1.12.4.1.1.8653",
"code" : "4"
} ]
},
"sourcePatientInfo" : {
"reference" : "#5340ef78-dc25-4d92-8d4f-44ccd99469c2"
}
}
},
"request" : {
"method" : "POST",
"url" : "DocumentReference/44ca7463-8b05-45cf-8d08-ea8e429c3773"
}
}, {
"fullUrl" : "urn:uuid:b124f78c-783b-446d-a9e5-a9b761e012f3",
"resource" : {
"resourceType" : "Binary",
"id" : "b124f78c-783b-446d-a9e5-a9b761e012f3",
"meta" : {
"profile" : [ "http://hl7.org/fhir/StructureDefinition/Binary" ]
},
"contentType" : "image/png",
"data" : "<base64_content_of_binary>"
},
"request" : {
"method" : "POST",
"url" : "Binary"
}
} ]
}