Пример #1
0
    
    def apply(self, param):
        param.name = '{}:{}'.format(param.name, self.value)
    

# announce all handlers
FHIRSearchParamHandler.announce_handler(FHIRSearchParamModifierHandler)
FHIRSearchParamHandler.announce_handler(FHIRSearchParamOperatorHandler)
FHIRSearchParamHandler.announce_handler(FHIRSearchParamMultiHandler)
FHIRSearchParamHandler.announce_handler(FHIRSearchParamTypeHandler)


if '__main__' == __name__:
    from patient import Patient
    print('1 '+FHIRSearch(Patient, {'name': 'Willis'}).construct())
    print('1 '+Patient.where({'name': 'Willis'}).construct())
    print('1 '+Patient.where().name('Willis').construct())
    print('= Patient?name=Willis')
    print('')
    print('2 '+FHIRSearch(Patient, {'name': {'$exact': 'Willis'}}).construct())
    print('= Patient?name:exact=Willis')
    print('')
    print('3 '+FHIRSearch(Patient, {'name': {'$or': ['Willis', 'Wayne', 'Bruce']}}).construct())
    print('= Patient?name=Willis,Wayne,Bruce')
    print('')
    print('4 '+FHIRSearch(Patient, {'name': {'$and': ['Willis', {'$exact': 'Bruce'}]}}).construct())
    print('= Patient?name=Willis&name:exact=Bruce')
    print('')
    print('5 '+FHIRSearch(Patient, {'birthDate': {'$gt': '1950', '$lte': '1970'}}).construct())
    print('= Patient?birthDate=>1950&birthDate=<=1970')
    print('')