/**
 * This file contains Interfaces for Implementation Guides from FHIR CH Core
 * @see https://fhir.ch/ig/ch-core/index.html
 */
import { Patient, Identifier, HumanName, PatientAdministrativeGender, date, Bundle, BundleEntry, BundleType, instant, Resource, CodeableConcept, Reference, DocumentReference, DocumentReferenceContent, Attachment, Coding, code, url } from '@i4mi/fhir_r4';
/**
 * This interface describes CH Core Patient EPR
 * @see       https://fhir.ch/ig/ch-core/StructureDefinition-ch-core-patient-epr.html
 * @version   4.0.1
 * @date      2023-12-05
 */
export interface CHPatientEPR extends Patient {
    identifier: Identifier[];
    name: HumanName[];
    gender: PatientAdministrativeGender;
    birthDate: date;
}
type CHDocumentEPRProfile = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-composition-epr' | string;
interface CHDocumentEPREntry extends BundleEntry {
    fullUrl: string;
    resource: Resource;
}
/**
 * This interface describes CH Core Document EPR
 * @see       http://fhir.ch/ig/ch-core/StructureDefinition-ch-core-document-epr.html
 * @version   4.0.1
 * @date      2023-12-11
 */
export interface CHDocumentEPR extends Bundle {
    resourceType: 'Bundle';
    meta: {
        profile: CHDocumentEPRProfile[];
    };
    type: BundleType.DOCUMENT;
    timestamp: instant;
    identifier: {
        system: 'urn:ietf:rfc:3986';
        value: string;
    };
    entry: CHDocumentEPREntry[];
}
type CHDocumentReferenceEPRProfile = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-documentreference-epr' | string;
interface CHDocumentReferenceEPRAttachment extends Attachment {
    contentType: code;
    language: code;
    url: url;
}
interface CHDocumentReferenceEPRContent extends DocumentReferenceContent {
    attachment: CHDocumentReferenceEPRAttachment;
    format: Coding;
}
/**
 * This interface describes CH Core DocumentReference EPR
 * @see       https://fhir.ch/ig/ch-core/StructureDefinition-ch-core-documentreference-epr.html
 * @version   4.0.1
 * @date      2023-12-12
 */
export interface CHDocumentReferenceEPR extends DocumentReference {
    resourceType: 'DocumentReference';
    meta: {
        profile: CHDocumentReferenceEPRProfile[];
    };
    type: CodeableConcept;
    category: CodeableConcept[];
    subject: Reference;
    timestamp: instant;
    author: Reference[];
    securityLabel: CodeableConcept[];
    content: CHDocumentReferenceEPRContent[];
}
export {};
